This is a minimal Disk Operating System for the TMS9900 based on CP/M Interfaces
This is a BDOS for the TMS9900 based on CP/M it does not implement the full function set but is very suitable for small systems and works very well with the TMS9900 Small C compiler in the repository. It makes use of the MONITOR programme for its basic IO and Disc functions.
The board initally used a 3.5" Floppy Disc Controller (FDC) for version 2 of the software, but this has now be superseded with Version 3 of the software that supports an Solid State Drive using an IDE/SATA interface.
BDOS supports the following function at the moment:
;
; JUMP TABLE - ENTER WITH VALUE IN R3
;
FUN00 WORD BDOS0 ;WARM BOOT
FUN01 WORD CIN ;CONSOLE INPUT
FUN02 WORD COUT ;CONSOLE OUTPUT (OUTPUT LSB OF R3)
FUN03 WORD EXIT
FUN04 WORD EXIT
FUN05 WORD EXIT
FUN06 WORD DCONIO ;DIRECT CONSOLE IO
FUN07 WORD EXIT
FUN08 WORD EXIT
FUN09 WORD EXIT
FUN10 WORD EXIT
FUN11 WORD EXIT
FUN12 WORD EXIT
FUN13 WORD EXIT
FUN14 WORD DSKFUN ;SELECT A DISK
FUN15 WORD FOPEN ;OPEN A FILE
FUN16 WORD FCLOSE ;CLOSE A FILE
FUN17 WORD SEARCH1 ;LOOK FOR A FILE
FUN18 WORD SEARCH2 ;SEARCH NEXT
FUN19 WORD ERAFIL ;ERASE A FILE
FUN20 WORD RDSEQ ;READ SQUENTIAL
FUN21 WORD WRSEQ ;WRITE SQUENTIAL
FUN22 WORD MAKFIL ;MAKE A FILE
FUN23 WORD RENAME ;RENAME A FILE
FUN24 WORD EXIT
FUN25 WORD CDFUNC ;RETURN CURRENT DISK
FUN26 WORD DMAFUN ;SET DMA ADDRESS
FUN27 WORD EXIT ;
FUN28 WORD EXIT ;
FUN29 WORD EXIT ;
FUN30 WORD EXIT ;
FUN31 WORD EXIT ;
FUN32 WORD EXIT ;
FUN33 WORD RDRND ;READ A RANDOM RECORD
FUN34 WORD WRRND ;WRITE A RANDOM RECORD
FUN35 WORD GETSIZ ;GET FILE SIZE
FUN36 WORD SETREL ;SET RELATIVE RECORD
FUN37 WORD EXIT
FUN38 WORD EXIT
FUN39 WORD EXIT
FUN40 WORD EXIT
EXIT SETO R1 ;ERROR