Jump to content
IGNORED

Setting MESS using QMC2


jacquesg

Recommended Posts

 

I never said MESS is bullet proof.

 

If you want RXB to read sector 70,000 decimal, what values are in put into 8350 and 8352 based on your code? Second question: you just told me that DISK access moves FAC8 to FAC6. Why?

Yea it may not be MESS, I have to check the RXB GPL SOURCE CODE against what is in GROM memory in MESS as one byte wrong would explain this entire mess. (Pun intended)

This would be good news for my Source code and MESS as that would explain all the issues I am having.

 

To read sector 70,000 decimal you have to convert it to HEX STRING first in RXB.

I see no point to use DECIMAL as everything on the Hard Drive or Disk is in HEX so what it the point of using Decimal as you spend all the time doing conversions?

 

Even if you wanted to use Decimal you still have to reconvert it back into HEX in order to write the data?

Why would you even want to use DECIMAL?

 

P.S. Per what I already quoted from the HFDC docs: In the case of sector I/O to the floppy, only the word at >8350 is used to define the desired sector. (16 bit only for Floppy)

 

P.S.S Quote: In the case of hard drive, the word at >8352 must also be defined as the most significant word of the 32 bit sector definition. (This works exactly like SCSI does)

Edited by RXB
Link to comment
Share on other sites

Yea it may not be MESS, I have to check the RXB GPL SOURCE CODE against what is in GROM memory in MESS as one byte wrong would explain this entire mess. (Pun intended)

This would be good news for my Source code and MESS as that would explain all the issues I am having.

 

To read sector 70,000 decimal you have to convert it to HEX STRING first in RXB.

I see no point to use DECIMAL as everything on the Hard Drive or Disk is in HEX so what it the point of using Decimal as you spend all the time doing conversions?

 

Even if you wanted to use Decimal you still have to reconvert it back into HEX in order to write the data?

Why would you even want to use DECIMAL?

 

P.S. Per what I already quoted from the HFDC docs: In the case of sector I/O to the floppy, only the word at >8350 is used to define the desired sector. (16 bit only for Floppy)

 

P.S.S Quote: In the case of hard drive, the word at >8352 must also be defined as the most significant word of the 32 bit sector definition. (This works exactly like SCSI does)

 

:?

 

It would appear from your code

<0780> D953 35,00,04 SECTOA MOVE 4,V@>03C0,@FAC6   * Get # by getting 4 byte HEX value and put those 4 bytes into FAC6

that the answer to Tim's question is that 00011170h (70,000) gets stored with 0001h in FAC6 and 1170h in FAC8, which is exactly backwards from the specs Tim quoted somewhere above. FAC6 should contain 1170h and FAC8, 0001h. If these words were in the right places, you would not need your lines 781 – 783 because FAC6 would have the correct value for DSK access—which was the reason for the hard-disk DSR specs in the first place.

 

...lee

  • Like 1
Link to comment
Share on other sites

 

:?

 

It would appear from your code

<0780> D953 35,00,04 SECTOA MOVE 4,V@>03C0,@FAC6   * Get # by getting 4 byte HEX value and put those 4 bytes into FAC6

that the answer to Tim's question is that 00011170h (70,000) gets stored with 0001h in FAC6 and 1170h in FAC8, which is exactly backwards from the specs Tim quoted somewhere above. FAC6 should contain 1170h and FAC8, 0001h. If these words were in the right places, you would not need your lines 781 – 783 because FAC6 would have the correct value for DSK access—which was the reason for the hard-disk DSR specs in the first place.

 

...lee

Ok that is the exact opposite of the SCSI interface documents.

Quote: >8350 32 bit address of sector number to read/write (full 32 bit like it should be)

 

You mean that I have to reverse the 32 bit word with the actual larger 16 bit in the lower position and the smaller 16 bit in the higher position?

So the actual Sector number of >00021234 has to be reversed to >12340002 and that just sounds so stupid.

Who got the bright idea to reverse the words on a 32 bit address?

That really demonstrates a head up ass way to write a DSR to access 32 bit sectors.

 

The SCSI does not have a insane 32 bit set up. So now I have to set up a different set up for the crazy HFDC after all.

 

Well at least I just got my GRAMKRACKER working and my source on MESS.

Dang going to take much longer than I thought to fix this mess.

 

Thanks for the help. More work ahead for me....

Link to comment
Share on other sites

Ok that is the exact opposite of the SCSI interface documents.

Quote: >8350 32 bit address of sector number to read/write (full 32 bit like it should be)

 

You mean that I have to reverse the 32 bit word with the actual larger 16 bit in the lower position and the smaller 16 bit in the higher position?

So the actual Sector number of >00021234 has to be reversed to >12340002 and that just sounds so stupid.

Who got the bright idea to reverse the words on a 32 bit address?

That really demonstrates a head up ass way to write a DSR to access 32 bit sectors.

 

Exactly.

 

I went hunting for the electronic copy of the 1994 preliminary SCSI Software Spec from WHT. (attached) Oh boy.

 

Now I understand your comment about the sector sizes and your reasoning behind the 32-bit sector number in 8350-8352. Someone would need to test the current SCSI DSR to determine how much of this preliminary information is still accurate; it is not consistent with the other hard disk DSRs. As a contributor to the spec 20 years ago, I do not recall conversations about this opcode's documentation or implementation. :(

 

I do agree reversing the words is silly. It was done for backward compatibility and has been defined this way since the HFDC came out.

 

So what I recommend is looking at Fred's website. Click on "documentation" and then "level 2 subprograms". Assuming he did not fudge DM2K and DU2K: the SCSI DSR has been fixed, the SCSI spec is wrong, and you need to slightly modify RXB to compensate.

 

http://home.vodafonethuis.nl/fgkaal/

 

PS - Again as a side note if you want RXB to work with IDE in the future, you would need to test for "IDE" as a device, and use opcode "8x" for the various disk functions.

Edit: AA Editor combined the URL with the following sentence. Grrrr

Peliminary SCSI Software Spec1.pdf

Edited by InsaneMultitasker
  • Like 3
Link to comment
Share on other sites

Thanks for the links and data.

OMG MYARC HFDC set such a ignorant goofy standard reversing words in a 32 bit address?????

There was really no reason to do this at all that makes any sense, just really bad programing in a DSR to NOT think ahead.

 

On the Plus side I already had a routine in RXB CALL SCSI(path,string-variable) that returned data from SCSI controller and that drive data.

So CALL IDE(path,string-variable) will be a piece of cake as it uses the almost exact same set up.

The XB program that used CALL SCSI took apart the string-variable and showed the info, so I can do the same for CALL IDE

 

I may put FORMAT FLOPPY,HFDC,SCSI,IDE,HDX into RXB next version. I have plenty of space for them left.

Also include SECTOR SIZE also as it is just a multiple of 256

 

Of course like SECTOR in RXB any Disk or Hard drive FORMAT or SECTOR will require a 32K, but RENAME,PROTECT,DELETE,SCSI,IDE,MKDIR,RMDIR,CUTDIR do not need a 32K

 

REA 2012 vs Editor Assembler 2 (REA 2012 includes GPL Assembler and EA Assembler, a built in Cataloger/Loader and View file utility)

 

As far as I know many of the features from the SCSI Software Spec on that PDF were never written. This PDF is exactly the one I already have.

RXB 2001 and RXB 2012 includes CUT Directory/SubDirectory but I know of no one else that supported it.

Link to comment
Share on other sites

Back then most Dbl byte words were reversed. What kind of controller did the personality card have? If it was an a 8 bit'r or designed to work in an a bit world then chances are it would need the bytes reversed. Could that have carried over to the HFDC and other DSR's that maintained compatibility?

Link to comment
Share on other sites

Thanks for the links and data.

OMG MYARC HFDC set such a ignorant goofy standard reversing words in a 32 bit address?????

There was really no reason to do this at all that makes any sense, just really bad programing in a DSR to NOT think ahead.

 

As far as I know many of the features from the SCSI Software Spec on that PDF were never written. This PDF is exactly the one I already have.

RXB 2001 and RXB 2012 includes CUT Directory/SubDirectory but I know of no one else that supported it.

 

I suspect (as Lee also infers) the byte reversal was done to save space. The HFDC contains BOTH floppy and hard drive code, so when you compute a 32-bit sector, either the floppy or hard drive sector would need to be adjusted. Since the TI floppy controller came first, Myarc stuck with it and wrote their code accordingly.

 

Oh, I forgot to mention earlier that I looked at the current SCSI dsr source. The "cut" opcode >2A seems to have been removed (or never written?). Also, Fred's website shows opcode >2A as rename directory; I believe this is incorrect as opcodes >13 and >23 should rename both files and directories. Lastly, Fred told me long ago that the error codes reported by the SCSI DSR are in the wrong bits, so this could be troublesome down the road. If nothing else, be aware SCSI may report some errors incorrectly (differently) from the other cards.

 

There are probably a few more gotchas out there lurking, best thing to do is to tackle them one by one. Will be nice to see if swapping those words results in a functioning Sector routine for you.

Link to comment
Share on other sites

 

I suspect (as Lee also infers) the byte reversal was done to save space. The HFDC contains BOTH floppy and hard drive code, so when you compute a 32-bit sector, either the floppy or hard drive sector would need to be adjusted. Since the TI floppy controller came first, Myarc stuck with it and wrote their code accordingly.

 

Oh, I forgot to mention earlier that I looked at the current SCSI dsr source. The "cut" opcode >2A seems to have been removed (or never written?). Also, Fred's website shows opcode >2A as rename directory; I believe this is incorrect as opcodes >13 and >23 should rename both files and directories. Lastly, Fred told me long ago that the error codes reported by the SCSI DSR are in the wrong bits, so this could be troublesome down the road. If nothing else, be aware SCSI may report some errors incorrectly (differently) from the other cards.

 

There are probably a few more gotchas out there lurking, best thing to do is to tackle them one by one. Will be nice to see if swapping those words results in a functioning Sector routine for you.

CUT DIRECTORY IS IN MY SCSI CARD AND WORKS WITH RXB 2001 and RXB 2012

 

I wrote all my code on this card and tested it many times.

 

I had no issues with my SCSI card ever, it is the most bullet proof Card I have ever owned outside the SAMS 1Meg card.

 

I think the later upgrades made a mess of the DSR and that is why the SCSI sucks so much today.

 

Don O'Niel personally gave me this card and Upgraded it for me. Yes the SECTOR 32 bit was backwards but like I said the HFDC way is just stupid.

Link to comment
Share on other sites

Back then most Dbl byte words were reversed. What kind of controller did the personality card have? If it was an a 8 bit'r or designed to work in an a bit world then chances are it would need the bytes reversed. Could that have carried over to the HFDC and other DSR's that maintained compatibility?

Jim might know, but everything I've poked at in DSR-land points to backwards compatibility and a premium on code space.

 

With hindsight, this problem is similar to how the advent of the SCSI card created new co-existence issues with level 2 routines. Had Myarc required a full pathname for ALL file IO, versus using the drive number for lower-level calls, most of the troubles we have with the SCSI, IDE, HFDC, and similar cards could have been averted. Myarc appears to have recognized this when they wrote the Geneve OS calls, since there the full pathname is always required. A simple difference but one that could have made life so much simpler....

  • Like 1
Link to comment
Share on other sites

The personality card expected a Western Digital 1002 Hard Disk Controller on the drive board (the Personality Card was just an interface device to the SASI controller in the drive that actually did the work. It was definitely an 8-bitter. The early HFDC DSR code was an outgrowth of the one for the Personality Card, as that kept both of the TI hard disk controllers compatible with each other. Everything else came later. . .and piled on the changes.

Link to comment
Share on other sites

 

Most interesting. The DSR source code does not appear to contain the CUT opcode, and it too is allegedly the same version. Another mystery to solve....

As I said before Don O'Neil MADE THIS SCSI card for me to put CUT DIRECTORY into RXB and I did that using this card.

I did a demo for it at the next TI Faire we went to to show it working. To bad no one did a Video of my DEMO 's as this was another first.

Link to comment
Share on other sites

As I said before Don O'Neil MADE THIS SCSI card for me to put CUT DIRECTORY into RXB and I did that using this card.

I did a demo for it at the next TI Faire we went to to show it working. To bad no one did a Video of my DEMO 's as this was another first.

I watched the video and you mentioned Richard updated your SCSI card at some point. This makes sense, as the daughterboard and SCSI EPROM updates came later. I have both the the original and updated versions of the card.

 

I will look for my older SCSI EPROMs from Bud and Don. At what Faire did you demo the CUT directory and what year?

Link to comment
Share on other sites

I watched the video and you mentioned Richard updated your SCSI card at some point. This makes sense, as the daughterboard and SCSI EPROM updates came later. I have both the the original and updated versions of the card.

 

I will look for my older SCSI EPROMs from Bud and Don. At what Faire did you demo the CUT directory and what year?

LOL I do not remember for sure.

I bought the 3rd SCSI card ever made but Don at the Faire took it away from me and said he wanted to make one for me to use to make some SCSI commands in RXB.

Mike Masimick (Yea I spelled the name wrong) got that card and was writing CD ROM Assembly code for the GENEVE or TI.

 

Now that I think about it maybe Richard Bell took my EPROM that I wrote the CUT DIRECtORY code for RXB with and substituted another.

As that is when my Hard Drive failed for the first time with the SCSI and I lost all kinds of data shortly a week later.

 

Now that makes much more sense as to why my data was lost. The new EPROM did not work correctly. My original SCSI card was bullet proof.

Link to comment
Share on other sites

LOL I do not remember for sure.

I bought the 3rd SCSI card ever made but Don at the Faire took it away from me and said he wanted to make one for me to use to make some SCSI commands in RXB.

Mike Masimick (Yea I spelled the name wrong) got that card and was writing CD ROM Assembly code for the GENEVE or TI.

 

Now that I think about it maybe Richard Bell took my EPROM that I wrote the CUT DIRECtORY code for RXB with and substituted another.

As that is when my Hard Drive failed for the first time with the SCSI and I lost all kinds of data shortly a week later.

 

Now that makes much more sense as to why my data was lost. The new EPROM did not work correctly. My original SCSI card was bullet proof.

Was that the year when Bud, Jeff, and others were soldering cards during the faire? Possibly Lima Faire, 1994. Earlier that year a few of us including Mike, Dan Eicher, and Jeff White met Bud in Ohio. I drove there from WI in my 1983 Buick Regal. It was so cold that February - my car spurted oil from the gaskets onto the ice/snow when I started it. We rode to get coffee and food one morning but otherwise, we sat in that hotel room with TI/Geneves programming SCSI-related code and writing preliminary specs (though the partitioning and such were too complicated to implement and stay compatible).

 

Data loss is my primary concern and "fear" when writing and updating DSR code. You must complete -extensive- testing and regression when making changes, and that often takes more time than writing the code itself.

  • Like 1
Link to comment
Share on other sites

Yea that was the year that I bought the 3rd SCSI card made but Don O'Neil handed it to me then 2 hours later made me give it back and gave it to Mike or Dan I think?

 

Later Don O'Niel mailed me a SCSI card and we talked on Phone about it.

 

One thing that stood out on my card was it was not in any way compatible with the Geneve, it was TI99/4A only.

 

Also it was for me to create SCSI commands in RXB for it.

Link to comment
Share on other sites

Ok I have a script to start up MESS and it will no longer work.

 

Click Start for RUN window and paste in:

C:\mess\mess64 ti99_4a -peb:slot2 ti99_4ev -peb:slot3 speech -peb:slot4 samsmem -peb:slot6 tirs232 -peb:slot8 hfdc -hard1 C:\mess\disks\hd1.hd -hard2 C:\mess\disks\hd2.hd -hard3 C:\mess\disks\hd3.hd -flop4 C:\mess\disks\rxbgplassm.dsk -gromport C:\mess\roms\ti99_gkracker -cart1 C:\mess\carts\rxb_2012.rpk

 

Does nothing now????

Try CMD

 

CD mess

paste in:

C:\mess\mess64 ti99_4a -peb:slot2 ti99_4ev -peb:slot3 speech -peb:slot4 samsmem -peb:slot6 tirs232 -peb:slot8 hfdc -hard1 C:\mess\disks\hd1.hd -hard2 C:\mess\disks\hd2.hd -hard3 C:\mess\disks\hd3.hd -flop4 C:\mess\disks\rxbgplassm.dsk -gromport C:\mess\roms\ti99_gkracker -cart1 C:\mess\carts\rxb_2012.rpk

 

Long list of errors says it can not find anything????

Link to comment
Share on other sites

Let me tidy up your line:

 

C:\mess\mess64 ti99_4ev -peb:slot3 speech -peb:slot4 samsmem -peb:slot6 tirs232 -peb:slot8 hfdc -hard1 C:\mess\disks\hd1.hd -hard2 C:\mess\disks\hd2.hd -hard3 C:\mess\disks\hd3.hd -flop4 C:\mess\disks\rxbgplassm.dsk -gromport gkracker -cart C:\mess\carts\rxb_2012.rpk

 

The EVPC is automatically mounted in peb:slot2.

  • Like 1
Link to comment
Share on other sites

A Gentle Reminder

When I set up this topic I expected to exchange comments with those who were using UM2C to set up MESS. Very quickly the discussion drifted to anything else but using UM2C.

Would the participants set up another topic to cover their discussions.

Thank you,

Jacques

Link to comment
Share on other sites

I might give QMC2 another try as I can not get MESS to configure or save properly.

 

I really hate the MESS system of set up. Most user hostile unfriendly setup possible.

Why does it not have a file you can configure what you want and that is it. OMG that would make sense!!!

You know mess.ini has a listing spot you put everything devices and if it errors out it tells you where it is and stops.

No instead you get 09AB0867846C9ABF0DA9845 with no idea WTF this means.

 

Why all the insane convoluted crap of writing a script from cmd line then because the cmd line is too long it errors out with no clue of what is wrong.

 

QMC2 crashed MESS and no way to figure out what was wrong. Normal MESS set up is so mystery filled as to be like building a bomb blind.

 

Sorry on a rant this has been 2 months now attempting to get MESS up and running the way I want.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...