DiskOS for SBC-3

DiskOS hardware - Interface board, dual CF to IDE adapter, two CF modules

This Disk Operating System uses the AVR SPI to IDE interface to provide file storage and retrieval for the SBC-3. The interface supports ATA hard drives and compact flash modules. The interface also supports FAT16 file structure, allowing you to move a CF card from the SBC-3 to a PC and share files.

This DiskOS was created to replace the original System Monitor in the SBC-3. Along with the disk operations, there are commands to read and modify memory, disassemble programs in memory, perform XMODEM file transfers, and set and read the Real-time clock on the interface. If the file named "AUTOEXEC.SYS" exists in the root directory, it will be loaded on boot-up. The first three bytes should contain a JMP instruction, followed by the text "SYS". If this is true, the file will be executed. If either test fails, then the DiskOS Command Prompt will be displayed.

The object and source files are available here -> DiskOS, along with some sample files, including EHBASIC, the USFLAG animation, a demo basic program file, and an Autoexec.sys sample.

The DiskOS Command Set includes:

?  - Print Simple Help Screen

LD - List Directory
  LD /
  LD ..
MD - Make Directory
  MD /new
  MD ../new

CD - Change Directory
  CD /
  CD ..

LV - List Volume
  Return Drive number and Volume name	

RN - Rename File, Directory, or Volume
  RN oldfile newfile
  RN /LEVEL1/LEVEL2/LEVEL3/oldfile newfile
  RN LEVEL2/LEVEL3/oldfile newfile
  RN ../LEVEL3/oldfile newfile

DE - Delete File/Dir
  DE filename 
  DE /LEVEL1/LEVEL2/LEVEL3/filename
  DE LEVEL2/LEVEL3/filename
  DE ../LEVEL3/filename

PR - Protect File or Directory
  PR filename 
  PR /LEVEL1/LEVEL2/LEVEL3/filename
  PR LEVEL2/LEVEL3/filename
  PR ../LEVEL3/filename

UP - Unprotect File or Directory
  UP filename 
  UP /LEVEL1/LEVEL2/LEVEL3/filename
  UP LEVEL2/LEVEL3/filename
  UP ../LEVEL3/filename

DT - Return the date and time

FS - Return disk free space

LF - Load File from disk into memory
  LF filename
  LF filename, startaddress (hex)
  LF /LEVEL1/LEVEL2/filename
  LF LEVEL2/LEVEL3/filename, startaddress (hex)

SF - Save File in memory to disk
  SF filename, startaddress (hex), Endaddres (hex)
  SF LEVEL2/LEVEL3/filename, startaddress (hex), Endaddres (hex)

RM - Read Mem
  RM Startaddress (hex)
  RM Startaddress-Endaddress (hex)

WM - Write Mem
  WM Startaddress:data (hex)
  WM Startaddress:data data data data (hex)

DI - Disassemble Memory
  DI Startaddress (hex)
  DI Startaddress-Endaddress (hex)

DX - Disassemble memory with 16-bit Immediate values 
     (needs Memory protect turned off to work)
  DX Startaddress (hex)
  DX Startaddress-Endaddress (hex)

DL - Xmodem Download
  DL startaddress (hex)

UL - Xmodem Upload
  UL startaddress,Endaddress (hex)

EX - Execute
  EX address (hex)

FV - Format Volume with FAT16

SC - Set Clock 
  SC wwyymmddhhmmss   (ww = day of week 0=Sunday..6=Saturday)

MV - Mount Volume and initialize FAT16
  MV 0
  MV 1

RS - Read Sector (Raw access mode)  * This command does not appear on the ? Help Screen
  RS sector (hex)

All info provided "as-is" and is Copyright 2020.