REM "InitVec" GOTO 1320 DEF FNvec(vector, code_addr) REM Should work out extended vector space at run-time REM but this will do for the moment. REM redefine vector to point to code, REM use 3 byte vectors because code will be in ROM vector_no = vector - &200 A% = &A8: X% = 0: Y% = &FF extended_base = (USR(OSBYTE) AND &FFFF00) DIV &100 extended_vector = extended_base + (vector_no DIV 2)*3 vector_addr = &FF00 + (vector_no DIV 2)*3 [OPT Pass Lda #(vector_addr MOD 256) Sta vector Lda #(vector_addr DIV 256) Sta vector+1 Lda #(code_addr MOD 256) Sta extended_vector Lda #(code_addr DIV 256) Sta extended_vector+1 Lda Our_rom Sta extended_vector+2 ] =Pass OSBYTE = &FFF4 Our_rom = &F4 [OPT Pass .InitVec \############################################################ \## ## \## Filing system vectors ## \## FILEV - *LOAD, *SAVE ## \## ARGSV - Cli param line, fsys no. ## \## BGETV, BPUTV - byte IO ## \## GBPBV - not implemented ## \## FINDV - OPENIN etc. ## \## FSCV - *cat, *run etc. ## \## ## \############################################################ OPT FNvec(filev, OsFile) OPT FNvec(argsv, OsArgs) OPT FNvec(bgetv, Bget) OPT FNvec(bputv, Bput) OPT FNvec(gbpbv, OsGBPB) OPT FNvec(findv, OsFind) OPT FNvec(fscv, filesys) RTS .OsGBPB Jsr dobrk EQUB 123 EQUS "OSGBPB not implemented in RS423 filing system" EQUB 0 Rts ]