Page 2 of 2
Re: Rawdump diskread
Posted: Wed Jul 08, 2015 2:41 pm
by Jeff
Here are two possible improvements:
Code: Select all
RDBYT
BIT DISK ; TEST FOR INDEX PULSE
BPL RDBYT2
LDA DISK+$10
LSR A
BCC RDBYT
LDA DISK+$11 ; READ BYTE
CLC
RTS
RDBYT2
LDA #FILLCH
SEC
RTS
; I think this might work too, and it is a bit tighter:
Code: Select all
RDBYT
BIT DISK ; TEST FOR INDEX PULSE
BPL RDBYT2
@1
LDA DISK+$10
LSR A
BCC @1
LDA DISK+$11 ; READ BYTE
CLC
RTS
RDBYT2
LDA #FILLCH
SEC
RTS
I too suggest a bump to 2 MHZ, if possible, might be necessary.
/Jeff
Re: Rawdump diskread
Posted: Wed Jul 08, 2015 4:44 pm
by Klyball
I have not bumped up the system to 2mhz yet , ideally the software should work with a stock system so optimizing the code will be the best approach.
Re: Rawdump diskread
Posted: Fri Jul 10, 2015 4:41 am
by MK14HAK
I think "stock" OSI 8" systems ran at 2MHz ??
Re: Rawdump diskread
Posted: Sat Jul 11, 2015 1:17 am
by MK14HAK
I have had it confirmed this is still a problem at 2Mhz with 8" disks.
Anyone tried Jeff's fix?
Re: Rawdump diskread
Posted: Tue Jul 14, 2015 3:06 am
by MK14HAK
RAWDUMP program simply dumps the raw contents of each disk track (including formatting bytes) to a file. The format is: images of 5.25" disks are 92,160 bytes long (40*9*256), with the raw image of each track beginning on a 2304-byte (9*256) boundary. Images of 8" disks are 295,680 bytes long (77*15*256), with the raw image of each track beginning on a 3840-byte (15*256) boundary. Raw contents are what you get from the EXAM command in 65D, e.g. EX 4000=01 to get the raw contents of track 1 starting at $4000.
RAWDUMP is a dump of the UART stream from reading one track, including all garbage bytes before the start of the track, between sectors, and after the end of the last sector, etc; padded to 2304 bytes/track for a 5.25" disk, and 3840 bytes/track for 8" disks.
Re: Rawdump diskread
Posted: Sun Sep 06, 2015 7:44 pm
by Klyball
Time to get back to this problem.
I have confirmed using the exam command dumps a good read of the track to memory, so I guess writing a utility that uses the os calls might be the way to go.
I have played around with redoing the read program with limited success. Ideas?
Re: Rawdump diskread
Posted: Fri Sep 11, 2015 3:17 am
by Klyball
I have had some success with the disk dump program.
I played with the delay timing here:
Code: Select all
RDTRK4
LDA DISK+2
ORA #$80
STA DISK+2 ; UNLOAD DISK HEAD
CLC
RTS
; DELAY 1.25MS PER LOOP
DELAY
LDY #$C7 ; WAS F8
DELAY1
DEY
BNE DELAY1
EOR $FF,X
DEX
BNE DELAY
RTS
I actually wanted to cut it in half with 7C but I typed it backwards . but it seems to be dumping eight inch disks just fine so far.
can some one test on 5.25 to see if its will still work there, otherwise it might need to be set as a variable.
Yahoo!!
Time to start dumping disks
Re: Rawdump diskread
Posted: Fri Sep 11, 2015 3:31 am
by Jeff
They say "Timing is everything!"
Way to go Grant!
/Jeff