LASooner Posted September 13, 2016 Share Posted September 13, 2016 I just got a TI disk controller on Ebay to replace the one I ruined. Assuming the seller is honorable in his evaluation that the controller "works perfectly", I need to figure out what could be wrong. My previous controller worked fine with my PHP 1250 drive and my Lothartek HXC, I plugged them both in initially, and when I start up the system with XB 2.7 and try to list a directory, the TI drive spins up nothing is displayed and then it goes back to the main menu. Same with the HXC. I went into disk manager and it claims that neither drive is initialized which I know is not correct. I tried just one drive each, same result. I tried initializing a new disk, and got disk error 31. Is there something I might be missing, or is this controller most likely hosed? Any tests that you recommend I try? Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 13, 2016 Share Posted September 13, 2016 I just got a TI disk controller on Ebay to replace the one I ruined. Assuming the seller is honorable in his evaluation that the controller "works perfectly", I need to figure out what could be wrong. My previous controller worked fine with my PHP 1250 drive and my Lothartek HXC, I plugged them both in initially, and when I start up the system with XB 2.7 and try to list a directory, the TI drive spins up nothing is displayed and then it goes back to the main menu. Same with the HXC. I went into disk manager and it claims that neither drive is initialized which I know is not correct. I tried just one drive each, same result. I tried initializing a new disk, and got disk error 31. Is there something I might be missing, or is this controller most likely hosed? Any tests that you recommend I try? Have you tried to format an old diskette or a NOS one. Are you using a higher density image in the HxC than the controller can utilize. Here is some info off the net I pulled: The first digit (x) indicate which I/O operation caused the error. : : 0-open : : 1-close : : 2-input : : 3-print : : 4-restore : : 5-old : : 6-save : : 7-delete : : the second value (y) indicate what kind of error occured : : 0-Device name not found(Invalid device or file name in DELETE,LIST,OLD,SAVE command) : : 1-Device write protected(attempting to write to a protected file) : : 2-Bad open Attribute(one or more OPEN option are illegal or do not match file characteristics : : 3-Illegal operation(Input/output command not valid) : : 4-Out of space(attempting to write when insufficient space remains on the storage medium) : : 5-End of file(attempting to read past the end of a file) : : 6-Device error(device not connected,or is damaged. this error can occur during file processing if an accessory device is accidentally disconnected while the program is running) : : 7-File error(the indicated file does not exist or the file type;program file or data file does not match the acces mode.) Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 13, 2016 Share Posted September 13, 2016 This is not the correct table. In fact, there is no documentation of the error codes from the disk controller card on low-level operations that I know of. I found these error codes in the annotated disassembly on Thierry Nouspikel's website (http://www.unige.ch/medecine/nouspikel/ti99/download.htm#disass ), also comparing to the documentation of the FD1771 chip. 11 = SEEK ERROR 22 = CRC ERROR 31 = RECORD NOT FOUND 33 = LOST DATA 34 = WRITE PROTECT etc. RECORD NOT FOUND means that during the verify phase of a write sector operation, the DAM (Data Address Mark) could not be found. This is the mark on the disk after which the sector contents follow. This can be caused in many ways, but since you said this appears with the HxC as well, the physical drive does not seem to be the culprit. The DAM was never written, or it cannot be read again. Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 13, 2016 Share Posted September 13, 2016 This is not the correct table. In fact, there is no documentation of the error codes from the disk controller card on low-level operations that I know of. I found these error codes in the annotated disassembly on Thierry Nouspikel's website (http://www.unige.ch/medecine/nouspikel/ti99/download.htm#disass ), also comparing to the documentation of the FD1771 chip. 11 = SEEK ERROR 22 = CRC ERROR 31 = RECORD NOT FOUND 33 = LOST DATA 34 = WRITE PROTECT etc. RECORD NOT FOUND means that during the verify phase of a write sector operation, the DAM (Data Address Mark) could not be found. This is the mark on the disk after which the sector contents follow. This can be caused in many ways, but since you said this appears with the HxC as well, the physical drive does not seem to be the culprit. The DAM was never written, or it cannot be read again. Okay thanks for catching this, the site I pulled from is https://www.99er.net/wwwboard/messages/56.html and it is very old.But since it has been since before then that I have had any dealings with the codes on disks controller, I thought it was correct. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 13, 2016 Share Posted September 13, 2016 The table you posted is not wrong or outdated, but it is targeted at a higher layer, related to operations like READ, WRITE, LOAD etc. from a program, with 8 different error types. The error codes that are shown by the Disk Manager in the above situation are codes that relate to controller operations like seeking, waiting for data marks etc., so they cannot be interpreted by the high-layer table. Also, those error codes may be specific to the disk controller (because they will eventually be converted to the generally ued high-layer codes). 1 Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 13, 2016 Share Posted September 13, 2016 The table you posted is not wrong or outdated, but it is targeted at a higher layer, related to operations like READ, WRITE, LOAD etc. from a program, with 8 different error types. The error codes that are shown by the Disk Manager in the above situation are codes that relate to controller operations like seeking, waiting for data marks etc., so they cannot be interpreted by the high-layer table. Also, those error codes may be specific to the disk controller (because they will eventually be converted to the generally ued high-layer codes). Okay, I see these at the end of the manual. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 13, 2016 Share Posted September 13, 2016 (edited) Ah, OK, then there is indeed a table, but it is not complete. I gathered some information from the disassembly here: http://www.ninerpedia.org/index.php?title=Technical_details#Error_codes_from_the_disk_controller_card (still preliminary, I'd have to dig a bit deeper to make sure) P.S.: Correcting myself, error 31 means "header not found". When you want to write to a sector n, the controller makes the floppy head move to the desired track, then reads the sector headers as they are passing by. When it finds the header, it pauses for a short moment until the "write splice" position of the sector is reached, then opens the write gate, and the controller writes the data address mark, the sector contents, and the CRC. Error 31 occurs when that desired sector header does not show up; most likely because it was never written or completely erased. In most cases, the header is there, but damaged, which would result in a CRC error. Concerning the initial question, it could happen when the read data, write data, or select lines to the floppy are broken. This can only be checked with another floppy disk that is guaranteed to be working, or with another drive that is working. Edited September 13, 2016 by mizapf 1 Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 13, 2016 Share Posted September 13, 2016 Ah, OK, then there is indeed a table, but it is not complete. I gathered some information from the disassembly here: http://www.ninerpedia.org/index.php?title=Technical_details#Error_codes_from_the_disk_controller_card (still preliminary, I'd have to dig a bit deeper to make sure) P.S.: Correcting myself, error 31 means "header not found". When you want to write to a sector n, the controller makes the floppy head move to the desired track, then reads the sector headers as they are passing by. When it finds the header, it pauses for a short moment until the "write splice" position of the sector is reached, then opens the write gate, and the controller writes the data address mark, the sector contents, and the CRC. Error 31 occurs when that desired sector header does not show up; most likely because it was never written or completely erased. In most cases, the header is there, but damaged, which would result in a CRC error. Concerning the initial question, it could happen when the read data, write data, or select lines to the floppy are broken. This can only be checked with another floppy disk that is guaranteed to be working, or with another drive that is working. Apparently, his disks were readable till he messed up his original controller and bought a new one, and the HxC can't be read either. I would say a malfunction on the card, like a defective disk controller chip or similar, can't read that information, so gives the error. Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 13, 2016 Share Posted September 13, 2016 (edited) Apparently, his disks were readable till he messed up his original controller and bought a new one, and the HxC can't be read either. I would say a malfunction on the card, like a defective disk controller chip or similar, can't read that information, so gives the error. I am getting ready to start learning the in's and out's of a disk controller, as I am wanting try to upgrade the controller chip on the TI to a double density. I believe the fundamentals are already in place, just need to make hardware changes. I just need to learn how everything is structured and see if the DSR of the TI can be changed, or a modified copy of the Myarc or Corcomp DSR's to utilize the changes. I purchased some 2797 disk controller chips from poland and when I get back from a trip to Ohio, next week I am going to be working with a defunct TI controller and a Percom controller, to start with. I'll bet I learn a lot about error messages then Edited September 13, 2016 by RickyDean Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 13, 2016 Share Posted September 13, 2016 (edited) I am getting ready to start learning the in's and out's of a disk controller If you can read C++, you could consider to look at the MAME source codes (wd_fdc.cpp, hdc92x4.cpp, the latter one written by me ... and better commented ). Edited September 13, 2016 by mizapf Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 13, 2016 Share Posted September 13, 2016 If you can read C++, you could consider to look at the MAME source codes (wd_fdc.cpp, hdc92x4.cpp, the latter one written by me ... and better commented ). Well I am familiar with C# and some Java and javascript, I will be looking through several types of code, I am sure, and yours will be there, now that I know. Quote Link to comment Share on other sites More sharing options...
LASooner Posted September 13, 2016 Author Share Posted September 13, 2016 I'd like to reiterate the drives and disks I'm using worked fine with the previous controller. starting to think this one is bad too Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted September 13, 2016 Share Posted September 13, 2016 Maybe the controller that went bad damaged your drives? Do you have a spare drive known working? Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted September 14, 2016 Share Posted September 14, 2016 Maybe just a cable issue ? Quote Link to comment Share on other sites More sharing options...
LASooner Posted September 14, 2016 Author Share Posted September 14, 2016 Maybe just a cable issue ? One is an internal cable the other is external, 2 different cables 1 Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted September 14, 2016 Share Posted September 14, 2016 I'd suggest making sure the edge connector on the bottom of the card is nice and clean. You might also try putting the card in a different slot. Have you tried with just the internal drive connected? Quote Link to comment Share on other sites More sharing options...
LASooner Posted September 14, 2016 Author Share Posted September 14, 2016 I'd suggest making sure the edge connector on the bottom of the card is nice and clean. You might also try putting the card in a different slot. Have you tried with just the internal drive connected? I've tried all of the above. Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted September 14, 2016 Share Posted September 14, 2016 Well, that's the shits. Do you have any recourse with the seller? Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted September 14, 2016 Share Posted September 14, 2016 How about diconnecting all drives, same error? Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted September 14, 2016 Share Posted September 14, 2016 Do you have an extra flex cable you could swap out for a test? Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted September 14, 2016 Share Posted September 14, 2016 - you could connect the HxC to a PC, to see if it is still OK. Maybe the same for the floppydrive - maybe something on the PEB-Bus ? Are other cards than the FD-controller running good, ie a 32KB ? - maybe the contacts on the bus are dirty (clean them, and/or try other slots, as told before) maybe there is a problem on the TI´s sideport ? or the FlexCable´s pins or a resistors gone (if present Do you hava a spare console or PEB for a test ? Maybe a double cable-issue, or a double controller issue.....I don´t believe that, but who knows.... Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted September 14, 2016 Share Posted September 14, 2016 If you need a known working floppy drive to test, I'll send you one. Just cover cost of shipping. Quote Link to comment Share on other sites More sharing options...
RickyDean Posted September 15, 2016 Share Posted September 15, 2016 I'd like to reiterate the drives and disks I'm using worked fine with the previous controller. starting to think this one is bad too Instead of guessing, PM me and I will send you a TI Floppy Controller, without a shell to test with, known to be working. If that fixes the problem(and I believe it will), then the Ebay controller is bad. Cover the cost of shipping back and forth. Let me know, I will be leaving for Dayton Ohio all next week, so I would need to get it into the mail by Saturday. Ricky Quote Link to comment Share on other sites More sharing options...
LASooner Posted September 16, 2016 Author Share Posted September 16, 2016 Thanks for all the offers of help, but I managed to get another controller and the good news is my drives and cables are fine, but the suspect controller, in fact, was the problem. Guess I need to contact the seller now. 3 Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted September 16, 2016 Share Posted September 16, 2016 (edited) It sucks the controller is bad but good nothing else is. Best of luck with the seller. Glad you figured it out. Edited September 16, 2016 by Sinphaltimus 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.