From 62ad3573b9b7ffc5bb77d3eeb4af59c252e5640c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 22 Aug 2017 17:03:34 +0200 Subject: [PATCH] Kernel version 0.9 : Change in API to conform with stdlib & stdio --- .Docs/KERNEL.md | 24 +- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ASM.S.SRC.txt | 14 +- BIN/ASM.S.SYM.txt | 2 +- BIN/CAT.S.txt | 4 +- BIN/CHTYP.S.txt | 4 +- BIN/EDIT.S.SCRN.txt | 8 +- BIN/IPCONFIG.S.txt | 2 +- BIN/LS.S.txt | 6 +- BIN/LSDEV.S.txt | 4 +- BIN/NSCUTIL.S.txt | 14 +- BIN/X.CPMVRM.S.txt | 6 +- DRV/CONSOLE.DRV.S.txt | 2 +- INC/A2osX.I.txt | 6 +- SBIN/LOGIN.S.txt | 6 +- SBIN/SHELL.S.CMD.txt | 6 +- SBIN/SHELL.S.txt | 37 ++- SYS/KERNEL.S.CHR.txt | 60 ++--- SYS/KERNEL.S.CIO.txt | 59 ++--- SYS/KERNEL.S.INIT2.txt | 357 --------------------------- SYS/KERNEL.S.INIT3.txt | 515 --------------------------------------- SYS/KERNEL.S.JMP.txt | 6 +- 23 files changed, 130 insertions(+), 1012 deletions(-) delete mode 100644 SYS/KERNEL.S.INIT2.txt delete mode 100644 SYS/KERNEL.S.INIT3.txt diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index ec21b2c9..52e2321b 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -29,7 +29,7 @@ Print A (char) to File ## Out: + CC = success -# PutCA +# PutCharA Print A (char) to StdOut ## In: @@ -38,21 +38,21 @@ Print A (char) to StdOut ## Out: + CC = success -# FGetCA -Get char from File +# GetChar +Get char from StdIn ## In: -+ A = hFILE ++ none. ## Out: + CC = success + A = char -# GetC -Get char from StdIn +# GetCA +Get char from File ## In: -+ none. ++ A = hFILE ## Out: + CC = success @@ -108,17 +108,17 @@ Scan a PStr (in progress) ## Out: # PrintFYA/SPrintFYA/FPrintFYA -Prints Pascal/C-Style String +Prints C-Style String ## In: -+ PrintFYA : +PrintFYA : + Y,A = PTR to CStr -+ SPrintFYA : +SPrintFYA : + Y,A = PTR to CStr + PULLW = Ptr to Dst Buffer -+ FPrintFYA : +FPrintFYA : + Y,A = PTR to CStr - + PULLB = hDev + + PULLB = hNode ## Out: + CC : success diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index fd77ba98b781cf78c821f935346e0508e9ef1e24..e540f435a2dca1e04498e7d616a09985076f3019 100644 GIT binary patch delta 5264 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 S#YJVs#pH^MDGe7Vb^aeW+4{`@ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 6001fdd4135b17023b1b13d0371d1338c74cb823..d785b9d251c3ddc3c631376406add6dcadc138ba 100644 GIT binary patch delta 9884 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 diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index e08f5a01..e09af823 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -32,14 +32,14 @@ SRC.PrintLineErr ldx #0 .1 lda UsrBuf256,x beq .2 phx - >SYSCALL PutCA + >SYSCALL PutCharA plx inx bcc .1 rts .2 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 ldx #0 @@ -50,19 +50,19 @@ SRC.PrintLineErr ldx #0 beq .4 phx lda #'-' - >SYSCALL PutCA + >SYSCALL PutCharA plx bcs .9 bra .3 .4 lda #'^' phx - >SYSCALL PutCA + >SYSCALL PutCharA plx bcs .9 .5 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA .9 rts *--------------------------------------- SRC.ParseLine ldx UsrBuf256 @@ -326,12 +326,12 @@ SRC.ParseLine.OpCode .21 inx lda SRC.AM.StrBuf,x phx - >SYSCALL PutCA + >SYSCALL PutCharA plx cpx SRC.AM.StrBuf bne .21 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA .20 ldy #ASM.PC diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 1e1228f0..9dfa6c2e 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -110,7 +110,7 @@ SYM.Dump >LDYA L.MSG.SYMBOLS rts .5 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA ldy #SYM.DumpCount lda (pData),y diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index 74cb29b3..83882ee8 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -241,11 +241,11 @@ CS.RUN.PRINT sty BytesRead Y,A = Bytes read bra .7 .4 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 lda #10 -.6 >SYSCALL PutCA +.6 >SYSCALL PutCharA bcs .9 .7 inc ByteIndex diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index f892b442..7ab5bddb 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -239,9 +239,9 @@ CS.RUN.CheckErr bcs .1 rts .2 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA pla sec .9 rts diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 0e682bcc..d81cf77a 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -14,7 +14,7 @@ SCRN.Init ldy #ScreenH >SYSCALL PrintFYA bcs .9 lda #12 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 lda #0 @@ -162,7 +162,7 @@ SCRN.UpdateLineAtALenY pla bcs .11 - >SYSCALL PutCA + >SYSCALL PutCharA .11 ply plx bcs .9 @@ -305,7 +305,7 @@ SCRN.ClearEOLA pha pha lda #' ' - >SYSCALL PutCA + >SYSCALL PutCharA bcc .1 plx rts @@ -332,7 +332,7 @@ SCRN.InvLineA sta .2+1 .1 pha lda #' ' - >SYSCALL PutCA + >SYSCALL PutCharA pla bcs .9 diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 63d4dbec..3a6f99ff 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -162,7 +162,7 @@ CS.RUN.LINK >PUSHW L.MSG1.LINK.OK .4 phx lda #'0' - >SYSCALL PutCA + >SYSCALL PutCharA plx dex bne .4 diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index 530d6e89..6f547048 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -243,7 +243,7 @@ CS.RUN.DIR ldy #bAllmostAll .1 lda #' ' phx - >SYSCALL PutCA + >SYSCALL PutCharA plx bcs .9 dex @@ -401,9 +401,9 @@ CS.RUN.NewLine ldy #ColCount beq CS.RUN.NewLine.8 CS.RUN.NewLine.1 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA rts CS.RUN.NewLine.8 clc diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index 3ab3a6f0..6ba233ae 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -73,9 +73,9 @@ CS.RUN >LDYA L.MSG0 bcs .9 .6 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA .7 inc DEV.ID lda DEV.ID diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index a3bc0cea..4b4eac6b 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -292,11 +292,11 @@ NSC.Dump ldx #1 lda DS1216E.DATA+2 jsr PrintBCD lda #'/' - >SYSCALL PutCA + >SYSCALL PutCharA lda DS1216E.DATA+1 jsr PrintBCD lda #'/' - >SYSCALL PutCA + >SYSCALL PutCharA lda DS1216E.DATA jsr PrintBCD @@ -309,15 +309,15 @@ NSC.Dump ldx #1 .4 and #$3F jsr PrintBCD lda #':' - >SYSCALL PutCA + >SYSCALL PutCharA lda DS1216E.DATA+5 jsr PrintBCD lda #':' - >SYSCALL PutCA + >SYSCALL PutCharA lda DS1216E.DATA+6 jsr PrintBCD lda #'.' - >SYSCALL PutCA + >SYSCALL PutCharA lda DS1216E.DATA+7 jsr PrintBCD rts @@ -328,12 +328,12 @@ PrintBCD pha lsr lsr ora #$30 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 pla and #$0f ora #$30 - >SYSCALL PutCA + >SYSCALL PutCharA .9 rts *-------------------------------------- GetBCD lda (ZPPtr1),y diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 2f75643b..af157c05 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -533,10 +533,10 @@ CS.RUN.OVERWRITE.KEY .FIN *-------------------------------------- CS.RUN.CR lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA .9 rts *-------------------------------------- .DO X.COPY.TO.DEST=1 @@ -653,7 +653,7 @@ CS.RUN.Copy stz .90+1 bmi .8 lda #'.' - >SYSCALL PutCA + >SYSCALL PutCharA rts .8 clc diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index 4b5cc443..e3dfb95b 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -677,7 +677,7 @@ SetCharAtXY cmp #$40 sta CLRWRITEAUX plp - + clc rts *-------------------------------------- GetCharAtXY php diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 9a53561e..bb316818 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -269,9 +269,9 @@ SYS.FreeStkObjA .EQ $AC * .EQ $AE *-------------------------------------- SYS.FPutCAY .EQ $B0 -SYS.PutCA .EQ $B2 -SYS.FGetCA .EQ $B4 -SYS.GetC .EQ $B6 +SYS.PutCharA .EQ $B2 +SYS.GetCA .EQ $B4 +SYS.GetChar .EQ $B6 SYS.FPutS .EQ $B8 SYS.PutSYA .EQ $BA SYS.FGetS .EQ $BC diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index 7fd356e0..14f88f26 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -79,10 +79,10 @@ CS.RUN lda #0 bcc .2 lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA bcs .9 >LDYA L.SHELL @@ -153,7 +153,7 @@ INPUT.CHARIN tax save char... lda (pData),y bne .1 txa -.1 >SYSCALL PutCA +.1 >SYSCALL PutCharA rts .2 cpx #13 CR diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index 0ec15915..c841e245 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -489,11 +489,11 @@ Cmd.Exec.ECHO lda ARGS Cmd.Exec.ECHO.CR lda #13 - >SYSCALL PutCA + >SYSCALL PutCharA bcs Cmd.Exec.ECHO.RTS lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA Cmd.Exec.ECHO.RTS rts @@ -562,7 +562,7 @@ Cmd.Exec.READ lda ARGS cmp #'"' beq .1 phx - >SYSCALL PutCA + >SYSCALL PutCharA plx bcs .99 bra .3 diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index ba0d5a56..e4117cc6 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -159,7 +159,7 @@ CS.RUN ldy #VarBuffer READ Command ? lda (pData),y bpl .13 - >SYSCALL GetC + >SYSCALL GetChar bcs .8 .13 jsr CheckSleep @@ -181,7 +181,7 @@ CS.RUN ldy #VarBuffer READ Command ? bcs CS.RUN.EXIT.RTS .1 >SYSCALL Sleep - >SYSCALL GetC + >SYSCALL GetChar bcs .1 no char jsr CS.CHARIN @@ -219,7 +219,7 @@ CS.RUN.READ lda #0 sta (pData) .1 >SYSCALL Sleep - >SYSCALL GetC + >SYSCALL GetChar bcs .1 no char jsr CS.CHARIN @@ -289,13 +289,13 @@ CS.RUN.BATCH jsr CSH.Run .90 jsr CSH.GetChar bcs .92 - >SYSCALL PutCA + >SYSCALL PutCharA .91 jsr CSH.GetNextChar bcs .92 cmp #13 beq .92 - >SYSCALL PutCA + >SYSCALL PutCharA bra .91 .92 pla @@ -409,7 +409,7 @@ CS.CHARIN tax bne .8 txa - >SYSCALL PutCA + >SYSCALL PutCharA .8 clc rts @@ -417,9 +417,9 @@ CS.CHARIN tax CS.CHARIN.CTRL cpx #13 CR bne .10 txa - >SYSCALL PutCA + >SYSCALL PutCharA lda #10 - >SYSCALL PutCA + >SYSCALL PutCharA lda (pData) CmdBuffer ora #$80 @@ -513,14 +513,27 @@ PrintPrompt >LDYA L.ENV.PS1 plp .9 rts *-------------------------------------- -CmdLine.CLR jsr CmdLine.DEL - bne CmdLine.CLR - rts +CmdLine.CLR lda (pData) + beq .9 + + tay + lda #8 + +.1 sta (pData),y + dey + bne .1 + jsr CmdLine.SET + + lda #0 + sta (pData) + +.9 rts *-------------------------------------- CmdLine.DEL lda (pData) beq .9 + lda #8 - >SYSCALL PutCA + >SYSCALL PutCharA lda (pData) dec sta (pData) diff --git a/SYS/KERNEL.S.CHR.txt b/SYS/KERNEL.S.CHR.txt index d2563bbe..f7794e57 100644 --- a/SYS/KERNEL.S.CHR.txt +++ b/SYS/KERNEL.S.CHR.txt @@ -16,27 +16,27 @@ K.FPutCAY sta K.PutC.Char sty K.PutC.Node tya phy - bne K.PutCA.1 -K.PutCA.8 ply + bne K.PutCharA.1 +K.PutCharA.8 ply clc rts */-------------------------------------- -* # PutCA +* # PutCharA * Print A (char) to StdOut * ## In: * A : char to print * ## Out: * CC = success *\-------------------------------------- -K.PutCA sta K.PutC.Char +K.PutCharA sta K.PutC.Char phy ldy #S.PS.hStdOut lda (pPs),y - beq K.PutCA.8 NUL + beq K.PutCharA.8 NUL phx -K.PutCA.1 sta K.PutC.Node +K.PutCharA.1 sta K.PutC.Node jsr K.GetMemPtrA >STYA pDev @@ -44,27 +44,27 @@ K.PutCA.1 sta K.PutC.Node lda (pDev),y asl tax - jsr K.PutCA.Jmp + jsr K.PutCharA.Jmp plx ply rts *-------------------------------------- -K.PutCA.Jmp jmp (.1,x) -.1 .DA K.PutCA.REG +K.PutCharA.Jmp jmp (.1,x) +.1 .DA K.PutCharA.REG .DA K.CHR.IOERR DIR - .DA K.PutCA.CDEV + .DA K.PutCharA.CDEV .DA K.CHR.IOERR BDEV .DA K.CHR.IOERR LNK .DA K.CHR.IOERR DSOCK - .DA K.PutCA.SSOCK - .DA K.PutCA.FIFO + .DA K.PutCharA.SSOCK + .DA K.PutCharA.FIFO *-------------------------------------- -K.PutCA.REG lda K.PutC.Node +K.PutCharA.REG lda K.PutC.Node ldy K.PutC.Char jmp K.FWriteAY *-------------------------------------- -K.PutCA.CDEV ldy #S.NODE.DEV.JMP +K.PutCharA.CDEV ldy #S.NODE.DEV.JMP lda (pDev),y sta .1+1 iny @@ -74,7 +74,8 @@ K.PutCA.CDEV ldy #S.NODE.DEV.JMP ldx #DEVMGR.WRITE .1 jmp $ffff *-------------------------------------- -K.PutCA.SSOCK lda (pDev) #S.NODE.HANDLER +K.PutCharA.SSOCK + lda (pDev) #S.NODE.HANDLER jsr K.GetMemPtrA >STYA .1 @@ -87,7 +88,7 @@ K.PutCA.SSOCK lda (pDev) #S.NODE.HANDLER tax Function Offset for write .1 jmp $ffff *-------------------------------------- -K.PutCA.FIFO ldy #S.NODE.FIFO.S +K.PutCharA.FIFO ldy #S.NODE.FIFO.S lda (pDev),y beq .9 Remote PS did not opened yet the pipe cmp #S.NODE.FIFO.S.Closed @@ -123,16 +124,7 @@ K.PutCA.FIFO ldy #S.NODE.FIFO.S K.PutC.Char .BS 1 K.PutC.Node .BS 1 */-------------------------------------- -* # FGetCA -* Get char from File -* ## In: -* A = hFILE -* ## Out: -* CC = success -* A = char -*\-------------------------------------- -*/-------------------------------------- -* # GetC +* # GetChar * Get char from StdIn * ## In: * none. @@ -140,10 +132,18 @@ K.PutC.Node .BS 1 * CC = success * A = char *\-------------------------------------- -K.GetC ldy #S.PS.hStdIn - lda (pPs),y - -K.FGetCA sta K.PutC.Node +K.GetChar ldy #S.PS.hStdIn + lda (pPs),y +*/-------------------------------------- +* # GetCA +* Get char from File +* ## In: +* A = hFILE +* ## Out: +* CC = success +* A = char +*\-------------------------------------- +K.GetCA sta K.PutC.Node jsr K.GetMemPtrA >STYA pDev diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt index 7bce1cce..e6f66062 100644 --- a/SYS/KERNEL.S.CIO.txt +++ b/SYS/KERNEL.S.CIO.txt @@ -103,16 +103,16 @@ K.SScanF.IsDigit rts */-------------------------------------- * # PrintFYA/SPrintFYA/FPrintFYA -* Prints Pascal/C-Style String +* Prints C-Style String * ## In: -* PrintFYA : +* PrintFYA : * Y,A = PTR to CStr -* SPrintFYA : +* SPrintFYA : * Y,A = PTR to CStr * PULLW = Ptr to Dst Buffer -* FPrintFYA : +* FPrintFYA : * Y,A = PTR to CStr -* PULLB = hDev +* PULLB = hNode * ## Out: * CC : success * CS : error code from Output @@ -154,16 +154,13 @@ K.SPrintFYA >STYA ZPPtr1 K.FPrintFYA >STYA ZPPtr1 -K.PPrintFYA ldx #$01 PSTR - .HS 2C bit abs -K.PrintFYA ldx #$00 CSTR - >STYA ZPPtr1 - stx Printf.GetCharAtPtr1Y+1 - +K.PrintFYA >STYA ZPPtr1 + ldy #0 -.1 jsr Printf.GetCharAtPtr1Y - beq .99 +.1 lda (ZPPtr1),y + beq .99 + iny cmp #'%' bne .10 @@ -171,9 +168,10 @@ K.PrintFYA ldx #$00 CSTR lda #' ' sta PADCHAR -.2 ldx #PrintFTBL1.END-PrintFTBL1-1 - jsr Printf.GetCharAtPtr1Y +.2 ldx #PrintFTBL2-PrintFTBL1-1 + lda (ZPPtr1),y beq .99 + iny .3 cmp PrintFTBL1,x do we have a %x command? beq .8 yes, jmp to it! @@ -220,9 +218,11 @@ K.PrintFYA ldx #$00 CSTR .10 cmp #'\' bne .20 - ldx #PrintFTBL2.END-PrintFTBL2-1 - jsr Printf.GetCharAtPtr1Y + ldx #PrintFTBL2.OUT-PrintFTBL2-1 + lda (ZPPtr1),y beq .99 + iny + .12 cmp PrintFTBL2,x beq .13 dex @@ -238,9 +238,7 @@ K.PrintFYA ldx #$00 CSTR PrintFESC jmp (PrintFJMP,x) *-------------------------------------- PrintFTBL1 .AS "abBdDuefhHiILnNsS" -PrintFTBL1.END PrintFTBL2 .AS "befnr\%" -PrintFTBL2.END PrintFTBL2.OUT .HS 08.1B.0C.0A.0D \b\e\f\n\r .DA #'\' \\ .DA #'%' \% @@ -499,28 +497,7 @@ PrintF.SS ldy #$00 PSTR .8 clc .9 rts *-------------------------------------- -Printf.GetCharAtPtr1Y - lda #$ff Self Modified PSTR/CSTR - bne .1 - - lda (ZPPtr1),y CSTR - beq .9 - iny advance to next char... - bne .9 - inc ZPPtr1+1 Allow >256 CStrings - rts - - -.1 tya PSTR - cmp (ZPPtr1) - beq .9 - iny - lda (ZPPtr1),y NZ - -.9 clc no error, but end of string - rts -*-------------------------------------- -Printf.Cout jmp K.PutCA +Printf.Cout jmp K.PutCharA Printf.Cout.Ptr sta $ffff Self modified diff --git a/SYS/KERNEL.S.INIT2.txt b/SYS/KERNEL.S.INIT2.txt deleted file mode 100644 index d178b8d6..00000000 --- a/SYS/KERNEL.S.INIT2.txt +++ /dev/null @@ -1,357 +0,0 @@ -PR#3 -PREFIX /A2OSX.BUILD -LOMEM $A00 -INC 1 -AUTO 6 -*-------------------------------------- -Kernel.Init2 sei - - >LDAXI MSG.Init2 - jsr PrintFAX - - >LDYAI A2osX.GP - >STYA ZPPtr1 - >LDYAI A2osX.SYSCALL - >STYA ZPPtr2 - >LDYAI A2osX.D1-A2osX.GP^$FFFF - >STYA ZPPtr3 - jsr Kernel.Move - - sta CLRALTZP - - >LDAXI MSG.D2 - jsr PrintFAX - - sta SETALTZP - lda RRAMWRAMBNK2 - lda RRAMWRAMBNK2 - - >LDYAI A2osX.D2 - >STYA ZPPtr1 - >LDYAI $D000 - >STYA ZPPtr2 - >LDYAI A2osX.E0-A2osX.D2^$FFFF - >STYA ZPPtr3 - jsr Kernel.Move - - sta CLRALTZP - - >LDAXI MSG.D1 - jsr PrintFAX - - sta SETALTZP - lda RRAMWRAMBNK1 - lda RRAMWRAMBNK1 - - >LDYAI A2osX.D1 - >STYA ZPPtr1 - >LDYAI $D000 - >STYA ZPPtr2 - >LDYAI A2osX.D2-A2osX.D1^$FFFF - >STYA ZPPtr3 - jsr Kernel.Move - - sta CLRALTZP - - >LDAXI MSG.E0 - jsr PrintFAX - - sta SETALTZP - lda RRAMWRAMBNK1 - lda RRAMWRAMBNK1 - - >LDYAI A2osX.E0 - >STYA ZPPtr1 - >LDYAI $E000 - >STYA ZPPtr2 - >LDYAI A2osX.E0.E-A2osX.E0^$FFFF - >STYA ZPPtr3 - jsr Kernel.Move - - >LDYAI D.STACK.TOP - >STYA pStack init Soft Stack - - sta CLRALTZP Make MAIN ZP is enabled for X.PRINT.F - cli - - jsr KConfigLoad - - lda A2osX.HZ - pha push HZ - >LDAXI MSG.HZ - jsr PrintFAX - - jsr CPU.Init - - >LDAXI MSG.Init2.OK - jsr PrintFAX - rts Do NOT replace this JSR/RTS with a JMP -*-------------------------------------- -Kernel.Move ldy #0 -.1 inc ZPPtr3 - bne .2 - inc ZPPtr3+1 - beq .9 - -.2 lda (ZPPtr1),y - sta (ZPPtr2),y - iny - bne .1 - - inc ZPPtr1+1 - inc ZPPtr2+1 - bne .1 -.9 rts -*-------------------------------------- -CPU.Init >LDAXI MSG.CPU - jsr PrintFAX - - jsr Detect6502 A = CPU type - sta A2osX.CPUTYPE - ldx MSG.CPUTYPEH,y - lda MSG.CPUTYPEL,y - jsr PrintFAX - - lda MACHID - and #MACHID.TYPE - cmp #MACHID.TYPE.IIc - beq CPU.Init.Z80 - - >LDAXI MSG.CPU.SPEED - jsr PrintFAX - - stz A2osX.RANDOM16 - stz A2osX.RANDOM16+1 - - php - sei - -.1 bit VBL - bpl .2 - -.2 bit VBL - bmi .2 - - ldx #0 Count LO - lda #0 Count HI - -.3 ldy #3 (2) - -.4 nop (2) - dey (2) - bne .4 (2*) - - inc A2osX.RANDOM16 (6) - bne .5 (2*) - - inc A2osX.RANDOM16+1 (6) - bit VBL (4) - bpl .3 (2*) - bmi .6 - -.5 nop (2) - nop (2) - nop (2) - bit VBL (4) - bpl .3 (2*) - -.6 plp - - stz A2osX.CPUSPEED - -.7 sec - lda A2osX.RANDOM16 - sbc #100 - tax - lda A2osX.RANDOM16+1 - sbc /100 - bcc .8 - - stx A2osX.RANDOM16 - sta A2osX.RANDOM16+1 - inc A2osX.CPUSPEED - bra .7 - -.8 lda A2osX.RANDOM16 - sta A2osX.CPUSPEED+1 - pha push CPU speed LO - lda A2osX.CPUSPEED - pha push CPU speed HI - >LDAXI MSG.CPU.SPEEDOK - jsr PrintFAX - -CPU.Init.Z80 >LDAXI MSG.Z80 - jsr PrintFAX - jsr DetectZ80 - bcs .9 - sta A2osX.Z80SLOT - pha Push Z80Slot - - tax - lda #A2osX.SLOTS.Z80 - sta A2osX.SLOTS,x - - >LDAXI MSG.Z80.OK - jsr PrintFAX - rts - -.9 >LDAXI MSG.Z80.KO - jsr PrintFAX - rts -*-------------------------------------- -* Out: -* A = $60, 6502 -* A = $61, 65C02 -* A = $62, 65R02 -* A = $63, 65816 -*-------------------------------------- -Detect6502 ldy #0 Test 6502 BCD bug - sed - lda #$99 - clc - adc #$01 - cld - bmi .9 BUG!, we have 6502 - - ldy #3 test 65C816 TYX Instruction - ldx #0 - .OP 65816 - tyx TYX: if 65C816, x becomes non-zero - .OP 65C02 - bne .9 worked! 65C816 - - dey y=2 -> R65C02 - ldx $EA save zp $EA - stz $EA store 0 in $EA -* .OP 65R02 - .HS F7EA For compatibility with A2osX.ASM -* smb 7,$EA if not Rockwell, assemble as nop nop -* .OP 65C02 - asl $EA cs if Rockwell - stx $EA restore zp $EA - bcs .9 - - dey y=1 -> 65C02 - -.9 tya - ora #$60 - rts -*-------------------------------------- -* Out: -* A = Z80 Slot -*-------------------------------------- -DetectZ80 ldx #Z80Code.Size -.1 lda Z80Code.Start-1,x - sta $1000-1,x 00000H for Z80 - dex - bne .1 - - stz ZPPtr1 - lda #$C1 - sta ZPPtr1+1 - -.2 sta (ZPPtr1) - lda $100D - bmi .8 - inc ZPPtr1+1 - lda ZPPtr1+1 - cmp #$C8 - beq .9 CS - clc - adc #$20 - sta $100A - bra .2 - -.8 lda ZPPtr1+1 - and #$0F - clc -.9 rts -*-------------------------------------- -KConfigLoad >LDAXI MSG.KCREAD - jsr PrintFAX - - jsr MLI - .DA #MLIOPEN - .DA MLIOPEN00 - bcs .9 - - lda MLIOPEN00+5 - sta MLIREAD00+1 - sta MLICLOSE00+1 - - jsr MLI - .DA #MLIREAD - .DA MLIREAD00 - php - pha - jsr MLI - .DA #MLICLOSE - .DA MLICLOSE00 - pla - plp - bcs .9 - - >LDAXI MSG.KCREAD.OK - jsr PrintFAX - rts - -.9 >LDAXI MSG.KCREAD.KO - jsr PrintFAX - rts -*-------------------------------------- -Z80Code.Start .HS 31FFFF START: LD SP,0FFFFH Init Stack - .HS 3EFF LD A,0FFH Set Flag - .HS 320D00 LD (FLAG),A - .HS 3200E1 LD (0E100H),A Back to 6502 - .HS 18F3 JR START Loop - .HS 00 FLAG: .DB 0 -Z80Code.Size .EQ *-Z80Code.Start -*-------------------------------------- -MSG.Init2 >CSTR "A2osX[Stage2]:Init\nInstalling KERNEL...\n - $BE00 Global Page...\n" -MSG.D1 >CSTR " - $D000 Bank1...\n" -MSG.D2 >CSTR " - $D000 Bank2...\n" -MSG.E0 >CSTR " - $E000...\n" -MSG.HZ >CSTR "Kernel SYS Timer Set For %d0 hz Machine.\n" -MSG.Init2.OK >CSTR "A2osX[Stage2]:Complete.\n" -*-------------------------------------- -MSG.CPU >CSTR "Checking CPU..." -MSG.CPU.SPEED >CSTR "Detecting CPU Speed..." -MSG.CPUTYPEL .DA #MSG.6502 - .DA #MSG.65C02 - .DA #MSG.65R02 - .DA #MSG.65816 -MSG.CPUTYPEH .DA /MSG.6502 - .DA /MSG.65C02 - .DA /MSG.65R02 - .DA /MSG.65816 -MSG.6502 >CSTR "6502.\n" -MSG.65C02 >CSTR "65C02.\n" -MSG.65R02 >CSTR "65R02.\n" -MSG.65816 >CSTR "65816.\n" -MSG.CPU.SPEEDOK >CSTR "%d.%02d Mhz.\n" -MSG.Z80 >CSTR "Detecting Z80 CPU..." -MSG.Z80.OK >CSTR "Detected In Slot %d.\n" -MSG.Z80.KO >CSTR "Not Detected.\n" -MSG.KCREAD >CSTR "Reading Kernel Config File..." -MSG.KCREAD.OK >CSTR "OK\n" -MSG.KCREAD.KO >CSTR "\nError While Reading Kernel Config File, Using Default.\n" -A2OSXCONF >PSTR "A2osX.KCONFIG" -*-------------------------------------- -MLIOPEN00 .DA #3 - .DA A2OSXCONF - .DA $1000 - .BS 1 -*-------------------------------------- -MLIREAD00 .DA #4 - .BS 1 - .DA A2osX.HZ - .DA 16 - .BS 2 -*-------------------------------------- -MLICLOSE00 .DA #1 - .BS 1 -*-------------------------------------- -MAN -SAVE /A2OSX.SRC/SYS/KERNEL.S.INIT2 -LOAD /A2OSX.SRC/SYS/KERNEL.S -ASM diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt deleted file mode 100644 index 64e6b769..00000000 --- a/SYS/KERNEL.S.INIT3.txt +++ /dev/null @@ -1,515 +0,0 @@ -PR#3 -PREFIX /A2OSX.BUILD -LOMEM $A00 -INC 1 -AUTO 6 -*-------------------------------------- -Kernel.Init3 sta SETALTZP - bit RRAMWRAMBNK1 - bit RRAMWRAMBNK1 - - jsr MemMgrInit - jsr PS0Init - bcs * - >LDYAI MSG.Init3 - >SYSCALL PrintFYA - - >LDYAI MSG.DEV - >SYSCALL PrintFYA - jsr DevMgrInit - bcs * - - >LDYAI MSG.IRQ - >SYSCALL PrintFYA - jsr IrqMgrInit - bcs * - - >LDYAI MSG.EVT - >SYSCALL PrintFYA - jsr EvtMgrInit - bcs * - - >LDYAI MSG.FLT - >SYSCALL PrintFYA - jsr FltMgrInit - bcs * - - >LDYAI MSG.TSK - >SYSCALL PrintFYA - jsr TskMgrInit - bcs * - - ldy #S.PS.hPREFIX - lda (pPs),y - >SYSCALL GetMemPtrA - - >PUSHYA - >LDYAI MSG.Prefix - >SYSCALL PrintFYA - - >PUSHWI STARTUP.CMDLINE - >LDYAI MSG.Startup - >SYSCALL PrintFYA - - >LDYAI STARTUP.CMDLINE - >SYSCALL ExpandPStrYA - phx Save Expanded CMDLINE for discard - >SYSCALL CreateProcessYA - bcs .9 - pla - >SYSCALL FreeMemA ...discard... - - >LDYAI MSG.Init3.OK - >SYSCALL PrintFYA - - >LDYAI TskMgr.Table - >STYA pPs - - >DEBUGOA - - bit RRAMWRAMBNK2 - bit RRAMWRAMBNK2 - jmp K.KernelRun - -.9 >PUSHA - >LDYAI MSG.StartupErr - >SYSCALL PrintFYA - bra * No need to discard Expanded CMDLINE -*-------------------------------------- -MemMgrInit >LDYAI MemMgr.MHiMem - >STYA MemMgr.HiMem - >STYA MemMgr.Free - >LDYAI MemMgr.MLoMem - >STYA MemMgr.LoMem - stz MemMgr.LastSlot Reserve Slot #0 - - sta SETWRITEAUX - - >LDYAI MemMgr.XHiMem - >STYA MemMgr.HiMem - >STYA MemMgr.Free - >LDYAI MemMgr.XLoMem - >STYA MemMgr.LoMem - stz MemMgr.LastSlot Reserve Slot #0 - - sta CLRWRITEAUX - - rts -*-------------------------------------- -PS0Init ldx #S.DEV*2 NUL,SYS - -.1 lda DevMgr.NUL-1,x - sta DevMgr.Table-1,x - dex - bne .1 - - lda #2 - sta DevMgr.Count - - >LDYAI TskMgr.Table Select Process 0 (Kernel) - >STYA pPs - - ldy #S.PS-1 - lda #0 - -.2 sta (pPs),y Blank PS0 - dey - bpl .2 - - >LDYAI DEV.SYS - >SYSCALL MkNodYA - bcs .9 - - ldy #S.PS.hStdIn - sta (pPs),y - ldy #S.PS.hStdOut - sta (pPs),y - ldy #S.PS.hStdErr - sta (pPs),y - - clc -.9 rts -*-------------------------------------- -DevMgr.NUL cld - jmp (DevMgr.NUL.Code,x) - .DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.OPENED - .BS 6 - >PSTR "NUL" NAME - .HS 00 NAME must Be 4 bytes long -*-------------------------------------- -DevMgr.SYS cld - jmp (DevMgr.SYS.Code,x) - .DA #S.DEV.S.WRITE+S.DEV.S.READ - .BS 6 - >PSTR "SYS" NAME - .HS 00 NAME must Be 4 bytes long -*-------------------------------------- -* Setup AuxLC $FFFE->Kernel IRQ Handler -* if irq not handled, jmp (S.IrqMgrOldFFFE) -*-------------------------------------- -SETMOUSE .EQ $12 Sets mouse mode -SERVEMOUSE .EQ $13 Services mouse interrupt -READMOUSE .EQ $14 Reads mouse position -*-------------------------------------- -IrqMgrInit php - sei - >LDYA $FFFE - >STYA K.IrqMgrOldFFFE - >LDYAI K.IrqHandlerAuxLC - >STYA $FFFE - - >LDYAI IrqHandler - >STYA K.MLI.PARAMS+2 - >MLICALL MLIALLOCIRQ - bcs .9 - - lda K.MLI.PARAMS+1 - sta ProDOS.INTNUM - - stz ZPPtr1 Try finding a Mouse Card... - lda #$C1 - sta ZPPtr1+1 - -.1 ldx #Mouse.SIG-Mouse.OFS-1 - -.2 ldy Mouse.OFS,x - lda (ZPPtr1),y - cmp Mouse.SIG,x - bne .3 - dex - bpl .2 - bra .4 - -.3 inc ZPPtr1+1 no match, try next slot.... - lda ZPPtr1+1 - cmp #$C8 - bne .1 - - plp - clc - rts - -.9 plp - sec - rts - -.4 lda ZPPtr1+1 - - sta K.IrqMgrVBL.MSM+2 - sta K.IrqMgrVBL.MRM+2 - - and #$0f - sta K.IrqMgrVBL.0n - asl - asl - asl - asl - - sta K.IrqMgrVBL.n0 - - ldy #SERVEMOUSE - lda (ZPPtr1),y - sta K.IrqMgrVBL.MSM+1 - - ldy #READMOUSE - lda (ZPPtr1),y - sta K.IrqMgrVBL.MRM+1 - - bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly - - ldy #SETMOUSE - lda (ZPPtr1),y - sta .7+1 - - lda #9 #MOUSEMODx.INTVBL+MOUSEMODx.ACTIVE - - ldx ZPPtr1+1 DEVSLOTCn - stx .7+2 - ldy K.IrqMgrVBL.n0 - -.7 jsr $ffff self Modified, CALL SETMOUSE - bcs * - - bit RRAMWRAMBNK1 Back To LC Ram - bit RRAMWRAMBNK1 - - inc K.IrkMgr.VBL set=1 awaiting IrqMgr confirmation - - plp - clc - rts -*-------------------------------------- -Mouse.OFS .HS 05070B0CFB -Mouse.SIG .HS 38180120D6 -*-------------------------------------- -DevMgrInit stz ZPPtr1 - lda #$C1 - sta ZPPtr1+1 - lda #1 - sta DEV.HEADER+S.DEV.BUSID - -.1 lda #1 - sta DEV.HEADER+S.DEV.DEVID - - ldx #SmartPort.SIG-SmartPort.OFS-1 - -.2 ldy SmartPort.OFS,x Check if there is a smartport firmware - lda (ZPPtr1),y - cmp SmartPort.SIG,x - bne .8 not a Disk Controller... - dex - bpl .2 - - ldy #$ff - lda (ZPPtr1),y - bne .3 $0, Disk II, 16sect - - jsr DevMgrInit.DII - ldy #A2osX.SLOTS.DII - bra .7 - -.3 inc - beq .7 $ff, Disk II 13 Sect, ignore - - ldy #7 - lda (ZPPtr1),y - bne .4 $Cn07=00 : SmartPort - - jsr DevMgrInit.SP - ldy #A2osX.SLOTS.SP - bra .7 - -.4 jsr DevMgrInit.BLK - ldy #A2osX.SLOTS.BLK - -.7 lda ZPPtr1+1 - and #$0f - tax - tya - sta A2osX.SLOTS,x - -.8 inc DEV.HEADER+S.DEV.BUSID - inc ZPPtr1+1 - lda ZPPtr1+1 - cmp #$C8 - bne .1 - - clc - rts -*-------------------------------------- -DevMgrInit.DII >LDYAI A2osX.DIIDrv - >STYA DEV.HEADER+S.DEV.DRV.JMP - jsr DevMgrInit.AddDev - inc DEV.HEADER+S.DEV.DEVID - jsr DevMgrInit.AddDev - rts -*-------------------------------------- -DevMgrInit.BLK ldy #$ff - lda (ZPPtr1),y - sta DEV.HEADER+S.DEV.ROM.JMP - lda ZPPtr1+1 - sta DEV.HEADER+S.DEV.ROM.JMP+1 - - >LDYAI A2osX.BlkDrv - >STYA DEV.HEADER+S.DEV.DRV.JMP - - jsr DevMgrInit.AddDev - inc DEV.HEADER+S.DEV.DEVID - jsr DevMgrInit.AddDev - rts -*-------------------------------------- -DevMgrInit.SP ldy #$ff - lda (ZPPtr1),y - clc - adc #3 Compute smartport entry point - sta .1+1 - sta .3+1 - sta DEV.HEADER+S.DEV.ROM.JMP - lda ZPPtr1+1 - sta .1+2 - sta .3+2 - sta DEV.HEADER+S.DEV.ROM.JMP+1 - - >LDYAI A2osX.PrtDrv - >STYA DEV.HEADER+S.DEV.DRV.JMP - -.1 jsr $ffff Self Modified - .DA #0 Status - .DA SP.CTRL.STATUS - bcs .9 - lda SP.CTRL.STATUS.DATA - beq .9 no device - -.2 lda #1 - sta SP.DEV.STATUS.DEVID - -.3 jsr $ffff Self Modified - .DA #0 Status - .DA SP.DEV.STATUS - bcs .7 - lda SP.DEV.STATUS.DATA+S.DEVSTAT.S - sta DEV.HEADER+S.DEV.S - - jsr DevMgrInit.AddDev - -.7 inc SP.DEV.STATUS.DEVID - inc DEV.HEADER+S.DEV.DEVID - dec SP.CTRL.STATUS.DATA - bne .3 - -.9 rts -*-------------------------------------- -DevMgrInit.AddDev - lda DevMgr.Count - cmp #K.DEV.MAX - beq .9 - - inc DevMgr.Count - >SYSCALL GetDevByIDA - >STYA ZPPtr2 - - lda DEV.HEADER+S.DEV.BUSID - ora #$30 - sta DEV.HEADER+S.DEV.NAME+2 SnDy - - lda DEV.HEADER+S.DEV.DEVID - ora #$30 - sta DEV.HEADER+S.DEV.NAME+4 SxDn - - ldy #S.DEV-1 - -.1 lda DEV.HEADER,y - sta (ZPPtr2),y - dey - bpl .1 - - clc - rts - -.9 lda #DEVMGR.ERROOH - sec - rts -*-------------------------------------- -DEV.HEADER clc - jmp ($ffff,x) - .DA #S.DEV.S.BLOCK S - .BS 1 F - .BS 1 BUS.ID - .BS 1 DEV.ID - .BS 2 ROM.JMP - .BS 1 - >PSTR "S1D1" 5 bytes -*-------------------------------------- -SmartPort.OFS .HS 010305 -SmartPort.SIG .HS 200003 -*-------------------------------------- -SP.CTRL.STATUS .DA #3 - .DA #0 - .DA SP.CTRL.STATUS.DATA - .DA #0 -SP.CTRL.STATUS.DATA - .BS 8 DevCnt -SP.DEV.STATUS .DA #3 -SP.DEV.STATUS.DEVID - .BS 1 - .DA SP.DEV.STATUS.DATA - .DA #3 return DIB -SP.DEV.STATUS.DATA - .BS S.DEVSTAT -*-------------------------------------- -EvtMgrInit lda #$A5 - sta A2osX.TIMER16 - lda #$9B - sta A2osX.TIMER16+1 - - lda /EvtMgr.Table - sta pEvent+1 - clc - rts -*-------------------------------------- -FltMgrInit stz FltMgr.Table - clc - rts -*-------------------------------------- -TskMgrInit >LDYAI TskMgr.Table+S.PS Clear whole process table except PS0 - >STYA .2+1 - - ldx #K.PS.MAX-1 - -.1 lda #0 - ldy #S.PS-1 - -.2 sta $ffff,y Self Modified - dey - bpl .2 - - lda .2+1 - clc - adc #S.PS - sta .2+1 - bcc .3 - - inc .2+2 -.3 dex - bne .1 - - >LDYAI K.ENV.SIZE get a buffer for ENV - >SYSCALL GetMem0YA make sure blank!! - bcs .9 - - txa - ldy #S.PS.hENV - sta (pPs),y - - >LDYAI UsrBuf256 - >STYA K.MLI.PARAMS+1 - >MLICALL MLIGETPREFIX - bcs .9 - - >LDYAI UsrBuf256 - >SYSCALL NewPStrYA - bcs .9 - - txa - ldy #S.PS.hPREFIX - sta (pPs),y - - >PUSHWI UsrBuf256 push ENV value - >PUSHWI I.ENV.A2osX push ENV name - >SYSCALL SetEnv - bcs .9 - - >LDYAI I.ENV.PATH - >SYSCALL PutEnvYA - bcs .9 - - >LDYAI I.ENV.LIB - >SYSCALL PutEnvYA - bcs .9 - - >LDYAI I.ENV.DRV - >SYSCALL PutEnvYA -.9 rts -*-------------------------------------- -DEV.SYS >PSTR "SYS" -I.ENV.A2osX >PSTR "A2OSX" -I.ENV.PATH >PSTR "PATH=${A2OSX}SBIN/;${A2OSX}BIN/" -I.ENV.LIB >PSTR "LIB=${A2OSX}LIB/" -I.ENV.DRV >PSTR "DRV=${A2OSX}DRV/" -STARTUP.CMDLINE >PSTR "${A2OSX}SBIN/SHELL ${A2OSX}A2osX.STARTUP" -*-------------------------------------- -MSG.Init3 >CSTR "A2osX[Stage3]:Init\r\n" -MSG.DEV >CSTR "-Device Manager...\r\n" -MSG.IRQ >CSTR "-Interrupt Manager...\r\n" -MSG.EVT >CSTR "-Event Manager...\r\n" -MSG.FLT >CSTR "-Path Filter...\r\n" -MSG.TSK >CSTR "-Task Manager...\r\n" -MSG.Prefix >CSTR "Prefix:%S\r\n" -MSG.Startup >CSTR "Executing Kernel Startup Script...\r\nCmd:%S\r\n" -MSG.StartupErr >CSTR "Failed : [$%h]\r\n" -MSG.Init3.OK >CSTR "A2osX[Stage3]:Complete.\r\n" -*-------------------------------------- -MAN -SAVE /A2OSX.SRC/SYS/KERNEL.S.INIT3 -LOAD /A2OSX.SRC/SYS/KERNEL.S -ASM diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 99ffc855..8078940b 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -112,9 +112,9 @@ K.SYSCALL.JMP .DA K.FileSearch $00 .DA 0 *-------------------------------------- .DA K.FPutCAY $B0 - .DA K.PutCA - .DA K.FGetCA - .DA K.GetC + .DA K.PutCharA + .DA K.GetCA + .DA K.GetChar .DA K.FPutS .DA K.PutSYA .DA K.FGetS