;enty points for system vectors some of which are hard coded
;into the CPM BIOS so can't be altered

ORG &3FC0               
;offset now &FC00

.serno
DS "@NFX01"

NOP
NOP
.CPMCFGTAB
DB      &ff     ; DRIVE 0
DB      &ff     ; DRIVE 1
DB      &ff     ; DRIVE 2
DB      &ff     ; DRIVE 3
DB      &ff     ; DRIVE 4
DB      &ff     ; DRIVE 5
DB      &ff     ; DRIVE 6
DB      &ff     ; DRIVE 7

; console vectors
.do_kbd_input
JP   CPMKBDIN

.do_vdu_output
JP   VDU_OUTPUT

.csts
JP   CPMKBD_READY

; squeeze in the network card vectors

.net_init
jp do_net_init

.net_write
jp do_net_write

.net_read
jp do_net_read

;padding
NOP


; disc system storage
.CPMSDLBA
DB      0,0,0,0

.CPMtrust
DB -1
.CPMdrvrq
DB 0
.CPMcfgbyt
DB -1
.CPMtrkrq
DW 0
.CPMsecrq
DW 1
.CPMdmarq
DW &100

;Disc System vectors

.do_configure
JP      CPMEXCNFG

.do_read_sec
JP      CPMEXRD

.do_write_sec
JP      CPMEXWR

.do_block_read
JP      CPMBLKRD

.do_initialise
JP      CPMINITLZ

.version
DB 3

;end of assembly should be &3FFF in rom, &FFFF when run in ram

END
