diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 0e87dae3..64fe8789 100644 Binary files a/.Floppies/A2OSX.BOOT.po and b/.Floppies/A2OSX.BOOT.po differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 76cd5bba..cd0a0a95 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index b7e43e12..ce264875 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/A2osX.S.txt b/A2osX.S.txt index 753a1320..8ec27021 100644 --- a/A2osX.S.txt +++ b/A2osX.S.txt @@ -62,8 +62,8 @@ A2osX.Init1 ldx #$FF init 6502 stack to highest jsr PrintFAX lda MACHID - and #MACHID.RAM - cmp #MACHID.RAM.128 + and #MACHID.M + cmp #MACHID.M.128 beq .1 >LDAXI MSG.SYSMEM.KO diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index 02c3c25f..535c6f3e 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -261,7 +261,7 @@ FIO.LOAD.ASM.T ldy #ASM.T.hMem >SYSCALL PrintF.YA >PUSHWI 0 Aux type - >PUSHBI 6 S.FILEINFO.TYPE.BIN + >PUSHBI 6 S.FI.T.BIN >PUSHBI SYS.FOpen.R >PUSHW L.ASM.T.FILENAME >SYSCALL LoadFile diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index 5f7c866e..a11c8c0f 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -253,7 +253,7 @@ CS.RUN.OPEN >SYSCALL RealPath.YA pha >PUSHWI 0 Aux type - >PUSHBI 4 S.FILEINFO.TYPE.TXT + >PUSHBI 4 S.FI.T.TXT >PUSHBI SYS.FOpen.R+SYS.FOpen.T pla diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 190da95b..b9a0c7fc 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -341,7 +341,7 @@ CharIn.Esc ldy #bEscMode rts *-------------------------------------- LoadFile >PUSHWI 0 Aux type - >PUSHBI 4 S.FILEINFO.TYPE.TXT + >PUSHBI 4 S.FI.T.TXT >PUSHBI SYS.FOpen.R ldy #hFileName lda (pData),y @@ -413,7 +413,7 @@ LoadFile >PUSHWI 0 Aux type .9 rts *-------------------------------------- SaveFile >PUSHWI 0 Aux type - >PUSHBI 4 S.FILEINFO.TYPE.TXT + >PUSHBI 4 S.FI.T.TXT >PUSHBI SYS.FOpen.X+SYS.FOpen.W >LDA.G hFileName >SYSCALL GetMemPtr.A diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index 607458fe..e9866841 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -16,7 +16,7 @@ AUTO 6 .INB /A2OSX.BUILD/INC/LIBTCPIP.I *-------------------------------------- ZPTmpPTR .EQ ZPDRV -Size .EQ ZPDRV+2 +Size .EQ ZPDRV+2 Counter .EQ ZPDRV+4 *-------------------------------------- * File Header (16 Bytes) diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 3c9b3d24..ba93fc0d 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -44,6 +44,8 @@ A2osX.CPUSPEED .EQ $BEE6 WORD, (->255.99 Mhz) A2osX.Z80SLOT .EQ $BEE8 A2osX.Z80SPEED .EQ $BEE9 WORD +A2OsX.InKernel .EQ $BEEB + A2osX.TIMER16 .EQ $BEEC WORD A2osX.RANDOM16 .EQ $BEEE WORD *-------------------------------------- @@ -182,27 +184,45 @@ SYS.SetEnv .EQ $BA SYS.GetEnv.YA .EQ $BC SYS.UnsetEnv.YA .EQ $BE *-------------------------------------- -SYS.GetMem .EQ $C0 -SYS.FreeMem.A .EQ $C2 -SYS.GetMemPtr.A .EQ $C4 -SYS.GetMemByID.A .EQ $C6 +SYS.FAdd .EQ $C0 +SYS.FSub .EQ $C2 +SYS.FMult .EQ $C4 +SYS.FDiv .EQ $C6 -SYS.GetMem.YA .EQ $C8 -SYS.GetMem0.YA .EQ $CA -SYS.SetLoMem .EQ $CC -SYS.NewStr.YA .EQ $CE +SYS.FPwr .EQ $C8 +* .EQ $CA +* .EQ $CC +* .EQ $CE -* .EQ $D0 -* .EQ $D2 -* .EQ $D4 -* .EQ $D6 +SYS.Log .EQ $D0 +SYS.Sqr .EQ $D2 +SYS.Exp .EQ $D4 +SYS.Cos .EQ $D6 -SYS.LoadStkObj.YA .EQ $D8 -SYS.GetStkObj.A .EQ $DA -SYS.FreeStkObj.A .EQ $DC -SYS.GetMemStat.YA .EQ $DE +SYS.Sin .EQ $D8 +SYS.Tan .EQ $DA +SYS.ATan .EQ $DC +* .EQ $DF +*-------------------------------------- +SYS.GetMem .EQ $E0 +SYS.FreeMem.A .EQ $E2 +SYS.GetMemPtr.A .EQ $E4 +SYS.GetMemByID.A .EQ $E6 -SYS.Sleep .EQ $E0 +SYS.GetMem.YA .EQ $E8 +SYS.GetMem0.YA .EQ $EA +SYS.NewStr.YA .EQ $EC +SYS.GetMemStat.YA .EQ $EE + +SYS.Sleep .EQ $F0 +* .EQ $F2 +* .EQ $F4 +* .EQ $F6 + +* .EQ $F8 +SYS.LoadStkObj.YA .EQ $FA +SYS.GetStkObj.A .EQ $FC +SYS.FreeStkObj.A .EQ $FE *-------------------------------------- * ProDOS ERROR CODES : $00->$5F * Lib ERROR CODES : $80->$BF diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index 1a1bf9f9..75fe2e6d 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -55,11 +55,11 @@ ROM.FADD .EQ 2 ROM.LTOF .EQ 4 ROM.LOG .EQ 6 ROM.FMULT .EQ 8 -ROM.SETARG.AY .EQ 10 +ROM.SETARG .EQ 10 ROM.FDIV .EQ 12 -ROM.SETFAC.AY .EQ 14 +ROM.SETFAC .EQ 14 -ROM.GETFAC .EQ 16 Get FAC at FORPNT +ROM.GETFAC .EQ 16 Copy FAC to (FORPNT) ROM.FCOMP .EQ 18 ROM.QINT .EQ 20 ROM.FIN .EQ 22 diff --git a/INC/NET.I.txt b/INC/NET.I.txt index b02c94b8..c8f0c075 100644 --- a/INC/NET.I.txt +++ b/INC/NET.I.txt @@ -17,7 +17,7 @@ S.DSTAT.NET.STATUS.10 .EQ $01 S.DSTAT.NET.STATUS.100 .EQ $02 S.DSTAT.NET.STATUS.1000 .EQ $03 S.DSTAT.NET.MAC .EQ S.DSTAT+2 -S.DSTAT.NET .EQ S.DSTAT+8 +S.DSTAT.NET .EQ S.DSTAT+8 *-------------------------------------- MAN SAVE /A2OSX.BUILD/INC/NET.I diff --git a/INC/PRODOS.I.txt b/INC/PRODOS.I.txt index be1dd61e..8de36e2f 100644 --- a/INC/PRODOS.I.txt +++ b/INC/PRODOS.I.txt @@ -39,29 +39,29 @@ MLIGETEOF .EQ $D1 MLISETBUF .EQ $D2 MLIGETBUF .EQ $D3 *-------------------------------------- -S.FILEINFO.ACCESS .EQ $03 -S.FILEINFO.ACCESS.R .EQ $01 -S.FILEINFO.ACCESS.W .EQ $02 -S.FILEINFO.ACCESS.B .EQ $20 -S.FILEINFO.ACCESS.RN .EQ $40 -S.FILEINFO.ACCESS.D .EQ $80 -S.FILEINFO.ACCESS.FULL .EQ $C3 -S.FILEINFO.TYPE .EQ $04 -S.FILEINFO.TYPE.TXT .EQ $04 -S.FILEINFO.TYPE.DIR .EQ $0F -S.FILEINFO.TYPE.SYS .EQ $FF -S.FILEINFO.AUXTYPE .EQ $05 -S.FILEINFO.TOTALBLOCKS .EQ $05 -S.FILEINFO.STORETYPE .EQ $07 -S.FILEINFO.STORETYPE.STD .EQ $01 -S.FILEINFO.STORETYPE.DIR .EQ $0D -S.FILEINFO.BLOCKSUSED .EQ $08 -S.FILEINFO.MODDATE .EQ $0A -S.FILEINFO.MODTIME .EQ $0C -S.FILEINFO.CREATEDATE .EQ $0E -S.FILEINFO.CREATETIME .EQ $10 +S.FI.A .EQ $03 +S.FI.A.R .EQ $01 +S.FI.A.W .EQ $02 +S.FI.A.B .EQ $20 +S.FI.A.RN .EQ $40 +S.FI.A.D .EQ $80 +S.FI.A.FULL .EQ $C3 +S.FI.T .EQ $04 +S.FI.T.TXT .EQ $04 +S.FI.T.DIR .EQ $0F +S.FI.T.SYS .EQ $FF +S.FI.AUXTYPE .EQ $05 +S.FI.TBLKS .EQ $05 +S.FI.ST .EQ $07 +S.FI.ST.STD .EQ $01 +S.FI.ST.DIR .EQ $0D +S.FI.UBLKS .EQ $08 +S.FI.MDATE .EQ $0A +S.FI.MTIME .EQ $0C +S.FI.CDATE .EQ $0E +S.FI.CTIME .EQ $10 * -S.FILEINFO .EQ $12 +S.FI .EQ $12 *-------------------------------------- MLI .EQ $BF00 *JSPARE .EQ $BF03 @@ -103,16 +103,16 @@ LEVEL .EQ $BF94 *BUBIT .EQ $BF95 *SPARE1 .EQ $BF96 MACHID .EQ $BF98 -MACHID.TYPE .EQ %11001000 -*MACHID.TYPE.II .EQ %00000000 -*MACHID.TYPE.IIp .EQ %01000000 -MACHID.TYPE.IIe .EQ %10000000 -MACHID.TYPE.IIc .EQ %10001000 -*MACHID.TYPE.III .EQ %11000000 -MACHID.RAM .EQ %00110000 -MACHID.RAM.128 .EQ %00110000 -*MACHID.RAM.64 .EQ %00100000 -*MACHID.RAM.48 .EQ %00010000 +MACHID.T .EQ %11001000 +*MACHID.T.II .EQ %00000000 +*MACHID.T.IIp .EQ %01000000 +MACHID.T.IIe .EQ %10000000 +MACHID.T.IIc .EQ %10001000 +*MACHID.T.III .EQ %11000000 +MACHID.M .EQ %00110000 +MACHID.M.128 .EQ %00110000 +*MACHID.M.64 .EQ %00100000 +*MACHID.M.48 .EQ %00010000 *MACHID.SPARE .EQ %00000100 MACHID.COL80 .EQ %00000010 MACHID.CLK .EQ %00000001 diff --git a/LIB/LIBMATH.S.txt b/LIB/LIBMATH.S.txt deleted file mode 100644 index b60f5773..00000000 --- a/LIB/LIBMATH.S.txt +++ /dev/null @@ -1,60 +0,0 @@ -PR#3 -PREFIX /A2OSX.BUILD -NEW -INC 1 -AUTO 6 - .LIST OFF - .OP 65C02 - .OR $2000 - .TF /A2OSX.BUILD/LIB/LIBMATH.O -*-------------------------------------- - .INB /A2OSX.BUILD/INC/MACROS.I - .INB /A2OSX.BUILD/INC/A2OSX.I - .INB /A2OSX.BUILD/INC/APPLESOFT.I -* .INB /A2OSX.BUILD/INC/LIBMATH.I -*-------------------------------------- -ZPPtr1 .EQ ZPLIB -*-------------------------------------- -* 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 - .DA 0 - .DA 0 - .DA 0 -*-------------------------------------- -* Relocation Table -*-------------------------------------- -.1 .DA LIB.LOAD - .DA LIB.UNLOAD - .DA COS - .DA SIN - .DA TAN - .DA 0 -*-------------------------------------- -COS -*-------------------------------------- -SIN -*-------------------------------------- -TAN -*-------------------------------------- -ACOS -*-------------------------------------- -ASIN -*-------------------------------------- -ATAN -*-------------------------------------- -LIB.LOAD -LIB.UNLOAD clc - rts - -*-------------------------------------- - -*-------------------------------------- -MAN -SAVE /A2OSX.SRC/LIB/LIBMATH.S -ASM diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt index 50c20a10..72340f00 100644 --- a/SBIN/KCONFIG.S.txt +++ b/SBIN/KCONFIG.S.txt @@ -178,7 +178,7 @@ CS.RUN.Load >PUSHEA.G StatBuf bne .99 >PUSHWI 0 Aux type - >PUSHBI 6 S.FILEINFO.TYPE.BIN + >PUSHBI 6 S.FI.T.BIN >PUSHBI SYS.FOpen.R >LDA.G hFileName @@ -210,7 +210,7 @@ CS.RUN.Load >PUSHEA.G StatBuf rts *-------------------------------------- CS.RUN.Save >PUSHWI 0 AUXTYPE - >PUSHBI 6 S.FILEINFO.TYPE.BIN + >PUSHBI 6 S.FI.T.BIN >PUSHBI SYS.FOpen.W+SYS.FOpen.X >LDA.G hFileName diff --git a/SBIN/TCPIPD.S.CFG.txt b/SBIN/TCPIPD.S.CFG.txt index 5897bd15..f1b79c2e 100644 --- a/SBIN/TCPIPD.S.CFG.txt +++ b/SBIN/TCPIPD.S.CFG.txt @@ -150,7 +150,7 @@ CFG.Read.LoadFile pha >PUSHWI 0 Aux type - >PUSHBI 4 S.FILEINFO.TYPE.TXT + >PUSHBI 4 S.FI.T.TXT >PUSHBI SYS.FOpen.R pla >PUSHYA diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 26c68bda..c7018825 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -99,7 +99,7 @@ K.LoadDrv.YA jsr BIN.FindDRV jsr .88 call Dev.Detect bcs .96 - jsr BIN.InstallDRV + jsr BIN.InsDrv bcs .96 jsr .96 Cleanup... @@ -254,10 +254,10 @@ BIN.Load.YA.1 >PUSHWI K.S.STAT bcs .9 >LDYA K.S.STAT+S.STAT.P.AUXTYPE - >STYA BIN.Relocate.Start + >STYA BIN.R.Start >PUSHYA Push AUXTYPE - >PUSHBI 6 S.FILEINFO.TYPE.BIN + >PUSHBI 6 S.FI.T.BIN >PUSHBI SYS.FOpen.R >PUSHW BIN.CmdLine @@ -270,11 +270,11 @@ BIN.Load.YA.1 >PUSHWI K.S.STAT tya * clc CC from bcs .99 - adc BIN.Relocate.Start Get AUXTYPE for actual Base Address - sta BIN.Relocate.End compute Range End=AUXTYPE+FILELEN + adc BIN.R.Start Get AUXTYPE for actual Base Address + sta BIN.R.End compute Range End=AUXTYPE+FILELEN pla - adc BIN.Relocate.Start+1 - sta BIN.Relocate.End+1 + adc BIN.R.Start+1 + sta BIN.R.End+1 txa jsr K.GetMemPtr.A @@ -283,11 +283,11 @@ BIN.Load.YA.1 >PUSHWI K.S.STAT pha YA = actual load address tya sec - sbc BIN.Relocate.Start - sta BIN.Relocate.Offset Offset=ZPPtr1-AUXTYPE + sbc BIN.R.Start + sta BIN.R.Offset Offset=ZPPtr1-AUXTYPE pla - sbc BIN.Relocate.Start+1 - sta BIN.Relocate.Offset+1 + sbc BIN.R.Start+1 + sta BIN.R.Offset+1 ldy #H.BIN.CODE.LEN get Code Len lda (ZPPtr1),y @@ -299,7 +299,7 @@ BIN.Load.YA.1 >PUSHWI K.S.STAT adc ZPPtr1+1 sta ZPPtr2+1 - jsr BIN.RelocateEXE + jsr BIN.RelExe >LDYA BIN.CmdLine get back bin path jsr K.NewStr.YA make a copy of this string @@ -334,51 +334,51 @@ BIN.Load.YA.1 >PUSHWI K.S.STAT BIN.CmdLine .BS 2 BIN.hMem .BS 1 *-------------------------------------- -* BIN.InstallDRV +* BIN.InsDrv * In: * pDrv = .DRV File Loaded Address * Note: * BIN.Load.YA called from K.LoadDrvYA * Already setup correctly pDrv, -* BIN.Relocate.Start,End +* BIN.R.Start,End *-------------------------------------- -BIN.InstallDRV ldy #H.BIN.DRV.CODE.O +BIN.InsDrv ldy #H.BIN.DRV.CODE.O lda (pDrv),y clc - adc BIN.Relocate.Start Advance start From AUXTYPE to AUXTYPE+DRV code offset - sta BIN.Relocate.Start + adc BIN.R.Start Advance start From AUXTYPE to AUXTYPE+DRV code offset + sta BIN.R.Start iny lda (pDrv),y - adc BIN.Relocate.Start+1 - sta BIN.Relocate.Start+1 + adc BIN.R.Start+1 + sta BIN.R.Start+1 lda DevMgr.Free Offset = Target DRV address-(AUXTYPE+DRV OFFSET) sec - sbc BIN.Relocate.Start - sta BIN.Relocate.Offset + sbc BIN.R.Start + sta BIN.R.Offset lda DevMgr.Free+1 - sbc BIN.Relocate.Start+1 - sta BIN.Relocate.Offset+1 + sbc BIN.R.Start+1 + sta BIN.R.Offset+1 - lda BIN.Relocate.End Compute DRVLen=End-start + lda BIN.R.End Compute DRVLen=End-start sec - sbc BIN.Relocate.Start - sta BIN.InstallDRV.DRVLen + sbc BIN.R.Start + sta BIN.InsDrv.Len - lda BIN.Relocate.End+1 - sbc BIN.Relocate.Start+1 - sta BIN.InstallDRV.DRVLen+1 + lda BIN.R.End+1 + sbc BIN.R.Start+1 + sta BIN.InsDrv.Len+1 lda DevMgr.Free clc - adc BIN.InstallDRV.DRVLen - sta BIN.InstallDRV.DRVEnd + adc BIN.InsDrv.Len + sta BIN.InsDrv.End tay Save DRVEnd LO lda DevMgr.Free+1 - adc BIN.InstallDRV.DRVLen+1 A = DRVEnd HI - sta BIN.InstallDRV.DRVEnd+1 + adc BIN.InsDrv.Len+1 A = DRVEnd HI + sta BIN.InsDrv.End+1 bcs .9 we crossed $FFFF, out of mem @@ -442,10 +442,10 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O adc pDrv+1 sta ZPPtr1+1 set Ptr1 to Src CODE - lda BIN.InstallDRV.DrvLen+1 + lda BIN.InsDrv.Len+1 eor #$ff pha - lda BIN.InstallDRV.DrvLen + lda BIN.InsDrv.Len eor #$ff tax @@ -479,27 +479,27 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O adc (pDrv),y sta ZPPtr2+1 Make ZPPtr2 = ZPPtr1 + CodeLen - jsr BIN.RelocateDRV + jsr BIN.RelDrv - >LDYA BIN.InstallDRV.DrvEnd + >LDYA BIN.InsDrv.End >STYA DevMgr.Free clc rts *-------------------------------------- -BIN.InstallDRV.DrvLen .BS 2 -BIN.InstallDRV.DrvEnd .BS 2 +BIN.InsDrv.Len .BS 2 +BIN.InsDrv.End .BS 2 *-------------------------------------- -* BIN.Relocate___ : +* BIN.Rel___ : * In : * ZPPtr1 = Ptr to Code * ZPPtr2 = End Of Code *-------------------------------------- -BIN.Relocate.Start .BS 2 -BIN.Relocate.End .BS 2 -BIN.Relocate.Offset .BS 2 +BIN.R.Start .BS 2 +BIN.R.End .BS 2 +BIN.R.Offset .BS 2 *-------------------------------------- -BIN.RelocateEXE ldy #H.BIN.T+1 +BIN.RelExe ldy #H.BIN.T+1 lda (ZPPtr1),y cmp /H.BIN.T.BIN65 beq .1 @@ -513,19 +513,19 @@ BIN.RelocateEXE ldy #H.BIN.T+1 .1 ldy #H.BIN.JMP relocate Main JMP lda (ZPPtr1),y clc - adc BIN.Relocate.Offset + adc BIN.R.Offset sta (ZPPtr1),y iny lda (ZPPtr1),y - adc BIN.Relocate.Offset+1 + adc BIN.R.Offset+1 sta (ZPPtr1),y ldy #H.BIN.EXE.REL.TABLE skip Header, CS.SIZE & DS.SIZE... (16 bytes) .HS 2C bit abs *-------------------------------------- -BIN.RelocateDRV ldy #H.BIN.DRV.REL.TABLE +BIN.RelDrv ldy #H.BIN.DRV.REL.TABLE .1 lda (ZPPtr1),y Start Relocate JMP table tax LO in X @@ -536,12 +536,12 @@ BIN.RelocateDRV ldy #H.BIN.DRV.REL.TABLE dey txa get back LO clc - adc BIN.Relocate.Offset + adc BIN.R.Offset sta (ZPPtr1),y iny lda (ZPPtr1),y - adc BIN.Relocate.Offset+1 + adc BIN.R.Offset+1 sta (ZPPtr1),y iny @@ -580,25 +580,25 @@ BIN.RelocateDRV ldy #H.BIN.DRV.REL.TABLE iny make Y point to HI - cpx BIN.Relocate.Start + cpx BIN.R.Start lda (ZPPtr1),y Get HI - sbc BIN.Relocate.Start+1 - bcc .5 addr < BIN.Relocate.Start, out of range + sbc BIN.R.Start+1 + bcc .5 addr < BIN.R.Start, out of range txa Get back LO - cpx BIN.Relocate.End + cpx BIN.R.End lda (ZPPtr1),y Get HI - sbc BIN.Relocate.End+1 - bcs .5 addr > BIN.Relocate.End, out of range + sbc BIN.R.End+1 + bcs .5 addr > BIN.R.End, out of range txa Get back LO * clc CC from bcs .6 - adc BIN.Relocate.Offset add Offset to abs address + adc BIN.R.Offset add Offset to abs address dey sta (ZPPtr1),y store relocated addr LO iny lda (ZPPtr1),y Get HI - adc BIN.Relocate.Offset+1 + adc BIN.R.Offset+1 sta (ZPPtr1),y store relocated addr HI .5 pla get back Opcode length... diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 65d8a383..1804e496 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -93,7 +93,7 @@ CORE.Events jsr CORE.GetEvents bcs .4 CS=no event - jsr CORE.DispatchEvents + jsr CORE.Dispatch bcc .4 CC=All Events Dispatched jsr CORE.PSSelect0 @@ -144,7 +144,7 @@ CORE.Events jsr CORE.GetEvents bcs .8 sta KBDSTROBE - jsr CORE.ScreenSelect + jsr CORE.ScrSel .8 jmp CORE.Run *-------------------------------------- * CORE.GetEvents : @@ -224,14 +224,13 @@ CORE.GetEvents lda #Evt.Table .9 sec rts *-------------------------------------- -* CORE.DispatchEvents +* CORE.Dispatch * IN: * OUT: * CS: Not Dispatched * CC: Event Cleared *-------------------------------------- -CORE.DispatchEvents - lda CORE.PSCount +CORE.Dispatch lda CORE.PSCount sta CORE.Counter beq .9 @@ -378,8 +377,7 @@ CORE.DumpEvent ldy #S.EVT-1 .2 >CSTR "!Evt:F=%b,Dev=$%h,LO=$%h,HI=$%h,W1=$%H,W2=$%H\n" *-------------------------------------- -CORE.ScreenSelect - and #$0F +CORE.ScrSel and #$0F cmp A2osX.ASCREEN Same as active screen...nothing to do beq .8 diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 4bd3ecd4..514fb301 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -11,18 +11,18 @@ AUTO 6 * X = hMem to Expanded String (C-String) * Y,A = PTR to Expanded String *\-------------------------------------- -K.ExpandStr.YA stz K.ExpandStr.hPStr Reset Intermediate string... +K.ExpandStr.YA stz ENV.hStr Reset Intermediate string... .1 >STYA ZPPtr2 - stz K.ExpandStr.BufLen init Expanded String len=0 - stz K.ExpandStr.bFound No var found yet + stz ENV.BufLen init Expanded String len=0 + stz ENV.bFound No var found yet - stz K.ExpandStr.bNoExp Reset no expand flag + stz ENV.bNoExp Reset no expand flag ldy #0 -.10 stz K.ExpandStr.VarLen - stz K.ExpandStr.bInVar +.10 stz ENV.VarLen + stz ENV.bInVar .11 lda (ZPPtr2),y End of CSTR? beq .8 @@ -32,34 +32,34 @@ K.ExpandStr.YA stz K.ExpandStr.hPStr Reset Intermediate string... cmp #''' bne .21 - lda K.ExpandStr.bNoExp + lda ENV.bNoExp eor #$ff - sta K.ExpandStr.bNoExp toggle flag + sta ENV.bNoExp toggle flag bra .11 -.21 bit K.ExpandStr.bNoExp +.21 bit ENV.bNoExp bpl .23 -.22 ldx K.ExpandStr.BufLen +.22 ldx ENV.BufLen sta K.Buf256,x inx - stx K.ExpandStr.BufLen + stx ENV.BufLen bra .11 -.23 ldx K.ExpandStr.bInVar already in a var? +.23 ldx ENV.bInVar already in a var? bne .3 yes... cmp #'$' no, found one ? bne .22 no, store... - sta K.ExpandStr.bFound Toggle flag - sta K.ExpandStr.bInVar + sta ENV.bFound Toggle flag + sta ENV.bInVar bra .11 skip this char .3 cmp #'{' we are in var, "{" after "$"? bne .31 - ldx K.ExpandStr.VarLen No char in var yet ? + ldx ENV.VarLen No char in var yet ? beq .11 normal, "${" syntax is ok,skip bne .5 not allowed char in varname, end of var @@ -67,65 +67,64 @@ K.ExpandStr.YA stz K.ExpandStr.hPStr Reset Intermediate string... .31 cmp #'}' end of var? beq .50 - jsr K.ExpandStrValidChar + jsr ENV.IsVarChar bcc .32 yes, add to varname - ldx K.ExpandStr.VarLen + ldx ENV.VarLen bne .5 varname has already chars...end of var inx must be a $? or ?x.....go expand - stx K.ExpandStr.VarLen - sta K.ExpandStr.VarName + stx ENV.VarLen + sta ENV.VarName bra .51 go Expand.... -.32 ldx K.ExpandStr.VarLen +.32 ldx ENV.VarLen cpx #16 beq .11 varname longer than 15....ignore - sta K.ExpandStr.VarName,x + sta ENV.VarName,x inx - stx K.ExpandStr.VarLen + stx ENV.VarLen bra .11 .5 dey last char was invalid...move back -.50 ldx K.ExpandStr.VarLen +.50 ldx ENV.VarLen beq .52 var name is empty...start over -.51 stz K.ExpandStr.VarName,x +.51 stz ENV.VarName,x phy save current index - jsr K.ExpandStrGetValue + jsr ENV.GetValue ply restore index in string... .52 jmp .10 reset start flag and continue -.8 ldx K.ExpandStr.VarLen end of STR,are we in a var? +.8 ldx ENV.VarLen end of STR,are we in a var? beq .80 no...exit... - stz K.ExpandStr.VarName,x - jsr K.ExpandStrGetValue yes, expand and add to STR + stz ENV.VarName,x + jsr ENV.GetValue yes, expand and add to STR -.80 lda K.ExpandStr.hPStr working from our temp string ? +.80 lda ENV.hStr working from our temp string ? beq .81 no... jsr K.FreeMem.A yes, discard.... -.81 ldx K.ExpandStr.BufLen +.81 ldx ENV.BufLen stz K.Buf256,x >LDYAI K.Buf256 jsr K.NewStr.YA bcs .9 - stx K.ExpandStr.hPStr save this as temp string, in case of recurse - ldx K.ExpandStr.bFound Did we expand something ? + stx ENV.hStr save this as temp string, in case of recurse + ldx ENV.bFound Did we expand something ? beq .82 jmp .1 Yes, start over with hPStr -.82 ldx K.ExpandStr.hPStr +.82 ldx ENV.hStr * or exit with Y,A from K.NewStrYA .9 rts *-------------------------------------- -K.ExpandStrValidChar - cmp #'_' +ENV.IsVarChar cmp #'_' beq .8 cmp #'0' @@ -146,27 +145,26 @@ K.ExpandStrValidChar .9 sec rts *-------------------------------------- -K.ExpandStrGetValue - jsr ENV.ExpandSysVar +ENV.GetValue jsr ENV.ExpandSysVar bcc .9 - >LDYAI K.ExpandStr.VarName + >LDYAI ENV.VarName jsr K.GetEnv.YA bcs .9 >STYA ZPPtr3 - jsr ENV.AppendPtr3ToBuf + jsr ENV.AddP3ToBuf .9 rts *-------------------------------------- -K.ExpandStr.BufLen .BS 1 -K.ExpandStr.bNoExp .BS 1 -K.ExpandStr.bInVar .BS 1 -K.ExpandStr.bFound .BS 1 -K.ExpandStr.hPStr .BS 1 -K.ExpandStr.VarLen .BS 1 -K.ExpandStr.VarName .BS 16 +ENV.BufLen .BS 1 +ENV.bNoExp .BS 1 +ENV.bInVar .BS 1 +ENV.bFound .BS 1 +ENV.hStr .BS 1 +ENV.VarLen .BS 1 +ENV.VarName .BS 16 */-------------------------------------- * # PutEnv.YA * ## In: @@ -198,7 +196,7 @@ K.PutEnv.YA >STYA ZPPtr1 NAME=VALUE >LDYAI K.Buf256 >STYA ZPPtr1 - bra K.SetEnvPtr1Ptr2 + bra K.SetEnv.I .9 sec rts @@ -209,11 +207,10 @@ K.PutEnv.YA >STYA ZPPtr1 NAME=VALUE * PUSHW = PTR To Name (PSTR) * ## Out: *\-------------------------------------- -K.SetEnv jsr PullPtr1Ptr2 Ptr1=NAME,Ptr2=VALUE -K.SetEnvPtr1Ptr2 - jsr S.UnsetEnvPtr1 +K.SetEnv jsr PullP1P2 Ptr1=NAME,Ptr2=VALUE +K.SetEnv.I jsr K.UnsetEnv.I - jsr ENV.InitEnvPtr3 ZPPtr3 -> Env + jsr ENV.InitEnvP3 ZPPtr3 -> Env ldy #0 ldx #0 @@ -316,10 +313,10 @@ K.SetEnvPtr1Ptr2 * CS : not found *\-------------------------------------- K.GetEnv.YA >STYA ZPPtr1 - jsr ENV.FindVarPtr1 + jsr ENV.FindVarP1 bcs .9 - jsr ENV.NextEnvPtr3 Skip NAME + jsr ENV.NextEnvP3 Skip NAME clc just in case ADC in NextEnvPtr1 disturb CC .9 >LDYA ZPPtr3 @@ -330,11 +327,11 @@ K.GetEnv.YA >STYA ZPPtr1 * Y,A = PTR To Name (PSTR) * ## Out: *\-------------------------------------- -K.UnsetEnv.YA >STYA ZPPtr1 Store VAR Name -S.UnsetEnvPtr1 jsr ENV.FindVarPtr1 +K.UnsetEnv.YA >STYA ZPPtr1 Store VAR Name +K.UnsetEnv.I jsr ENV.FindVarP1 bcs .8 not found, quit - jsr ENV.DiscardVarPtr3 Ptr3 -> ENVNAME + jsr ENV.DelVarP3 Ptr3 -> ENVNAME .8 clc rts @@ -343,18 +340,18 @@ S.UnsetEnvPtr1 jsr ENV.FindVarPtr1 *-------------------------------------- * ENV.ExpandSysVar * In: -* K.ExpandStr.VarName +* ENV.VarLen,ENV.VarName * Out: * CC: Found * Append VALUE to K.Buf256 * CS: Not Found *-------------------------------------- ENV.ExpandSysVar - ldx K.ExpandStr.VarLen + ldx ENV.VarLen cpx #1 is name 1 char? bne .9 - lda K.ExpandStr.VarName + lda ENV.VarName cmp #'0'-1 $0...$9 ?? bcc .1 cmp #'9'+1 @@ -365,7 +362,7 @@ ENV.ExpandSysVar bcs .8 Arg# is undefined, do not append anything >STYA ZPPtr3 - jmp ENV.AppendPtr3ToBuf + jmp ENV.AddP3ToBuf .8 clc rts @@ -401,9 +398,9 @@ ENV.SysVarsArgs lda #1 .1 lda (ZPPtr3) beq .8 - jsr ENV.AppendPtr3ToBuf + jsr ENV.AddP3ToBuf -.2 jsr ENV.NextEnvPtr3 +.2 jsr ENV.NextEnvP3 lda (ZPPtr3) beq .8 @@ -411,16 +408,15 @@ ENV.SysVarsArgs lda #1 beq .8 make sure not overlapping buf 256 lda #' ' sta K.Buf256,x - stx K.ExpandStr.BufLen + stx ENV.BufLen - jsr ENV.AppendPtr3ToBuf + jsr ENV.AddP3ToBuf bra .2 .8 clc rts *-------------------------------------- -ENV.AppendPtr3ToBuf - ldx K.ExpandStr.BufLen +ENV.AddP3ToBuf ldx ENV.BufLen ldy #$ff dex @@ -430,7 +426,7 @@ ENV.AppendPtr3ToBuf sta K.Buf256,x bne .1 - stx K.ExpandStr.BufLen + stx ENV.BufLen rts *-------------------------------------- ENV.SysVarsArgC ldy #S.PS.ARGC @@ -466,7 +462,7 @@ ENV.SysVarsCPID ldy #S.PS.CPID cld - ldx K.ExpandStr.BufLen + ldx ENV.BufLen lda .3+1 beq .4 sta K.Buf256,x @@ -489,11 +485,11 @@ ENV.SysVarsCPID ldy #S.PS.CPID sta K.Buf256,x inx - stx K.ExpandStr.BufLen + stx ENV.BufLen clc rts *-------------------------------------- -* ENV.FindVarPtr1 +* ENV.FindVarP1 * In: * ZPPtr1 -> NAME * Out: @@ -504,7 +500,7 @@ ENV.SysVarsCPID ldy #S.PS.CPID * ZPPtr1 -> NAME * ZPPtr3 -> PTR to Ending 0 *-------------------------------------- -ENV.FindVarPtr1 jsr ENV.InitEnvPtr3 Store ENV +ENV.FindVarP1 jsr ENV.InitEnvP3 Store ENV .1 lda (ZPPtr3) beq .9 end of ENV @@ -524,22 +520,21 @@ ENV.FindVarPtr1 jsr ENV.InitEnvPtr3 Store ENV .8 clc rts -.3 jsr ENV.NextEnvPtr3 Skip NAME - jsr ENV.NextEnvPtr3 Skip VALUE +.3 jsr ENV.NextEnvP3 Skip NAME + jsr ENV.NextEnvP3 Skip VALUE bra .1 .9 sec rts *-------------------------------------- -* ENV.DiscardVarPtr3 +* ENV.DelVarP3 * In: * ZPPtr3 -> ENV.NAME to Discard *-------------------------------------- -ENV.DiscardVarPtr3 - >LDYA ZPPtr3 save actual Ptr +ENV.DelVarP3 >LDYA ZPPtr3 save actual Ptr >STYA ZPPtr4 - jsr ENV.NextEnvPtr3 Skip current NAME.... - jsr ENV.NextEnvPtr3 Skip current VALUE.... + jsr ENV.NextEnvP3 Skip current NAME.... + jsr ENV.NextEnvP3 Skip current VALUE.... ldy #0 @@ -565,13 +560,13 @@ ENV.DiscardVarPtr3 .8 rts *-------------------------------------- -ENV.InitEnvPtr3 ldy #S.PS.hENV +ENV.InitEnvP3 ldy #S.PS.hENV lda (pPs),y jsr K.GetMemPtr.A >STYA ZPPtr3 Store ENV rts *-------------------------------------- -ENV.NextEnvPtr3 ldy #0 +ENV.NextEnvP3 ldy #0 .1 lda (ZPPtr3),y beq .2 diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index cf8eaa02..b6e2ed9c 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -15,7 +15,7 @@ AUTO 6 K.LoadTxtFile.YA pha >PUSHWI 0 Aux type - >PUSHBI 4 S.FILEINFO.TYPE.TXT + >PUSHBI 4 S.FI.T.TXT >PUSHBI SYS.FOpen.R pla >PUSHYA @@ -34,18 +34,18 @@ K.LoadTxtFile.YA * X = hMem of Loaded File *\-------------------------------------- K.LoadFile clc - ror K.LoadFile.bTXT + ror FIO.bTXT jsr K.FOpen bcs .9 - sta K.LoadFile.hFile + sta FIO.hFile - jsr K.LoadFile.GetSize + jsr FIO.GetSize bcs .99 - >LDYA K.LoadFile.FSize + >LDYA FIO.FSize - bit K.LoadFile.bTXT Add 1 to buffer size for ending 0 + bit FIO.bTXT Add 1 to buffer size for ending 0 bpl .1 iny bne .1 @@ -56,12 +56,12 @@ K.LoadFile clc .1 jsr K.GetMem.YA bcs .99 - >STYA K.LoadFile.Mem + >STYA FIO.Mem stx .8+1 - >PUSHW K.LoadFile.Mem - >PUSHW K.LoadFile.FSize - >PUSHB K.LoadFile.hFile + >PUSHW FIO.Mem + >PUSHW FIO.FSize + >PUSHB FIO.hFile jsr K.FRead bcs .98 @@ -70,15 +70,15 @@ K.LoadFile clc jsr .99 close file - bit K.LoadFile.bTXT + bit FIO.bTXT bpl .6 clc set ending 0 lda .6+1 - adc K.LoadFile.Mem + adc FIO.Mem sta .5+1 lda .7+1 - adc K.LoadFile.Mem+1 + adc FIO.Mem+1 sta .5+2 .5 stz $ffff Self Modified @@ -95,52 +95,51 @@ K.LoadFile clc pla .99 pha - lda K.LoadFile.hFile + lda FIO.hFile jsr K.FClose.A pla sec rts *-------------------------------------- -K.LoadFile.GetSize - stz K.LoadFile.FPos - stz K.LoadFile.FPos+1 - stz K.LoadFile.FPos+2 - stz K.LoadFile.FPos+3 +FIO.GetSize stz FIO.FPos + stz FIO.FPos+1 + stz FIO.FPos+2 + stz FIO.FPos+3 - >PUSHWI K.LoadFile.FPos + >PUSHWI FIO.FPos >PUSHBI SYS.FSeek.END - >PUSHB K.LoadFile.hFile + >PUSHB FIO.hFile jsr K.FSeek bcs .99 - >PUSHWI K.LoadFile.FPos - >PUSHB K.LoadFile.hFile + >PUSHWI FIO.FPos + >PUSHB FIO.hFile jsr K.FTell bcs .99 - lda K.LoadFile.FPos+2 - ora K.LoadFile.FPos+3 + lda FIO.FPos+2 + ora FIO.FPos+3 bne .98 too big! - >LDYA K.LoadFile.FPos - >STYA K.LoadFile.FSize + >LDYA FIO.FPos + >STYA FIO.FSize - stz K.LoadFile.FPos - stz K.LoadFile.FPos+1 + stz FIO.FPos + stz FIO.FPos+1 - >PUSHWI K.LoadFile.FPos + >PUSHWI FIO.FPos >PUSHBI SYS.FSeek.SET - >PUSHB K.LoadFile.hFile + >PUSHB FIO.hFile jmp K.FSeek .98 lda #K.E.FTB .99 rts *-------------------------------------- -K.LoadFile.bTXT .BS 1 -K.LoadFile.hFile .BS 1 -K.LoadFile.FPos .BS 4 -K.LoadFile.Mem .BS 2 -K.LoadFile.FSize .BS 2 +FIO.bTXT .BS 1 +FIO.hFile .BS 1 +FIO.FPos .BS 4 +FIO.Mem .BS 2 +FIO.FSize .BS 2 */-------------------------------------- * # ChTyp * ## In: @@ -154,7 +153,7 @@ K.ChTyp jsr PFT.CheckPathSTK bcs .9 .1 lda #$ff - sta K.MLI.PARAMS+S.FILEINFO.TYPE + sta K.MLI.PARAMS+S.FI.T >MLICALL MLISETFILEINFO .9 rts */-------------------------------------- diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 7d03f08f..6281f68b 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -10,7 +10,7 @@ AUTO 6 * X = SYSfnc.Index * Y,A = free for Inline param *-------------------------------------- - jmp A2osX.SYSCALL1 + jmp GP.SysCall *-------------------------------------- * LIBCALL (AUXLC to AUXLC) * Used by user @@ -19,7 +19,7 @@ AUTO 6 * X = LIBfnc.Index * A = free for Inline param *-------------------------------------- - jmp A2osX.LIBCALL1 + jmp GP.LibCall *-------------------------------------- * MLICALL (AUXLC to MAINLC) * Used by Kernel @@ -27,7 +27,7 @@ AUTO 6 * X = MLI Function * A = Param Count *-------------------------------------- - jmp A2osX.MLICALL1 + jmp GP.MLICall *-------------------------------------- * MLICALL (AUXLC to MAINLC) * Used by Kernel @@ -35,7 +35,7 @@ AUTO 6 * X = MLI Function * A = Param Count *-------------------------------------- - jmp A2osX.ROMCALL1 + jmp GP.ROMCall *-------------------------------------- * BADCALL *-------------------------------------- @@ -47,7 +47,7 @@ AUTO 6 *-------------------------------------- * *** MUST BE REINTRANT *** *-------------------------------------- -A2osX.SYSCALL1 bit K.SYSCALL.BANK,x +GP.SysCall bit K.SYSCALL.BANK,x bpl .8 in $E000, no BNK change sta .7+1 save A (Func Arg) @@ -78,14 +78,14 @@ A2osX.SYSCALL1 bit K.SYSCALL.BANK,x .7 lda #$FF Self Modified .8 jmp (K.SYSCALL.JMP,x) *-------------------------------------- -A2osX.LIBCALL1 pha No need to save X, K.GetMemPtr.A will leave it unmodified +GP.LibCall pha No need to save X, K.GetMemPtr.A will leave it unmodified tya Get LIB hMem in A jsr K.GetMemPtr.A Get LIB Code Segment (MemMgr in $E000, no BNK change) >STYA .1+1 pla .1 jmp $ffff *-------------------------------------- -A2osX.MLICALL1 stx .1 +GP.MLICall stx .1 sta K.MLI.PARAMS jsr GO.ProDOS jsr MLI @@ -94,7 +94,7 @@ A2osX.MLICALL1 stx .1 jsr GO.A2osX rts *-------------------------------------- -A2osX.ROMCALL1 phx +GP.ROMCall phx ldx $D000 stx .8+1 @@ -117,15 +117,15 @@ A2osX.ROMCALL1 phx .DA $E82E NORMALIZE.FAC.2 (L->F) .DA $E941 LOG .DA $E97F FMULT - .DA $E9E3 LOAD.ARG.FROM.YA + .DA $E9E7 LOAD.ARG.FROM.INDEX .DA $EA66 FDIV - .DA $EAF9 LOAD.FAC.FROM.YA + .DA $EAFD LOAD.FAC.FROM.INDEX - .DA $EB27 SETFOR + .DA $EB27 SETFOR GETFAC) .DA $EBB2 FCOMP .DA $EBF2 QINT (F->L) - .DA $EC4A FIN - .DA $ED36 FOUT.1 + .DA $EC4A FIN StrToF + .DA $ED36 FOUT.1 PrintF .DA $EE8D SQR .DA $EE97 FPWRT .DA $EF09 EXP @@ -216,7 +216,7 @@ GO.EXIT.JMP jmp $FFFF Self Modified * must exit with RTS * - CC if IRQ cleared, CS if NOT *-------------------------------------- -IrqHandler cld +GP.IrqH cld lda RDALTZP sta .2+1 @@ -228,7 +228,7 @@ IrqHandler cld ldx A2osX.SaveSX txs -.1 jsr K.IrqHandler +.1 jsr K.IrqH .2 lda #$ff get back ZP status when called bmi .3 we were coming from AuxZP/LC @@ -247,6 +247,12 @@ IrqHandler cld *BrkHandler bra * *-------------------------------------- .BS $BEE0-* +*-------------------------------------- +* $BEE0->$BEEF : Public Variables +*-------------------------------------- + .BS 16 +*-------------------------------------- +* $BEF0->$BEFF : Kernel Config Block *-------------------------------------- .DA #6 60hz .BS 7 diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 77bc2ed3..66a1212c 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -214,8 +214,8 @@ CPU.Init >LDAXI MSG.CPU jsr PrintFAX lda MACHID - and #MACHID.TYPE - cmp #MACHID.TYPE.IIc + and #MACHID.T + cmp #MACHID.T.IIc beq CPU.Init.Z80 >LDAXI MSG.CPU.SPEED @@ -485,10 +485,10 @@ IrqMgrInit >LDYAI MSG.IRQ sei >LDYA $FFFE >STYA IRQ.OldFFFE - >LDYAI K.IrqHandlerAuxLC + >LDYAI K.IrqHAuxLC >STYA $FFFE - >LDYAI IrqHandler + >LDYAI GP.IrqH >STYA K.MLI.PARAMS+2 >MLICALL MLIALLOCIRQ bcs .9 @@ -504,8 +504,8 @@ IrqMgrInit >LDYAI MSG.IRQ lda #'v' sta SYS.BASL0+37 - >LDYAI K.IrqHandler.VBL - >STYA K.IrqHandler+1 + >LDYAI K.IrqH.VBL + >STYA K.IrqH+1 >LDYAI MSG.IRQ.VBL >SYSCALL PrintF.YA @@ -518,8 +518,8 @@ IrqMgrInit >LDYAI MSG.IRQ lda #'c' sta SYS.BASL0+37 - >LDYAI K.IrqHandler.TClock - >STYA K.IrqHandler+1 + >LDYAI K.IrqH.TClock + >STYA K.IrqH+1 >LDYAI MSG.IRQ.CLOCK >SYSCALL PrintF.YA @@ -581,25 +581,25 @@ IrqMgrInit.Mouse .4 lda ZPPtr1+1 - sta K.IrqMgrVBL.MSM+2 - sta K.IrqMgrVBL.MRM+2 + sta IRQ.VBL.MSM+2 + sta IRQ.VBL.MRM+2 and #$0f - sta K.IrqMgrVBL.0n + sta IRQ.VBL.0n asl asl asl asl - sta K.IrqMgrVBL.n0 + sta IRQ.VBL.n0 ldy #$13 SERVEMOUSE lda (ZPPtr1),y - sta K.IrqMgrVBL.MSM+1 + sta IRQ.VBL.MSM+1 ldy #$14 READMOUSE lda (ZPPtr1),y - sta K.IrqMgrVBL.MRM+1 + sta IRQ.VBL.MRM+1 ldy #$12 SETMOUSE @@ -610,7 +610,7 @@ IrqMgrInit.Mouse ldx ZPPtr1+1 DEVSLOTCn stx .7+2 - ldy K.IrqMgrVBL.n0 + ldy IRQ.VBL.n0 php sei @@ -665,7 +665,7 @@ IrqMgrInit.TClock asl asl tay get $n0 - sty K.IrqMgrVBL.n0 + sty IRQ.VBL.n0 lda #$40 Enable interrupt sta $c080,y diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index aed37f9a..889ff629 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -13,8 +13,7 @@ AUTO 6 * if A2osX Drivers cannot clear IRQ, * must call regular System Handler *-------------------------------------- -K.IrqHandlerAuxLC - sta .12+1 +K.IrqHAuxLC sta .12+1 pla pha and #$10 BRK? @@ -30,7 +29,7 @@ K.IrqHandlerAuxLC pha sta CLRREADAUX Make sure we can access Dev.Table - jsr K.IrqHandler + jsr K.IrqH pla Must keep Carry bpl .1 @@ -56,17 +55,16 @@ K.IrqHandlerAuxLC .8 jmp (IRQ.OldFFFE) *-------------------------------------- * Called by : -* Kernel IrqHandlerAuxLC -* ProDOS IRQ Manager (GP) +* - Kernel K.IrqHAuxLC +* - ProDOS IRQ Manager (GP) *-------------------------------------- -K.IrqHandler jmp K.IrqHandler.DEV Modified by INIT +K.IrqH jmp K.IrqH.DEV Modified by INIT *-------------------------------------- -K.IrqHandler.TCLOCK - ldy K.IrqMgrVBL.n0 +K.IrqH.TCLOCK ldy IRQ.VBL.n0 lda $c080,y and #$20 - beq K.IrqHandler.DEV + beq K.IrqH.DEV lda $c080,y lda $c088,y @@ -80,18 +78,17 @@ K.IrqHandler.TCLOCK clc rts *-------------------------------------- -K.IrqHandler.VBL - jsr K.IrqMgrVBL.MSM SERVEMOUSE - bcs K.IrqHandler.DEV Not From Mouse +K.IrqH.VBL jsr IRQ.VBL.MSM SERVEMOUSE + bcs K.IrqH.DEV Not From Mouse - ldx K.IrqMgrVBL.0n + ldx IRQ.VBL.0n lda $778,x and #$08 IRQ was caused by VBL ? - beq K.IrqHandler.DEV + beq K.IrqH.DEV - ldx K.IrqMgrVBL.MRM+2 $Cn - ldy K.IrqMgrVBL.n0 - jsr K.IrqMgrVBL.MRM READMOUSE + ldx IRQ.VBL.MRM+2 $Cn + ldy IRQ.VBL.n0 + jsr IRQ.VBL.MRM READMOUSE inc CORE.IRQTick @@ -102,8 +99,7 @@ K.IrqHandler.VBL clc rts *-------------------------------------- -K.IrqHandler.DEV - >LDYAI Dev.Table +K.IrqH.DEV >LDYAI Dev.Table >STYA $fe ldx DevMgr.Count @@ -114,7 +110,7 @@ K.IrqHandler.DEV beq .6 phx - jsr K.IrqHandlerJMP + jsr K.IrqHJMP plx bcc .8 CC, IRQ cleared by device @@ -136,12 +132,12 @@ IRQ.IntNum .BS 1 *-------------------------------------- IRQ.OldFFFE .BS 2 *-------------------------------------- -K.IrqMgrVBL.n0 .BS 1 -K.IrqMgrVBL.0n .BS 1 -K.IrqMgrVBL.MSM jmp $0000 -K.IrqMgrVBL.MRM jmp $0000 +IRQ.VBL.n0 .BS 1 +IRQ.VBL.0n .BS 1 +IRQ.VBL.MSM jmp $0000 +IRQ.VBL.MRM jmp $0000 *-------------------------------------- -K.IrqHandlerJMP ldx #DEVMGR.IRQ +K.IrqHJMP ldx #DEVMGR.IRQ jmp ($fe) *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index cd0fb2b1..50a2f1ee 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -109,7 +109,7 @@ K.SYSCALL.JMP .DA 0 $00 .DA K.GetPSStatus.A .DA K.GetPSList.YA - .DA * $B0 + .DA 0 $B0 .DA K.GetArg.A .DA K.ExpandStr.YA .DA 0 @@ -117,28 +117,44 @@ K.SYSCALL.JMP .DA 0 $00 .DA K.SetEnv .DA K.GetEnv.YA .DA K.UnsetEnv.YA + + .DA K.FAdd $C0 + .DA K.FSub + .DA K.FMult + .DA K.FDiv + .DA K.FPwr + .DA 0 + .DA 0 + .DA 0 + + .DA K.Log $D0 + .DA K.Sqr + .DA K.Exp + .DA K.Cos + .DA K.Sin + .DA K.Tan + .DA K.ATan + .DA 0 *-------------------------------------- * $E000 *-------------------------------------- - .DA K.GetMem $C0 + .DA K.GetMem $E0 .DA K.FreeMem.A .DA K.GetMemPtr.A .DA K.GetMemByID.A .DA K.GetMem.YA .DA K.GetMem0.YA - .DA K.SetLoMem .DA K.NewStr.YA + .DA K.GetMemStat.YA *-------------------------------------- - .DA 0 $D0 + .DA K.Sleep $F0 + .DA 0 .DA 0 .DA 0 .DA 0 .DA K.LoadStkObj.YA .DA K.GetStkObj.A .DA K.FreeStkObj.A - .DA K.GetMemStat.YA -*-------------------------------------- - .DA K.Sleep $E0 *-------------------------------------- * LO Byte : * #RRAMWRAMBNK1,#RRAMWRAMBNK2 @@ -348,8 +364,42 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00 .DA #$80 .DA #RRAMWRAMBNK2 .DA #$80 + + .DA #RRAMWRAMBNK2 $C0 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + + .DA #RRAMWRAMBNK2 $D0 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 + .DA #RRAMWRAMBNK2 + .DA #$80 *-------------------------------------- - .DA 0 $C0 : MemMgr at $E000 + .DA 0 $E0 : MemMgr at $E000 .DA 0 .DA 0 .DA 0 @@ -367,7 +417,7 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00 .DA 0 .DA 0 *-------------------------------------- - .DA 0 $D0 + .DA 0 $F0 .DA 0 .DA 0 .DA 0 @@ -385,12 +435,9 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00 .DA 0 .DA 0 *-------------------------------------- - .DA 0 $E0 -*-------------------------------------- -PullPtr1Ptr2Ptr3 - sec +PullP1P2P3 sec .HS 90 bcc -PullPtr1Ptr2 clc +PullP1P2 clc >PULLW ZPPtr1 >PULLW ZPPtr2 bcc .9 diff --git a/SYS/KERNEL.S.MATH.txt b/SYS/KERNEL.S.MATH.txt index 623f3648..88307c2a 100644 --- a/SYS/KERNEL.S.MATH.txt +++ b/SYS/KERNEL.S.MATH.txt @@ -4,8 +4,8 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* # FAdd,FSub,FMult,FDiv -* Return X+Y,X-Y,X*Y,X/Y +* # FAdd,FSub,FMult,FDiv,FPwr +* Return X+Y, X-Y, X*Y, X/Y, X^Y * ## In: * PUSHW = X (*Float) * PUSHW = Y (*Float) @@ -18,38 +18,52 @@ K.FSub ldx #ROM.FSUB K.FMult ldx #ROM.FMULT .HS 2C BIT ABS K.FDiv ldx #ROM.FDIV - + .HS 2C BIT ABS +K.FPwr ldx #ROM.PWR + >STYA FORPNT phx jsr MATH.PullFAC jsr MATH.PullARG - >PULLW FORPNT - plx - jsr A2osX.ROMCALL - >ROMCALL GETFAC - clc - rts + bra MATH.Go */-------------------------------------- -* # Log,Cos,Sin,Tan,ATan -* Return +* # Log,Sqr,Exp,Cos,Sin,Tan,ATan +* Return Log(x), Sqr(x), E^X, Cos(x), Sin(X), Tan(x), ATan(x) * ## In: * PUSHW = X (*Float) * Y,A = Dest (*Float) *\-------------------------------------- -K.Cos jsr MATH.PullFAC -* >ROMCALL COS -*-------------------------------------- -MATH.PullFAC >PULLA - tay - >PULLA - >ROMCALL SETFAC.AY +K.Log ldx #ROM.LOG + .HS 2C BIT ABS +K.Sqr ldx #ROM.SQR + .HS 2C BIT ABS +K.Exp ldx #ROM.EXP + .HS 2C BIT ABS +K.Cos ldx #ROM.COS + .HS 2C BIT ABS +K.Sin ldx #ROM.SIN + .HS 2C BIT ABS +K.Tan ldx #ROM.TAN + .HS 2C BIT ABS +K.ATan ldx #ROM.ATAN + >STYA FORPNT + phx + jsr MATH.PullFAC + +MATH.Go plx + jsr A2osX.ROMCALL + >ROMCALL GETFAC + clc rts *-------------------------------------- -MATH.PullARG >PULLA - tay - >PULLA - >ROMCALL SETARG.AY + +*-------------------------------------- +MATH.PullFAC >PULLW INDEX + >ROMCALL SETFAC rts *-------------------------------------- +MATH.PullARG >PULLW INDEX + >ROMCALL SETARG + rts *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.MATH diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index bb10ae2d..1bf1a283 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -181,7 +181,7 @@ K.GetMem.I tya * Y,A = Requested size * Out: *-------------------------------------- -Mem.AddSlot >STYA ZPMemMgrTmp1 save req size +Mem.AddSlot >STYA ZPMemMgrTmp1 save req size ldx Mem.LastSlot inx beq .99 > 255 ERR:OUT OF SLOT @@ -238,7 +238,7 @@ Mem.NextSlot lda ZPMemMgrSPtr inc ZPMemMgrSPtr+1 .8 rts *-------------------------------------- -Mem.Init0 ldy #S.MEM.PTR +Mem.Init0 ldy #S.MEM.PTR lda (ZPMemMgrSPtr),y ZPMemMgrSPtr already set sta .2+1 iny @@ -434,10 +434,6 @@ K.GetMemByID.A sta ZPMemMgrSPtr * sty ZPMemMgrSPtr * sta ZPMemMgrSPtr+1 * rts -*-------------------------------------- -K.SetLoMem - clc - rts */-------------------------------------- * # NewStr.YA * Create a new copy of this C-String diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 4687cbf7..5242025d 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -24,15 +24,15 @@ K.CreatePSNewEnv.YA .HS 2C bit abs K.CreatePS.YA ldx #0 - stx K.CreatePS.Flags - >STYA K.CreatePS.CmdLine + stx PS.Flags + >STYA PS.CL jsr PS.CreateChild Child S.PS at ZPPtr3 bcs .9 sta .8+1 - >LDYA K.CreatePS.CmdLine + >LDYA PS.CL jsr PS.CmdLine2Args Y,A = Args[0] bcs .9 @@ -49,8 +49,8 @@ K.CreatePS.YA .8 lda #$ff self modified .9 rts *-------------------------------------- -K.CreatePS.Flags .BS 1 -K.CreatePS.CmdLine .BS 2 +PS.Flags .BS 1 +PS.CL .BS 2 *-------------------------------------- * PS.CreateChild * in : @@ -103,14 +103,14 @@ PS.CreateChild ldx #0 plx sta PS.Table.hMem,x - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership ldy #S.PS.PID lda CORE.LastPSID sta (ZPPtr3),y lda #S.PS.F.DUPENV - bit K.CreatePS.Flags need to create ENV & Prefix ? + bit PS.Flags need to create ENV & Prefix ? beq .6 no... sta (ZPPtr3) Mark this PS with DUPENV flag @@ -121,7 +121,7 @@ PS.CreateChild ldx #0 jsr K.NewStr.YA bcs .9 - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership txa ldy #S.PS.hPREFIX @@ -159,7 +159,7 @@ PS.CreateChild ldx #0 sta (ZPPtr3),y lda #S.PS.F.HOLD - bit K.CreatePS.Flags + bit PS.Flags beq .82 ora (pPs) @@ -206,9 +206,9 @@ PS.CmdLine2Args >STYA ZPPtr1 ldy #S.PS.hARGS sta (ZPPtr3),y - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership - stz PS.CmdLine2Args.bInQuote + stz PS.bInQuote ldy #$ff ldx #0 Arg Count @@ -219,15 +219,15 @@ PS.CmdLine2Args >STYA ZPPtr1 cmp #'"' found a quote ? bne .5 - lda PS.CmdLine2Args.bInQuote + lda PS.bInQuote eor #$ff - sta PS.CmdLine2Args.bInQuote + sta PS.bInQuote bra .4 .5 cmp #' ' bne .6 - bit PS.CmdLine2Args.bInQuote + bit PS.bInQuote bmi .6 inx Found one arg !!! @@ -258,8 +258,7 @@ PS.CmdLine2Args >STYA ZPPtr1 clc .9 rts -PS.CmdLine2Args.bInQuote - .BS 1 +PS.bInQuote .BS 1 *-------------------------------------- PS.Init jsr BIN.Load.YA Y,A=filename full path bcs .9 @@ -277,7 +276,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path sta (ZPPtr3),y save CS hMem in S.PS jsr K.GetMemByID.A - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership ldy #H.BIN.EXE.DS.SIZE+1 lda (ZPPtr4),y Load DS.SIZE HI @@ -304,7 +303,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path ldy #S.PS.hDS sta (ZPPtr3),y save DS hMem in S.PS - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership .2 ldy #H.BIN.EXE.SS.SIZE lda (ZPPtr4),y Load SS.SIZE @@ -330,7 +329,7 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path ldy #S.PS.hSS sta (ZPPtr3),y save SS hMem in S.PS - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership clc .9 rts @@ -350,7 +349,7 @@ PS.DupEnv.A jsr K.GetMemPtr.A >STYA ZPPtr2 - jsr PS.SetMemOwnership Set Ownership + jsr PS.SetMemOwner Set Ownership ldy #0 @@ -378,8 +377,7 @@ PS.DupEnv.A jsr K.GetMemPtr.A clc .9 rts *-------------------------------------- -PS.SetMemOwnership - lda CORE.LastPSID +PS.SetMemOwner lda CORE.LastPSID ldy #S.MEM.OWNERPID sta (ZPMEMMGR),y rts diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index 74e3f69f..7f694f21 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -27,14 +27,14 @@ K.Stat jsr PFT.CheckPathSTK >MLICALL MLIGETFILEINFO bcs .9 - ldx K.MLI.PARAMS+S.FILEINFO.ACCESS + ldx K.MLI.PARAMS+S.FI.A lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO - cpx #S.FILEINFO.ACCESS.FULL + cpx #S.FI.A.FULL beq .2 lda #S.STAT.MODE.XO+S.STAT.MODE.RO - cpx #S.FILEINFO.ACCESS.R + cpx #S.FI.A.R beq .2 lda #0 @@ -57,13 +57,13 @@ K.Stat jsr PFT.CheckPathSTK iny - lda K.MLI.PARAMS+S.FILEINFO.BLOCKSUSED + lda K.MLI.PARAMS+S.FI.UBLKS asl jsr K.Stat.StoreY iny - lda K.MLI.PARAMS+S.FILEINFO.BLOCKSUSED+1 + lda K.MLI.PARAMS+S.FI.UBLKS+1 rol jsr K.Stat.StoreY @@ -79,9 +79,9 @@ K.Stat jsr PFT.CheckPathSTK K.Stat.StoreY sta $ffff,y rts *-------------------------------------- -K.Stat.SRC .DA #S.FILEINFO.TYPE - .DA #S.FILEINFO.AUXTYPE,#S.FILEINFO.AUXTYPE+1 - .DA #S.FILEINFO.BLOCKSUSED,#S.FILEINFO.BLOCKSUSED+1 +K.Stat.SRC .DA #S.FI.T + .DA #S.FI.AUXTYPE,#S.FI.AUXTYPE+1 + .DA #S.FI.UBLKS,#S.FI.UBLKS+1 K.Stat.DST .DA #S.STAT.P.TYPE .DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1 .DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1 @@ -96,12 +96,12 @@ K.Stat.DST .DA #S.STAT.P.TYPE *\------------------------------------- K.MKDir.YA jsr PFT.CheckPathYA jsr STDIO.SetMLIPathYA - lda #S.FILEINFO.ACCESS.FULL - sta K.MLI.PARAMS+S.FILEINFO.ACCESS - lda #S.FILEINFO.TYPE.DIR - sta K.MLI.PARAMS+S.FILEINFO.TYPE - lda #S.FILEINFO.STORETYPE.DIR - sta K.MLI.PARAMS+S.FILEINFO.STORETYPE + lda #S.FI.A.FULL + sta K.MLI.PARAMS+S.FI.A + lda #S.FI.T.DIR + sta K.MLI.PARAMS+S.FI.T + lda #S.FI.ST.DIR + sta K.MLI.PARAMS+S.FI.ST * jsr DATETIME diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 5b059996..d6077e53 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -255,13 +255,13 @@ K.FOpen jsr PFT.CheckPathSTK bit K.FOpen.MODE Create if not exists ? bpl K.FOpen.9 No, return MLI error - lda #S.FILEINFO.ACCESS.FULL Yes, Create... + lda #S.FI.A.FULL Yes, Create... sta K.MLI.PARAMS+3 Access lda K.FOpen.TYPE sta K.MLI.PARAMS+4 File type >LDYA K.FOpen.AUXTYPE >STYA K.MLI.PARAMS+5 Aux type - lda #S.FILEINFO.STORETYPE.STD + lda #S.FI.ST.STD sta K.MLI.PARAMS+7 ldx #3 @@ -621,7 +621,7 @@ K.Rename jsr PFT.CheckPathSTK * PUSHW PSTR to scan (ex: "192.168.1.5") * ## Out: *\-------------------------------------- -K.SScanF jsr PullPtr1Ptr2Ptr3 +K.SScanF jsr PullP1P2P3 ldy #0 Y = PTR in pattern @@ -940,10 +940,8 @@ PrintF.U.1 bcc .8 unsigned, nothing to check PrintF.E sec Force "E+12" .HS 90 BCC PrintF.F clc - >PULLA - tay - >PULLA - >ROMCALL SETFAC.AY + >PULLW INDEX + >ROMCALL SETFAC ldy #3 In order not to trash A2osX.SaveSM,A2osX.SaveSX >ROMCALL FOUT diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index f48032e9..fd16320b 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -60,7 +60,7 @@ K.StrToL sec Signed * ## Out: *\-------------------------------------- K.StrToUL clc Unsigned - jsr PullPtr1Ptr2Ptr3 + jsr PullP1P2P3 >PULLA Base jsr K.AToL.I @@ -83,7 +83,7 @@ K.StrToUL.rts rts * PUSHW PTR to target buffer DWORD * ## Out: *\-------------------------------------- -K.AToL jsr PullPtr1Ptr2 C-String in Ptr2, Dst buffer in Ptr1 +K.AToL jsr PullP1P2 C-String in Ptr2, Dst buffer in Ptr1 lda #10 base 10 sec signed diff --git a/SYS/KERNEL.S.STRING.txt b/SYS/KERNEL.S.STRING.txt index e28f15dd..011c8315 100644 --- a/SYS/KERNEL.S.STRING.txt +++ b/SYS/KERNEL.S.STRING.txt @@ -35,7 +35,7 @@ K.StrLen.YA >STYA ZPPtr1 * ## Out: * DST = DST+SRC *\-------------------------------------- -K.StrCat jsr PullPtr1Ptr2 +K.StrCat jsr PullP1P2 .1 lda (ZPPtr1) beq K.StrCpy.I @@ -53,7 +53,7 @@ K.StrCat jsr PullPtr1Ptr2 * ## Out: * DST = SRC *\-------------------------------------- -K.StrCpy jsr PullPtr1Ptr2 +K.StrCpy jsr PullP1P2 K.StrCpy.I ldy #0 @@ -77,7 +77,7 @@ K.StrCpy.I ldy #0 * CC : match * CS : no match *\-------------------------------------- -K.StrMatch jsr PullPtr1Ptr2 +K.StrMatch jsr PullP1P2 lda (ZPPtr2) Get pattern 1st byte beq .8 Match always if empty diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index 36e191ca..eaa98fe7 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -30,7 +30,7 @@ K.Time.YA >STYA ZPPtr2 * PUSHW = Dst PTR To S.TIME * PUSHW = Src PTR to ProDOS DATE/TIME (DWORD) *\-------------------------------------- -K.PTime2Time jsr PullPtr1Ptr2 +K.PTime2Time jsr PullP1P2 TIME.PTime2TimeP1P2 ldy #1 lda (ZPPtr1),y Get Year @@ -167,7 +167,7 @@ K.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7) * PUSHW = Dst PTR To S.TIME * PUSHW = Src CTIME DWORD *\-------------------------------------- -K.CTime2Time jsr PullPtr1Ptr2 +K.CTime2Time jsr PullP1P2 ldy #3 @@ -402,7 +402,7 @@ K.CTime.Year .BS 1 * ## Out: * none. always succeed. *\-------------------------------------- -K.StrFTime jsr PullPtr1Ptr2Ptr3 +K.StrFTime jsr PullP1P2P3 ldy #0 diff --git a/TEST.S.txt b/TEST.S.txt index afcd7c1b..c4ff84c4 100644 --- a/TEST.S.txt +++ b/TEST.S.txt @@ -35,9 +35,10 @@ L.FLOAT2 .DA FLOAT2 L.FLOAT3 .DA FLOAT3 L.FLOAT4 .DA FLOAT4 L.FLOAT5 .DA FLOAT5 -L.MSG .DA MSG L.CONST1 .DA CONST1 L.CONST2 .DA CONST2 +L.MSG1 .DA MSG1 +L.MSG2 .DA MSG2 .DA 0 *-------------------------------------- CS.INIT clc @@ -46,32 +47,36 @@ CS.INIT clc CS.RUN >PUSHEA.G ENDPTR >PUSHW L.CONST2 >PUSHEA.G MYFLOAT2 - >SYSCALL StrToF - >PUSHEA.G MYFLOAT2 - >PUSHEA.G ENDPTR >PUSHW L.CONST1 >PUSHEA.G MYFLOAT1 - >SYSCALL StrToF + >PUSHEA.G MYFLOAT2 >PUSHEA.G MYFLOAT1 - >PUSHW L.FLOAT5 >PUSHW L.FLOAT4 >PUSHW L.FLOAT3 >PUSHW L.FLOAT2 >PUSHW L.FLOAT1 - >LDYA L.MSG + >LDYA L.MSG1 + >SYSCALL PrintF.YA + >PUSHEA.G MYFLOAT1 + >PUSHEA.G MYFLOAT2 + >LEA.G MYFLOAT3 + >SYSCALL FSub + + >PUSHEA.G MYFLOAT3 + >LDYA L.MSG2 >SYSCALL PrintF.YA lda #0 sec -.9 rts + rts *-------------------------------------- CS.DOEVENT sec rts @@ -80,20 +85,22 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG >CSTR "PrintF:%e,%e,%e,%e,%e\r\nStrToF:%e,%e\r\n" +MSG1 >CSTR "PrintF:%e, %e, %e\r\n%e, %e\r\nStrToF:%e, %e\r\n" FLOAT1 .HS 9B3EBC1FFD 99,999,999.9 FLOAT2 .HS 9E6E6B27FD 999,999,999 FLOAT3 .HS 9E6E6B2800 1,000,000,000 FLOAT4 .HS 8100000000 1 FLOAT5 .HS 9080000000 -32768 CONST1 >CSTR "3.141592653" -CONST2 >CSTR "-12.345678E-17" +CONST2 >CSTR "2" +MSG2 >CSTR "PI/2=%e\r\n" *-------------------------------------- .DUMMY .OR 0 DS.START MYFLOAT1 .BS 5 MYFLOAT2 .BS 5 +MYFLOAT3 .BS 5 ENDPTR .BS 2 DS.END .ED