Jump to content
IGNORED

HRD setup questions (MAME specific...maybe)


etownandy

Recommended Posts

ROS 8.14 was what I started with, then I used CFG832E to get the size up from 1600 to 3200. I got CFG832E from the post referenced above. 8.14 I got from WHTECH (ftp.whtech.com/emulators/pc99/pc99 dsk collection/Vendors/BudMillsServices/) . With DM-1000 I can read and copy to/from the HRD all day long (using MAME). The moment I try to read from DSKU or DR I get a device error, and the drive is unreadable by anything after that. For the playing around I want to do, this works just fine for me (I don't want to sound like I'm whining about it). But it is curious.

I suspected as much...

 

The ROS file contains the driver for the RAMdisk, and all of the DSR routines needed to access files and sectors.

 

To setup a disk of more than 1600 sectors using CFG v8.32 (or higher) you must load ROS v8.32 (or higher). The older ROS 8.14F will see your 3200 sector disks, but it will corrupt them because it can't manage the larger disk properly. Disk management programs will only add to your suffering. For now, either revert to CFG from the 8.14F disk, or use a maximum sector count of 1600 with CFG832.

 

Another AA member offered to help with the distribution disk, so I will try to spend some time this week pulling the most recent ROS and CFG together for testing and/or distribution.

  • Like 2
Link to comment
Share on other sites

Grabbed the DSK image. Went to E/A opt 5 and loaded DSK1.CFG834. I pressed any key to config, then hit L to Load the ROS. I specified DSK1.ROS834 and pretty immediately got an error message (generic "Error press any key"). I tried answering both "Y" and "N" at the prompt asking if I wanted to keep existing disk information.

Link to comment
Share on other sites

Grabbed the DSK image. Went to E/A opt 5 and loaded DSK1.CFG834. I pressed any key to config, then hit L to Load the ROS. I specified DSK1.ROS834 and pretty immediately got an error message (generic "Error press any key"). I tried answering both "Y" and "N" at the prompt asking if I wanted to keep existing disk information.

 

PM sent

Link to comment
Share on other sites

I have also been able to reproduce the error with the TI FDC as well as the BWG. The Myarc HFDC works fine. I was able to reproduce this with both 8.32 and 8.34 versions of ROS.

 

The Insane one has been notified.

Was all testing performed under emulation? What cards are in the system(s)? You mentioned CFG832e exhibits the same problem?

Link to comment
Share on other sites

i did testing via emulation for 8.32e and 8.34.

 

Emulation Failed:

 

FDC

MEMORY

TI-99/4A

Horizon 4000

 

FDC = TIFDC and BWG

MEMORY = 32k and SAMS

 

Tried various configs with changing the FDC and memory all failed.

 

My success in MAME was :

 

MYARC HFDC

32K or SAMS

Computer TI-99/4A

 

I also was able to use 8.32e on Real hardware successfully with the below configuration:

 

TI-99/4A withi F18A and USB keyboard

1mb SAMS card

TripleTech

Myarc 80 track DS/DD FDC

SCSI REV F

Horizon 1mb HRD

TI RS232

 

I will try the 8.34 in a real sytem later tonight.

Edited by Shift838
Link to comment
Share on other sites

I transferred ROS834 over to my real TI and loaded the ROS successfully and loaded it from my SCSI drive too!

 

TI-99/4A withi F18A and USB keyboard
1mb SAMS card
TripleTech
Myarc 80 track DS/DD FDC
SCSI REV F
Horizon 1mb HRD
TI RS232
Edited by Shift838
Link to comment
Share on other sites

What does "emulation failed" mean? Does it fail to load a certain file? Which one?

 

I don't really believe that there is some issue that can "find out" a combination between the HRD and some disk controller. The DSR should abstract away the details. Thus, my question is whether you observe that some loading fails.

 

In the next MAME release I added a fix for 40 track disks images in 80 track drives, because I stumbled over some issue with that. I recommend not to use 80 track disk images with the emulation right now, and not to use 3.5" floppy drives (which are 80 track) in the emulation.

 

Please make sure that the disk images have a maximum of 1440 sectors (DSDD, 40 tracks).

Link to comment
Share on other sites

What does "emulation failed" mean? Does it fail to load a certain file? Which one?

 

I don't really believe that there is some issue that can "find out" a combination between the HRD and some disk controller. The DSR should abstract away the details. Thus, my question is whether you observe that some loading fails.

 

In the next MAME release I added a fix for 40 track disks images in 80 track drives, because I stumbled over some issue with that. I recommend not to use 80 track disk images with the emulation right now, and not to use 3.5" floppy drives (which are 80 track) in the emulation.

 

Please make sure that the disk images have a maximum of 1440 sectors (DSDD, 40 tracks).

 

To clarify, i am using a 90k SS/SD disk image (40 track of course)

 

So I guess I should have elaborated more. So I can load up the CFG834 or 832 file via XB or Editor Assemblyer. It detects the cards, I hit ANY KEY to continue.

 

Press 'L' to load the ROS and identify the file name of DSK1.ROS834

 

The disk emulation spins (I can hear the disk sounds via the PC speakers.) I then get an error of:

 

“Error, press any key to return to menu”

 

Error only happens if I am using the BwG or TI FDC. HFDC works fine.

Link to comment
Share on other sites

I tried copying CFG and ROS 834 to a new SS/SD disk image (made with TI Image Tool) and had the same problem loading the ROS while using the BWG controller under emulation. The disk copies fine with DM2, but the ROS loading problem persists.

 

Regarding coming up with a way to test the BWG controller I should note, I've been using BWG emulation for months for a variety of tasks - loading XB/EA games, using Funnelweb, editing disks with DiskU, editing TI-Wr files, running Plato courseware - and haven't had any difficulties doing anything.

Link to comment
Share on other sites

FYI, on real TI gear. CFG/ROS834 work fine. The system consists of:

 

 

TI RS232

HSGPL Card

HRD16

1.5 Meg Horizon RAM<disk

1 Meg SAMS Card

BWG Disk Controller

AVPC 80-Column Card

 

I did have a glitch to begin with but that was because of a "gremlin" introduced when transferring CFG/ROS834 from the PC to the TI. The second download was no problem.

  • Like 1
Link to comment
Share on other sites

I found the problem ... but parts of the explanation could be disconcerting to the public.

 

 

 

(No, I just found the problem, but I need some more time to figure out why it went wrong. The sentence above is an inside joke to my compatriots, a translation of what our Minister of the Interior recently stated in a press conference.)

  • Like 2
Link to comment
Share on other sites

This is really peculiar. Maybe you want to have a look with me? What I found out is that loading fails with the TI FDC and the BwG, but not with the HFDC. This is want some of you also found. In Debug mode of MAME I discovered the point where the error is asserted.

 

Have a look at this commented listing, taken from http://www.unige.ch/medecine/nouspikel/ti99/dc6.txt

(Thierry Nouspikel's site)

 

 

*------------------------------------
* Opcode 5: Load
* --------------
* PAB 0: >05
*     1: file type  <--- error code
*   2-3: data buffer address in VDP mem
*     4:
*     5:
*   6-7: maximum # of bytes (size of buffer)
*     8:
*------------------------------------
A56CE  BL   @A4658            call subroutine
       DATA A4E02             find FDR on disk
       MOV  4,4               found?
       JEQ  A56DE             yes
A56D8  BL   @A4C72            no: return with error
       DATA >E000             "file error"
A56DE  BL   @A4B70            get 2 bytes from FDR into R0
       DATA >000C             file status byte
       ANDI 0,>0100           is it "program"?
       JEQ  A56D8             no: file error
       INCT 8                 point to # of sect/file in FDR
       BLWP @>005A(9)         set VDP to read
       DATA >0102             address in R8
       MOVB @>FBFE(15),1      get # of sectors in file
       SWPB 1
       MOVB @>FBFE(15),1
       SRC  1,8
       JEQ  A56D8             0=empty file: return with "file error"
       BL   @A57C0            get data buffer address in R7, # of sectors in R2
       INCT 8                 point to eof offset in FDR
       CLR  4
       BLWP @>005A(9)         set VDP to read
       DATA >0102             address in R8
       MOVB @>FBFE(15),4      get # of bytes in last sector
       C    1,2               compare # of sect with max in PAB
       JH   A56D8             file is too big: return with "file error"
       JNE  A571C             file is smaller
       C    0,4               same # of sect: check bytes in last sector
       JL   A56D8             file is too big: "file error"
A571C  CLR  3                 sector offset in file
       SWPB 4
...
 
A57C0  MOV  @>0054(9),0       get buffer address + # of bytes
       INCT 0                 ------------------------------- data buffer in PAB
       BLWP @>005A(9)         set VDP to read
       DATA >0002             address in R0
       MOVB @>FBFE(15),7      get data buffer address
       SWPB 7
       MOVB @>FBFE(15),7
       SWPB 7
       AI   0,>0004           point to # of bytes to transfer
       BLWP @>005A(9)         set VDP to read
       DATA >0002             address in R0
       MOVB @>FBFE(15),2      get # of bytes to be transfered
       SRL  2,8               make it # of sectors (256 bytes each)
       CLR  0
       MOVB @>FBFE(15),0      see if one more is needed
       JEQ  A57F2             no
       INC  2                 yes: one more sector
A57F2  B    *11

 

The error occurs at location 571A, just before the label A571C.

 

The problem is that the file ROS834 is 8188 bytes long, that is, 0x1FFC. In the File descriptor record (FDR) we have the number of sectors and the number of bytes in the last sector (EOF offset). If the EOF offset is 0, the last sector is completely filled. Thus, the FDR says the file has 0x20 (32) sectors, and the EOF offset is 0xFC. The number of sectors in the real file is put into R1 as 0020.

 

The routine at 57C0 fetches the number of bytes and the EOF offset according to the PAB. The maximum length is given as 0x2000 in the PAB.

 

Accordingly, the call to 57C0 returns with R2=0020. R0 contains the LSB of 2000, i.e. 0000. Hence, INC 2 is not reached.

 

Back in the caller, some lines after the call to 57C0, R4 contains FC00 (from the FDR).

 

Finally, C R1 R2 compares the number of sectors according to the FDR with the number calculated from the PAB, and they are equal. Then, the number of bytes in the last sector according to the PAB (00) is compared to the number of real bytes (FC), and the former is lower, so we have a valid JL, and an error.

 

I managed to get it running by exporting ROS834 to the PC file system, adding four zero bytes to its end, re-importing it into the image file, which made it appear as 8192 bytes (2000), and guess what: It loads.

 

 

 

Now the 1 million question: Assuming that the SNUG guys copied some parts from the TI DSR, this would explain why the emulated BwG also fails. But why do we have working real BwGs? (Apart from the possibility that there are patched BwGs around?)

  • Like 1
Link to comment
Share on other sites

Looks like there is a game plan and the issue has been identified.

 

Insane Multitasker will post an updated version once it's fixed.

Sent you a PM with an updated disk image for a test drive.

 

I took Michael's approach - used DSKU to change the file's last 4 bytes to 0x00 then modified the FDR's EOF byte from >FC to >00. File size is now 8192 bytes.

  • Like 1
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...