trossi@tukki.jyu.fi (Timo Rossi) (07/15/89)
I have found a bug in trackdisk.device TD_RAWREAD and TD_RAWWRITE commands. sometimes TD_RAWREAD and TD_RAWWRITE fail with error code -4 (IOERR_BADLENGTH). After disassembling the code I found that trackdisk.device compares the io_Length field with the contents of memory location $8000 when it should compare it with number $8000. Apparently a '#'-sign is missing from the code. The bug is present in both 1.2 and 1.3 kickstarts. In 1.3 kickstart the buggy instruction is in address $feaf9c. -- ----------------------------------------------------------------------------- ! Timo Rossi -- trossi@tukki.jyu.fi -- University of Jyvaskyla, Finland ! -----------------------------------------------------------------------------
jesup@cbmvax.UUCP (Randell Jesup) (07/18/89)
In article <1015@tukki.jyu.fi> trossi@tukki.jyu.fi (Timo Rossi) writes: >I have found a bug in trackdisk.device TD_RAWREAD and TD_RAWWRITE commands. >sometimes TD_RAWREAD and TD_RAWWRITE fail with error code -4 (IOERR_BADLENGTH). >After disassembling the code I found that trackdisk.device compares the >io_Length field with the contents of memory location $8000 when it should >compare it with number $8000. Apparently a '#'-sign is missing from the code. Quite true. I think we announced that this error exists, thought not the exact cause. Do NOT modify location $8000, that is almost always in use by something, such as a trackdisk buffer. The error cannot be patched via setpatch, unfortunately (we tried). It has been corrected for 1.4. The error will usually show up on 1-drive machines. On two drive machines, things fall in memory such that it almost always works (2 3.5" drives, that is, in addition to the 5.25"). -- Randell Jesup, Keeper of AmigaDos, Commodore Engineering. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com BIX: rjesup Common phrase heard at Amiga Devcon '89: "It's in there!"