diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 050e6063..da3f3bfb 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 32c9789a..80f866d4 100644 Binary files a/A2OSX.DEV.po and b/A2OSX.DEV.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 1661dcc7..2b04284e 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/A2osX.STARTUP.txt b/A2osX.STARTUP.txt index 98c3ce05..ee3fda07 100644 --- a/A2osX.STARTUP.txt +++ b/A2osX.STARTUP.txt @@ -16,14 +16,14 @@ INSDRV SSC.I.DRV 9600,N,8,1,X STARTPROC GETTY COM2 ${A2OSX}SBIN/LOGIN #INSDRV PIC.DRV # Network Section -#INSDRV UTHERNET.DRV 000E3A123456 +INSDRV UTHERNET.DRV 000E3A123456 #INSDRV UTHERNET2.DRV 0008DC123456 #INSDRV UTHER2.AI.DRV 0008DC123456 #INSDRV LANCEGS.DRV -#STARTPROC TCPIP +STARTPROC TCPIP #STARTPROC DHCPCLNT +#STARTPROC TELNETD #STARTPROC HTTPD -#TELNETD #NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX #CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE # End Network Section diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 4f18a45a..8177fa80 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -82,13 +82,7 @@ CS.RUN >LDYA L.MSG0 CS.RUN.DUMPDEV sta DevID >SYSCALL GetDevByIDA >STYA ZPDevPtr - - ldy #S.DEV.JMP - lda (ZPDevPtr),y - sta NetDevJmp+1 - iny - lda (ZPDevPtr),y - sta NetDevJmp+2 + >STYA NetDevJmp+1 ldx #DEVMGR.STATUS jsr NetDevJmp @@ -104,19 +98,14 @@ CS.RUN.DUMPDEV sta DevID cpy #S.DEVSTAT.NET.MAC-1 bne .1 - ldy #S.DEV.F - lda (ZPDevPtr),y - and #S.DEV.F.LEN - sta DevName - tax + lda #S.DEV.NAME + clc + adc ZPDevPtr + tay + lda /S.DEV.NAME + adc ZPDevPtr+1 -.10 iny - lda (ZPDevPtr),y - sta DevName-S.DEV.NAME,y - dex - bne .10 - - >PUSHW L.DevName + >PUSHYA >PUSHB DevID diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index b7c646d6..99864bac 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -36,7 +36,6 @@ CS.START cld L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 L.MSG2 .DA MSG2 -L.DEV.NAME .DA DEV.NAME .DA 0 *-------------------------------------- CS.INIT clc @@ -53,37 +52,30 @@ CS.RUN >LDYA L.MSG0 bcc .10 jmp .71 -.10 >STYA ZPPTR1 +.10 >STYA pDev + >STYA ZPPTR1 + + ldy #S.DEV.DRV.JMP+1 + >PUSHB (pDev),y - ldy #S.DEV.JMP+1 - >PUSHB (ZPPTR1),y - sta GetDevStatusJmp+2 dey - >PUSHB (ZPPTR1),y - sta GetDevStatusJmp+1 + >PUSHB (pDev),y + + lda #S.DEV.NAME + clc + adc pDev + tay + + lda /S.DEV.NAME + adc pDev+1 + + >PUSHYA ldy #S.DEV.F - lda (ZPPTR1),y - and #S.DEV.F.LEN - sta DEV.NAME - tax - iny - -.2 lda (ZPPTR1),y - sta DEV.NAME-S.DEV.F,y - iny - dex - bne .2 - - >PUSHW L.DEV.NAME - - ldy #S.DEV.F - lda (ZPPTR1),y - and #$FF^S.DEV.F.LEN - >PUSHA + >PUSHB (pDev),y ldy #S.DEV.S - >PUSHB (ZPPTR1),y + >PUSHB (pDev),y >PUSHB DEV.ID @@ -91,7 +83,11 @@ CS.RUN >LDYA L.MSG0 >SYSCALL CPrintFYA bcs .9 - jsr GetDevStatus + >LDYA ZPPTR1 + >STYA pDev + + ldx #DEVMGR.STATUS + jsr pDevJmp bcs .7 >STYA ZPPTR2 @@ -139,16 +135,12 @@ CS.EVENT sec CS.QUIT clc rts *-------------------------------------- -GetDevStatus ldx #DEVMGR.STATUS -GetDevStatusJmp jmp $ffff -*-------------------------------------- CS.END MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version\r\n" MSG1 >CSTR "%03d %b %b %4S $%H " MSG2 >CSTR "$%h/$%h %16S %03d.%03d" *-------------------------------------- DEV.ID .BS 1 -DEV.NAME .BS 5 MAN SAVE BIN/LSDEV.S ASM diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index d64664b8..2bf70bab 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -47,17 +47,16 @@ MSG.DETECT >CSTR "Apple IIe/IIc 80 Col Driver.\r\n" *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START +DEV.HEADER cld + jmp (DRV.CS.START,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ - .DA #3 - .AS "CON" NAME + .BS 6 + >PSTR "CON" NAME .HS 00 NAME must Be 5 bytes long *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA BADCALL .DA BADCALL .DA BADCALL diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index 373b2362..600f57bf 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -92,15 +92,15 @@ hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START +DEV.HEADER cld + jmp (DRV.CS.START,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ + .BS 6 DEV.HEADER.NAME >PSTR "COM1" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA BADCALL .DA BADCALL .DA BADCALL diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 8f0ee029..6b86548c 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -95,15 +95,15 @@ hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START +DEV.HEADER cld + jmp (DRV.CS.START,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.IRQ + .BS 6 DEV.HEADER.NAME >PSTR "COM1" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA BADCALL .DA BADCALL .DA BADCALL @@ -167,7 +167,6 @@ READ php beq .9 lda INBUF,x -* jsr READ.DEBUG inx cpx #BUF.SIZE bne .1 @@ -185,56 +184,6 @@ READ php sec rts *-------------------------------------- -READ.DEBUG phx - phy - pha - - lda #2 - >SYSCALL GetDevByIDA - - >STYA ZPTmpPtr1 - lda (ZPTmpPtr1) - sta READ.DEBUG.JMP+1 - ldy #1 - lda (ZPTmpPtr1),y - sta READ.DEBUG.JMP+2 - - lda #'(' - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - pla - pha - lsr - lsr - lsr - lsr - tax - lda READ.DEBUG.CHAR,x - - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - pla - pha - and #$0F - tax - lda READ.DEBUG.CHAR,x - - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - lda #')' - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - pla - ply - plx - rts -READ.DEBUG.JMP jmp $ffff -READ.DEBUG.CHAR .AS "0123456789ABCDEF" -*-------------------------------------- WRITE php sei tay save char in Y @@ -368,7 +317,6 @@ STAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ+S.DEV.S.IRQ .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 - *-------------------------------------- MAN SAVE DRV/SSC.DRV.I.S diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 78be20d9..ee47a37c 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -130,16 +130,15 @@ ARGS .BS 2 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START - .DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ -DEV.HEADER.NAME .DA #4 - .AS "ETH7" NAME +DEV.HEADER cld + jmp (DRV.CS.START,x) + .DA #0 + .BS 6 +DEV.HEADER.NAME >PSTR "ETH7" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA READBLOCK .DA WRITEBLOCK .DA BADCALL diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index be116f18..3650eac7 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -144,15 +144,15 @@ Args .BS 2 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START - .DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ +DEV.HEADER cld + jmp (DRV.CS.START,x) + .DA #0 + .BS 6 DEV.HEADER.NAME >PSTR "ETH7" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA READBLOCK .DA WRITEBLOCK .DA BADCALL diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 5937042d..2560e486 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -8,9 +8,9 @@ AUTO 6 * KERNEL CONSTANTS DEFINITON *-------------------------------------- K.ENV.SIZE .EQ 256 -K.EVT.MAX .EQ 16 -K.DEV.MAX .EQ 16 -K.FLT.MAX .EQ 8 +K.FLT.MAX .EQ 4 +K.EVT.MAX .EQ 8 +K.DEV.MAX .EQ 32 K.PS.MAX .EQ 64 *-------------------------------------- * Kernel ZP Aux @@ -63,10 +63,9 @@ D.STACK.TOP .EQ $03F0 ...Down to $0300 KrnBuf256 .EQ $0C00 Main *-------------------------------------- MLICALL.PARAMS .EQ $0D00 Main, $12 bytes min !!!! -MLICALL.TMPBUF .EQ $0D12 Small buffer (14 bytes) for MLI calls BLKCALL.PARAMS .EQ $0D20 Max 6 Bytes copied to/from $42->$47 before Firmware call PRTCALL.PARAMS .EQ $D030 Max 8 bytes for smartport cmdnum $0->$9 -KrnSTAT .EQ $0D40 S.STAT +KrnSTAT .EQ $0D40 S.STAT = 64b *-------------------------------------- KrnOut256 .EQ $0E00 Used to return Values to User Space *-------------------------------------- @@ -75,11 +74,11 @@ KrnOut256 .EQ $0E00 Used to return Values to User Space Z80STACK .EQ $0FFF (0FFFFh) Down to $0F00 Z80JMP .EQ $1000 (00000h) Up To $10FF *-------------------------------------- -EvtMgr.Table .EQ $1100 K.EVT.MAX*S.EVT.SIZE=32*8=256b +FltMgr.Table .EQ $1100 K.FLT.MAX*S.FLT.SIZE=8*32=128b *-------------------------------------- -DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*8=256b +EvtMgr.Table .EQ $1180 K.EVT.MAX*S.EVT.SIZE=16*8=128b *-------------------------------------- -FltMgr.Table .EQ $1300 K.FLT.MAX*S.FLT.SIZE=8*32=256b +DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b *-------------------------------------- TskMgr.Table .EQ $1400 K.PS.MAX*S.PS.SIZE=64*16=1k *-------------------------------------- @@ -146,11 +145,11 @@ H.BIN.HEADER .EQ 0 H.BIN.HEADER.DRV65 .EQ $4CD8 6502:cld,jmp abs H.BIN.HEADER.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x) H.BIN.HEADER.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x) -H.BIN.HEADER.LIB80 .EQ $A28D Z80: -H.BIN.HEADER.BIN80 .EQ $A28D Z80: +*H.BIN.HEADER.LIB80 .EQ $A28D Z80: +*H.BIN.HEADER.BIN80 .EQ $A28D Z80: H.BIN.JMP .EQ 2 -H.BIN.CODE.TYPE .EQ 4 -H.BIN.VERSION .EQ 5 +*H.BIN.CODE.TYPE .EQ 4 +*H.BIN.VERSION .EQ 5 H.BIN.CODE.LEN .EQ 8 * H.BIN.EXE.DS.SIZE .EQ 10 @@ -159,7 +158,7 @@ H.BIN.EXE.REL.TABLE .EQ 16 H.BIN.DRV.HEADER.O .EQ 10 H.BIN.DRV.CODE.O .EQ 12 H.BIN.DRV.CODE.LEN .EQ 14 -H.BIN.DRV.REL.TABLE .EQ 2 +H.BIN.DRV.REL.TABLE .EQ 0 *-------------------------------------- * A2osX.SYSCALL Functions Indexes *-------------------------------------- @@ -344,15 +343,9 @@ S.MEMSTAT .EQ 24 * DRV : AUXLC entry point * BLK : ROM Entry point Cn($Cnff) * PRT : ROM Entry point Cn($Cnff)+3 -* ID : -* 00->0F : NUL,SYS & loadable drivers -* X0 : X=Slot (Controller board) -* XY : X=Slot, Y=Device -* NAME: -* *-------------------------------------- -S.DEV.JMP .EQ 0 -S.DEV.S .EQ 2 +S.DEV.DRV.JMP .EQ 2 +S.DEV.S .EQ 4 S.DEV.S.BLOCK .EQ %10000000 S.DEV.S.WRITE .EQ %01000000 S.DEV.S.READ .EQ %00100000 @@ -361,13 +354,17 @@ S.DEV.S.NOFMT .EQ %00001000 S.DEV.S.WENABL .EQ %00000100 S.DEV.S.IRQ .EQ %00000010 S.DEV.S.OPENED .EQ %00000001 -S.DEV.F .EQ 3 -*S.DEV.F.IRQ .EQ %10000000 Device is irq driven -*S.DEV.F.EVENT .EQ %01000000 Device is event driven -S.DEV.F.LEN .EQ %00000111 Len -S.DEV.NAME .EQ 4 4 MAX +S.DEV.F .EQ 5 +*S.DEV.F.PRT .EQ %10000000 +*S.DEV.F.BLK .EQ %01000000 +*S.DEV.F.DII .EQ %00100000 +S.DEV.BUSID .EQ 6 +S.DEV.DEVID .EQ 7 +S.DEV.ROM.JMP .EQ 8 word * -S.DEV .EQ 8 +S.DEV.NAME .EQ 11 L+4 MAX +* +S.DEV .EQ 16 *----------- Smartport ---------------- DEVMGR.STATUS .EQ 0 DEVMGR.READBLOCK .EQ 2 diff --git a/LIB/LIBTCPIP.S.CFG.txt b/LIB/LIBTCPIP.S.CFG.txt index e1e3570d..2c8d7474 100644 --- a/LIB/LIBTCPIP.S.CFG.txt +++ b/LIB/LIBTCPIP.S.CFG.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -36,12 +36,7 @@ SET.IPCFG >PULLW ZPTmpPtr1 >SYSCALL GetDevByIDA >STYA ZPTmpPtr2 - - lda (ZPTmpPtr2) - sta NetDevJmp+1 - ldy #1 - lda (ZPTmpPtr2),y - sta NetDevJmp+2 + >STYA NetDevJmp+1 ldx #DEVMGR.STATUS jsr NetDevJmp diff --git a/LIB/LIBTCPIP.S.DNS.txt b/LIB/LIBTCPIP.S.DNS.txt index 12011de6..0bb1a8b7 100644 --- a/LIB/LIBTCPIP.S.DNS.txt +++ b/LIB/LIBTCPIP.S.DNS.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index ba1737f9..de7789c9 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.HST.txt b/LIB/LIBTCPIP.S.HST.txt index f75fae76..45442996 100644 --- a/LIB/LIBTCPIP.S.HST.txt +++ b/LIB/LIBTCPIP.S.HST.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.ICMP.txt b/LIB/LIBTCPIP.S.ICMP.txt index 60ba2908..674edfe1 100644 --- a/LIB/LIBTCPIP.S.ICMP.txt +++ b/LIB/LIBTCPIP.S.ICMP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.IP.txt b/LIB/LIBTCPIP.S.IP.txt index 2265c595..f732adc1 100644 --- a/LIB/LIBTCPIP.S.IP.txt +++ b/LIB/LIBTCPIP.S.IP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index c4ec737d..a6c82e99 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index c5619bdd..1baf083a 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.UDP.txt b/LIB/LIBTCPIP.S.UDP.txt index 82a4484e..38bcdf43 100644 --- a/LIB/LIBTCPIP.S.UDP.txt +++ b/LIB/LIBTCPIP.S.UDP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 3ac41ba5..26404975 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/SBIN/INSDRV.S.txt b/SBIN/INSDRV.S.txt index 6365236f..d49fefad 100644 --- a/SBIN/INSDRV.S.txt +++ b/SBIN/INSDRV.S.txt @@ -65,7 +65,9 @@ CS.INIT >SYSCALL GetArgC .99 rts *-------------------------------------- CS.RUN -CS.DOEVENT +CS.DOEVENT sec + rts +*-------------------------------------- CS.QUIT clc rts *-------------------------------------- diff --git a/SBIN/TCPIP.S.txt b/SBIN/TCPIP.S.txt index 44859cd4..955b55b3 100644 --- a/SBIN/TCPIP.S.txt +++ b/SBIN/TCPIP.S.txt @@ -110,15 +110,10 @@ CS.INIT.DEV >LDYA L.DEVNAME rts .1 >STYA ZPIPDevPtr + >STYA NetDevJmp+1 stx hNetDev stx IPCFG+S.IPCFG.HDEV - lda (ZPIPDevPtr) - sta NetDevJmp+1 - ldy #1 - lda (ZPIPDevPtr),y - sta NetDevJmp+2 - >PUSHW L.DEVNAME >LDYA L.MSG.DEV.OK >SYSCALL CPrintFYA diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt index cbe8bca3..18de382d 100644 --- a/SYS/KERNEL.S.ARG.txt +++ b/SYS/KERNEL.S.ARG.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #GetArgC * Returns argument count in the process command line. diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 4d8d9489..ba9e8d20 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * BIN.LoadExeYA * in : @@ -177,6 +176,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O rts .10 inc DevMgr.Count + >SYSCALL GetDevByIDA >STYA ZPPtr2 setup Ptr2 to dest HEADER @@ -197,12 +197,12 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O dey bpl .1 - ldy #S.DEV.JMP+1 Setup Main JMP + ldy #S.DEV.DRV.JMP+1 Setup Main JMP lda DevMgr.Free+1 sta (ZPPtr2),y tax - dey #S.DEV.JMP + dey lda DevMgr.Free sta (ZPPtr2),y diff --git a/SYS/KERNEL.S.CHR.txt b/SYS/KERNEL.S.CHR.txt index 038c5780..4e4de837 100644 --- a/SYS/KERNEL.S.CHR.txt +++ b/SYS/KERNEL.S.CHR.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #FPutCAY * Print A (char) to File diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt index 7b476022..6f0e090d 100644 --- a/SYS/KERNEL.S.CIO.txt +++ b/SYS/KERNEL.S.CIO.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #SScanF * Scan a PStr (in progress) diff --git a/SYS/KERNEL.S.CNV.txt b/SYS/KERNEL.S.CNV.txt index a31ada79..939a9c53 100644 --- a/SYS/KERNEL.S.CNV.txt +++ b/SYS/KERNEL.S.CNV.txt @@ -1,9 +1,18 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF +*-------------------------------------- +PullPtr1Ptr2Ptr3 + sec + .HS 90 bcc +PullPtr1Ptr2 clc + >PULLW ZPPtr1 + >PULLW ZPPtr2 + bcc .9 + >PULLW ZPPtr3 +.9 rts *-------------------------------------- * Convert HEXBUF to ASCBUF decimal padded with 0 *-------------------------------------- diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index fd6a3e0a..e71a5ef6 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -1,15 +1,10 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- -DevMgr.LoMem .EQ * -*-------------------------------------- -DevMgr.NUL.Code cld - jmp (.1,x) -.1 .DA DevMgr.NUL.Status +DevMgr.NUL.Code .DA .1 STATUS .DA DevMgr.BADCALL READBLOCK .DA DevMgr.BADCALL WRITEBLOCK .DA DevMgr.BADCALL FORMAT @@ -22,21 +17,18 @@ DevMgr.NUL.Code cld .8 clc rts *-------------------------------------- -DevMgr.NUL.Status - >LDYAI DevMgr.NUL.Stat +.1 >LDYAI .2 clc rts *-------------------------------------- -DevMgr.NUL.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ +.2 .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "NULL DEVICE " .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 *-------------------------------------- -DevMgr.SYS.Code cld - jmp (.1,x) -.1 .DA DevMgr.SYS.Status +DevMgr.SYS.Code .DA .1 STATUS .DA DevMgr.BADCALL READBLOCK .DA DevMgr.BADCALL WRITEBLOCK .DA DevMgr.BADCALL FORMAT @@ -47,16 +39,11 @@ DevMgr.SYS.Code cld .DA DevMgr.SYS.Read .DA DevMgr.SYS.Write *-------------------------------------- -DevMgr.BADCALL lda #MLI.ERR.BADCALL - sec - rts -*-------------------------------------- -DevMgr.SYS.Status - >LDYAI DevMgr.SYS.Stat +.1 >LDYAI .2 clc rts *-------------------------------------- -DevMgr.SYS.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ +.2 .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "A2osX SYS Screen" .DA #S.DEVSTAT.TYPE.CHAR @@ -288,6 +275,10 @@ DevMgr.SYS.TITLE >CSTR "A2osX System Screen" DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 DevMgr.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B *-------------------------------------- +DevMgr.BADCALL lda #MLI.ERR.BADCALL + sec + rts +*-------------------------------------- DevMgr.FreeMem .EQ * MAN SAVE SYS/KERNEL.S.D01 diff --git a/SYS/KERNEL.S.DAT.txt b/SYS/KERNEL.S.DAT.txt index bc375f09..5f02beb4 100644 --- a/SYS/KERNEL.S.DAT.txt +++ b/SYS/KERNEL.S.DAT.txt @@ -1,11 +1,10 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- -DevMgr.Stat .DA DevMgr.LoMem +DevMgr.Stat .DA DevMgr.NUL.Code DevMgr.Free .DA DevMgr.FreeMem .DA DevMgr.HiMem DevMgr.Count .DA #2 NUL,SYS diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 7009ddc4..d4edf247 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #GetDevByIDA * ##IN: @@ -16,20 +15,17 @@ AUTO 6 K.GetDevByIDA cmp DevMgr.Count bcs K.GetDevDNF - pha save ID - asl asl asl + asl + php + clc adc #DevMgr.Table tay - pla - php - lsr - lsr - lsr plp + lda #0 adc /DevMgr.Table rts CC */-------------------------------------- @@ -43,13 +39,12 @@ K.GetDevByIDA cmp DevMgr.Count *\-------------------------------------- K.GetDevByNameYA >STYA ZPPtr1 - >LDYAI DevMgr.Table+S.DEV.F + >LDYAI DevMgr.Table+S.DEV.NAME >STYA ZPPtr2 ldx #0 .1 lda (ZPPtr2) - and #S.DEV.F.LEN cmp (ZPPtr1) bne .3 @@ -64,10 +59,10 @@ K.GetDevByNameYA lda ZPPtr2 sec - sbc #S.DEV.F + sbc #S.DEV.NAME tay lda ZPPtr2+1 - sbc /S.DEV.F + sbc /S.DEV.NAME clc rts @@ -116,19 +111,10 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME lda (pDev),y bit #S.DEV.S.BLOCK bne .99 - - lda (pDev) - sta .2+1 - sta .4+1 - - ldy #1 - lda (pDev),y - sta .3+1 - sta .4+2 - + txa Pass DEV.ID to OPEN ldx #DEVMGR.OPEN - jsr .4 + jsr pDevJmp bcs .9 >PUSHWI S.NODE.DEV @@ -142,17 +128,17 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME lda #S.NODE.T.CDEV sta (ZPPtr3),y - iny #S.NODE.DEV.ID + ldy #S.NODE.DEV.ID .1 lda #$ff Self Modified sta (ZPPtr3),y - iny #S.NODE.DEV.JMP -.2 lda #$ff + ldy #S.NODE.DEV.JMP + lda pDev sta (ZPPtr3),y - iny ##S.NODE.DEV.JMP+1 -.3 lda #$ff + iny + lda pDev+1 sta (ZPPtr3),y txa clc @@ -160,8 +146,7 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME .99 lda #MLI.ERR.IO sec - rts -.4 jmp $ffff + rts */-------------------------------------- * #MkNodA * return a hFile for a given Socket diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index c6b65eab..42428de0 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #OpenDirYA * ##In: diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 5299a2fb..0511c2bd 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * K.LoadDrvYA * in : diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 2ec1ccee..66080195 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #ExpandPStrYA * ##In: diff --git a/SYS/KERNEL.S.EVT.txt b/SYS/KERNEL.S.EVT.txt index ed0e7fbe..4d144f57 100644 --- a/SYS/KERNEL.S.EVT.txt +++ b/SYS/KERNEL.S.EVT.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * EVT.GetEvents : * IN : @@ -12,7 +11,9 @@ AUTO 6 * CC * event in YA * (pEvent) *-------------------------------------- -EVT.GetEvents stz pEvent point to start of event list +EVT.GetEvents lda #EvtMgr.Table + sta pEvent point to start of event list + stz EvtMgr.Count reset Size lda K.IrkMgr.VBL do we have IRQ enabled for VBL ? diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index cac2988a..5572f2c3 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * For All SYS.xxxx calls, X = #SYSCall * Must be kept in X before calling @@ -169,10 +168,10 @@ K.FReadA jsr PFT.CheckNodeA * Y,A = Bytes Written *\-------------------------------------- K.FWriteAY jsr PFT.CheckNodeA - sty MLICALL.TMPBUF + sty K.FWriteAY.Buf ldx #MLIWRITE K.FReadWrite.0 jsr FILE.SetupPrt1A - >LDYAI MLICALL.TMPBUF + >LDYAI K.FWriteAY.Buf >STYA MLICALL.PARAMS+2 lda #1 sta MLICALL.PARAMS+4 @@ -180,8 +179,9 @@ K.FReadWrite.0 jsr FILE.SetupPrt1A lda #4 Param Count = 4 for MLIREAD & MLIWRITE jsr A2osX.MLICALL bcs .9 - lda MLICALL.TMPBUF -.9 rts + lda K.FWriteAY.Buf +.9 rts +K.FWriteAY.Buf .BS 1 */-------------------------------------- * #FRead * Read bytes from file diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index da90b43a..85c1e6ae 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #FileSearch * Search a file in the provided PATH list diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 93c945c1..2ab6f798 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * SYSCALL (AUXLC to AUXLC) * Used by user & kernel for inter bank Calls diff --git a/SYS/KERNEL.S.INIT2.txt b/SYS/KERNEL.S.INIT2.txt index 9ea0946a..c834897c 100644 --- a/SYS/KERNEL.S.INIT2.txt +++ b/SYS/KERNEL.S.INIT2.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- Kernel.Init2 sei diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index 1f14b104..26e731d0 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -1,14 +1,16 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- -Kernel.Init3 jsr MemMgrInit +Kernel.Init3 sta SETALTZP + bit RRAMWRAMBNK1 + bit RRAMWRAMBNK1 + + jsr MemMgrInit jsr PS0Init bcs * - >LDYAI MSG.Init3 >SYSCALL CPrintFYA @@ -128,14 +130,18 @@ PS0Init ldx #S.DEV*2 NUL,SYS clc .9 rts *-------------------------------------- -DevMgr.NUL .DA DevMgr.NUL.Code +DevMgr.NUL cld + jmp (DevMgr.NUL.Code,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.OPENED + .BS 6 .DA #3 .AS "NUL" NAME .HS 00 NAME must Be 4 bytes long *-------------------------------------- -DevMgr.SYS .DA DevMgr.SYS.Code +DevMgr.SYS cld + jmp (DevMgr.SYS.Code,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ + .BS 6 .DA #3 .AS "SYS" NAME .HS 00 NAME must Be 4 bytes long @@ -247,7 +253,7 @@ DevMgrInit stz ZPPtr1 lda #$C1 sta ZPPtr1+1 lda #'1' - sta DEV.HEADER+5 S1Dy + sta DEV.HEADER+S.DEV.NAME+4 S1Dy .1 ldx #SmartPort.SIG-SmartPort.OFS-1 @@ -301,11 +307,11 @@ DevMgrInit.SP ldy #$ff adc #3 Compute smartport entry point sta .1+1 sta .3+1 - sta DEV.HEADER+S.DEV.JMP + sta DEV.HEADER+S.DEV.ROM.JMP lda ZPPtr1+1 sta .1+2 sta .3+2 - sta DEV.HEADER+S.DEV.JMP+1 + sta DEV.HEADER+S.DEV.ROM.JMP+1 .1 jsr $ffff Self Modified .DA #0 Status @@ -314,14 +320,12 @@ DevMgrInit.SP ldy #$ff lda SP.STATUS1 beq .9 no device -.2 lda #1 - sta DEV.HEADER.STATUS+1 - lda #'1' - sta DEV.HEADER+7 SxD1 +.2 lda #'1' + sta DEV.HEADER+S.DEV.NAME+2 SxD1 .3 jsr $ffff Self Modified .DA #0 Status - .DA DEV.HEADER.STATUS + .DA DEV.HEADER+S.DEV.S bcs .7 lda SP.STATUS2+S.DEVSTAT.S sta DEV.HEADER+S.DEV.S @@ -337,7 +341,8 @@ DevMgrInit.SP ldy #$ff .9 rts *-------------------------------------- -DevMgrInit.DII +DevMgrInit.DII >LDYAI A2osX.DIIDrv + >STYA DEV.HEADER+S.DEV.ROM.JMP rts *-------------------------------------- DevMgrInit.BLK @@ -365,8 +370,14 @@ DevMgrInit.AddDev sec rts *-------------------------------------- -DEV.HEADER .BS 2 JMP -DEV.HEADER.STATUS .DA #S.DEV.S.BLOCK S +DEV.HEADER clc + jmp ($ffff,x) + .DA #S.DEV.S.BLOCK S + .BS 1 F + .BS 1 BUS.ID + .BS 1 DEV.ID + .BS 2 ROM.JMP + .BS 1 >PSTR "S1D1" 5 bytes *-------------------------------------- SmartPort.OFS .HS 07010305 diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index f4c3ead3..e3f66d75 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * called directly by IRQ Vector $FFFE in AuxLC * Must keep: @@ -115,13 +114,8 @@ K.IrqMgrVBL.0n .BS 1 K.IrqMgrVBL.MSM jmp $0000 K.IrqMgrVBL.MRM jmp $0000 *-------------------------------------- -K.IrqHandlerJMP lda ($fe) - sta .1+1 - ldy #1 - lda ($fe),y - sta .1+2 - ldx #DEVMGR.IRQ -.1 jmp $ffff +K.IrqHandlerJMP ldx #DEVMGR.IRQ + jmp ($fe) *-------------------------------------- MAN SAVE SYS/KERNEL.S.IRQ diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index a610d622..a0a9d4ef 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * $D000-D0FF KERNEL.SYSCALL Jmp Table *-------------------------------------- diff --git a/SYS/KERNEL.S.LIB.txt b/SYS/KERNEL.S.LIB.txt index 19537003..21da7ba0 100644 --- a/SYS/KERNEL.S.LIB.txt +++ b/SYS/KERNEL.S.LIB.txt @@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * K.LoadLibYA * in : diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 047f53ec..1245c5a5 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * !!!!!! DO NOT USE ZPPtrs !!!!! *-------------------------------------- diff --git a/SYS/KERNEL.S.PFT.txt b/SYS/KERNEL.S.PFT.txt index 27583d5f..216866d4 100644 --- a/SYS/KERNEL.S.PFT.txt +++ b/SYS/KERNEL.S.PFT.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * K.PFTAdd * In : diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index c812f561..74211eb0 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #ExecProcessNewEnvYA * #ExecProcessYA (Blocking Parent PID) diff --git a/SYS/KERNEL.S.RUN.txt b/SYS/KERNEL.S.RUN.txt index c158cc48..434ede7b 100644 --- a/SYS/KERNEL.S.RUN.txt +++ b/SYS/KERNEL.S.RUN.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- SYS.BASL0 .EQ $800 *-------------------------------------- @@ -20,7 +19,8 @@ K.KernelRun jsr TSK.TskMgrRun jsr PS.Select0 - stz pEvent + lda #EvtMgr.Table + sta pEvent .1 lda (pEvent) beq .3 @@ -71,8 +71,9 @@ K.KernelRun jsr TSK.TskMgrRun beq K.KernelRun tax - lda A2osX.SCRNDEVS-1,x No device claimed this screen - beq K.KernelRun + + lda A2osX.SCRNDEVS-1,x + beq K.KernelRun No device claimed this screen jsr K.GetDevByIDA x unmodified..... bcs K.KernelRun ??? @@ -80,15 +81,10 @@ K.KernelRun jsr TSK.TskMgrRun stx A2osX.ASCREEN >STYA pDev - lda (pDev) - sta .5+1 - ldy #1 - lda (pDev),y - sta .5+2 + ldx #DEVMGR.CONTROL - jsr .5 + jsr pDevJmp jmp K.KernelRun -.5 jmp $ffff *-------------------------------------- RUN.DumpEvent ldy #S.EVT-1 diff --git a/SYS/KERNEL.S.STR.txt b/SYS/KERNEL.S.STR.txt index a3ff1489..b161522c 100644 --- a/SYS/KERNEL.S.STR.txt +++ b/SYS/KERNEL.S.STR.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #NewPStrYA * Create a new copy of PSTR diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index 2ca7ae37..22b92b2a 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c *-------------------------------------- diff --git a/SYS/KERNEL.S.TSK.txt b/SYS/KERNEL.S.TSK.txt index 5c8418ad..92da2ff8 100644 --- a/SYS/KERNEL.S.TSK.txt +++ b/SYS/KERNEL.S.TSK.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * TSK.TskMgrRun *-------------------------------------- @@ -135,7 +134,8 @@ TSK.DispatchEvents jsr PS.Select - stz pEvent Select first event in list + lda #EvtMgr.Table + sta pEvent Select first event in list lda EVTMGR.COUNT sta TSKMGR.EVENTCNT diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 0b6b8233..6cc43484 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -20,8 +20,6 @@ ZPPtr2 .EQ ZPKERNEL+2 (could be trashed by any JSR) ZPPtr3 .EQ ZPKERNEL+4 ZPPtr4 .EQ ZPKERNEL+6 -* Kernel Init Stage 2 - sei ldx #$FF init 6502 stack to highest txs @@ -36,25 +34,19 @@ ZPPtr4 .EQ ZPKERNEL+6 jsr Kernel.Init2 >DEBUGOA - -* Kernel Init Stage 3 - - sta SETALTZP - bit RRAMWRAMBNK1 - bit RRAMWRAMBNK1 jmp Kernel.Init3 -*-------------------------------------- + .INB X.PRINTF.S .INB SYS/KERNEL.S.INIT2 .INB SYS/KERNEL.S.INIT3 -*-------------------------------------- + * Global Page A2osX.GP .EQ * .PH $BD00 .INB SYS/KERNEL.S.GP .EP -A2osX.GP.END .EQ * +A2osX.GP.SIZE .EQ *-A2osX.GP * LC AUX $D000 BANK1 API Calls $00-$3E @@ -71,7 +63,8 @@ A2osX.D001 .EQ * .INB SYS/KERNEL.S.PFT .INB SYS/KERNEL.S.BIN .EP -A2osX.D001.END .EQ * +A2osX.D001.SIZE .EQ *-A2osX.D001 + * LC AUX $D000 BANK2 API Calls $40-$8E @@ -89,7 +82,7 @@ A2osX.D002 .EQ * .INB SYS/KERNEL.S.EVT .INB SYS/KERNEL.S.TSK .EP -A2osX.D002.END .EQ * +A2osX.D002.SIZE .EQ *-A2osX.D002 * LC AUX $E000 API Calls $80-$FE @@ -101,31 +94,19 @@ A2osX.E000 .EQ * .INB SYS/KERNEL.S.MEM .INB SYS/KERNEL.S.CNV .INB SYS/KERNEL.S.CHR -*-------------------------------------- -PullPtr1Ptr2Ptr3 - sec - .HS 90 bcc -PullPtr1Ptr2 clc - >PULLW ZPPtr1 - >PULLW ZPPtr2 - bcc .9 - >PULLW ZPPtr3 -.9 rts - * Make sure KERNEL.S.D01 is the last one - .INB SYS/KERNEL.S.D01 .EP -A2osX.E000.END .EQ * -*-------------------------------------- +A2osX.E000.SIZE .EQ *-A2osX.E000 + * CONTROL SECTION : .LIST ON -A2osX.GP.SIZE .EQ A2osX.GP.END-A2osX.GP -A2osX.D001.SIZE .EQ A2osX.D001.END-A2osX.D001 -A2osX.D002.SIZE .EQ A2osX.D002.END-A2osX.D002 -A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000 - +Check.GP .EQ A2osX.GP.SIZE +Check.D001 .EQ A2osX.D001.SIZE +Check.D002 .EQ A2osX.D002.SIZE +Check.E000 .EQ A2osX.E000.SIZE .LIST OFF + .DO A2osX.GP.SIZE>$1E0 .LIST ON * !!!!!!!!! ERROR:GP too big !!!!!!!!!! @@ -140,8 +121,7 @@ A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000 .LIST ON * !!!!!!!!! ERROR:BNK2 too big !!!!!!!! .LIST OFF - .FIN - + .FIN MAN SAVE SYS/KERNEL.S ASM