PR#3 PREFIX /A2OSX.BUILD NEW INC 1 AUTO 6 .LIST OFF .OP 65C02 .OR $2000 .TF /A2OSX.BUILD/SBIN/INSDRV *-------------------------------------- .INB /A2OSX.BUILD/INC/MACROS.I .INB /A2OSX.BUILD/INC/A2OSX.I *-------------------------------------- ZPPTR1 .EQ ZPBIN ZPPTR2 .EQ ZPBIN+2 ZPPTR3 .EQ ZPBIN+4 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA 0 .DA CS.END-CS.START Code Length To Relocate .DA 0 Data Segment to Allocate .DA 16 SS .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.DOEVENT .DA CS.QUIT L.MSG.HELP .DA MSG.HELP L.MSG.LOAD .DA MSG.LOAD .DA 0 *-------------------------------------- CS.INIT ldy #S.PS.ARGC lda (pPs),y bne .1 >LDYA L.MSG.HELP >SYSCALL PrintF.YA lda #0 tell TSKMGR that all done ok, but sec we do not want to stay in memory rts .1 lda #1 get PTR to ARG[1] (Driver name) >SYSCALL GetArg.A >PUSHYA >LDYA L.MSG.LOAD >SYSCALL PrintF.YA lda #1 get PTR to ARG[1] (Driver name) >SYSCALL GetArg.A >SYSCALL LoadDrv.YA YA = PTR to ARG[1...n] bcs .99 lda #0 success, but.... sec we do not want to stay in memory .99 rts *-------------------------------------- CS.RUN CS.DOEVENT sec rts *-------------------------------------- CS.QUIT clc rts *-------------------------------------- CS.END MSG.HELP >CSTR "Usage: insdrv file.drv \r\n" MSG.LOAD >CSTR "INSDRV:Loading %s...\r\n" *-------------------------------------- MAN SAVE /A2OSX.SRC/SBIN/INSDRV.S ASM