From 84b423e9dededa51bbbff4ce3b2ac5dd41e8380d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 26 Oct 2017 18:01:54 +0200 Subject: [PATCH] Kernel 0.9.1 : SHELL, CSH style scripting.....(wip), Math API (wip) --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes A2osX.S.txt | 2 +- BIN/ARP.S.txt | 2 +- BIN/CAT.S.txt | 4 +- BIN/CHTYP.S.txt | 2 +- BIN/DNSINFO.S.txt | 2 +- BIN/FORMAT.S.txt | 2 +- BIN/IPCONFIG.S.txt | 4 +- BIN/LS.S.txt | 2 +- BIN/LSDEV.S.txt | 4 +- BIN/MD.S.txt | 2 +- BIN/NFSMOUNT.S.txt | 2 +- BIN/NSCUTIL.S.txt | 4 +- BIN/PING.S.txt | 6 +- BIN/RPCDUMP.S.txt | 2 +- BIN/X.CPMVRM.S.txt | 6 +- BIN/X.FILEENUM.S.txt | 2 +- DRV/LANCEGS.DRV.S.txt | 4 +- DRV/MOUSE.DRV.S.txt | 4 +- DRV/PIC.DRV.S.txt | 2 +- DRV/SSC.DRV.S.txt | 2 +- DRV/SSC.I.DRV.S.txt | 2 +- DRV/UTHER2.AI.DRV.S.txt | 4 +- DRV/UTHERNET.DRV.S.txt | 4 +- DRV/UTHERNET2.DRV.S.txt | 4 +- INC/A2osX.I.txt | 27 +++--- INC/KERNEL.I.txt | 14 ++- INC/MLI.ERR.I.txt | 46 +++++----- LIB/LIBMATH.S.txt | 4 +- LIB/LIBTCPIP.S.SKT.txt | 4 +- SBIN/HTTPD.S.txt | 4 +- SBIN/NFSD.S.txt | 4 +- SBIN/SHELL.S.CMD.txt | 4 +- SBIN/SHELL.S.CSH.txt | 182 ++++++++++++++++++++++----------------- SBIN/SHELL.S.txt | 2 +- SBIN/TELNETD.S.txt | 4 +- SYS/KERNEL.S.BIN.txt | 8 +- SYS/KERNEL.S.CORE.txt | 8 +- SYS/KERNEL.S.DEV.txt | 2 +- SYS/KERNEL.S.ENV.txt | 2 +- SYS/KERNEL.S.FIO.txt | 4 +- SYS/KERNEL.S.GP.txt | 13 ++- SYS/KERNEL.S.INIT.txt | 4 +- SYS/KERNEL.S.MATH.txt | 57 ++++++++++++ SYS/KERNEL.S.MEM.txt | 4 +- SYS/KERNEL.S.PS.txt | 10 +-- SYS/KERNEL.S.STAT.txt | 2 +- SYS/KERNEL.S.STDIO.txt | 16 ++-- SYS/KERNEL.S.STDLIB.txt | 2 +- SYS/KERNEL.S.txt | 1 + SYS/KM.RAMWORKS.S.txt | 2 +- SYS/KM.VSDRIVE.S.txt | 2 +- X.ERRORS.S.txt | 34 ++++---- 54 files changed, 316 insertions(+), 224 deletions(-) create mode 100644 SYS/KERNEL.S.MATH.txt diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index d44145619e2e6f344f824b26a264b18df1d262d3..1a34af5cef7e7617d010055ab3efeccb4eb53ed4 100644 GIT binary patch delta 10659 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 delta 10965 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 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index ad1aabed550141b26e6742018e5f5f3c1027dce6..a645b3d29f241b58900ad1aead3e51275a0d62a0 100644 GIT binary patch delta 15377 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 RDM6tk2Ag;j6V21N{~tuy6>b0k delta 14839 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 xrxk>VnMnl#DR7a6B(`9BDolJEck diff --git a/A2osX.S.txt b/A2osX.S.txt index e12b31c3..753a1320 100644 --- a/A2osX.S.txt +++ b/A2osX.S.txt @@ -299,7 +299,7 @@ EnumKM ldx #0 .DA MLICLOSE01 rts -.98 cmp #MLI.ERR.EOF +.98 cmp #MLI.E.EOF beq .8 pha jsr .8 diff --git a/BIN/ARP.S.txt b/BIN/ARP.S.txt index 75485c3b..099acbb8 100644 --- a/BIN/ARP.S.txt +++ b/BIN/ARP.S.txt @@ -67,7 +67,7 @@ CS.RUN >SYSCALL GetArgC >SYSCALL SSCANF bcc CS.RUN.QUERY - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts *-------------------------------------- diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index 2bcbb2d2..5f7c866e 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -63,7 +63,7 @@ CS.INIT .99 >LDYA L.MSG.USAGE >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -142,7 +142,7 @@ CS.RUN >SYSCALL GetChar bcc CS.RUN.PRINT - cmp #MLI.ERR.EOF + cmp #MLI.E.EOF bne .9 jsr CS.RUN.CLOSE diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index 7a06de6c..86038689 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -69,7 +69,7 @@ CS.INIT .99 >LDYA L.MSG.USAGE >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/BIN/DNSINFO.S.txt b/BIN/DNSINFO.S.txt index cb23cdc9..f93d33a5 100644 --- a/BIN/DNSINFO.S.txt +++ b/BIN/DNSINFO.S.txt @@ -76,7 +76,7 @@ CS.RUN.ADD cmp #3 sec we do not want to stay in memory rts -.9 lda #SYSMGR.ERRSYN +.9 lda #K.E.SYN sec .99 rts diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index ee4e21f3..2dff5f21 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -69,7 +69,7 @@ CS.INIT ldy #S.PS.ARGC .99 >LDYA L.MSG.USAGE >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index afa16705..9cb583cf 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -111,10 +111,10 @@ CS.RUN.DUMPDEV sta DevID lda ZPDevStatPtr clc - adc #S.DEVSTAT.IDSTRING + adc #S.DEVSTAT.IDS tay lda ZPDevStatPtr+1 - adc /S.DEVSTAT.IDSTRING + adc /S.DEVSTAT.IDS >PUSHYA >PUSHB DevID diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index 7c4dd98e..b432aab5 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -70,7 +70,7 @@ CS.INIT dex bne .2 - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index 403f671a..aa5f929e 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -157,14 +157,14 @@ DumpStatus >LDA.G DEV.S lda ZPPTR2 clc - adc #S.DEVSTAT.IDSTRING + adc #S.DEVSTAT.IDS tay lda ZPPTR2+1 adc #0 >PUSHYA - ldy #S.DEVSTAT.SUBTYPE + ldy #S.DEVSTAT.ST >PUSHB (ZPPTR2),y dey >PUSHB (ZPPTR2),y diff --git a/BIN/MD.S.txt b/BIN/MD.S.txt index ccaaa108..7ba82e88 100644 --- a/BIN/MD.S.txt +++ b/BIN/MD.S.txt @@ -54,7 +54,7 @@ CS.RUN lda #1 sec .9 rts -.99 lda #SYSMGR.ERRSYN +.99 lda #K.E.SYN sec rts *-------------------------------------- diff --git a/BIN/NFSMOUNT.S.txt b/BIN/NFSMOUNT.S.txt index f4eef477..cfb3fa2c 100644 --- a/BIN/NFSMOUNT.S.txt +++ b/BIN/NFSMOUNT.S.txt @@ -65,7 +65,7 @@ CS.INIT >SYSCALL GetArgC .99 >LDYA L.MSG.USAGE >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts *-------------------------------------- diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index d7a8de5f..c74a6ed1 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -62,7 +62,7 @@ CS.RUN.READ jsr NSC.Init >LDYA L.MSG.READ.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV + lda #MLI.E.NODEV sec rts @@ -143,7 +143,7 @@ CS.RUN.SET lda #1 sec we do not want to stay in memory rts -.9 lda #SYSMGR.ERRSYN +.9 lda #K.E.SYN sec rts *-------------------------------------- diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index c15a463d..02d114ec 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -68,7 +68,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ? >LDYA L.MSG.IPKO >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -96,7 +96,7 @@ CS.RUN.IPOK >SYSCALL GetArgC .9 >LDYA L.MSG.USAGE .99 >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -141,7 +141,7 @@ CS.RUN.OPENSKT ldx #3 >LDYA L.MSG.SKTKO >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/BIN/RPCDUMP.S.txt b/BIN/RPCDUMP.S.txt index 48278764..df9cdd34 100644 --- a/BIN/RPCDUMP.S.txt +++ b/BIN/RPCDUMP.S.txt @@ -75,7 +75,7 @@ CS.INIT >SYSCALL GetArgC .99 >LDYA L.MSG.USAGE >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts *-------------------------------------- diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 1e7af253..6b9a1186 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -74,7 +74,7 @@ CS.INIT .99 >LDYA L.MSG.USAGE >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -266,7 +266,7 @@ CS.RUN >SYSCALL GetChar .5 jsr CS.RUN.BuildFilePath jmp CS.RUN.FILE -.6 lda #MLI.ERR.UNSUPST +.6 lda #MLI.E.UNSUPST sec .9 rts *-------------------------------------- @@ -632,7 +632,7 @@ CS.RUN.Copy stz .90+1 >PUSHB (pData),y >SYSCALL FRead bcc .1 - cmp #MLI.ERR.EOF + cmp #MLI.E.EOF bne .9 lda #0 bra .9 diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 8bd8c11e..d5344045 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -126,7 +126,7 @@ InitSrcDirYA >SYSCALL RealPath.YA clc rts -.91 lda #MLI.ERR.FNOTFND +.91 lda #MLI.E.FNOTFND .9 pha >LDA.G hFullPath diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index fbf8868c..e1d8bbc5 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -64,7 +64,7 @@ Dev.Detect >STYA Args >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV + lda #MLI.E.NODEV sec rts @@ -83,7 +83,7 @@ Dev.Detect >STYA Args >STYA ZPTmpPTR jsr DecodeMac bcc .4 - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index e6a1d6a5..5a84d482 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -98,7 +98,7 @@ Dev.Detect >LDYA L.MSG.DETECT >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV + lda #MLI.E.NODEV sec rts @@ -217,7 +217,7 @@ READBLOCK >STYA ZPTmpPtr1 clc rts -.9 lda #MLI.ERR.EOF +.9 lda #MLI.E.EOF sec rts *-------------------------------------- diff --git a/DRV/PIC.DRV.S.txt b/DRV/PIC.DRV.S.txt index af732352..1e41681d 100644 --- a/DRV/PIC.DRV.S.txt +++ b/DRV/PIC.DRV.S.txt @@ -65,7 +65,7 @@ Dev.Detect >STYA ARGS >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV Not Found in any slot, exiting + lda #MLI.E.NODEV Not Found in any slot, exiting sec rts diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index ec9502a5..3def6ec0 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -67,7 +67,7 @@ Dev.Detect >STYA ARGS >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV Not Found in any slot, exiting + lda #MLI.E.NODEV Not Found in any slot, exiting sec rts diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 5133d492..eba87877 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -70,7 +70,7 @@ Dev.Detect >STYA ARGS >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV Not Found in any slot, exiting + lda #MLI.E.NODEV Not Found in any slot, exiting sec rts diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 97f43e26..c8194e17 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -89,7 +89,7 @@ Dev.Detect >STYA Args >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV + lda #MLI.E.NODEV sec rts @@ -119,7 +119,7 @@ Dev.Detect >STYA Args .4 jsr DecodeMac bcc .8 - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 660dcd4f..d27876e7 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -73,7 +73,7 @@ Dev.Detect >STYA ARGS >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV + lda #MLI.E.NODEV sec rts @@ -113,7 +113,7 @@ Dev.Detect >STYA ARGS .4 jsr DecodeMac bcc .8 - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index 718135f0..520637b2 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -88,7 +88,7 @@ Dev.Detect >STYA Args >LDYA L.MSG.DETECT.KO >SYSCALL PrintF.YA - lda #MLI.ERR.NODEV + lda #MLI.E.NODEV sec rts @@ -118,7 +118,7 @@ Dev.Detect >STYA Args .4 jsr DecodeMac bcc .8 - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index dddbb520..0dea9b2b 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -208,16 +208,15 @@ SYS.Sleep .EQ $E0 * Lib ERROR CODES : $80->$BF * Kernel ERROR CODES : $C0->$FF *-------------------------------------- -MEMMGR.ERROOM .EQ $FF Out Of Memory Error -MEMMGR.ERROOH .EQ $FE Out Of Handle Error +K.E.OOM .EQ $FF Out Of Memory Error +K.E.OOH .EQ $FE Out Of Handle Error *-------------------------------------- -TSKMGR.ERROOH .EQ $DF Out Of Handle Error -TSKMGR.ERRNSP .EQ $DD No Such Process Error +K.E.NSP .EQ $DD No Such Process Error *-------------------------------------- -SYSMGR.ERRSYN .EQ $CF Syntax Error -SYSMGR.ERRENVF .EQ $CE Env is Full -SYSMGR.ERRIBIN .EQ $CD Invalid BIN format -SYSMGR.ERRFTB .EQ $CC File Too Big Error +K.E.SYN .EQ $CF Syntax Error +K.E.ENVF .EQ $CE Env is Full +K.E.IBIN .EQ $CD Invalid BIN format +K.E.FTB .EQ $CC File Too Big Error *-------------------------------------- * MEM STRUCT *-------------------------------------- @@ -313,7 +312,7 @@ S.DEVSTAT.S.WENABL .EQ %00000100 S.DEVSTAT.S.IRQ .EQ %00000010 S.DEVSTAT.S.OPENED .EQ %00000001 S.DEVSTAT.SIZE .EQ 1 3 bytes -S.DEVSTAT.IDSTRING .EQ 4 1 (LEN) + 16 MAX +S.DEVSTAT.IDS .EQ 4 1 (LEN) + 16 MAX S.DEVSTAT.T .EQ 21 S.DEVSTAT.T.RAM .EQ $00 Memory Expansion Card (RAM disk) S.DEVSTAT.T.3.5 .EQ $01 3.5" disk @@ -337,10 +336,10 @@ S.DEVSTAT.T.NET .EQ $12 Network board S.DEVSTAT.T.XY .EQ $13 X,Y Pointing Device S.DEVSTAT.T.CHAR .EQ $14 S.DEVSTAT.T.GFX .EQ $15 -S.DEVSTAT.SUBTYPE .EQ 22 -S.DEVSTAT.SUBTYPE.EXT .EQ $80 -S.DEVSTAT.SUBTYPE.DSKSW .EQ $40 -S.DEVSTAT.SUBTYPE.NOREM .EQ $20 +S.DEVSTAT.ST .EQ 22 +S.DEVSTAT.ST.EXT .EQ $80 +S.DEVSTAT.ST.DSKSW .EQ $40 +S.DEVSTAT.ST.NOREM .EQ $20 S.DEVSTAT.VERSION .EQ 23 S.DEVSTAT .EQ 25 *-------------------------------------- @@ -370,7 +369,7 @@ S.PS.PC .EQ 14 S.PS.ARGC .EQ 16 S.PS.hARGS .EQ 17 -S.PS.Context .EQ 24 24 Bytes +S.PS.ZP .EQ 24 24 Bytes * S.PS .EQ 48 *-------------------------------------- diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index 3deb6e8b..cd473fbf 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -50,10 +50,16 @@ TXTPTR .EQ $B8 *-------------------------------------- * ROM Entry Point *-------------------------------------- -ROM.SETFAC .EQ 10 Set FAC from INDEX -ROM.GETFAC .EQ 12 Get FAC at FORPNT -ROM.FIN .EQ 14 -ROM.FOUT .EQ 16 +ROM.FSUB .EQ 0 +ROM.FADD .EQ 2 +ROM.LOG .EQ 4 +ROM.FMULT .EQ 6 +ROM.SETARG.AY .EQ 8 +ROM.FDIV .EQ 10 +ROM.SETFAC.AY .EQ 12 +ROM.GETFAC .EQ 14 Get FAC at FORPNT +ROM.FIN .EQ 16 +ROM.FOUT .EQ 18 *-------------------------------------- * Memory Map *-------------------------------------- diff --git a/INC/MLI.ERR.I.txt b/INC/MLI.ERR.I.txt index 7eba3955..f00ff227 100644 --- a/INC/MLI.ERR.I.txt +++ b/INC/MLI.ERR.I.txt @@ -6,29 +6,29 @@ AUTO 6 .LIST OFF *-------------------------------------- *$00 - No Error -MLI.ERR.BADCALL .EQ $01 Bad Call Number -*MLI.ERR.BADCNT .EQ $04 Bad Parameter Count -*MLI.ERR.IRQFULL .EQ $25 Interrupt Table Full -MLI.ERR.IO .EQ $27 I/O Error -MLI.ERR.NODEV .EQ $28 No Device Connected -MLI.ERR.WRTPROT .EQ $2B Write Protected -MLI.ERR.DSKSWIT .EQ $2E Disk Switched -MLI.ERR.OFFLINE .EQ $2F Device Offline -MLI.ERR.INVPATH .EQ $40 Invalid Pathname -MLI.ERR.FCBFULL .EQ $42 Maximum Number of Files Open -MLI.ERR.BADREF .EQ $43 Invalid Reference Number -MLI.ERR.PNOTFND .EQ $44 Directory Not Found -MLI.ERR.VNOTFND .EQ $45 Volume Not Found -MLI.ERR.FNOTFND .EQ $46 File Not Found -MLI.ERR.DUPFILE .EQ $47 Duplicate File Name -MLI.ERR.VOLFULL .EQ $48 Volume Full -MLI.ERR.DIRFULL .EQ $49 Directory Full -MLI.ERR.INCFF .EQ $4A Incompatible File Format -MLI.ERR.UNSUPST .EQ $4B Unsupported Storage Type -MLI.ERR.EOF .EQ $4C End of File, No More Data -MLI.ERR.BEYEOF .EQ $4D Beyond EOF -MLI.ERR.LOCKED .EQ $4E File Access Error, File Locked -MLI.ERR.OPEN .EQ $50 File Already Open +MLI.E.BADCALL .EQ $01 Bad Call Number +*MLI.E.BADCNT .EQ $04 Bad Parameter Count +*MLI.E.IRQFULL .EQ $25 Interrupt Table Full +MLI.E.IO .EQ $27 I/O Error +MLI.E.NODEV .EQ $28 No Device Connected +MLI.E.WRTPROT .EQ $2B Write Protected +MLI.E.DSKSWIT .EQ $2E Disk Switched +MLI.E.OFFLINE .EQ $2F Device Offline +MLI.E.INVPATH .EQ $40 Invalid Pathname +MLI.E.FCBFULL .EQ $42 Maximum Number of Files Open +MLI.E.BADREF .EQ $43 Invalid Reference Number +MLI.E.PNOTFND .EQ $44 Directory Not Found +MLI.E.VNOTFND .EQ $45 Volume Not Found +MLI.E.FNOTFND .EQ $46 File Not Found +MLI.E.DUPFILE .EQ $47 Duplicate File Name +MLI.E.VOLFULL .EQ $48 Volume Full +MLI.E.DIRFULL .EQ $49 Directory Full +MLI.E.INCFF .EQ $4A Incompatible File Format +MLI.E.UNSUPST .EQ $4B Unsupported Storage Type +MLI.E.EOF .EQ $4C End of File, No More Data +MLI.E.BEYEOF .EQ $4D Beyond EOF +MLI.E.LOCKED .EQ $4E File Access Error, File Locked +MLI.E.OPEN .EQ $50 File Already Open *$51 - Directory Structure Damaged *$53 - Invalid Parameter *$55 - Too Many Volumes diff --git a/LIB/LIBMATH.S.txt b/LIB/LIBMATH.S.txt index e7eed196..b60f5773 100644 --- a/LIB/LIBMATH.S.txt +++ b/LIB/LIBMATH.S.txt @@ -36,9 +36,7 @@ CS.START cld .DA TAN .DA 0 *-------------------------------------- -COS >PULLW INDEX - >ROMCALL SETFAC - >ROMCALL COS +COS *-------------------------------------- SIN *-------------------------------------- diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index 7e95f4a8..cdd91af5 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -446,7 +446,7 @@ SKT.Write.TCP ldy #S.SOCKET.TCP.STATUS sec rts -.91 lda #MLI.ERR.IO +.91 lda #MLI.E.IO sec .99 rts */-------------------------------------- @@ -610,7 +610,7 @@ SKT.Read.I jsr SKT.GetA.I sec rts -.91 lda #MLI.ERR.IO +.91 lda #MLI.E.IO sec rts diff --git a/SBIN/HTTPD.S.txt b/SBIN/HTTPD.S.txt index cbd65858..b412bc3b 100644 --- a/SBIN/HTTPD.S.txt +++ b/SBIN/HTTPD.S.txt @@ -80,7 +80,7 @@ CS.RUN jsr Init.Timeout .99 >LDYA L.MSG.TCPIPERR >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -128,7 +128,7 @@ CS.RUN.INIT ldx #3 .9 >LDYA L.MSG.SKTERR >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/SBIN/NFSD.S.txt b/SBIN/NFSD.S.txt index 6b516b32..83e6d43e 100644 --- a/SBIN/NFSD.S.txt +++ b/SBIN/NFSD.S.txt @@ -74,7 +74,7 @@ CS.RUN jsr Init.Timeout .99 >LDYA L.MSG.TCPIPERR >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -124,7 +124,7 @@ CS.RUN.INIT ldx #3 .9 >LDYA L.MSG.SKTERR >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index 795bb62c..2e899918 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -191,7 +191,7 @@ Cmd.Exec.EXT jsr Cmd.Exec.Split bra * -.9 lda #SYSMGR.ERRSYN +.9 lda #K.E.SYN sec .99 jmp Cmd.Exec.Done *-------------------------------------- @@ -331,7 +331,7 @@ Cmd.Exec.CD lda (ZPPTR2) clc .9 jmp Cmd.Exec.Done *-------------------------------------- -Cmd.Exec.ERRSYN lda #SYSMGR.ERRSYN +Cmd.Exec.ERRSYN lda #K.E.SYN sec jmp Cmd.Exec.Done *-------------------------------------- diff --git a/SBIN/SHELL.S.CSH.txt b/SBIN/SHELL.S.CSH.txt index 2ec6dfed..3eeb6ea1 100644 --- a/SBIN/SHELL.S.CSH.txt +++ b/SBIN/SHELL.S.CSH.txt @@ -345,6 +345,86 @@ CSH.TYPE >STA.G CSH.ACCT sec .99 rts *-------------------------------------- +CSH.ExpEval jsr CSH.ZeroACC + dec A=0 + >STA.G CSH.EXPBOP1 + + jsr CSH.GetCharNB + bcs .9 + +.10 jsr CSH.IsLetter Fnc or Var ? + bcs .2 + + jsr CSH.GetVar + bcs .1 + + jsr CSH.LoadACCFromVar + bcs .9 + bra .11 + +.1 bra .9 TO DO : Functions + +.2 jsr CSH.IsDigit10 number ? + bcs .9 + + jsr CSH.GetNumInACC + bcs .9 + +.11 jsr CSH.GetCharNB + bcs .9 + + cmp #')' + beq .8 + cmp #';' + beq .8 + + jsr CSH.IsOPChar + bcs .9 + + >LDYA L.CSH.BOPS + jsr CSH.LookupOP + bcs .9 + + >LDA.G CSH.EXPBOP1 previous OP... + bpl .5 go check precedence + + txa + >STA.G CSH.EXPBOP1 + jsr CSH.ACC2ARG + jsr CSH.GetCharNB + bcc .10 go check for an ARG + +.9 lda #CSH.E.SYNTAX + sec +.99 rts + +.5 txa + >STA.G CSH.EXPBOP2 + >CMP.G CSH.EXPBOP1 + bcs .3 + +* new OP has precedence, stack ACC + + + + bra .10 + +* Old OP has precedence, compute ACC=ARG ACC +.3 >LDA.G CSH.EXPBOP1 + jsr CSA.Compute + bcs .9 + jsr CSH.GetCharNB + bcc .10 + bra .9 + +.8 >LDA.G CSH.EXPBOP1 + bmi .80 + + jmp CSA.Compute + +.80 clc + rts +*-------------------------------------- CSH.SavePtr >LDYA ZPCSHBufPtr >STYA.G CSH.BufPtrSave rts @@ -408,83 +488,6 @@ CSH.Lookup phy Y = len sec rts *-------------------------------------- -CSH.ExpEval jsr CSH.ZeroACC - >STA.G CSH.EXPBOP1 A=0 - - jsr CSH.GetCharNB - bcs .9 - -.10 jsr CSH.IsLetter Fnc or Var ? - bcs .2 - - jsr CSH.GetVar - bcs .1 - - jsr CSH.LoadACCFromVar - bcs .9 - bra .11 - -.1 bra .9 TO DO : Functions - -.2 jsr CSH.IsDigit10 number ? - bcs .9 - - jsr CSH.GetNumInACC - bcs .9 - -.11 jsr CSH.GetCharNB - bcs .9 - - cmp #')' - beq .8 - cmp #';' - beq .8 - - jsr CSH.IsOPChar - bcs .9 - - >LDYA L.CSH.BOPS - jsr CSH.LookupOP - bcs .9 - - >LDA.G CSH.EXPBOP1 previous OP... - bne .5 go check precedence - - txa - >STA.G CSH.EXPBOP1 - jsr CSH.ACC2ARG - jsr CSH.GetCharNB - bcc .10 - -.9 lda #CSH.E.SYNTAX - sec -.99 rts - -.5 txa - >STA.G CSH.EXPBOP2 - >CMP.G CSH.EXPBOP1 - bcs .3 - -* new OP has precedence, stack ACC - - - - bra .10 - -* Old OP has precedence, compute ACC=ARG ACC -.3 >LDA.G CSH.EXPBOP1 - jsr CSA.Compute - bcs .9 - jsr CSH.GetCharNB - bcc .10 - bra .9 -.8 clc - rts -*-------------------------------------- -CSA.Compute tax - >DEBUG - jmp (J.CSH.BOPS,x) -*-------------------------------------- CSH.GetNumInACC >LDA.G CSH.ACCT cmp #CSH.TYPE.FLOAT bcc .1 @@ -516,7 +519,20 @@ CSH.ZeroACC lda #0 rts *-------------------------------------- -CSH.ACC2ARG +CSH.ACC2ARG >LEA.G CSH.ACCT + >STYA ZPPtr1 + + >LEA.G CSH.ARGT + >STYA ZPPtr2 + + ldy #5 + +.1 lda (ZPPtr1),y + sta (ZPPtr2),y + dey + bpl .1 + + rts *-------------------------------------- * Vars... *-------------------------------------- @@ -732,7 +748,13 @@ CSH.IsACC0 >LDA.G CSH.ACCT .9 sec rts *-------------------------------------- -CSH.BOPS.ADD +CSA.Compute tax + jmp (J.CSH.BOPS,x) +*-------------------------------------- +CSH.BOPS.ADD + + + CSH.BOPS.SUB CSH.BOPS.MUL CSH.BOPS.DIV @@ -866,7 +888,7 @@ CSH.GetChar lda (ZPCSHBufPtr) clc rts -.9 lda #MLI.ERR.EOF +.9 lda #MLI.E.EOF sec rts *--------------------------------------- diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index a2d818a0..6674ab7d 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -234,7 +234,7 @@ CS.RUN.READ lda #0 reset Buffer CS.RUN.BATCH jsr CSH.Run bcc .7 - cmp #MLI.ERR.EOF + cmp #MLI.E.EOF beq .9 pha diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index 6a1942cf..03e5f575 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -80,7 +80,7 @@ CS.RUN jsr Init.Timeout .99 >LDYA L.MSG.TCPIPERR >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts @@ -111,7 +111,7 @@ CS.RUN.INIT ldx #3 .9 >LDYA L.MSG.SKTERR >SYSCALL PrintF.YA - lda #SYSMGR.ERRSYN + lda #K.E.SYN sec rts diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 27891ff1..4de56905 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -201,7 +201,7 @@ K.FileSearch.I >PULLW .4+1 Filename .98 lda #$ff SELF MODIFIED : Discard Expanded hSrch list jsr K.FreeMem.A - lda #MLI.ERR.FNOTFND + lda #MLI.E.FNOTFND sec .99 rts *-------------------------------------- @@ -390,11 +390,11 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O cmp #K.DEV.MAX bne .10 No Device Handle Left - lda #MEMMGR.ERROOH + lda #K.E.OOH sec rts -.9 lda #MEMMGR.ERROOM +.9 lda #K.E.OOM sec rts @@ -506,7 +506,7 @@ BIN.RelocateEXE ldy #H.BIN.T+1 cmp /H.BIN.T.DRV65 beq .1 - lda #SYSMGR.ERRIBIN + lda #K.E.IBIN sec rts diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 647aeac9..add92911 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -360,7 +360,7 @@ CORE.GetPSStatus.A dey bne .1 -.9 lda #TSKMGR.ERRNSP +.9 lda #K.E.NSP sec rts @@ -428,7 +428,7 @@ CORE.DestroyEvent CORE.PSSelect0 >LDYAI CORE.S.PS0 Select PS0 >STYA pPs - >LDYA CORE.S.PS0+S.PS.Context+4 + >LDYA CORE.S.PS0+S.PS.ZP+4 >STYA pStack rts */-------------------------------------- @@ -454,7 +454,7 @@ K.Sleep pla get PC LO ora #S.PS.F.SLEEP sta (pPs) *-------------------------------------- -CORE.PSLeave ldy #S.PS.Context+23 +CORE.PSLeave ldy #S.PS.ZP+23 ldx #23 .1 lda pCode,x @@ -466,7 +466,7 @@ CORE.PSLeave ldy #S.PS.Context+23 clc No error, rts back to Kernel *-------------------------------------- -CORE.PSEnter ldy #S.PS.Context+23 +CORE.PSEnter ldy #S.PS.ZP+23 ldx #23 .1 lda (pPs),y diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 87ad448e..1a32add2 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -75,7 +75,7 @@ K.GetDevByName.YA cpx DevMgr.Count bne .1 -K.GetDevDNF lda #MLI.ERR.NODEV CS from cpx/beq +K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq rts */-------------------------------------- * # GetDevStatus.A diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index dc2fc722..4bd3ecd4 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -304,7 +304,7 @@ K.SetEnvPtr1Ptr2 clc rts -.99 lda #SYSMGR.ERRENVF +.99 lda #K.E.ENVF * sec rts */-------------------------------------- diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index ffa5eb7a..cf8eaa02 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -51,7 +51,7 @@ K.LoadFile clc bne .1 inc bne .1 - lda #SYSMGR.ERRFTB + lda #K.E.FTB bra .99 .1 jsr K.GetMem.YA @@ -133,7 +133,7 @@ K.LoadFile.GetSize >PUSHB K.LoadFile.hFile jmp K.FSeek -.98 lda #SYSMGR.ERRFTB +.98 lda #K.E.FTB .99 rts *-------------------------------------- K.LoadFile.bTXT .BS 1 diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index dadf205f..59189bc9 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -39,7 +39,7 @@ AUTO 6 *-------------------------------------- * BADCALL *-------------------------------------- - lda #MLI.ERR.BADCALL + lda #MLI.E.BADCALL sec rts *-------------------------------------- @@ -107,15 +107,22 @@ A2osX.ROMCALL1 phx bit $C000,x bit $C000,x rts - + .1 jmp (.2,x) + +* http://www.txbobsc.com/scsc/scdocumentor/E7A0.html + .2 .DA $E7A7 FSUB .DA $E7BE FADD +* .DA $E82E NORMALIZE.FAC.2 (L->F) .DA $E941 LOG .DA $E97F FMULT + .DA $E9E3 LOAD.ARG.FROM.YA .DA $EA66 FDIV - .DA $EAFD LOAD.FAC.FROM.INDEX + .DA $EAF9 LOAD.FAC.FROM.YA .DA $EB27 SETFOR +* .DA $EBB2 FCOMP +* .DA $EBF2 QINT (F->L) .DA $EC4A FIN .DA $ED36 FOUT.1 .DA $EE8D SQR diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 4218f58d..49917ec4 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -443,7 +443,7 @@ PS0Init ldx #S.DEV*2 NUL,SYS >LDYAI K.STACKTOP >STYA pStack - >STYA CORE.S.PS0+S.PS.Context+4 init Kernel Soft Stack + >STYA CORE.S.PS0+S.PS.ZP+4 init Kernel Soft Stack >LDYAI DEV.SYS >SYSCALL MkNod.YA @@ -838,7 +838,7 @@ DevMgrInit.AddDev clc rts -.9 lda #MEMMGR.ERROOH +.9 lda #K.E.OOH sec rts *-------------------------------------- diff --git a/SYS/KERNEL.S.MATH.txt b/SYS/KERNEL.S.MATH.txt new file mode 100644 index 00000000..b7d7aa68 --- /dev/null +++ b/SYS/KERNEL.S.MATH.txt @@ -0,0 +1,57 @@ +PR#3 +PREFIX /A2OSX.BUILD +LOMEM $A00 +INC 1 +AUTO 6 +*/-------------------------------------- +* # FAdd +* Return X+Y +* ## In: +* PUSHW = X (*Float) +* PUSHW = Y (*Float) +*\-------------------------------------- +K.FAdd ldx #ROM.FADD + .HS 2C BIT ABS +*/-------------------------------------- +* # FSub +* Return X-Y +* ## In: +* PUSHW = X (*Float) +* PUSHW = Y (*Float) +*\-------------------------------------- +K.FSub ldx #ROM.FSUB + + phx + + jsr MATH.PullFAC + jsr MATH.PullARG + + plx + jsr A2osX.ROMCALL + + + + +*-------------------------------------- +K.Cos jsr MATH.PullFAC +* >ROMCALL COS +*-------------------------------------- +*-------------------------------------- +*-------------------------------------- +MATH.PullFAC >PULLA + tay + >PULLA + >ROMCALL SETFAC.AY + rts +*-------------------------------------- +MATH.PullARG >PULLA + tay + >PULLA + >ROMCALL SETARG.AY + rts +*-------------------------------------- +*-------------------------------------- +MAN +SAVE /A2OSX.SRC/SYS/KERNEL.S.MATH +LOAD /A2OSX.SRC/SYS/KERNEL.S +ASM diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index c550ff0b..2faa0f0d 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -222,11 +222,11 @@ MemMgr.AddSlot >STYA ZPMemMgrTmp1 save req size rts .98 pla discard new MemMgr.Free HI - lda #MemMgr.ERROOM + lda #K.E.OOM sec rts -.99 lda #MemMgr.ERROOH +.99 lda #K.E.OOH sec rts *-------------------------------------- diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index b3717ded..4687cbf7 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -72,7 +72,7 @@ PS.CreateChild ldx #0 .2 cpx #K.PS.MAX bne .3 - lda #TSKMGR.ERROOH + lda #K.E.OOH sec rts @@ -266,7 +266,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path >STYA ZPPtr4 save PTR to Code Segment phy - ldy #S.PS.Context+1 + ldy #S.PS.ZP+1 sta (ZPPtr3),y save pCode HI... dey pla @@ -294,7 +294,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path bcs .9 phy - ldy #S.PS.Context+3 + ldy #S.PS.ZP+3 sta (ZPPtr3),y save pData HI... dey pla @@ -308,7 +308,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path .2 ldy #H.BIN.EXE.SS.SIZE lda (ZPPtr4),y Load SS.SIZE - ldy #S.PS.Context+4 + ldy #S.PS.ZP+4 sta (ZPPtr3),y save pStack LO... tay @@ -323,7 +323,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path jsr K.GetMem bcs .9 - ldy #S.PS.Context+5 + ldy #S.PS.ZP+5 sta (ZPPtr3),y save pStack HI...(LO alredy set to Stack TOP) txa diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index b4100782..74e3f69f 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -163,7 +163,7 @@ K.MkNod.YA jsr K.GetDevByName.YA Ptr1=NAME clc .9 rts -.99 lda #MLI.ERR.IO +.99 lda #MLI.E.IO sec rts */-------------------------------------- diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 736c9a8b..5b059996 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -114,9 +114,9 @@ K.PutChar.A.FIFO clc rts -.9 lda #MLI.ERR.VOLFULL +.9 lda #MLI.E.VOLFULL .HS 2C bit abs -.99 lda #MLI.ERR.EOF +.99 lda #MLI.E.EOF sec rts *-------------------------------------- @@ -504,9 +504,9 @@ K.FSeek jsr PFT.CheckNodeSTK .9 rts -.98 lda #SYSMGR.ERRSYN +.98 lda #K.E.SYN .HS 2C bit abs -.99 lda #SYSMGR.ERRFTB +.99 lda #K.E.FTB sec rts */-------------------------------------- @@ -940,8 +940,10 @@ PrintF.U.1 bcc .8 unsigned, nothing to check PrintF.E sec Force "E+12" .HS 90 BCC PrintF.F clc - >PULLW INDEX - >ROMCALL SETFAC + >PULLA + tay + >PULLA + >ROMCALL SETFAC.AY ldy #3 In order not to trash A2osX.SaveSM,A2osX.SaveSX >ROMCALL FOUT @@ -1079,7 +1081,7 @@ STDIO.GetRefNum jsr K.GetMemPtr.A sta K.MLI.PARAMS+1 rts *-------------------------------------- -STDIO.IOERR lda #MLI.ERR.IO +STDIO.IOERR lda #MLI.E.IO sec rts *-------------------------------------- diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index b932d591..f48032e9 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -316,7 +316,7 @@ K.RealPath.YA >STYA ZPPtr1 .89 >LDYAI K.Buf256 jmp K.NewStr.YA -.90 lda #SYSMGR.ERRSYN +.90 lda #K.E.SYN sec rts *-------------------------------------- diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 273f179a..68531f56 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -39,6 +39,7 @@ A2osX.D2 .PH $D000 .INB /A2OSX.SRC/SYS/KERNEL.S.PS .INB /A2OSX.SRC/SYS/KERNEL.S.ARG .INB /A2OSX.SRC/SYS/KERNEL.S.ENV + .INB /A2OSX.SRC/SYS/KERNEL.S.MATH .EP A2osX.E0 .PH $E000 .INB /A2OSX.SRC/SYS/KERNEL.S.JMP diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index c8187bbd..33e348f4 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -490,7 +490,7 @@ RWDRV.EXITOK lda #0 make A=0 clc rts -RWDRV.IOERR lda #MLI.ERR.IO Carry already set +RWDRV.IOERR lda #MLI.E.IO Carry already set rts *-------------------------------------- * X=Page(0/1 or LC),A=Bank diff --git a/SYS/KM.VSDRIVE.S.txt b/SYS/KM.VSDRIVE.S.txt index 1d0eb925..6089f452 100644 --- a/SYS/KM.VSDRIVE.S.txt +++ b/SYS/KM.VSDRIVE.S.txt @@ -417,7 +417,7 @@ DRV.DO.CMD.R ldy #3 Read Back and check 4 bytes DRV.DO.CMD.ERR1 pla pla -DRV.DO.CMD.ERR lda #MLI.ERR.IO +DRV.DO.CMD.ERR lda #MLI.E.IO sec rts *-------------------------------------- diff --git a/X.ERRORS.S.txt b/X.ERRORS.S.txt index 13799792..1178c3f4 100644 --- a/X.ERRORS.S.txt +++ b/X.ERRORS.S.txt @@ -5,24 +5,24 @@ INC 1 AUTO 6 .LIST OFF *-------------------------------------- -ERR.Codes .DA #MLI.ERR.IO - .DA #MLI.ERR.NODEV - .DA #MLI.ERR.WRTPROT - .DA #MLI.ERR.DSKSWIT - .DA #MLI.ERR.OFFLINE - .DA #MLI.ERR.INVPATH - .DA #MLI.ERR.PNOTFND - .DA #MLI.ERR.VNOTFND - .DA #MLI.ERR.FNOTFND - .DA #MLI.ERR.DUPFILE - .DA #MLI.ERR.VOLFULL - .DA #MLI.ERR.DIRFULL - .DA #MLI.ERR.UNSUPST - .DA #MLI.ERR.EOF - .DA #MLI.ERR.LOCKED - .DA #MLI.ERR.OPEN +ERR.Codes .DA #MLI.E.IO + .DA #MLI.E.NODEV + .DA #MLI.E.WRTPROT + .DA #MLI.E.DSKSWIT + .DA #MLI.E.OFFLINE + .DA #MLI.E.INVPATH + .DA #MLI.E.PNOTFND + .DA #MLI.E.VNOTFND + .DA #MLI.E.FNOTFND + .DA #MLI.E.DUPFILE + .DA #MLI.E.VOLFULL + .DA #MLI.E.DIRFULL + .DA #MLI.E.UNSUPST + .DA #MLI.E.EOF + .DA #MLI.E.LOCKED + .DA #MLI.E.OPEN *-------------------------------------- - .DA #SYSMGR.ERRSYN + .DA #K.E.SYN *-------------------------------------- ERR.Count .EQ *-ERR.Codes *--------------------------------------