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