OSI 5.25" floppies as shipped are 48TPI 40 track single sided FM encoded disks. Back when OSIHFE was created there was a limited set of flux sample images. In order to be compatible with the Gotek floppy hardware HFE files were created from OSIDumps in a format that seemed to work best at the time, which is 2bits/flux transition 250Kflux per second.
Over the years OSIHFE has been updated to handle a much greater variety of input formats including "SCP" SuperCopyPlus flux format, a format supported by the GreaseWeazle floppy imager as well as others. SCP files can contain multiple rotations of sampled flux data at 25ns (and other) sample rates. The tracks themselves are stored as a list of times between flux transitions so on a bank disk an image may only be a few bytes long.
In order to be compatible with Apple II, Commodore GCR and other floppy formats all 40 track SCP files are stored as 96TPI even if they are only 48TPI, so at a minimum there will be 80 tracks of data, half of which can be safely ignored (or are not actually in the image -- 0 bytes).
So the rabble7 flux dump is 96TPI 2 sided, with 168 tracks of data! Using HxC floppy Emulator to process the files generates a target that is 168 tracks single sided... WTF? In addition some of the other flags in the SCP file incorrectly identify the file as 360RPM. Unfortunately much of the possible helpful header information in SCP and HFE files are incorrect but you can help OSIHFE with some additional parameters. (80 track 2 sided disk images look a lot like OSI 8" 77 track dumps with the incorrect file headers present in many conversions.)
OSIHFE v2.2 has been updated to allow for skipping tracks in the case above, delete the last 3 tracks from the raw data, and save the data as an "SCP" file. Use the -k4 parameter to skip by 4 tracks when processing.
Using the data from Rabble7 after conversion to SCP with HxC Floppy Emulator, you can see the contents with the command
"
osihfe -k4 -d -i rabble7.scp"
(skip ahead 4 tracks at a time, show directory and file/disk information)
You should get the following:
Code: Select all
osihfe -k4 -d -i rabble7.scp
SCPFile: tracks 0 to 159, 1 sides, 3 revs, bitrate:246.91Kfps, 96TPI, 360RPM (header) 295RPM actual
File type OS65D5
OS65De File Track range
-----------------------------
OS65D V3.3 00 - 13
COMPDOS 1.3 15 - 15
BEXEC* 14 - 14
Copier 16 - 17
WORM 18 - 19
INVADERS II 20 - 20
INVADERS.CODE 22 - 24
NEW 3D MAZE 25 - 27
BASEBALL 28 - 30
SAUCER 31 - 33
LE PASSE 34 - 35
BREAKTHRU 36 - 37
20 entries free out of 32
Nice!
I've been using a
GreaseWeazle F7+ to read flux images in SCP format and load/manipulate them with OSIHFE etc. as well as the HxCFloppy Emulator software. Processing disks with GreaseWeazle is quick and painless. The whole process takes just a minute or two.
Unlike other platforms, although possible, I have never encountered OSI floppies that relied on special flux patterns on the disk. I'm more astounded that these disks even read! Everything I've seen has been either a variation of OS65D track format or standard OS65U files. The OSIDump format is similar to the Apple II .DSK format in that just sector data is stored, not the underlying flux pattern. This makes for the smallest disk format that preserves content. It is fine to store flux copies, but a 90K OSIDump requires 9-40MB to store as a flux image! Flux images may be better for marginal disks that require some processing to extract meaningful data. But don't store 2nd sides & half tracks if possible as they are just noise.
As a test I used GreaseWeazle to image OSI Dos 3.3 Tutorial 5 for C1P using a 360K/48TPI drive .
(Note using a 96TPI drive is fine for READS by adding a step=2 parameter to the tracks command)
HxC Floppy Emulator shows this:

- HxC OS65D 3.3 Tutorial #5
- osi-c1p-disk.jpg (152.03 KiB) Viewed 7846 times
The process for archiving disks is pretty simple.
#1 Image the disk as an SCP file
Code: Select all
C:\greaseweazle\win>gw read --tracks="c=0-39:h=0" --drive 0 osi-c1p.scp
Reading c=0-39:h=0 revs=3
T0.0: Raw Flux (123690 flux in 648.57ms)
T1.0: Raw Flux (127971 flux in 622.47ms)
T2.0: Raw Flux (154863 flux in 797.15ms)
T3.0: Raw Flux (156003 flux in 799.55ms)
T4.0: Raw Flux (153678 flux in 789.40ms)
T5.0: Raw Flux (153486 flux in 793.71ms)
T6.0: Raw Flux (144218 flux in 800.02ms)
T7.0: Raw Flux (122168 flux in 616.19ms)
T8.0: Raw Flux (119472 flux in 606.46ms)
T9.0: Raw Flux (124823 flux in 617.86ms)
T10.0: Raw Flux (119014 flux in 606.46ms)
T11.0: Raw Flux (109334 flux in 606.15ms)
T12.0: Raw Flux (101826 flux in 628.97ms)
T13.0: Raw Flux (121886 flux in 636.28ms)
T14.0: Raw Flux (120349 flux in 617.00ms)
T15.0: Raw Flux (119984 flux in 618.61ms)
T16.0: Raw Flux (120670 flux in 614.96ms)
T17.0: Raw Flux (117031 flux in 606.28ms)
T18.0: Raw Flux (117611 flux in 603.43ms)
T19.0: Raw Flux (120469 flux in 612.04ms)
T20.0: Raw Flux (119003 flux in 605.59ms)
T21.0: Raw Flux (119297 flux in 603.19ms)
T22.0: Raw Flux (119338 flux in 609.24ms)
T23.0: Raw Flux (120125 flux in 606.33ms)
T24.0: Raw Flux (119347 flux in 605.73ms)
T25.0: Raw Flux (119401 flux in 605.73ms)
T26.0: Raw Flux (118844 flux in 603.31ms)
T27.0: Raw Flux (134321 flux in 615.27ms)
T28.0: Raw Flux (178668 flux in 792.26ms)
T29.0: Raw Flux (154578 flux in 778.40ms)
T30.0: Raw Flux (119105 flux in 607.68ms)
T31.0: Raw Flux (136288 flux in 614.60ms)
T32.0: Raw Flux (183680 flux in 789.22ms)
T33.0: Raw Flux (154475 flux in 776.97ms)
T34.0: Raw Flux (122766 flux in 606.05ms)
T35.0: Raw Flux (119059 flux in 608.99ms)
T36.0: Raw Flux (120011 flux in 608.37ms)
T37.0: Raw Flux (118919 flux in 613.99ms)
T38.0: Raw Flux (118849 flux in 614.14ms)
T39.0: Raw Flux (116996 flux in 615.70ms)
Lets see what we got!
Code: Select all
C:\greaseweazle\win>osihfe -d -i osi-c1p.scp
SCPFile: tracks 0 to 78, 1 sides, 3 revs, bitrate:253.16Kfps, 96TPI, 360RPM (header) 301RPM actual
File type OS65D5
OS65D File Track range
-----------------------
OS65D3 00 - 13
BEXEC* 14 - 16
COPIER 17 - 18
CHANGE 19 - 20
CREATE 21 - 22
DELETE 23 - 23
DIR 24 - 24
RANLST 25 - 26
RENAME 27 - 27
SECDIR 28 - 28
SEQLST 29 - 30
TRACE 31 - 31
ZERO 32 - 33
ASAMPL 34 - 34
ATNENB 35 - 35
COLORS 36 - 36
MODEM 37 - 38
COMPAR 39 - 39
46 entries free out of 64
[Now test the disk data]
Code: Select all
C:\greaseweazle\win>osihfe -t osi-c1p.scp
Test: disk type OS65D5
Trk 00 Boot @ $2200/8 pages
Trk 01 1/8
Trk 02 1/8
Trk 03 1/8
Trk 04 1/8
Trk 05 1/8
Trk 06 1/1 2/1 3/1 4/2 5/1
Trk 07 1/8
Trk 08 1/8
Trk 09 1/8
Trk 10 1/8
Trk 11 1/1 2/1 3/1 4/1 5/1 6/1
Trk 12 1/1 2/1 3/1 4/1
Trk 13 1/8
Trk 14 1/8
Trk 15 1/8
Trk 16 1/8
Trk 17 1/8
Trk 18 1/8
Trk 19 1/8
Trk 20 1/8
Trk 21 1/8
Trk 22 1/8
Trk 23 1/8
Trk 24 1/8
Trk 25 1/8
Trk 26 1/8
Trk 27 1/8
Trk 28 1/8
Trk 29 1/8
Trk 30 1/8
Trk 31 1/8
Trk 32 1/8
Trk 33 1/8
Trk 34 1/8
Trk 35 1/8
Trk 36 1/8
Trk 37 1/8
Trk 38 1/8
Trk 39 1/5 2/2
#2 Convert to HFE or OSIDump format with OSIHFE. ( I find this to work better than converting with GreaseWeazle or HxC Floppy Emulator due to the way flux to bit conversion happens.)
Note you can drop the SCP file on OSIHFE in Windows Explorer to have the conversion happen by default. SCP->HFE, HFE->65D
Using the command line, you can specify SCP to 65D conversion directly using target file extensions to specify file type.
Code: Select all
C:\greaseweazle\win>osihfe osi-c1p.scp osi-c1p.65d
osihfe: Wrote file 'osi-c1p.65d'
[And view resulting OSIDump disk format]
C:\greaseweazle\win>osihfe -d osi-c1p.65d
OS65D File Track range
-----------------------
OS65D3 00 - 13
BEXEC* 14 - 16
COPIER 17 - 18
CHANGE 19 - 20
CREATE 21 - 22
DELETE 23 - 23
DIR 24 - 24
RANLST 25 - 26
RENAME 27 - 27
SECDIR 28 - 28
SEQLST 29 - 30
TRACE 31 - 31
ZERO 32 - 33
ASAMPL 34 - 34
ATNENB 35 - 35
COLORS 36 - 36
MODEM 37 - 38
COMPAR 39 - 39
46 entries free out of 64
As for file size, storing only the tracks that contain useful data yields a file ~1/4 the size of rabble7.
C:\greaseweazle\win>dir osi-c1p*
Directory of C:\greaseweazle\win
02/12/2022 12:57 AM 92,160 osi-c1p.65d
02/12/2022 12:55 AM 9,491,946 osi-c1p.scp
A 10199% size difference between flux & osidump files.
OSIHFE 2.2 is available on my tools web page. Its feature set has expanded since the early days, and now include the ability to test & clean disk images. I struggled to get this updated in a timely manner as it was long overdue, so hopefully there aren't any huge problems. It may be updated again soon if I uncover something. The source is there which compiles on Mac/Linux too.
Cheers,
-Mark