mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
Kernel version 0.9 : BLOCK DEVICES, extended S.DEV struct to store ROM entry point,BUS/DEV....moved the whole code to 16 Bytes S.DEV (Max 32 devices)
This commit is contained in:
parent
cfac8b4821
commit
2406290d59
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.DEV.po
BIN
A2OSX.DEV.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -65,7 +65,9 @@ CS.INIT >SYSCALL GetArgC
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN
|
||||
CS.DOEVENT
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*/--------------------------------------
|
||||
* #FPutCAY
|
||||
* Print A (char) to File
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
*--------------------------------------
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*/--------------------------------------
|
||||
* #OpenDirYA
|
||||
* ##In:
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* K.LoadDrvYA
|
||||
* in :
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*/--------------------------------------
|
||||
* #ExpandPStrYA
|
||||
* ##In:
|
||||
|
@ -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 ?
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
Kernel.Init2 sei
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* $D000-D0FF KERNEL.SYSCALL Jmp Table
|
||||
*--------------------------------------
|
||||
|
@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* K.LoadLibYA
|
||||
* in :
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* !!!!!! DO NOT USE ZPPtrs !!!!!
|
||||
*--------------------------------------
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* K.PFTAdd
|
||||
* In :
|
||||
|
@ -1,9 +1,8 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
*/--------------------------------------
|
||||
* #ExecProcessNewEnvYA
|
||||
* #ExecProcessYA (Blocking Parent PID)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*--------------------------------------
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user