Close

Reading the BSCA-35 disk

A project log for STEbus Z80 and FDC CP/M

CP/M boot ROM and disks, reverse engineered.

keithKeith 12/05/2022 at 01:060 Comments

The disk was labelled (presumably by someone at Arcom)

"BSCA-35 User 0 Normal Files User 1 Additional files for SGT1 driver"

The zip file contains 18 files, and grep returns no instance of the string "SGT1" in them.

I can see "SGT1" in the binary disk image, using ghex. So where did it go?

The directory area looks like this:

.db    $ff,"READ    ME ",            "___",$0c,$01,"_______________"
.db    $ff,"ATLAS   MAC",            $01,"__",$35,$02,$03,$04,$05,$06,$07,"__________"
.db    $ff,"ATLASV  MAC",            $01,"__",$56,$08,$09,$0a,$0b,$0c,$0d,$0e,"_________"
.db    $ff,"BOOT    ASM",            "___",$;21,$0f,$10,"______________"
.db    $ff,"CHARIO  ASM",            "___",$15,$11,"_______________"
.db    $ff,"CHARIOV ASM",            "___",$33,$12,$13,"______________"
.db    $ff,"COPY    M","A"+$80,"C",  "___",$45,$14,$15,$16,"_____________"
.db    $ff,"DISKCOPYM","A"+$80,"C",  "___",$64,$17,$18,$19,$1a,"____________"
.db    $ff,"DISKFORMMAC",            $01,"__",$2d,$1b,$1c,$1d,$1e,$1f," __________"
.db    $ff,"DRBIOS  MAC",            "___",$11,$21,"_______________"
.db    $ff,"DRVTBL  A","S"+$80,"M",  "___",$02,$22,"_______________"
.db    $ff,"FDPH    ASM",            "___",$18,$23,"_______________"
.db    $ff,"FLOPPY  MAC",            "___",$46,$24,$25,$26,"_____________"
.db    $ff,"LDRBIOS MAC",            "___","S",$27,$28,$29,"_____________"
.db    $ff,"MEMORY  MAC",            "___",$1b,$2a,"_______________"
.db    $ff,"SYSCOPY M","A"+$80,"C",  "___",$4D,$2b,$2c,$2d,"_____________"
.db    $ff,"TIME    ","A"+$80,"S"+$8,"M",    "___",$02,$2e,"_______________"
.db    $ff,"TIMES   A","S"+$8,"M",   "___",$16,$2f,"_______________"
.db    $01,"READ    BAK",            "___",$01,$30,"_______________"
.db    $01,"READ    ME ",            "___",$07,$31,"_______________"
.db    $e5,"ATLAS   REL",            "___",$14,$32,"_______________"
.db    $01,"ATLAS   COM",            "___",$11,$34,"_______________"
.db    $e5,"CH      ASM",            "___",$04,$31,"_______________"
.db    $e5,"ATLAS   COM",            "___",$11,$3b,"_______________"
.db    $e5,"ATLAS5  MAC",            "___",$05,$33,"_______________"
.db    $01,"ATLAS   MAC",            $01,"__",$3b,$3c,$;3d,$3e,$3f,$40,"A__________"
.db    $01,"CHARIO  ASM",            "___",$15,$42,"_______________"
.db    $e5,"CHARIO  BAK",            "___",$15,"C_______________"

where underscore represent $FF.

The entries starting with .db $ff match the 18 files we have.

The others are allowed to have duplicate file names if they have different starter bytes ($01 or $E5).

indicates that
$e5 is a free slot (entry has been erased?)
$00 belongs to user 0
$01 belongs to user 1

so that identifies the extra files that need retrieving. Steve managed to recover the two files that were recoverable.

Discussions