.Z80 TITLE bios0 (excbios0) jmp table & unchanging rtns ; ************************************************* ; external version # ; 1.2 $version equ 1100h ; Must be in hex form ; v m m m ; v=version # ; mmm = mod level ; (leading zeroes not shown) ; internal version # ; date last changed version equ 3191h ; MUST be in hex form ; y d d d ; y=last digit of year ; ddd = days since 1 January ; ************************************************* ; 1983-06-23 changed version # etc. for 2nd release ;**************************************** ;* * ;* EXECUTIVE BIOS * ;* for * ;* CP/M 3.XX * ;* by * ;* * ;* Glenn S. Tenney * ;* and * ;* Roger W. Chapman * ;* * ;* Copyright (c) 1983 * ;* Osborne Computer Corporation * ;* * ;**************************************** ; Table of contents of this module: ; (1) the signon message, with copyright ; (2) The bios jump table ; (3) A few unchanging routines of the bios. page dseg ; signon message only needed at cboot signon: ; signon message at cold boot db 1ah ; clear screen db 'Osborne Executive CP/M Plus BIOS' db ' V' ; external version follows db ($version/1000h and 0fh)+'0' ; v db '.' ; . db ($version/100h and 0fh)+'0' ; m if ($version/10h and 0fh) OR ($VERSION AND 0Fh) db ($version/10h and 0fh)+'0' ; m endif IF $VERSION AND 0Fh db ($version and 0fh)+'0' ; m ENDIF db 0dh,0ah ; official copyright warning message db 'Copyright ',1bh,'g',13h,1bh,'G ' ; "c" within a circle dā '198³ Osbornå Computeņ Corporation',0dh,0ah db 0dh,0ah,0ah ; cr lf lf db 0 ; ends the msg ; Note: the very first data in common (cseg) MUST be ; the jump table. The above messages are in bank 0 ; (dseg) and therefore can appear first in the source. page .xlist include EXCBIOSE.LIB .list public wboot@ ; to reference jmp tbl public signon ; signon message for cboot public vers ; and version number public rvers ; and place to put rom's vers EXTRN CBOOT, WBOOT ;SYSTEM INITIALIZATION EXTRN DEVINI EXTRN CONIST, CONIN, CONOUT ;CHARACTER I/O EXTRN LIST, AUXOUT, AUXIN EXTRN LISTST, CONOST EXTRN AUXIST, AUXOST EXTRN HOME, SELDSK, SETTRK ;DISK I/O EXTRN SETSEC, SETDMA, SECTRN EXTRN READ, WRITE EXTRN MULTIO, FLUSH EXTRN MOVE, XMOVE, SELMEM, SETBNK ;MEMORY MANAGEMENT EXTRN TIME extrn drvtbl,devtbl ; various tables extrn torom ; to give access to rom cseg ; common memory JP CBOOT wboot@: JP WBOOT JP CONIST JP CONIN JP CONOUT JP LIST JP AUXOUT JP AUXIN JP HOME JP SELDSK JP SETTRK JP SETSEC JP SETDMA JP READ JP WRITE JP LISTST JP SECTRN JP CONOST JP AUXIST JP AUXOST JP ptdev ; DEVTBL JP DEVINI JP ptdrv ; DRVTBL JP MULTIO JP FLUSH JP MOVE JP TIME JP SELMEM JP SETBNK JP XMOVE JP torom ; USERF JP RESERV1 JP RESERV2 page ; the following are (or should be) routines that will ; not change reserv1: reserv2: ret ; not currently implemented extrn devtbl,drvtbl ; tables ; ptdev point to device table ; returns address of serial device table ptdev: ld hl,devtbl ; just pt to the table ret ; ptdrv point to drive table ; returns address of dph (disk) table ptdrv: ld hl,drvtbl ; just pt to the table ret page ; the following represents the special area in page 0 ; of bank 1 (the tpa) that allows programs to reference ; information about the rom and bios ; This information is initialized during cboot and then ; moved to 40h bank 1 during every wboot. dseg ; ok to keep it over there ; (1) for the bios vers: dw version ; version number of this bios db 2 ; product code db 0 ; feature code ; (2) same for the rom rvers: ds 4 ; version, product and feature ds 8 ; 16 bytes currently available END  ; (2) same for the rom rvers: