+InsaneMultitasker Posted August 28, 2016 Share Posted August 28, 2016 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. 2 Quote Link to comment Share on other sites More sharing options...
etownandy Posted August 28, 2016 Author Share Posted August 28, 2016 Makes sense. Thanks for the explanation. I'm sure it'll go in the guide others are writing up. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 29, 2016 Share Posted August 29, 2016 I compiled the source from my May 2016 work files and attached what should be an operational ROS and CFG, V8.34, in the development thread. http://atariage.com/forums/topic/222710-horizon-ramdisk-ros-and-cfg/page-8?do=findComment&comment=3582074 2 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 29, 2016 Share Posted August 29, 2016 Here is a step by step for setting up the HRD with MAME 0176b on Ninerpedia. I'll be updating it periodically when needed. HERE 3 Quote Link to comment Share on other sites More sharing options...
etownandy Posted August 29, 2016 Author Share Posted August 29, 2016 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. Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 29, 2016 Share Posted August 29, 2016 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 Quote Link to comment Share on other sites More sharing options...
etownandy Posted August 29, 2016 Author Share Posted August 29, 2016 (edited) Shift838 suggested some experimentation. It appears 8.34 isn't compatible with the BWG controller (at least, under MAME). It loaded the ROS fine while using the HFDC. Edited August 29, 2016 by etownandy 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 29, 2016 Share Posted August 29, 2016 Can you conceive some test to find out whether there is a bug in the BwG emulation? It is more likely that there is a bug in a single component, not in the interaction of several of them. Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 29, 2016 Share Posted August 29, 2016 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. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 29, 2016 Share Posted August 29, 2016 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? Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 29, 2016 Share Posted August 29, 2016 (edited) 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 August 29, 2016 by Shift838 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 29, 2016 Share Posted August 29, 2016 (edited) 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 August 29, 2016 by Shift838 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 29, 2016 Share Posted August 29, 2016 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). Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 30, 2016 Share Posted August 30, 2016 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. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 30, 2016 Share Posted August 30, 2016 Can you copy that file using Disk Manager 2 to another floppy? I suspect a general problem reading that disk image. Quote Link to comment Share on other sites More sharing options...
etownandy Posted August 30, 2016 Author Share Posted August 30, 2016 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. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 30, 2016 Share Posted August 30, 2016 Could you post the disk image or send it to me? I'd like to do some tests. Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted August 30, 2016 Share Posted August 30, 2016 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. 1 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 30, 2016 Share Posted August 30, 2016 Could you post the disk image or send it to me? I'd like to do some tests. ROS 8.34 is HERE Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 30, 2016 Share Posted August 30, 2016 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.) 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 30, 2016 Share Posted August 30, 2016 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?) 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 30, 2016 Share Posted August 30, 2016 I remember running into something like this recently, but I can't remember what it was or why. But it was along the exact same lines. If nobody has an answer before I get home, I'll dig through my notes and see if it was anything helpful. Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted August 30, 2016 Share Posted August 30, 2016 I don't know if this has any bearing on the problem but the latest BWG DSR is 1.18. Mayve you can ask Harald. Quote Link to comment Share on other sites More sharing options...
Shift838 Posted August 30, 2016 Share Posted August 30, 2016 Looks like there is a game plan and the issue has been identified. Insane Multitasker will post an updated version once it's fixed. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 30, 2016 Share Posted August 30, 2016 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. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.