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 /LEVEL1/LEVEL2/LEVEL3 LD LEVEL2/LEVEL3 LD .. MD - Make Directory MD /new MD /LEVEL1/LEVEL2/LEVEL3/new MD LEVEL2/LEVEL3/new MD ../new CD - Change Directory CD / CD /LEVEL1/LEVEL2/LEVEL3 CD LEVEL2/LEVEL3 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 DT FS - Return disk free space FS 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 DI Startaddress (hex) DI Startaddress-Endaddress (hex) DX - Disassemble memory with 16-bit Immediate values (needs Memory protect turned off to work) DX DX Startaddress (hex) DX Startaddress-Endaddress (hex) DL - Xmodem Download DL DL startaddress (hex) UL - Xmodem Upload UL startaddress,Endaddress (hex) EX - Execute EX address (hex) FV - Format Volume with FAT16 FV 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)