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 #H.BIN.CPU.65C02 .DA #1 .DA 0 .DA CS.END-CS.START Code Length To Relocate .DA 0 Data Segment to Allocate .DA #64 SS .DA #6 ZP .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 beq .9 lda #1 get PTR to ARG[1] (Driver name) >SYSCALL GetArg.A >PUSHYA >LDYA L.MSG.LOAD >SYSCALL printf lda #1 get PTR to ARG[1] (Driver name) >SYSCALL GetArg.A >SYSCALL LoadDrv YA = PTR to ARG[1...n] bcs .99 lda #0 success, but.... sec we do not want to stay in memory rts .9 >LDYA L.MSG.HELP >SYSCALL printf lda #0 tell TSKMGR that all done ok, 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 .AZ "Usage: insdrv file.drv \r\n" MSG.LOAD .AZ "INSDRV:Loading %s...\r\n" *-------------------------------------- MAN SAVE /A2OSX.SRC/SBIN/INSDRV.S ASM