diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4e9059da..76f09792 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 4b56db1c..0f024fff 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 1cef706d..ef0cb563 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -284,6 +284,9 @@ S.MSTAT .EQ 24 * BLK : ROM Entry point Cn($Cnff) * PRT : ROM Entry point Cn($Cnff)+3 *-------------------------------------- +DEVID.NULL .EQ 0 +DEVID.SYS .EQ 2 +*-------------------------------------- IOCTL.STATUS .EQ 0 X,Y = byte count returned IOCTL.READBLOCK .EQ 2 IOCTL.WRITEBLOCK .EQ 4 diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index a0adb27b..210ae981 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -443,7 +443,7 @@ BIN.InsDrv ldy #H.BIN.DRV.CODE.O .10 inc DevMgr.Count - >SYSCALL GetDevByID.A + >SYSCALL GetDevByID >STYA ZPPtr2 setup Ptr2 to dest HEADER ldy #H.BIN.DRV.HEADER.O diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 9abd6a65..3a204707 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -525,7 +525,7 @@ CORE.PSResume sei DevMgr.Stat .DA DevMgr.FreeMem DevMgr.Free .DA DevMgr.FreeMem .DA DevMgr.HiMem -DevMgr.Count .DA #2 NUL,SYS +DevMgr.Count .DA 0 *-------------------------------------- CORE.VBLState .BS 1 CORE.IRQMode .BS 1 diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 3081b24c..0350b40f 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -75,10 +75,10 @@ K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq * **Out:** * Y,A = S.DSTAT *\-------------------------------------- -K.DevClose ldx #DEVMGR.CLOSE +K.DevClose ldx #IOCTL.CLOSE .HS 2C BIT ABS -K.GetDevStatus ldx #DEVMGR.STATUS - jsr K.GetDevByID.A +K.GetDevStatus ldx #IOCTL.STATUS + jsr K.GetDevByID bcs K.IOCTL.9 >STYA pDev @@ -103,7 +103,7 @@ K.IOCTL tax op tya id - jsr K.GetDevByID.A + jsr K.GetDevByID bcs K.IOCTL.9 >STYA pDev diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index 0ce635fd..7de63b02 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -78,7 +78,7 @@ K.ReadDir.EL .BS 1 K.ReadDir.EPB .BS 1 K.ReadDir.EC .BS 2 *-------------------------------------- -K.ReadDir.A jsr PFT.CheckNodeA +K.ReadDir jsr PFT.CheckNodeA sta K.ReadDir.hDir jsr K.GetMemPtr >STYA ZPPtr1 diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 98b0d6f3..1225a07f 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -228,9 +228,9 @@ DRV.SmartPort cld *-------------------------------------- DRV.SmartPort.S jsr DRV.SmartPort.GetDev >LDYAI K.S.DSTAT - >STYA K.S.IOCTL+2 - lda #3 - sta K.S.IOCTL+4 + >STYA K.S.IOCTL+S.IOCTL.BUFPTR + lda #S.IOCTL.STATCODE.GETDIB + sta K.S.IOCTL+S.IOCTL.CTRLCODE jsr DRV.SmartPort.Go bcs .9 >LDYAI K.S.DSTAT @@ -273,10 +273,7 @@ DRV.SmartPort.GetDev sta DRV.SmartPort.Go.Cmd tax lda DRV.SmartPort.Cnt,x - sta K.S.IOCTL - ldy #S.DEV.DEVID - lda (pDev),y - sta K.S.IOCTL+1 + sta K.S.IOCTL+S.IOCTL.CNT rts DRV.SmartPort.Cnt .HS 03030301030101010404 diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 5159881c..c6ea32a4 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -103,13 +103,13 @@ K.ExpandStr stz .88+1 Reset Intermediate string... .80 lda .88+1 working from our temp string ? beq .81 no... - jsr K.FreeMem.A yes, discard.... + jsr K.FreeMem yes, discard.... .81 ldx ENV.BufLen stz K.Buf256,x >LDYAI K.Buf256 - jsr K.NewStr.YA + jsr K.NewStr bcs .9 stx .88+1 save this as temp string, in case of recurse @@ -300,7 +300,7 @@ ENV.GetValue jsr ENV.ExpandSysVar bcc K.UnsetEnv.I.9 >LDYAI ENV.VarName - jsr K.GetEnv.YA + jsr K.GetEnv bcs K.UnsetEnv.I.9 *-------------------------------------- ENV.AddYAToBuf >STYA ZPPtr3 @@ -337,7 +337,7 @@ ENV.ExpandSysVar and #$0F - jsr K.GetArg.A + jsr K.GetArg bcs K.UnsetEnv.I.8 Arg# is undefined, do not append anything jmp ENV.AddYAToBuf @@ -367,7 +367,7 @@ ENV.SysVarsJmp .DA ENV.SysVarsArgs .DA ENV.SysVarsCPID *-------------------------------------- ENV.SysVarsArgs lda #1 - jsr K.GetArg.A + jsr K.GetArg bcs .8 >STYA ZPPtr3 diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index eee9577f..75963a63 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -461,9 +461,7 @@ MemMgrInit >LDYAI Mem.MHiMem rts *-------------------------------------- -PS0Init sta SET80STORE - - ldx #0 +PS0Init ldx #0 ldy #0 @@ -476,12 +474,9 @@ PS0Init sta SET80STORE bcs .10 and #$3F -.10 php - sei - sta SETPAGE2 +.10 sta SETWRITEAUX sta SYS.BASL0,x - sta CLRPAGE2 - plp + sta CLRWRITEAUX iny @@ -502,31 +497,30 @@ PS0Init sta SET80STORE .3 lda #$20 -.4 php - sei - sta SETPAGE2 +.4 sta SETWRITEAUX sta SYS.BASL0,x - sta CLRPAGE2 - plp - + sta CLRWRITEAUX + .5 lda #$20 sta SYS.BASL0,x inx cpx #40 bne .4 - - sta CLR80STORE - + >LDYAI CORE.S.PS0 Select Process 0 (Kernel) >STYA pPs >LDYAI K.STACKTOP >STYA pStack - >LDYAI DEV.SYS - >SYSCALL MkNod Will open SYS - bcs .9 + >LDYAI NODE.NULL + jsr DevMgrInit.AddNode + + >LDYAI NODE.SYS + jsr DevMgrInit.AddNode + + lda #DEVID.SYS ldy #S.PS.hStdIn sta (pPs),y @@ -543,19 +537,19 @@ PS0Init sta SET80STORE *-------------------------------------- DevMgr.SYS.TITLE .AZ "A2osX System Screen" *-------------------------------------- -IOCTL.NULL .DA #S.NODE.T.CDEV +NODE.NULL .DA #S.NODE.T.CDEV .DA #0 HANDLER .DA #0 BUSID - .DA #0 DEVID + .DA #DEVID.NULL .DA DRV.NULL .DA 0 ROMPTR .AZ "NULL" NAME .HS 000000 *-------------------------------------- -IOCTL.SYS .DA #S.NODE.T.CDEV +NODE.SYS .DA #S.NODE.T.CDEV .DA #0 HANDLER .DA #0 BUSID - .DA #1 DEVID + .DA #DEVID.SYS .DA DRV.SYS .DA 0 ROMPTR .AZ "SYS" NAME @@ -812,13 +806,13 @@ DevMgrInit >LDYAI MSG.DEV tax 000DSSS0 lsr 0000DSSS and #$7 - sta IOCTL.BDEV+S.NODE.DEV.BUSID + sta NODE.BDEV+S.NODE.DEV.BUSID lda DEVPTRS,x - sta IOCTL.BDEV+S.NODE.DEV.ROMPTR + sta NODE.BDEV+S.NODE.DEV.ROMPTR lda DEVPTRS+1,x - sta IOCTL.BDEV+S.NODE.DEV.ROMPTR+1 + sta NODE.BDEV+S.NODE.DEV.ROMPTR+1 sta ZPPtr1+1 stz ZPPtr1 @@ -826,7 +820,7 @@ DevMgrInit >LDYAI MSG.DEV plp lda #0 adc #1 Make DevID 1 or 2 - sta IOCTL.BDEV+S.NODE.DEV.DEVID + sta NODE.BDEV+S.NODE.DEV.DEVID lda ZPPtr1+1 @@ -864,11 +858,11 @@ DevMgrInit >LDYAI MSG.DEV lda ZPPtr1 get $Cn and #$f get $0n - cmp IOCTL.BDEV+S.NODE.DEV.DEVID same as SSS ? + cmp NODE.BDEV+S.NODE.DEV.DEVID same as SSS ? beq .51 - inc IOCTL.BDEV+S.NODE.DEV.DEVID Remapped SP devices.... - inc IOCTL.BDEV+S.NODE.DEV.DEVID Add 2 to DEVID (2 & 3) + inc NODE.BDEV+S.NODE.DEV.DEVID Remapped SP devices.... + inc NODE.BDEV+S.NODE.DEV.DEVID Add 2 to DEVID (2 & 3) .51 jsr DevMgrInit.SP lda #A2osX.S.SP @@ -877,7 +871,7 @@ DevMgrInit >LDYAI MSG.DEV .6 jsr DevMgrInit.BLK lda #A2osX.S.BLK -.7 ldx IOCTL.BDEV+S.NODE.DEV.DEVID +.7 ldx NODE.BDEV+S.NODE.DEV.DEVID sta A2osX.S,x .8 dec DevMgrInit.DEVCNT @@ -900,7 +894,7 @@ DevMgrInit.USR >LDYAI DRV.BlkDevice *-------------------------------------- DevMgrInit.BLK ldy #$ff lda (ZPPtr1),y - sta IOCTL.BDEV+S.NODE.DEV.ROMPTR + sta NODE.BDEV+S.NODE.DEV.ROMPTR >LDYAI DRV.BlkDevice jmp DevMgrInit.AddDev @@ -910,11 +904,11 @@ DevMgrInit.SP ldy #$ff clc adc #3 Compute smartport entry point sta .1+1 - sta IOCTL.BDEV+S.NODE.DEV.ROMPTR + sta NODE.BDEV+S.NODE.DEV.ROMPTR lda ZPPtr1+1 sta .1+2 - lda IOCTL.BDEV+S.NODE.DEV.DEVID + lda NODE.BDEV+S.NODE.DEV.DEVID sta SP.DEV.STATUS.DEVID .1 jsr $ffff Self Modified @@ -928,18 +922,25 @@ DevMgrInit.SP ldy #$ff .9 rts *-------------------------------------- DevMgrInit.AddDev - >STYA IOCTL.BDEV+S.NODE.DEV.DRVPTR + >STYA NODE.BDEV+S.NODE.DEV.DRVPTR - lda IOCTL.BDEV+S.NODE.DEV.BUSID + lda NODE.BDEV+S.NODE.DEV.BUSID ora #$30 - sta IOCTL.BDEV+S.NODE.DEV.NAME+1 SnDy + sta NODE.BDEV+S.NODE.DEV.NAME+1 SnDy - lda IOCTL.BDEV+S.NODE.DEV.DEVID + lda NODE.BDEV+S.NODE.DEV.DEVID ora #$30 - sta IOCTL.BDEV+S.NODE.DEV.NAME+3 SxDn + sta NODE.BDEV+S.NODE.DEV.NAME+3 SxDn - >LDYAI IOCTL.BDEV - + >LDYAI NODE.BDEV + +DevMgrInit.AddNode + ldx DevMgr.Count + sta Dev.Table+1,x + tya + sta Dev.Table,x + inc DevMgr.Count + inc DevMgr.Count clc rts @@ -947,7 +948,7 @@ DevMgrInit.AddDev sec rts *-------------------------------------- -IOCTL.BDEV .DA #S.NODE.T.BDEV +NODE.BDEV .DA #S.NODE.T.BDEV .DA #0 HANDLER .DA #0 BUSID .DA #0 DEVID diff --git a/SYS/KERNEL.S.MATH.txt b/SYS/KERNEL.S.MATH.txt index d6d3a246..87c6c0aa 100644 --- a/SYS/KERNEL.S.MATH.txt +++ b/SYS/KERNEL.S.MATH.txt @@ -123,7 +123,7 @@ K.lrintf jsr MATH.PullFAC >PUSHW FAC+1 >PUSHW FAC+3 - + clc rts *-------------------------------------- diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index c6c4eae8..c14c20d4 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -303,7 +303,7 @@ K.FreeMem phy jsr CORE.PSSelect0 Select PS0 for proper I/O devices - jsr DevMgr.SYS.Control + jsr DRV.SYS.Control pla Get PC and sub 2 for calling address sec @@ -586,7 +586,7 @@ K.LoadStkObj >SYSCALL LoadFile stx .8+1 Save MAIN hMem >STYA A2L Save LEN temporarly - jsr K.NewStkObj.YA + jsr K.NewStkObj bcs .9 stx .80+1 >STYA A4L Save Destination Address in AUX @@ -609,7 +609,7 @@ K.LoadStkObj >SYSCALL LoadFile jsr AuxMove .8 lda #$ff SELF MODIFIED - jsr K.FreeMem.A release MAIN memory + jsr K.FreeMem release MAIN memory .80 lda #$ff Returns AUX hMem rts diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index dccd1f3f..bb95ad14 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -81,7 +81,7 @@ PS.CreateChild ldx #0 .4 inc CORE.LastPSID Get a PSID not alredy running beq .4 not = 0 lda CORE.LastPSID - jsr CORE.GetPSByID.A + jsr CORE.GetPSByID bcc .4 plx @@ -113,7 +113,7 @@ PS.CreateChild ldx #0 ldy #S.PS.hPREFIX copy hPREFIX... lda (pPs),y jsr K.GetMemPtr - jsr K.NewStr.YA + jsr K.NewStr bcs .9 jsr PS.SetMemOwner Set Ownership @@ -124,7 +124,7 @@ PS.CreateChild ldx #0 ldy #S.PS.hENV ...and hENV from parent PS lda (pPs),y - jsr PS.DupEnv.A + jsr PS.DupEnv bcs .9 ldy #S.PS.hENV @@ -253,7 +253,7 @@ PS.CmdLine2Args >STYA ZPPtr1 PS.bInQuote .BS 1 *-------------------------------------- -PS.Init jsr BIN.Load.YA Y,A=filename full path +PS.Init jsr BIN.Load Y,A=filename full path bcs .9 >STYA ZPPtr4 save PTR to Code Segment diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index c02c6729..7fb03b6a 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -125,13 +125,13 @@ K.MkNod jsr K.GetDevByName Ptr1=NAME >STYA .1+1 stx .2+1 - ldy #S.DEV.S + ldy #S.NODE.T lda (pDev),y - bit #S.DEV.S.BLOCK + cmp #S.NODE.T.CDEV bne .99 txa Pass DEV.ID to OPEN - ldx #DEVMGR.OPEN + ldx #IOCTL.OPEN .1 jsr $FFFF SELF MODIFIED bcs .9 @@ -145,12 +145,12 @@ K.MkNod jsr K.GetDevByName Ptr1=NAME lda #S.NODE.T.CDEV sta (ZPPtr3),y - ldy #S.NODE.DEV.ID + ldy #S.NODE.DEV.DEVID .2 lda #$ff Self Modified sta (ZPPtr3),y - ldy #S.NODE.DEV.JMP + ldy #S.NODE.DEV.DRVPTR lda .1+1 sta (ZPPtr3),y diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index f8a3863b..4bd3d05c 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -593,7 +593,7 @@ K.GetChar ldy #S.PS.hStdIn * CC = success * A = char *\-------------------------------------- -K.GetC.A jsr K.GetMemPtr +K.GetC jsr K.GetMemPtr >STYA pDev ldy #S.NODE.T @@ -621,8 +621,8 @@ K.GetC.REG >PUSHWI K.IOBuf lda K.Buf256 .9 rts *-------------------------------------- -K.GetC.CDEV ldx #DEVMGR.READ - ldy #S.NODE.DEV.JMP +K.GetC.CDEV ldx #IOCTL.READ + ldy #S.NODE.DEV.DRVPTR lda (pDev),y sta .1+1 iny @@ -943,7 +943,7 @@ K.FClose.DIR ldy #S.NODE.REG.REF jsr K.FreeMem bra K.FClose.8 -K.FClose.CDEV ldy #S.NODE.DEV.ID +K.FClose.CDEV ldy #S.NODE.DEV.DEVID lda (ZPPtr1),y jsr K.DevClose bcs K.FClose.9 diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index 47c57c62..22019417 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -384,7 +384,7 @@ K.realpath >STYA ZPPtr1 bra .5 .89 >LDYAI K.Buf256 - jmp K.NewStr.YA + jmp K.NewStr .90 lda #K.E.SYN sec diff --git a/SYS/KERNEL.S.STRING.txt b/SYS/KERNEL.S.STRING.txt index 76c292a5..b002b8a4 100644 --- a/SYS/KERNEL.S.STRING.txt +++ b/SYS/KERNEL.S.STRING.txt @@ -164,9 +164,9 @@ K.StrMatch jsr MEM.PullP1P2 * **Out:** * Uppercased/lowercased String in Buffer *\-------------------------------------- -K.StrUpr.YA ldx #0 +K.StrUpr ldx #0 .HS 2C bit abs -K.StrLwr.YA ldx #2 +K.StrLwr ldx #2 >STYA ZPPtr1 pha save Y,A to restore them at exit