picosonic / bbc-fdc

Floppy disk interface for Raspberry Pi
MIT License
244 stars 22 forks source link

double step #24

Closed PeterBBCUser closed 4 years ago

PeterBBCUser commented 4 years ago

option to read 40 track disc's in a 80 track drive, i.e. a double step (40/80) switch.

picosonic commented 4 years ago

The facility to do double stepping is automatic so long as it can detect data on the tracks.

It does this as follows ..

Seek to track 2 Read sector headers If IDAM has track 2 then we know stepping is correct for this disk and drive If IDAM has track 1 then we know it's a 40 track disk in an 80 track drive

Once it has established double stepping is needed it prints the message :

"40 track disk detected in 80 track drive, enabled double stepping"

Alternatively if track 2 has sectors with IDAM using track 4 then we know it's an 80 track disk in a 40 track drive, or the drive is an 80 track with a selector switch set to 40 track. When it detects this it prints the message :

"80 track disk detected in 40 track drive Unable to fully image this disk in this drive "

I haven't created a command line option to override this behaviour as I felt it might complicate things for the user as you would also need to specify the drive tracks and disk tracks plus it could damage some drives if you double step when you don't need to as it would attempt to seek too far.

PeterBBCUser commented 4 years ago

hmm okay let me try a different 40 track disc as the one i did try not work. And will have to check more closely to see what messages I get back from the program.

picosonic commented 4 years ago

I made a change today to the logic for this to add to the output if it thinks the disk may be copy protected or that the track id in the IDAM is unexpected (not one of 1/2/4).

So you may want to update your source code and recompile.

PeterBBCUser commented 4 years ago

the 80 track side of the disk works fine the 40 track side still has problems even with the latest version (reading 40 track disk in a 80 track drive). have attached a copy of the fsd of Repton3 40 track.

Repton3-40t.zip Another think I noticed if you have a flippy disc or I am sure with a disk 40 trk one side and 80 on the other it reads the disk format from drive 0 and then processed to copy the other side with the incorrect format.

picosonic commented 4 years ago

In your attached FSD image it has detected 40 track in an 80 track drive and stepped correctly, however track 1 has both sides stored in it which beebjit doesn't like. The other tracks seem to have the contents from every other track.

e.g.

"physical = logical" 0 = 0 1 = 2 2 = 4 3 = 6 4 = 8 e.t.c

This would only normally happen when imaging an 80 track disk in a 40 track drive (or an 80 track drive set to double step) or when double stepping was enabled in software when it shouldn't be.

Track 1 is used as the auto discovery track to determine if a disk is dual sided, did you specify single sided?

Since Bill Carr confirmed that FSD is meant to be single sided only, you'd need to capture each side separately if you want to save the disk as FSD format.

The ability to detect and correctly process both 40 and 80 track on separate sides of the same disk is down in issue #1 however this would only help when imaging to formats storing both sides of the disk.

PeterBBCUser commented 4 years ago

this image was made with the -ss switch (as you had said previously fsd is singe sided so have been testing all the images with the -ss switch since then) which is why I don't understand why its doing odd things, and hence the reason for reporting it.

picosonic commented 4 years ago

I've made improvements to the handling of single sided captures when outputting to FSD and TD0.

Tracks written to image can no longer contain sectors from both sides of the disk.

If you are still getting unusual results, please can you capture to RFI format and send the file.

PeterBBCUser commented 4 years ago

still seems to trip up on track 1for some reason FSD Report gives the following on the created fsd Repton3Trk1 Attached is a rfi of the 40 track side of the Repton3 disc Repton3-40tss0.zip

picosonic commented 4 years ago

The RFI file looks fine, it contains 40 tracks (0..39), all are captured from side 0 Correct drive stepping for this disk and drive

RFI {date:"21/09/2020",time:"18:12:36",tracks:80,sides:1,rate:12500000,writeable:1} {track:0,side:0,rpm:300.04,enc:"rle",len:203424} {track:1,side:0,rpm:300.06,enc:"rle",len:223949} {track:2,side:0,rpm:300.08,enc:"rle",len:205279} {track:3,side:0,rpm:300.10,enc:"rle",len:204208} {track:4,side:0,rpm:300.11,enc:"rle",len:204585} {track:5,side:0,rpm:300.13,enc:"rle",len:201912} {track:6,side:0,rpm:300.14,enc:"rle",len:210220} {track:7,side:0,rpm:300.16,enc:"rle",len:210693} {track:8,side:0,rpm:300.17,enc:"rle",len:197702} {track:9,side:0,rpm:300.18,enc:"rle",len:186874} {track:10,side:0,rpm:300.19,enc:"rle",len:185202} {track:11,side:0,rpm:300.20,enc:"rle",len:225628} {track:12,side:0,rpm:300.21,enc:"rle",len:218072} {track:13,side:0,rpm:300.22,enc:"rle",len:216371} {track:14,side:0,rpm:300.23,enc:"rle",len:213316} {track:15,side:0,rpm:300.24,enc:"rle",len:216366} {track:16,side:0,rpm:300.25,enc:"rle",len:214192} {track:17,side:0,rpm:300.26,enc:"rle",len:203448} {track:18,side:0,rpm:300.27,enc:"rle",len:199994} {track:19,side:0,rpm:300.27,enc:"rle",len:207007} {track:20,side:0,rpm:300.28,enc:"rle",len:212505} {track:21,side:0,rpm:300.29,enc:"rle",len:197910} {track:22,side:0,rpm:300.30,enc:"rle",len:210809} {track:23,side:0,rpm:300.30,enc:"rle",len:196273} {track:24,side:0,rpm:300.31,enc:"rle",len:213210} {track:25,side:0,rpm:300.32,enc:"rle",len:195466} {track:26,side:0,rpm:300.32,enc:"rle",len:206131} {track:27,side:0,rpm:300.33,enc:"rle",len:195326} {track:28,side:0,rpm:300.34,enc:"rle",len:211532} {track:29,side:0,rpm:300.35,enc:"rle",len:202657} {track:30,side:0,rpm:300.35,enc:"rle",len:214798} {track:31,side:0,rpm:300.35,enc:"rle",len:197876} {track:32,side:0,rpm:300.36,enc:"rle",len:205992} {track:33,side:0,rpm:300.37,enc:"rle",len:214922} {track:34,side:0,rpm:300.37,enc:"rle",len:212736} {track:35,side:0,rpm:300.38,enc:"rle",len:212004} {track:36,side:0,rpm:300.38,enc:"rle",len:197895} {track:37,side:0,rpm:300.38,enc:"rle",len:210866} {track:38,side:0,rpm:300.38,enc:"rle",len:195986} {track:39,side:0,rpm:300.38,enc:"rle",len:196150}

The catalogue looks ok

Detected DFS, side : 0 Disk title : "REPTON 3" Disk size : 80 tracks (800 sectors, 204800 bytes) Boot option: 3 *EXEC !BOOT Write operations made to disk : 21 Catalogue entries : 17 D.REPTON2 000970 000970 000090 13f L FINALE 0031e0 000000 002620 118 L TOCCATA 0031e0 000000 002620 0f1 L PRELUDE 0031e0 000000 002620 0ca L MV 001900 ff8023 0001fd 0c8 L MASTER 000e10 000e10 0002b0 0c5 L E.REPTON3 000400 000400 000400 0c1 L E.REPTON2 001200 002dd0 004600 07b L E.REPTON1 002f00 002f00 002900 052 L E.EDITOR ff0e00 ff802b 0000e9 051 L D.REPTON4 005810 006000 000860 048 L D.REPTON3 000400 000400 000400 044 L D.REPTON1 ff0e00 ff802b 000153 042 L SPEAKSC 004700 005700 003900 009 L FONTS 000c00 000c00 000100 008 L MENU 001900 ff8023 00043d 003 L !BOOT 00ffff ffffff 000015 002 L Total disk usage : 79755 bytes (39% of disk) Remaining catalogue space : 14 files, 480 unused disk sectors Disk tracks 80, sectors 10

All 400 sectors are found and extracted ok

TRACK 00: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 01: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 02: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 03: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 04: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 05: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 06: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 07: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 08: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 09: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 10: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 11: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 12: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 13: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 14: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 15: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 16: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 17: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 18: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 19: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 20: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 21: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 22: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 23: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 24: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 25: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 26: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 27: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 28: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 29: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 30: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 31: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 32: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 33: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 34: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 35: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 36: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 37: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 38: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] TRACK 39: 0[0] 1[0] 2[0] 3[0] 4[0] 5[0] 6[0] 7[0] 8[0] 9[0] Total extracted sectors: 400

And then converting this file to FSD also looks ok

FSD magic detected Created: 22/09/2020 by 10 release 0 unused 00 Title: "REPTON 3" Tracks in FSD: 40

Track : 0 (0)(ff readable) Sectors: 10 C0 H0 S0 N1 (1) code 00 C0 H0 S1 N1 (1) code 00 C0 H0 S2 N1 (1) code 00 C0 H0 S3 N1 (1) code 00 C0 H0 S4 N1 (1) code 00 C0 H0 S5 N1 (1) code 00 C0 H0 S6 N1 (1) code 00 C0 H0 S7 N1 (1) code 00 C0 H0 S8 N1 (1) code 00 C0 H0 S9 N1 (1) code 00

Track : 1 (1)(ff readable) Sectors: 10 C1 H0 S0 N1 (1) code 00 C1 H0 S1 N1 (1) code 00 C1 H0 S2 N1 (1) code 00 C1 H0 S3 N1 (1) code 00 C1 H0 S4 N1 (1) code 00 C1 H0 S5 N1 (1) code 00 C1 H0 S6 N1 (1) code 00 C1 H0 S7 N1 (1) code 00 C1 H0 S8 N1 (1) code 00 C1 H0 S9 N1 (1) code 00

Track : 2 (2)(ff readable) Sectors: 10 C2 H0 S0 N1 (1) code 00 C2 H0 S1 N1 (1) code 00 C2 H0 S2 N1 (1) code 00 C2 H0 S3 N1 (1) code 00 C2 H0 S4 N1 (1) code 00 C2 H0 S5 N1 (1) code 00 C2 H0 S6 N1 (1) code 00 C2 H0 S7 N1 (1) code 00 C2 H0 S8 N1 (1) code 00 C2 H0 S9 N1 (1) code 00

Track : 3 (3)(ff readable) Sectors: 10 C3 H0 S0 N1 (1) code 00 C3 H0 S1 N1 (1) code 00 C3 H0 S2 N1 (1) code 00 C3 H0 S3 N1 (1) code 00 C3 H0 S4 N1 (1) code 00 C3 H0 S5 N1 (1) code 00 C3 H0 S6 N1 (1) code 00 C3 H0 S7 N1 (1) code 00 C3 H0 S8 N1 (1) code 00 C3 H0 S9 N1 (1) code 00

Track : 4 (4)(ff readable) Sectors: 10 C4 H0 S0 N1 (1) code 00 C4 H0 S1 N1 (1) code 00 C4 H0 S2 N1 (1) code 00 C4 H0 S3 N1 (1) code 00 C4 H0 S4 N1 (1) code 00 C4 H0 S5 N1 (1) code 00 C4 H0 S6 N1 (1) code 00 C4 H0 S7 N1 (1) code 00 C4 H0 S8 N1 (1) code 00 C4 H0 S9 N1 (1) code 00

Track : 5 (5)(ff readable) Sectors: 10 C5 H0 S0 N1 (1) code 00 C5 H0 S1 N1 (1) code 00 C5 H0 S2 N1 (1) code 00 C5 H0 S3 N1 (1) code 00 C5 H0 S4 N1 (1) code 00 C5 H0 S5 N1 (1) code 00 C5 H0 S6 N1 (1) code 00 C5 H0 S7 N1 (1) code 00 C5 H0 S8 N1 (1) code 00 C5 H0 S9 N1 (1) code 00

Track : 6 (6)(ff readable) Sectors: 10 C6 H0 S0 N1 (1) code 00 C6 H0 S1 N1 (1) code 00 C6 H0 S2 N1 (1) code 00 C6 H0 S3 N1 (1) code 00 C6 H0 S4 N1 (1) code 00 C6 H0 S5 N1 (1) code 00 C6 H0 S6 N1 (1) code 00 C6 H0 S7 N1 (1) code 00 C6 H0 S8 N1 (1) code 00 C6 H0 S9 N1 (1) code 00

Track : 7 (7)(ff readable) Sectors: 10 C7 H0 S0 N1 (1) code 00 C7 H0 S1 N1 (1) code 00 C7 H0 S2 N1 (1) code 00 C7 H0 S3 N1 (1) code 00 C7 H0 S4 N1 (1) code 00 C7 H0 S5 N1 (1) code 00 C7 H0 S6 N1 (1) code 00 C7 H0 S7 N1 (1) code 00 C7 H0 S8 N1 (1) code 00 C7 H0 S9 N1 (1) code 00

Track : 8 (8)(ff readable) Sectors: 10 C8 H0 S0 N1 (1) code 00 C8 H0 S1 N1 (1) code 00 C8 H0 S2 N1 (1) code 00 C8 H0 S3 N1 (1) code 00 C8 H0 S4 N1 (1) code 00 C8 H0 S5 N1 (1) code 00 C8 H0 S6 N1 (1) code 00 C8 H0 S7 N1 (1) code 00 C8 H0 S8 N1 (1) code 00 C8 H0 S9 N1 (1) code 00

Track : 9 (9)(ff readable) Sectors: 10 C9 H0 S0 N1 (1) code 00 C9 H0 S1 N1 (1) code 00 C9 H0 S2 N1 (1) code 00 C9 H0 S3 N1 (1) code 00 C9 H0 S4 N1 (1) code 00 C9 H0 S5 N1 (1) code 00 C9 H0 S6 N1 (1) code 00 C9 H0 S7 N1 (1) code 00 C9 H0 S8 N1 (1) code 00 C9 H0 S9 N1 (1) code 00

Track : 10 (10)(ff readable) Sectors: 10 C10 H0 S0 N1 (1) code 00 C10 H0 S1 N1 (1) code 00 C10 H0 S2 N1 (1) code 00 C10 H0 S3 N1 (1) code 00 C10 H0 S4 N1 (1) code 00 C10 H0 S5 N1 (1) code 00 C10 H0 S6 N1 (1) code 00 C10 H0 S7 N1 (1) code 00 C10 H0 S8 N1 (1) code 00 C10 H0 S9 N1 (1) code 00

Track : 11 (11)(ff readable) Sectors: 10 C11 H0 S0 N1 (1) code 00 C11 H0 S1 N1 (1) code 00 C11 H0 S2 N1 (1) code 00 C11 H0 S3 N1 (1) code 00 C11 H0 S4 N1 (1) code 00 C11 H0 S5 N1 (1) code 00 C11 H0 S6 N1 (1) code 00 C11 H0 S7 N1 (1) code 00 C11 H0 S8 N1 (1) code 00 C11 H0 S9 N1 (1) code 00

Track : 12 (12)(ff readable) Sectors: 10 C12 H0 S0 N1 (1) code 00 C12 H0 S1 N1 (1) code 00 C12 H0 S2 N1 (1) code 00 C12 H0 S3 N1 (1) code 00 C12 H0 S4 N1 (1) code 00 C12 H0 S5 N1 (1) code 00 C12 H0 S6 N1 (1) code 00 C12 H0 S7 N1 (1) code 00 C12 H0 S8 N1 (1) code 00 C12 H0 S9 N1 (1) code 00

Track : 13 (13)(ff readable) Sectors: 10 C13 H0 S0 N1 (1) code 00 C13 H0 S1 N1 (1) code 00 C13 H0 S2 N1 (1) code 00 C13 H0 S3 N1 (1) code 00 C13 H0 S4 N1 (1) code 00 C13 H0 S5 N1 (1) code 00 C13 H0 S6 N1 (1) code 00 C13 H0 S7 N1 (1) code 00 C13 H0 S8 N1 (1) code 00 C13 H0 S9 N1 (1) code 00

Track : 14 (14)(ff readable) Sectors: 10 C14 H0 S0 N1 (1) code 00 C14 H0 S1 N1 (1) code 00 C14 H0 S2 N1 (1) code 00 C14 H0 S3 N1 (1) code 00 C14 H0 S4 N1 (1) code 00 C14 H0 S5 N1 (1) code 00 C14 H0 S6 N1 (1) code 00 C14 H0 S7 N1 (1) code 00 C14 H0 S8 N1 (1) code 00 C14 H0 S9 N1 (1) code 00

Track : 15 (15)(ff readable) Sectors: 10 C15 H0 S0 N1 (1) code 00 C15 H0 S1 N1 (1) code 00 C15 H0 S2 N1 (1) code 00 C15 H0 S3 N1 (1) code 00 C15 H0 S4 N1 (1) code 00 C15 H0 S5 N1 (1) code 00 C15 H0 S6 N1 (1) code 00 C15 H0 S7 N1 (1) code 00 C15 H0 S8 N1 (1) code 00 C15 H0 S9 N1 (1) code 00

Track : 16 (16)(ff readable) Sectors: 10 C16 H0 S0 N1 (1) code 00 C16 H0 S1 N1 (1) code 00 C16 H0 S2 N1 (1) code 00 C16 H0 S3 N1 (1) code 00 C16 H0 S4 N1 (1) code 00 C16 H0 S5 N1 (1) code 00 C16 H0 S6 N1 (1) code 00 C16 H0 S7 N1 (1) code 00 C16 H0 S8 N1 (1) code 00 C16 H0 S9 N1 (1) code 00

Track : 17 (17)(ff readable) Sectors: 10 C17 H0 S0 N1 (1) code 00 C17 H0 S1 N1 (1) code 00 C17 H0 S2 N1 (1) code 00 C17 H0 S3 N1 (1) code 00 C17 H0 S4 N1 (1) code 00 C17 H0 S5 N1 (1) code 00 C17 H0 S6 N1 (1) code 00 C17 H0 S7 N1 (1) code 00 C17 H0 S8 N1 (1) code 00 C17 H0 S9 N1 (1) code 00

Track : 18 (18)(ff readable) Sectors: 10 C18 H0 S0 N1 (1) code 00 C18 H0 S1 N1 (1) code 00 C18 H0 S2 N1 (1) code 00 C18 H0 S3 N1 (1) code 00 C18 H0 S4 N1 (1) code 00 C18 H0 S5 N1 (1) code 00 C18 H0 S6 N1 (1) code 00 C18 H0 S7 N1 (1) code 00 C18 H0 S8 N1 (1) code 00 C18 H0 S9 N1 (1) code 00

Track : 19 (19)(ff readable) Sectors: 10 C19 H0 S0 N1 (1) code 00 C19 H0 S1 N1 (1) code 00 C19 H0 S2 N1 (1) code 00 C19 H0 S3 N1 (1) code 00 C19 H0 S4 N1 (1) code 00 C19 H0 S5 N1 (1) code 00 C19 H0 S6 N1 (1) code 00 C19 H0 S7 N1 (1) code 00 C19 H0 S8 N1 (1) code 00 C19 H0 S9 N1 (1) code 00

Track : 20 (20)(ff readable) Sectors: 10 C20 H0 S0 N1 (1) code 00 C20 H0 S1 N1 (1) code 00 C20 H0 S2 N1 (1) code 00 C20 H0 S3 N1 (1) code 00 C20 H0 S4 N1 (1) code 00 C20 H0 S5 N1 (1) code 00 C20 H0 S6 N1 (1) code 00 C20 H0 S7 N1 (1) code 00 C20 H0 S8 N1 (1) code 00 C20 H0 S9 N1 (1) code 00

Track : 21 (21)(ff readable) Sectors: 10 C21 H0 S0 N1 (1) code 00 C21 H0 S1 N1 (1) code 00 C21 H0 S2 N1 (1) code 00 C21 H0 S3 N1 (1) code 00 C21 H0 S4 N1 (1) code 00 C21 H0 S5 N1 (1) code 00 C21 H0 S6 N1 (1) code 00 C21 H0 S7 N1 (1) code 00 C21 H0 S8 N1 (1) code 00 C21 H0 S9 N1 (1) code 00

Track : 22 (22)(ff readable) Sectors: 10 C22 H0 S0 N1 (1) code 00 C22 H0 S1 N1 (1) code 00 C22 H0 S2 N1 (1) code 00 C22 H0 S3 N1 (1) code 00 C22 H0 S4 N1 (1) code 00 C22 H0 S5 N1 (1) code 00 C22 H0 S6 N1 (1) code 00 C22 H0 S7 N1 (1) code 00 C22 H0 S8 N1 (1) code 00 C22 H0 S9 N1 (1) code 00

Track : 23 (23)(ff readable) Sectors: 10 C23 H0 S0 N1 (1) code 00 C23 H0 S1 N1 (1) code 00 C23 H0 S2 N1 (1) code 00 C23 H0 S3 N1 (1) code 00 C23 H0 S4 N1 (1) code 00 C23 H0 S5 N1 (1) code 00 C23 H0 S6 N1 (1) code 00 C23 H0 S7 N1 (1) code 00 C23 H0 S8 N1 (1) code 00 C23 H0 S9 N1 (1) code 00

Track : 24 (24)(ff readable) Sectors: 10 C24 H0 S0 N1 (1) code 00 C24 H0 S1 N1 (1) code 00 C24 H0 S2 N1 (1) code 00 C24 H0 S3 N1 (1) code 00 C24 H0 S4 N1 (1) code 00 C24 H0 S5 N1 (1) code 00 C24 H0 S6 N1 (1) code 00 C24 H0 S7 N1 (1) code 00 C24 H0 S8 N1 (1) code 00 C24 H0 S9 N1 (1) code 00

Track : 25 (25)(ff readable) Sectors: 10 C25 H0 S0 N1 (1) code 00 C25 H0 S1 N1 (1) code 00 C25 H0 S2 N1 (1) code 00 C25 H0 S3 N1 (1) code 00 C25 H0 S4 N1 (1) code 00 C25 H0 S5 N1 (1) code 00 C25 H0 S6 N1 (1) code 00 C25 H0 S7 N1 (1) code 00 C25 H0 S8 N1 (1) code 00 C25 H0 S9 N1 (1) code 00

Track : 26 (26)(ff readable) Sectors: 10 C26 H0 S0 N1 (1) code 00 C26 H0 S1 N1 (1) code 00 C26 H0 S2 N1 (1) code 00 C26 H0 S3 N1 (1) code 00 C26 H0 S4 N1 (1) code 00 C26 H0 S5 N1 (1) code 00 C26 H0 S6 N1 (1) code 00 C26 H0 S7 N1 (1) code 00 C26 H0 S8 N1 (1) code 00 C26 H0 S9 N1 (1) code 00

Track : 27 (27)(ff readable) Sectors: 10 C27 H0 S0 N1 (1) code 00 C27 H0 S1 N1 (1) code 00 C27 H0 S2 N1 (1) code 00 C27 H0 S3 N1 (1) code 00 C27 H0 S4 N1 (1) code 00 C27 H0 S5 N1 (1) code 00 C27 H0 S6 N1 (1) code 00 C27 H0 S7 N1 (1) code 00 C27 H0 S8 N1 (1) code 00 C27 H0 S9 N1 (1) code 00

Track : 28 (28)(ff readable) Sectors: 10 C28 H0 S0 N1 (1) code 00 C28 H0 S1 N1 (1) code 00 C28 H0 S2 N1 (1) code 00 C28 H0 S3 N1 (1) code 00 C28 H0 S4 N1 (1) code 00 C28 H0 S5 N1 (1) code 00 C28 H0 S6 N1 (1) code 00 C28 H0 S7 N1 (1) code 00 C28 H0 S8 N1 (1) code 00 C28 H0 S9 N1 (1) code 00

Track : 29 (29)(ff readable) Sectors: 10 C29 H0 S0 N1 (1) code 00 C29 H0 S1 N1 (1) code 00 C29 H0 S2 N1 (1) code 00 C29 H0 S3 N1 (1) code 00 C29 H0 S4 N1 (1) code 00 C29 H0 S5 N1 (1) code 00 C29 H0 S6 N1 (1) code 00 C29 H0 S7 N1 (1) code 00 C29 H0 S8 N1 (1) code 00 C29 H0 S9 N1 (1) code 00

Track : 30 (30)(ff readable) Sectors: 10 C30 H0 S0 N1 (1) code 00 C30 H0 S1 N1 (1) code 00 C30 H0 S2 N1 (1) code 00 C30 H0 S3 N1 (1) code 00 C30 H0 S4 N1 (1) code 00 C30 H0 S5 N1 (1) code 00 C30 H0 S6 N1 (1) code 00 C30 H0 S7 N1 (1) code 00 C30 H0 S8 N1 (1) code 00 C30 H0 S9 N1 (1) code 00

Track : 31 (31)(ff readable) Sectors: 10 C31 H0 S0 N1 (1) code 00 C31 H0 S1 N1 (1) code 00 C31 H0 S2 N1 (1) code 00 C31 H0 S3 N1 (1) code 00 C31 H0 S4 N1 (1) code 00 C31 H0 S5 N1 (1) code 00 C31 H0 S6 N1 (1) code 00 C31 H0 S7 N1 (1) code 00 C31 H0 S8 N1 (1) code 00 C31 H0 S9 N1 (1) code 00

Track : 32 (32)(ff readable) Sectors: 10 C32 H0 S0 N1 (1) code 20 C32 H0 S1 N1 (1) code 20 C32 H0 S2 N1 (1) code 20 C32 H0 S3 N1 (1) code 20 C32 H0 S4 N1 (1) code 20 C32 H0 S5 N1 (1) code 20 C32 H0 S6 N1 (1) code 20 C32 H0 S7 N1 (1) code 20 C32 H0 S8 N1 (1) code 20 C32 H0 S9 N1 (1) code 20

Track : 33 (33)(ff readable) Sectors: 10 C33 H0 S0 N1 (1) code 20 C33 H0 S1 N1 (1) code 20 C33 H0 S2 N1 (1) code 20 C33 H0 S3 N1 (1) code 20 C33 H0 S4 N1 (1) code 20 C33 H0 S5 N1 (1) code 20 C33 H0 S6 N1 (1) code 20 C33 H0 S7 N1 (1) code 20 C33 H0 S8 N1 (1) code 20 C33 H0 S9 N1 (1) code 20

Track : 34 (34)(ff readable) Sectors: 10 C34 H0 S0 N1 (1) code 20 C34 H0 S1 N1 (1) code 20 C34 H0 S2 N1 (1) code 20 C34 H0 S3 N1 (1) code 20 C34 H0 S4 N1 (1) code 20 C34 H0 S5 N1 (1) code 20 C34 H0 S6 N1 (1) code 20 C34 H0 S7 N1 (1) code 20 C34 H0 S8 N1 (1) code 20 C34 H0 S9 N1 (1) code 20

Track : 35 (35)(ff readable) Sectors: 10 C35 H0 S0 N1 (1) code 20 C35 H0 S1 N1 (1) code 20 C35 H0 S2 N1 (1) code 20 C35 H0 S3 N1 (1) code 20 C35 H0 S4 N1 (1) code 20 C35 H0 S5 N1 (1) code 20 C35 H0 S6 N1 (1) code 20 C35 H0 S7 N1 (1) code 20 C35 H0 S8 N1 (1) code 20 C35 H0 S9 N1 (1) code 20

Track : 36 (36)(ff readable) Sectors: 10 C36 H0 S0 N1 (1) code 20 C36 H0 S1 N1 (1) code 20 C36 H0 S2 N1 (1) code 20 C36 H0 S3 N1 (1) code 20 C36 H0 S4 N1 (1) code 20 C36 H0 S5 N1 (1) code 20 C36 H0 S6 N1 (1) code 20 C36 H0 S7 N1 (1) code 20 C36 H0 S8 N1 (1) code 20 C36 H0 S9 N1 (1) code 20

Track : 37 (37)(ff readable) Sectors: 10 C37 H0 S0 N1 (1) code 20 C37 H0 S1 N1 (1) code 20 C37 H0 S2 N1 (1) code 20 C37 H0 S3 N1 (1) code 20 C37 H0 S4 N1 (1) code 20 C37 H0 S5 N1 (1) code 20 C37 H0 S6 N1 (1) code 20 C37 H0 S7 N1 (1) code 20 C37 H0 S8 N1 (1) code 20 C37 H0 S9 N1 (1) code 20

Track : 38 (38)(ff readable) Sectors: 10 C38 H0 S0 N1 (1) code 20 C38 H0 S1 N1 (1) code 20 C38 H0 S2 N1 (1) code 20 C38 H0 S3 N1 (1) code 20 C38 H0 S4 N1 (1) code 20 C38 H0 S5 N1 (1) code 20 C38 H0 S6 N1 (1) code 20 C38 H0 S7 N1 (1) code 20 C38 H0 S8 N1 (1) code 20 C38 H0 S9 N1 (1) code 20

Track : 39 (39)(ff readable) Sectors: 10 C39 H0 S0 N1 (1) code 20 C39 H0 S1 N1 (1) code 20 C39 H0 S2 N1 (1) code 20 C39 H0 S3 N1 (1) code 20 C39 H0 S4 N1 (1) code 20 C39 H0 S5 N1 (1) code 20 C39 H0 S6 N1 (1) code 20 C39 H0 S7 N1 (1) code 20 C39 H0 S8 N1 (1) code 20 C39 H0 S9 N1 (1) code 20

Attached is the FSD output - which runs fine in beebjit

rept.zip

PeterBBCUser commented 4 years ago

but if i capture it directly to .fsd it all messed up. I am interested how or what did you use to convert it from rfi to fsd ?

picosonic commented 4 years ago

I converted the RFI to FSD with the following command line

./bbcfdc-nopi -c -i Repton3-40tss0.rfi -l -summary -o rept.ssd

Only the bbcfdc-nopi executable can convert RFI files.

The "-l" option shows a layout map of where the sectors were recovered from on the disk surface.

The "-summary" option shows a summary which includes tracks with data, and the sector numbers, total recovered sector count, disk track range, drive tracks, single/double sided, FM/MFM/GCR/AppleGCR sectors found, detected density, sector size range, sector id range and total storage size in bytes.

I would recommend capturing in RFI in the first instance, then you can use the bbcfdc-nopi to convert to other imaging formats at a later time.