Rawdump diskread
-
- Posts: 233
- Joined: Tue Dec 09, 2014 12:53 am
Rawdump diskread
I am looking for some suggestion on a problem dumping disks
Has anyone dumped 8 inch disks with either of the programs, I am working with a fellow to dump 8 inch disks from a c3 serial .
I modified both programs for serial display and they work fine on my 510 board, I can dump the disks I have with no errors, when he tries to dump the disks from eight inch there is a byte of data missing every 5 or 6 bytes over the whole disk and it can vary from dump to dump. I have no 8 inch drives yet to test here myself and I am trying to do this long distance. , I have looked through the source code , but not to sure if that's the problem
Any suggestions ?
Has anyone dumped 8 inch disks with either of the programs, I am working with a fellow to dump 8 inch disks from a c3 serial .
I modified both programs for serial display and they work fine on my 510 board, I can dump the disks I have with no errors, when he tries to dump the disks from eight inch there is a byte of data missing every 5 or 6 bytes over the whole disk and it can vary from dump to dump. I have no 8 inch drives yet to test here myself and I am trying to do this long distance. , I have looked through the source code , but not to sure if that's the problem
Any suggestions ?
Replica 600 Rev D:8K,CEGMON
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
-
- Site Admin
- Posts: 717
- Joined: Tue Sep 09, 2008 5:24 am
Re: Rawdump diskread
At 250 kbps, the read loop is pretty tight for 8" disks. Did you happen to make any modifications that could affect the disk read loop?
The other question is, does he have any trouble booting with those disks? Every 5/6 bits seems too regular to be a bad disk, but could be a data rate issue. The 8" drives do that clock/data separation on board, but can get out of adjustment and cause errors.
The other question is, does he have any trouble booting with those disks? Every 5/6 bits seems too regular to be a bad disk, but could be a data rate issue. The 8" drives do that clock/data separation on board, but can get out of adjustment and cause errors.
-
- Posts: 233
- Joined: Tue Dec 09, 2014 12:53 am
Re: Rawdump diskread
The only thing I changed in the programs was rom jumps from video to serial.
The disks boot fine so the system is functioning as expected.
The disks boot fine so the system is functioning as expected.
Replica 600 Rev D:8K,CEGMON
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
-
- Posts: 334
- Joined: Thu Apr 16, 2015 2:27 pm
- Location: Bronx, NY USA
Re: Rawdump diskread
If he can boot up to 65D, it shouldn't be necessary to use any special software to dump the disks.
It seems to me that something like this should work fine:
10 FOR T=0 TO 76
15 PRINT "Dumping track";T
20 DISK!"EX 4000="+RIGHT$(STR$(100+T),2)
30 FOR I=0 TO 3583
40 PRINT#8,CHR$(PEEK(16384+I));:POKE 22,0
50 NEXT I,T
This assumes the data is being dumped to a CA-10X/550 board at $CF00. The POKE 22,0 is to prevent extra CRLFs from being inserted when the "terminal width" is reached.
It seems to me that something like this should work fine:
10 FOR T=0 TO 76
15 PRINT "Dumping track";T
20 DISK!"EX 4000="+RIGHT$(STR$(100+T),2)
30 FOR I=0 TO 3583
40 PRINT#8,CHR$(PEEK(16384+I));:POKE 22,0
50 NEXT I,T
This assumes the data is being dumped to a CA-10X/550 board at $CF00. The POKE 22,0 is to prevent extra CRLFs from being inserted when the "terminal width" is reached.
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
-
- Posts: 233
- Joined: Tue Dec 09, 2014 12:53 am
Re: Rawdump diskread
We are using 510 serial systems so I would change Line 40 to PRINT#1 , Thanks I will give it a try on my setupbxdanny wrote:If he can boot up to 65D, it shouldn't be necessary to use any special software to dump the disks.
It seems to me that something like this should work fine:
10 FOR T=0 TO 76
15 PRINT "Dumping track";T
20 DISK!"EX 4000="+RIGHT$(STR$(100+T),2)
30 FOR I=0 TO 3583
40 PRINT#8,CHR$(PEEK(16384+I));:POKE 22,0
50 NEXT I,T
This assumes the data is being dumped to a CA-10X/550 board at $CF00. The POKE 22,0 is to prevent extra CRLFs from being inserted when the "terminal width" is reached.
Replica 600 Rev D:8K,CEGMON
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
-
- Posts: 334
- Joined: Thu Apr 16, 2015 2:27 pm
- Location: Bronx, NY USA
Re: Rawdump diskread
Wouldn't you need to use a different port for the dumping than the one that is used for the console?We are using 510 serial systems so I would change Line 40 to PRINT#1
If you are capturing the same output stream that goes to the console, you would need to know just where the dump starts (I guess that's not too hard), and, obviously, to omit line 15.
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
-
- Posts: 356
- Joined: Wed Mar 16, 2011 1:49 am
- Location: New Zealand
Re: Rawdump diskread
Sorry , Ive just switched back to 5" after issues with my 8" drives. I never got to do a Diskdump as I was always trying to create disks.
But I would try booting from the disk first to init PIA and ACIA correctly then try the dump. Check Disk boot ACIA init against Dump 8" acia init ?
But I would try booting from the disk first to init PIA and ACIA correctly then try the dump. Check Disk boot ACIA init against Dump 8" acia init ?
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator
-
- Posts: 233
- Joined: Tue Dec 09, 2014 12:53 am
Re: Rawdump diskread
I used the code above and decimal to hex convertion in the manual and came up with this ugly bit of code, it works with my set up but it is slow
Code: Select all
5 FOR T=0 TO 76
10 PRINT "DUMPING TRACK";T
15 DISK!"EX 4000="+RIGHT$(STR$(100+T),2)
16 L=0
20 FOR S=0 TO 3583
21 L=L+1
25 D=(PEEK(16384+S))
30 N(0)=D
35 FOR I=1 TO 8
40 N(I)=INT(N(I-1)/16) : CI(I)=N(I-1)-N(I)*16 : K=I
45 IF INT(N(I))=0 THEN GOTO 55
50 NEXT I
55 FOR I=1 TO K
60 CH$(K+1-I)=CHR$(48+CI(I))
65 IF CI(I)>9 THEN CH$(K+1-I)=CHR$(55+CI(I))
70 NEXT I
75 ZIP$=""
80 FOR I=1 TO K:ZIP$=ZIP$+CH$(I):NEXT I
81 IF D <= 15 THEN PRINT#1,"0";:POKE 22,0
84 PRINT#1,ZIP$;:POKE 22,0
105 IF L=16 THEN PRINT#1,CHR$(13)
110 IF L=16 THEN L=0
115 NEXT S,T
120 PRINT#1, "FINISHED"
125 END
Replica 600 Rev D:8K,CEGMON
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
-
- Posts: 233
- Joined: Tue Dec 09, 2014 12:53 am
Re: Rawdump diskread
I now have 8 inch drives up and running, so I am able to work on the dump software.
I ran both versions on my setup and get the same thing, byte missing every 5 or 6 bytes.
I checked the memory locations and it is also wrong.
Buy looking at the code im thinking the read byte loop is to many cycles to keep up with the faster timing of the 8 inch drives.
if I use exam command I get proper reads. it has a lot fewer instructions to execute ,I have experimented buy commenting out all the checks in the RDBYT section but the output gets messed up,i do get proper reads into the memory .
Any code gurus able to clean up this code?
UPDATE#1
if I comment out
BPL RDBYT2
BIT DISK+$10 ; TEST PARITY ERROR
BVS RDBYT3
it is working but with no fill characters
I ran both versions on my setup and get the same thing, byte missing every 5 or 6 bytes.
I checked the memory locations and it is also wrong.
Buy looking at the code im thinking the read byte loop is to many cycles to keep up with the faster timing of the 8 inch drives.
if I use exam command I get proper reads. it has a lot fewer instructions to execute ,I have experimented buy commenting out all the checks in the RDBYT section but the output gets messed up,i do get proper reads into the memory .
Any code gurus able to clean up this code?
UPDATE#1
if I comment out
BPL RDBYT2
BIT DISK+$10 ; TEST PARITY ERROR
BVS RDBYT3
it is working but with no fill characters
Code: Select all
;
; INPUT CHAR FROM DISK, CY SET IF END-OF-TRACK
RDBYT LDA DISK ; TEST FOR INDEX PULSE
BPL RDBYT2
LDA DISK+$10
LSR A
BCC RDBYT
BIT DISK+$10 ; TEST PARITY ERROR
BVS RDBYT3
LDA DISK+$11 ; READ BYTE
CLC
RTS
RDBYT2 LDA #FILLCH
SEC
RTS
RDBYT3 INC ERRCNT
BNE RDBYT4
INC ERRCNT+1
RDBYT4 LDA DISK+$11 ; READ BYTE
CLC
RTS
Replica 600 Rev D:8K,CEGMON
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
Replica 610 Rev B: 24k,MPI B-51 with Custom Data separator D-13
510 on the bench/replica 582 backplane/replica 470a /replica 555/original 570B/2 x Shugart 851
Ongoing : 630 ,620 ,510,542c,custom 590,SA1200,592,594,596,598
-
- Posts: 356
- Joined: Wed Mar 16, 2011 1:49 am
- Location: New Zealand
Re: Rawdump diskread
Whats your CLK speed Grant, does it work at 2MHz without dropping bytes ?
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator