E474 Posted August 4, 2022 Share Posted August 4, 2022 Hi, A while back (2019), I wrote a utility (DUMP1050) for dumping the firmware (ROM) of a Happy (or "compatible") 1050 disk drive to a file. I'm investigating whether the Happy corrupt 3rd byte in sector bug can be triggered in certain circumstances, so at the moment, I'm asking that people don't use the DUMP1050 utility at all. The issue looks like it may be triggered when high speed SIO code is used, so with a DOS that uses high speed I/O, or with a patched OS ROM for high speed I/O. Turning the drive off and on again will fix the problem, but it may continue to corrupt written data from the time the utility is run, to the time the drive is turned off then on. I'll update this thread once I know more, but given that this may lead to data loss, I'm posting this as early as possible, and then seeing if I can reproduce/test the existence of the actual bug. Apologies to anyone effected by this bug. Quote Link to comment Share on other sites More sharing options...
TZJB Posted March 17 Share Posted March 17 On 8/4/2022 at 3:56 PM, E474 said: Hi, A while back (2019), I wrote a utility (DUMP1050) for dumping the firmware (ROM) of a Happy (or "compatible") 1050 disk drive to a file. I'm investigating whether the Happy corrupt 3rd byte in sector bug can be triggered in certain circumstances, so at the moment, I'm asking that people don't use the DUMP1050 utility at all. The issue looks like it may be triggered when high speed SIO code is used, so with a DOS that uses high speed I/O, or with a patched OS ROM for high speed I/O. Turning the drive off and on again will fix the problem, but it may continue to corrupt written data from the time the utility is run, to the time the drive is turned off then on. I'll update this thread once I know more, but given that this may lead to data loss, I'm posting this as early as possible, and then seeing if I can reproduce/test the existence of the actual bug. Apologies to anyone effected by this bug. Hi @E474. Is DUMP1050 working now? I need to try and dump a soldered in 1050 ROM. It's not soldered to the 1050, just to the upgrade chips. Quote Link to comment Share on other sites More sharing options...
E474 Posted March 18 Author Share Posted March 18 Hi @TZJB, I haven't had time to fix it, the bug can happen with high speed I/O (it's the Happy corruption bug). If you have a stock 8-bit computer (one that doesn't have high speed I/O added in to the OS in as custom firmware), and just use the Atari DOS 2.5 on the ATR you should be fine, but I would boot the ATR, dump the drive ROM, then reboot everything and power cycle the drive as code is uploaded to it as part of the ROM dump routine. Also, don't use a high speed DOS like SpartaDOS, etc., with DUMP1050. The ATR can be downloaded from the DUMP 1050 github repo. DUMP1050 is very "rough and ready", as it's not much more than a wrapper to save memory read from the drive using the routines from the German publication "Atari Magazin". Hopefully I will have time to revisit my various Atari projects later in the year, but I know am going to be very busy for the next few months with more pressing matters. Any feedback would, of course, be appreciated though. 1 Quote Link to comment Share on other sites More sharing options...
TZJB Posted March 19 Share Posted March 19 22 hours ago, E474 said: Hi @TZJB, I haven't had time to fix it, the bug can happen with high speed I/O (it's the Happy corruption bug). If you have a stock 8-bit computer (one that doesn't have high speed I/O added in to the OS in as custom firmware), and just use the Atari DOS 2.5 on the ATR you should be fine, but I would boot the ATR, dump the drive ROM, then reboot everything and power cycle the drive as code is uploaded to it as part of the ROM dump routine. Also, don't use a high speed DOS like SpartaDOS, etc., with DUMP1050. The ATR can be downloaded from the DUMP 1050 github repo. DUMP1050 is very "rough and ready", as it's not much more than a wrapper to save memory read from the drive using the routines from the German publication "Atari Magazin". Hopefully I will have time to revisit my various Atari projects later in the year, but I know am going to be very busy for the next few months with more pressing matters. Any feedback would, of course, be appreciated though. At the moment I am having problems dumping using a stock 800XL and Fujinet. Cannot read command table from drive. Quote Link to comment Share on other sites More sharing options...
E474 Posted March 19 Author Share Posted March 19 Hi @TZJB, IIRC, the Fujinet uses high speed I/O when loading its config program, so the drive may already have been set to ignore commands, etc. Simplest path is to get to the "Cannot read command table" bit, and then power cycle just the Lazer drive and try to dump the drive again (so don't reboot the 800XL, just hit #4 again). You can also try making a physical Dos 2.5 boot disk, and copy the utility on to that - it should be OK if you use the same drive to boot and dump the data to (you'll need to change the drive number from #4 to #1 in the above example). This cuts the Fujinet out of the loop, which makes things simpler to trouble shoot (I would unplug it from the SIO chain, and only have the Lazer drive you want to dump the ROM of on the SIO bus). Also, maybe verify that the Lazer utilities disk recognises the drive as a Lazer drive (maybe check in the same "only the Lazer on the SIO bus" configuration?). Hope this helps! 1 1 Quote Link to comment Share on other sites More sharing options...
TZJB Posted March 21 Share Posted March 21 On 3/19/2024 at 4:59 PM, E474 said: Hi @TZJB, IIRC, the Fujinet uses high speed I/O when loading its config program, so the drive may already have been set to ignore commands, etc. Simplest path is to get to the "Cannot read command table" bit, and then power cycle just the Lazer drive and try to dump the drive again (so don't reboot the 800XL, just hit #4 again). You can also try making a physical Dos 2.5 boot disk, and copy the utility on to that - it should be OK if you use the same drive to boot and dump the data to (you'll need to change the drive number from #4 to #1 in the above example). This cuts the Fujinet out of the loop, which makes things simpler to trouble shoot (I would unplug it from the SIO chain, and only have the Lazer drive you want to dump the ROM of on the SIO bus). Also, maybe verify that the Lazer utilities disk recognises the drive as a Lazer drive (maybe check in the same "only the Lazer on the SIO bus" configuration?). Hope this helps! Some progress, but not what I wanted. This utility seems to only be able to dump a programmable OS. I did what was suggested and created a bootable disk from the ATR file. With nothing but the drive on the SIO bus I booted from my drive set to D1:. However, switched to 1050 mode and USD mode neither will dump, but in Lazer mode the OS dumps straight away. I was trying to dump the 1050 mode OS to see why it worked with a WD2797, but it is not to be. Time for the soldering iron! Quote Link to comment Share on other sites More sharing options...
E474 Posted March 25 Author Share Posted March 25 Hi @TZJB, Thanks for the feedback on DUMP1050! Good to hear that it did dump the Lazer ROM when set up as a boot floppy, single drive - this might be the easiest way around the data corruption issue, though I think DUMP1050 still needs updating with error handling, etc. I think I need to make it a bit clearer that it only dumps the Happy/Lazer ROM so I'll also add this to the documentation/description (when I get time to update it). Btw, I saw in the new thread you had started that you had used the Happy Utilities sector copier, have you tried the Lazer utilities disk - I posted a copy of it a while back, see: Quote Link to comment Share on other sites More sharing options...
TZJB Posted March 25 Share Posted March 25 47 minutes ago, E474 said: Hi @TZJB, Thanks for the feedback on DUMP1050! Good to hear that it did dump the Lazer ROM when set up as a boot floppy, single drive - this might be the easiest way around the data corruption issue, though I think DUMP1050 still needs updating with error handling, etc. I think I need to make it a bit clearer that it only dumps the Happy/Lazer ROM so I'll also add this to the documentation/description (when I get time to update it). Btw, I saw in the new thread you had started that you had used the Happy Utilities sector copier, have you tried the Lazer utilities disk - I posted a copy of it a while back, see: Thanks, I did download them a while ago and have the Lazer floppy disks physically, and virtually on my Fujinet. However as they are a copy of the Happy 6.6 software anyway, I went with the original which also assured me by passing the diagnostics. I do need to try the Lazer software though, to make sure the diagnostics are the same. I seem to remember I had problems. More to do there I think. 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.