mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-09 14:55:05 +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
|
STARTPROC GETTY COM2 ${A2OSX}SBIN/LOGIN
|
||||||
#INSDRV PIC.DRV
|
#INSDRV PIC.DRV
|
||||||
# Network Section
|
# Network Section
|
||||||
#INSDRV UTHERNET.DRV 000E3A123456
|
INSDRV UTHERNET.DRV 000E3A123456
|
||||||
#INSDRV UTHERNET2.DRV 0008DC123456
|
#INSDRV UTHERNET2.DRV 0008DC123456
|
||||||
#INSDRV UTHER2.AI.DRV 0008DC123456
|
#INSDRV UTHER2.AI.DRV 0008DC123456
|
||||||
#INSDRV LANCEGS.DRV
|
#INSDRV LANCEGS.DRV
|
||||||
#STARTPROC TCPIP
|
STARTPROC TCPIP
|
||||||
#STARTPROC DHCPCLNT
|
#STARTPROC DHCPCLNT
|
||||||
|
#STARTPROC TELNETD
|
||||||
#STARTPROC HTTPD
|
#STARTPROC HTTPD
|
||||||
#TELNETD
|
|
||||||
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
|
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
|
||||||
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
||||||
# End Network Section
|
# End Network Section
|
||||||
|
@ -82,13 +82,7 @@ CS.RUN >LDYA L.MSG0
|
|||||||
CS.RUN.DUMPDEV sta DevID
|
CS.RUN.DUMPDEV sta DevID
|
||||||
>SYSCALL GetDevByIDA
|
>SYSCALL GetDevByIDA
|
||||||
>STYA ZPDevPtr
|
>STYA ZPDevPtr
|
||||||
|
>STYA NetDevJmp+1
|
||||||
ldy #S.DEV.JMP
|
|
||||||
lda (ZPDevPtr),y
|
|
||||||
sta NetDevJmp+1
|
|
||||||
iny
|
|
||||||
lda (ZPDevPtr),y
|
|
||||||
sta NetDevJmp+2
|
|
||||||
|
|
||||||
ldx #DEVMGR.STATUS
|
ldx #DEVMGR.STATUS
|
||||||
jsr NetDevJmp
|
jsr NetDevJmp
|
||||||
@ -104,19 +98,14 @@ CS.RUN.DUMPDEV sta DevID
|
|||||||
cpy #S.DEVSTAT.NET.MAC-1
|
cpy #S.DEVSTAT.NET.MAC-1
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
ldy #S.DEV.F
|
lda #S.DEV.NAME
|
||||||
lda (ZPDevPtr),y
|
clc
|
||||||
and #S.DEV.F.LEN
|
adc ZPDevPtr
|
||||||
sta DevName
|
tay
|
||||||
tax
|
lda /S.DEV.NAME
|
||||||
|
adc ZPDevPtr+1
|
||||||
|
|
||||||
.10 iny
|
>PUSHYA
|
||||||
lda (ZPDevPtr),y
|
|
||||||
sta DevName-S.DEV.NAME,y
|
|
||||||
dex
|
|
||||||
bne .10
|
|
||||||
|
|
||||||
>PUSHW L.DevName
|
|
||||||
|
|
||||||
>PUSHB DevID
|
>PUSHB DevID
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ CS.START cld
|
|||||||
L.MSG0 .DA MSG0
|
L.MSG0 .DA MSG0
|
||||||
L.MSG1 .DA MSG1
|
L.MSG1 .DA MSG1
|
||||||
L.MSG2 .DA MSG2
|
L.MSG2 .DA MSG2
|
||||||
L.DEV.NAME .DA DEV.NAME
|
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
@ -53,37 +52,30 @@ CS.RUN >LDYA L.MSG0
|
|||||||
bcc .10
|
bcc .10
|
||||||
jmp .71
|
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
|
dey
|
||||||
>PUSHB (ZPPTR1),y
|
>PUSHB (pDev),y
|
||||||
sta GetDevStatusJmp+1
|
|
||||||
|
lda #S.DEV.NAME
|
||||||
|
clc
|
||||||
|
adc pDev
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda /S.DEV.NAME
|
||||||
|
adc pDev+1
|
||||||
|
|
||||||
|
>PUSHYA
|
||||||
|
|
||||||
ldy #S.DEV.F
|
ldy #S.DEV.F
|
||||||
lda (ZPPTR1),y
|
>PUSHB (pDev),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
|
|
||||||
|
|
||||||
ldy #S.DEV.S
|
ldy #S.DEV.S
|
||||||
>PUSHB (ZPPTR1),y
|
>PUSHB (pDev),y
|
||||||
|
|
||||||
>PUSHB DEV.ID
|
>PUSHB DEV.ID
|
||||||
|
|
||||||
@ -91,7 +83,11 @@ CS.RUN >LDYA L.MSG0
|
|||||||
>SYSCALL CPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr GetDevStatus
|
>LDYA ZPPTR1
|
||||||
|
>STYA pDev
|
||||||
|
|
||||||
|
ldx #DEVMGR.STATUS
|
||||||
|
jsr pDevJmp
|
||||||
bcs .7
|
bcs .7
|
||||||
>STYA ZPPTR2
|
>STYA ZPPTR2
|
||||||
|
|
||||||
@ -139,16 +135,12 @@ CS.EVENT sec
|
|||||||
CS.QUIT clc
|
CS.QUIT clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GetDevStatus ldx #DEVMGR.STATUS
|
|
||||||
GetDevStatusJmp jmp $ffff
|
|
||||||
*--------------------------------------
|
|
||||||
CS.END
|
CS.END
|
||||||
MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version\r\n"
|
MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version\r\n"
|
||||||
MSG1 >CSTR "%03d %b %b %4S $%H "
|
MSG1 >CSTR "%03d %b %b %4S $%H "
|
||||||
MSG2 >CSTR "$%h/$%h %16S %03d.%03d"
|
MSG2 >CSTR "$%h/$%h %16S %03d.%03d"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.ID .BS 1
|
DEV.ID .BS 1
|
||||||
DEV.NAME .BS 5
|
|
||||||
MAN
|
MAN
|
||||||
SAVE BIN/LSDEV.S
|
SAVE BIN/LSDEV.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -47,17 +47,16 @@ MSG.DETECT >CSTR "Apple IIe/IIc 80 Col Driver.\r\n"
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* 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 #S.DEV.S.WRITE+S.DEV.S.READ
|
||||||
.DA #3
|
.BS 6
|
||||||
.AS "CON" NAME
|
>PSTR "CON" NAME
|
||||||
.HS 00 NAME must Be 5 bytes long
|
.HS 00 NAME must Be 5 bytes long
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.START cld
|
DRV.CS.START .DA STATUS
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA STATUS
|
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
|
@ -92,15 +92,15 @@ hArgs .BS 1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* 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 #S.DEV.S.WRITE+S.DEV.S.READ
|
||||||
|
.BS 6
|
||||||
DEV.HEADER.NAME >PSTR "COM1" NAME
|
DEV.HEADER.NAME >PSTR "COM1" NAME
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.START cld
|
DRV.CS.START .DA STATUS
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA STATUS
|
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
|
@ -95,15 +95,15 @@ hArgs .BS 1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* 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
|
.DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.IRQ
|
||||||
|
.BS 6
|
||||||
DEV.HEADER.NAME >PSTR "COM1" NAME
|
DEV.HEADER.NAME >PSTR "COM1" NAME
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.START cld
|
DRV.CS.START .DA STATUS
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA STATUS
|
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
@ -167,7 +167,6 @@ READ php
|
|||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
lda INBUF,x
|
lda INBUF,x
|
||||||
* jsr READ.DEBUG
|
|
||||||
inx
|
inx
|
||||||
cpx #BUF.SIZE
|
cpx #BUF.SIZE
|
||||||
bne .1
|
bne .1
|
||||||
@ -185,56 +184,6 @@ READ php
|
|||||||
sec
|
sec
|
||||||
rts
|
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
|
WRITE php
|
||||||
sei
|
sei
|
||||||
tay save char in Y
|
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 #S.DEVSTAT.TYPE.CHAR
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA $0900
|
.DA $0900
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE DRV/SSC.DRV.I.S
|
SAVE DRV/SSC.DRV.I.S
|
||||||
|
@ -130,16 +130,15 @@ ARGS .BS 2
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* Device Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.HEADER .DA DRV.CS.START
|
DEV.HEADER cld
|
||||||
.DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ
|
jmp (DRV.CS.START,x)
|
||||||
DEV.HEADER.NAME .DA #4
|
.DA #0
|
||||||
.AS "ETH7" NAME
|
.BS 6
|
||||||
|
DEV.HEADER.NAME >PSTR "ETH7" NAME
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.START cld
|
DRV.CS.START .DA STATUS
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA STATUS
|
|
||||||
.DA READBLOCK
|
.DA READBLOCK
|
||||||
.DA WRITEBLOCK
|
.DA WRITEBLOCK
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
|
@ -144,15 +144,15 @@ Args .BS 2
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* Device Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.HEADER .DA DRV.CS.START
|
DEV.HEADER cld
|
||||||
.DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ
|
jmp (DRV.CS.START,x)
|
||||||
|
.DA #0
|
||||||
|
.BS 6
|
||||||
DEV.HEADER.NAME >PSTR "ETH7" NAME
|
DEV.HEADER.NAME >PSTR "ETH7" NAME
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.START cld
|
DRV.CS.START .DA STATUS
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA STATUS
|
|
||||||
.DA READBLOCK
|
.DA READBLOCK
|
||||||
.DA WRITEBLOCK
|
.DA WRITEBLOCK
|
||||||
.DA BADCALL
|
.DA BADCALL
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
@ -8,9 +8,9 @@ AUTO 6
|
|||||||
* KERNEL CONSTANTS DEFINITON
|
* KERNEL CONSTANTS DEFINITON
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.ENV.SIZE .EQ 256
|
K.ENV.SIZE .EQ 256
|
||||||
K.EVT.MAX .EQ 16
|
K.FLT.MAX .EQ 4
|
||||||
K.DEV.MAX .EQ 16
|
K.EVT.MAX .EQ 8
|
||||||
K.FLT.MAX .EQ 8
|
K.DEV.MAX .EQ 32
|
||||||
K.PS.MAX .EQ 64
|
K.PS.MAX .EQ 64
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Kernel ZP Aux
|
* Kernel ZP Aux
|
||||||
@ -63,10 +63,9 @@ D.STACK.TOP .EQ $03F0 ...Down to $0300
|
|||||||
KrnBuf256 .EQ $0C00 Main
|
KrnBuf256 .EQ $0C00 Main
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MLICALL.PARAMS .EQ $0D00 Main, $12 bytes min !!!!
|
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
|
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
|
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
|
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
|
Z80STACK .EQ $0FFF (0FFFFh) Down to $0F00
|
||||||
Z80JMP .EQ $1000 (00000h) Up To $10FF
|
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
|
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.DRV65 .EQ $4CD8 6502:cld,jmp abs
|
||||||
H.BIN.HEADER.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
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.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
||||||
H.BIN.HEADER.LIB80 .EQ $A28D Z80:
|
*H.BIN.HEADER.LIB80 .EQ $A28D Z80:
|
||||||
H.BIN.HEADER.BIN80 .EQ $A28D Z80:
|
*H.BIN.HEADER.BIN80 .EQ $A28D Z80:
|
||||||
H.BIN.JMP .EQ 2
|
H.BIN.JMP .EQ 2
|
||||||
H.BIN.CODE.TYPE .EQ 4
|
*H.BIN.CODE.TYPE .EQ 4
|
||||||
H.BIN.VERSION .EQ 5
|
*H.BIN.VERSION .EQ 5
|
||||||
H.BIN.CODE.LEN .EQ 8
|
H.BIN.CODE.LEN .EQ 8
|
||||||
*
|
*
|
||||||
H.BIN.EXE.DS.SIZE .EQ 10
|
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.HEADER.O .EQ 10
|
||||||
H.BIN.DRV.CODE.O .EQ 12
|
H.BIN.DRV.CODE.O .EQ 12
|
||||||
H.BIN.DRV.CODE.LEN .EQ 14
|
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
|
* A2osX.SYSCALL Functions Indexes
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -344,15 +343,9 @@ S.MEMSTAT .EQ 24
|
|||||||
* DRV : AUXLC entry point
|
* DRV : AUXLC entry point
|
||||||
* BLK : ROM Entry point Cn($Cnff)
|
* BLK : ROM Entry point Cn($Cnff)
|
||||||
* PRT : ROM Entry point Cn($Cnff)+3
|
* 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.DRV.JMP .EQ 2
|
||||||
S.DEV.S .EQ 2
|
S.DEV.S .EQ 4
|
||||||
S.DEV.S.BLOCK .EQ %10000000
|
S.DEV.S.BLOCK .EQ %10000000
|
||||||
S.DEV.S.WRITE .EQ %01000000
|
S.DEV.S.WRITE .EQ %01000000
|
||||||
S.DEV.S.READ .EQ %00100000
|
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.WENABL .EQ %00000100
|
||||||
S.DEV.S.IRQ .EQ %00000010
|
S.DEV.S.IRQ .EQ %00000010
|
||||||
S.DEV.S.OPENED .EQ %00000001
|
S.DEV.S.OPENED .EQ %00000001
|
||||||
S.DEV.F .EQ 3
|
S.DEV.F .EQ 5
|
||||||
*S.DEV.F.IRQ .EQ %10000000 Device is irq driven
|
*S.DEV.F.PRT .EQ %10000000
|
||||||
*S.DEV.F.EVENT .EQ %01000000 Device is event driven
|
*S.DEV.F.BLK .EQ %01000000
|
||||||
S.DEV.F.LEN .EQ %00000111 Len
|
*S.DEV.F.DII .EQ %00100000
|
||||||
S.DEV.NAME .EQ 4 4 MAX
|
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 ----------------
|
*----------- Smartport ----------------
|
||||||
DEVMGR.STATUS .EQ 0
|
DEVMGR.STATUS .EQ 0
|
||||||
DEVMGR.READBLOCK .EQ 2
|
DEVMGR.READBLOCK .EQ 2
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
@ -36,12 +36,7 @@ SET.IPCFG >PULLW ZPTmpPtr1
|
|||||||
|
|
||||||
>SYSCALL GetDevByIDA
|
>SYSCALL GetDevByIDA
|
||||||
>STYA ZPTmpPtr2
|
>STYA ZPTmpPtr2
|
||||||
|
>STYA NetDevJmp+1
|
||||||
lda (ZPTmpPtr2)
|
|
||||||
sta NetDevJmp+1
|
|
||||||
ldy #1
|
|
||||||
lda (ZPTmpPtr2),y
|
|
||||||
sta NetDevJmp+2
|
|
||||||
|
|
||||||
ldx #DEVMGR.STATUS
|
ldx #DEVMGR.STATUS
|
||||||
jsr NetDevJmp
|
jsr NetDevJmp
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -65,7 +65,9 @@ CS.INIT >SYSCALL GetArgC
|
|||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN
|
CS.RUN
|
||||||
CS.DOEVENT
|
CS.DOEVENT sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CS.QUIT clc
|
CS.QUIT clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -110,15 +110,10 @@ CS.INIT.DEV >LDYA L.DEVNAME
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.1 >STYA ZPIPDevPtr
|
.1 >STYA ZPIPDevPtr
|
||||||
|
>STYA NetDevJmp+1
|
||||||
stx hNetDev
|
stx hNetDev
|
||||||
stx IPCFG+S.IPCFG.HDEV
|
stx IPCFG+S.IPCFG.HDEV
|
||||||
|
|
||||||
lda (ZPIPDevPtr)
|
|
||||||
sta NetDevJmp+1
|
|
||||||
ldy #1
|
|
||||||
lda (ZPIPDevPtr),y
|
|
||||||
sta NetDevJmp+2
|
|
||||||
|
|
||||||
>PUSHW L.DEVNAME
|
>PUSHW L.DEVNAME
|
||||||
>LDYA L.MSG.DEV.OK
|
>LDYA L.MSG.DEV.OK
|
||||||
>SYSCALL CPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #GetArgC
|
* #GetArgC
|
||||||
* Returns argument count in the process command line.
|
* Returns argument count in the process command line.
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* BIN.LoadExeYA
|
* BIN.LoadExeYA
|
||||||
* in :
|
* in :
|
||||||
@ -177,6 +176,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.10 inc DevMgr.Count
|
.10 inc DevMgr.Count
|
||||||
|
|
||||||
>SYSCALL GetDevByIDA
|
>SYSCALL GetDevByIDA
|
||||||
>STYA ZPPtr2 setup Ptr2 to dest HEADER
|
>STYA ZPPtr2 setup Ptr2 to dest HEADER
|
||||||
|
|
||||||
@ -197,12 +197,12 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O
|
|||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
ldy #S.DEV.JMP+1 Setup Main JMP
|
ldy #S.DEV.DRV.JMP+1 Setup Main JMP
|
||||||
lda DevMgr.Free+1
|
lda DevMgr.Free+1
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr2),y
|
||||||
tax
|
tax
|
||||||
|
|
||||||
dey #S.DEV.JMP
|
dey
|
||||||
lda DevMgr.Free
|
lda DevMgr.Free
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr2),y
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #FPutCAY
|
* #FPutCAY
|
||||||
* Print A (char) to File
|
* Print A (char) to File
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #SScanF
|
* #SScanF
|
||||||
* Scan a PStr (in progress)
|
* Scan a PStr (in progress)
|
||||||
|
@ -1,9 +1,18 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
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
|
* Convert HEXBUF to ASCBUF decimal padded with 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.LoMem .EQ *
|
DevMgr.NUL.Code .DA .1 STATUS
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.NUL.Code cld
|
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA DevMgr.NUL.Status
|
|
||||||
.DA DevMgr.BADCALL READBLOCK
|
.DA DevMgr.BADCALL READBLOCK
|
||||||
.DA DevMgr.BADCALL WRITEBLOCK
|
.DA DevMgr.BADCALL WRITEBLOCK
|
||||||
.DA DevMgr.BADCALL FORMAT
|
.DA DevMgr.BADCALL FORMAT
|
||||||
@ -22,21 +17,18 @@ DevMgr.NUL.Code cld
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.NUL.Status
|
.1 >LDYAI .2
|
||||||
>LDYAI DevMgr.NUL.Stat
|
|
||||||
clc
|
clc
|
||||||
rts
|
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
|
.DA #0,#0,#0
|
||||||
>PSTR "NULL DEVICE "
|
>PSTR "NULL DEVICE "
|
||||||
.DA #S.DEVSTAT.TYPE.CHAR
|
.DA #S.DEVSTAT.TYPE.CHAR
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA $0900
|
.DA $0900
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.Code cld
|
DevMgr.SYS.Code .DA .1 STATUS
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA DevMgr.SYS.Status
|
|
||||||
.DA DevMgr.BADCALL READBLOCK
|
.DA DevMgr.BADCALL READBLOCK
|
||||||
.DA DevMgr.BADCALL WRITEBLOCK
|
.DA DevMgr.BADCALL WRITEBLOCK
|
||||||
.DA DevMgr.BADCALL FORMAT
|
.DA DevMgr.BADCALL FORMAT
|
||||||
@ -47,16 +39,11 @@ DevMgr.SYS.Code cld
|
|||||||
.DA DevMgr.SYS.Read
|
.DA DevMgr.SYS.Read
|
||||||
.DA DevMgr.SYS.Write
|
.DA DevMgr.SYS.Write
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.BADCALL lda #MLI.ERR.BADCALL
|
.1 >LDYAI .2
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
DevMgr.SYS.Status
|
|
||||||
>LDYAI DevMgr.SYS.Stat
|
|
||||||
clc
|
clc
|
||||||
rts
|
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
|
.DA #0,#0,#0
|
||||||
>PSTR "A2osX SYS Screen"
|
>PSTR "A2osX SYS Screen"
|
||||||
.DA #S.DEVSTAT.TYPE.CHAR
|
.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.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.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 *
|
DevMgr.FreeMem .EQ *
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.D01
|
SAVE SYS/KERNEL.S.D01
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.Stat .DA DevMgr.LoMem
|
DevMgr.Stat .DA DevMgr.NUL.Code
|
||||||
DevMgr.Free .DA DevMgr.FreeMem
|
DevMgr.Free .DA DevMgr.FreeMem
|
||||||
.DA DevMgr.HiMem
|
.DA DevMgr.HiMem
|
||||||
DevMgr.Count .DA #2 NUL,SYS
|
DevMgr.Count .DA #2 NUL,SYS
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #GetDevByIDA
|
* #GetDevByIDA
|
||||||
* ##IN:
|
* ##IN:
|
||||||
@ -16,20 +15,17 @@ AUTO 6
|
|||||||
K.GetDevByIDA cmp DevMgr.Count
|
K.GetDevByIDA cmp DevMgr.Count
|
||||||
bcs K.GetDevDNF
|
bcs K.GetDevDNF
|
||||||
|
|
||||||
pha save ID
|
|
||||||
|
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
|
asl
|
||||||
|
php
|
||||||
|
clc
|
||||||
adc #DevMgr.Table
|
adc #DevMgr.Table
|
||||||
tay
|
tay
|
||||||
|
|
||||||
pla
|
|
||||||
php
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
plp
|
plp
|
||||||
|
lda #0
|
||||||
adc /DevMgr.Table
|
adc /DevMgr.Table
|
||||||
rts CC
|
rts CC
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
@ -43,13 +39,12 @@ K.GetDevByIDA cmp DevMgr.Count
|
|||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.GetDevByNameYA
|
K.GetDevByNameYA
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
>LDYAI DevMgr.Table+S.DEV.F
|
>LDYAI DevMgr.Table+S.DEV.NAME
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 lda (ZPPtr2)
|
.1 lda (ZPPtr2)
|
||||||
and #S.DEV.F.LEN
|
|
||||||
cmp (ZPPtr1)
|
cmp (ZPPtr1)
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
@ -64,10 +59,10 @@ K.GetDevByNameYA
|
|||||||
|
|
||||||
lda ZPPtr2
|
lda ZPPtr2
|
||||||
sec
|
sec
|
||||||
sbc #S.DEV.F
|
sbc #S.DEV.NAME
|
||||||
tay
|
tay
|
||||||
lda ZPPtr2+1
|
lda ZPPtr2+1
|
||||||
sbc /S.DEV.F
|
sbc /S.DEV.NAME
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -117,18 +112,9 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
|
|||||||
bit #S.DEV.S.BLOCK
|
bit #S.DEV.S.BLOCK
|
||||||
bne .99
|
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
|
txa Pass DEV.ID to OPEN
|
||||||
ldx #DEVMGR.OPEN
|
ldx #DEVMGR.OPEN
|
||||||
jsr .4
|
jsr pDevJmp
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>PUSHWI S.NODE.DEV
|
>PUSHWI S.NODE.DEV
|
||||||
@ -142,17 +128,17 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
|
|||||||
lda #S.NODE.T.CDEV
|
lda #S.NODE.T.CDEV
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
|
|
||||||
iny #S.NODE.DEV.ID
|
ldy #S.NODE.DEV.ID
|
||||||
|
|
||||||
.1 lda #$ff Self Modified
|
.1 lda #$ff Self Modified
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
|
|
||||||
iny #S.NODE.DEV.JMP
|
ldy #S.NODE.DEV.JMP
|
||||||
.2 lda #$ff
|
lda pDev
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
|
|
||||||
iny ##S.NODE.DEV.JMP+1
|
iny
|
||||||
.3 lda #$ff
|
lda pDev+1
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
txa
|
txa
|
||||||
clc
|
clc
|
||||||
@ -161,7 +147,6 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
|
|||||||
.99 lda #MLI.ERR.IO
|
.99 lda #MLI.ERR.IO
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
.4 jmp $ffff
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #MkNodA
|
* #MkNodA
|
||||||
* return a hFile for a given Socket
|
* return a hFile for a given Socket
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #OpenDirYA
|
* #OpenDirYA
|
||||||
* ##In:
|
* ##In:
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.LoadDrvYA
|
* K.LoadDrvYA
|
||||||
* in :
|
* in :
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #ExpandPStrYA
|
* #ExpandPStrYA
|
||||||
* ##In:
|
* ##In:
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* EVT.GetEvents :
|
* EVT.GetEvents :
|
||||||
* IN :
|
* IN :
|
||||||
@ -12,7 +11,9 @@ AUTO 6
|
|||||||
* CC * event in YA
|
* CC * event in YA
|
||||||
* (pEvent)
|
* (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
|
stz EvtMgr.Count reset Size
|
||||||
|
|
||||||
lda K.IrkMgr.VBL do we have IRQ enabled for VBL ?
|
lda K.IrkMgr.VBL do we have IRQ enabled for VBL ?
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* For All SYS.xxxx calls, X = #SYSCall
|
* For All SYS.xxxx calls, X = #SYSCall
|
||||||
* Must be kept in X before calling
|
* Must be kept in X before calling
|
||||||
@ -169,10 +168,10 @@ K.FReadA jsr PFT.CheckNodeA
|
|||||||
* Y,A = Bytes Written
|
* Y,A = Bytes Written
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.FWriteAY jsr PFT.CheckNodeA
|
K.FWriteAY jsr PFT.CheckNodeA
|
||||||
sty MLICALL.TMPBUF
|
sty K.FWriteAY.Buf
|
||||||
ldx #MLIWRITE
|
ldx #MLIWRITE
|
||||||
K.FReadWrite.0 jsr FILE.SetupPrt1A
|
K.FReadWrite.0 jsr FILE.SetupPrt1A
|
||||||
>LDYAI MLICALL.TMPBUF
|
>LDYAI K.FWriteAY.Buf
|
||||||
>STYA MLICALL.PARAMS+2
|
>STYA MLICALL.PARAMS+2
|
||||||
lda #1
|
lda #1
|
||||||
sta MLICALL.PARAMS+4
|
sta MLICALL.PARAMS+4
|
||||||
@ -180,8 +179,9 @@ K.FReadWrite.0 jsr FILE.SetupPrt1A
|
|||||||
lda #4 Param Count = 4 for MLIREAD & MLIWRITE
|
lda #4 Param Count = 4 for MLIREAD & MLIWRITE
|
||||||
jsr A2osX.MLICALL
|
jsr A2osX.MLICALL
|
||||||
bcs .9
|
bcs .9
|
||||||
lda MLICALL.TMPBUF
|
lda K.FWriteAY.Buf
|
||||||
.9 rts
|
.9 rts
|
||||||
|
K.FWriteAY.Buf .BS 1
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #FRead
|
* #FRead
|
||||||
* Read bytes from file
|
* Read bytes from file
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #FileSearch
|
* #FileSearch
|
||||||
* Search a file in the provided PATH list
|
* Search a file in the provided PATH list
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* SYSCALL (AUXLC to AUXLC)
|
* SYSCALL (AUXLC to AUXLC)
|
||||||
* Used by user & kernel for inter bank Calls
|
* Used by user & kernel for inter bank Calls
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Kernel.Init2 sei
|
Kernel.Init2 sei
|
||||||
|
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Kernel.Init3 jsr MemMgrInit
|
Kernel.Init3 sta SETALTZP
|
||||||
|
bit RRAMWRAMBNK1
|
||||||
|
bit RRAMWRAMBNK1
|
||||||
|
|
||||||
|
jsr MemMgrInit
|
||||||
jsr PS0Init
|
jsr PS0Init
|
||||||
bcs *
|
bcs *
|
||||||
|
|
||||||
>LDYAI MSG.Init3
|
>LDYAI MSG.Init3
|
||||||
>SYSCALL CPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
@ -128,14 +130,18 @@ PS0Init ldx #S.DEV*2 NUL,SYS
|
|||||||
clc
|
clc
|
||||||
.9 rts
|
.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
|
.DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.OPENED
|
||||||
|
.BS 6
|
||||||
.DA #3
|
.DA #3
|
||||||
.AS "NUL" NAME
|
.AS "NUL" NAME
|
||||||
.HS 00 NAME must Be 4 bytes long
|
.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
|
.DA #S.DEV.S.WRITE+S.DEV.S.READ
|
||||||
|
.BS 6
|
||||||
.DA #3
|
.DA #3
|
||||||
.AS "SYS" NAME
|
.AS "SYS" NAME
|
||||||
.HS 00 NAME must Be 4 bytes long
|
.HS 00 NAME must Be 4 bytes long
|
||||||
@ -247,7 +253,7 @@ DevMgrInit stz ZPPtr1
|
|||||||
lda #$C1
|
lda #$C1
|
||||||
sta ZPPtr1+1
|
sta ZPPtr1+1
|
||||||
lda #'1'
|
lda #'1'
|
||||||
sta DEV.HEADER+5 S1Dy
|
sta DEV.HEADER+S.DEV.NAME+4 S1Dy
|
||||||
|
|
||||||
.1 ldx #SmartPort.SIG-SmartPort.OFS-1
|
.1 ldx #SmartPort.SIG-SmartPort.OFS-1
|
||||||
|
|
||||||
@ -301,11 +307,11 @@ DevMgrInit.SP ldy #$ff
|
|||||||
adc #3 Compute smartport entry point
|
adc #3 Compute smartport entry point
|
||||||
sta .1+1
|
sta .1+1
|
||||||
sta .3+1
|
sta .3+1
|
||||||
sta DEV.HEADER+S.DEV.JMP
|
sta DEV.HEADER+S.DEV.ROM.JMP
|
||||||
lda ZPPtr1+1
|
lda ZPPtr1+1
|
||||||
sta .1+2
|
sta .1+2
|
||||||
sta .3+2
|
sta .3+2
|
||||||
sta DEV.HEADER+S.DEV.JMP+1
|
sta DEV.HEADER+S.DEV.ROM.JMP+1
|
||||||
|
|
||||||
.1 jsr $ffff Self Modified
|
.1 jsr $ffff Self Modified
|
||||||
.DA #0 Status
|
.DA #0 Status
|
||||||
@ -314,14 +320,12 @@ DevMgrInit.SP ldy #$ff
|
|||||||
lda SP.STATUS1
|
lda SP.STATUS1
|
||||||
beq .9 no device
|
beq .9 no device
|
||||||
|
|
||||||
.2 lda #1
|
.2 lda #'1'
|
||||||
sta DEV.HEADER.STATUS+1
|
sta DEV.HEADER+S.DEV.NAME+2 SxD1
|
||||||
lda #'1'
|
|
||||||
sta DEV.HEADER+7 SxD1
|
|
||||||
|
|
||||||
.3 jsr $ffff Self Modified
|
.3 jsr $ffff Self Modified
|
||||||
.DA #0 Status
|
.DA #0 Status
|
||||||
.DA DEV.HEADER.STATUS
|
.DA DEV.HEADER+S.DEV.S
|
||||||
bcs .7
|
bcs .7
|
||||||
lda SP.STATUS2+S.DEVSTAT.S
|
lda SP.STATUS2+S.DEVSTAT.S
|
||||||
sta DEV.HEADER+S.DEV.S
|
sta DEV.HEADER+S.DEV.S
|
||||||
@ -337,7 +341,8 @@ DevMgrInit.SP ldy #$ff
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgrInit.DII
|
DevMgrInit.DII >LDYAI A2osX.DIIDrv
|
||||||
|
>STYA DEV.HEADER+S.DEV.ROM.JMP
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgrInit.BLK
|
DevMgrInit.BLK
|
||||||
@ -365,8 +370,14 @@ DevMgrInit.AddDev
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.HEADER .BS 2 JMP
|
DEV.HEADER clc
|
||||||
DEV.HEADER.STATUS .DA #S.DEV.S.BLOCK S
|
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
|
>PSTR "S1D1" 5 bytes
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SmartPort.OFS .HS 07010305
|
SmartPort.OFS .HS 07010305
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* called directly by IRQ Vector $FFFE in AuxLC
|
* called directly by IRQ Vector $FFFE in AuxLC
|
||||||
* Must keep:
|
* Must keep:
|
||||||
@ -115,13 +114,8 @@ K.IrqMgrVBL.0n .BS 1
|
|||||||
K.IrqMgrVBL.MSM jmp $0000
|
K.IrqMgrVBL.MSM jmp $0000
|
||||||
K.IrqMgrVBL.MRM jmp $0000
|
K.IrqMgrVBL.MRM jmp $0000
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.IrqHandlerJMP lda ($fe)
|
K.IrqHandlerJMP ldx #DEVMGR.IRQ
|
||||||
sta .1+1
|
jmp ($fe)
|
||||||
ldy #1
|
|
||||||
lda ($fe),y
|
|
||||||
sta .1+2
|
|
||||||
ldx #DEVMGR.IRQ
|
|
||||||
.1 jmp $ffff
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S.IRQ
|
SAVE SYS/KERNEL.S.IRQ
|
||||||
|
@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC
|
|||||||
NEW
|
NEW
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* $D000-D0FF KERNEL.SYSCALL Jmp Table
|
* $D000-D0FF KERNEL.SYSCALL Jmp Table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC
|
|||||||
NEW
|
NEW
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.LoadLibYA
|
* K.LoadLibYA
|
||||||
* in :
|
* in :
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* !!!!!! DO NOT USE ZPPtrs !!!!!
|
* !!!!!! DO NOT USE ZPPtrs !!!!!
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.PFTAdd
|
* K.PFTAdd
|
||||||
* In :
|
* In :
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #ExecProcessNewEnvYA
|
* #ExecProcessNewEnvYA
|
||||||
* #ExecProcessYA (Blocking Parent PID)
|
* #ExecProcessYA (Blocking Parent PID)
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.BASL0 .EQ $800
|
SYS.BASL0 .EQ $800
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -20,7 +19,8 @@ K.KernelRun jsr TSK.TskMgrRun
|
|||||||
|
|
||||||
jsr PS.Select0
|
jsr PS.Select0
|
||||||
|
|
||||||
stz pEvent
|
lda #EvtMgr.Table
|
||||||
|
sta pEvent
|
||||||
|
|
||||||
.1 lda (pEvent)
|
.1 lda (pEvent)
|
||||||
beq .3
|
beq .3
|
||||||
@ -71,8 +71,9 @@ K.KernelRun jsr TSK.TskMgrRun
|
|||||||
beq K.KernelRun
|
beq K.KernelRun
|
||||||
|
|
||||||
tax
|
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.....
|
jsr K.GetDevByIDA x unmodified.....
|
||||||
bcs K.KernelRun ???
|
bcs K.KernelRun ???
|
||||||
@ -80,15 +81,10 @@ K.KernelRun jsr TSK.TskMgrRun
|
|||||||
stx A2osX.ASCREEN
|
stx A2osX.ASCREEN
|
||||||
|
|
||||||
>STYA pDev
|
>STYA pDev
|
||||||
lda (pDev)
|
|
||||||
sta .5+1
|
|
||||||
ldy #1
|
|
||||||
lda (pDev),y
|
|
||||||
sta .5+2
|
|
||||||
ldx #DEVMGR.CONTROL
|
ldx #DEVMGR.CONTROL
|
||||||
jsr .5
|
jsr pDevJmp
|
||||||
jmp K.KernelRun
|
jmp K.KernelRun
|
||||||
.5 jmp $ffff
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
RUN.DumpEvent ldy #S.EVT-1
|
RUN.DumpEvent ldy #S.EVT-1
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* #NewPStrYA
|
* #NewPStrYA
|
||||||
* Create a new copy of PSTR
|
* Create a new copy of PSTR
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c
|
* https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* TSK.TskMgrRun
|
* TSK.TskMgrRun
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -135,7 +134,8 @@ TSK.DispatchEvents
|
|||||||
|
|
||||||
jsr PS.Select
|
jsr PS.Select
|
||||||
|
|
||||||
stz pEvent Select first event in list
|
lda #EvtMgr.Table
|
||||||
|
sta pEvent Select first event in list
|
||||||
|
|
||||||
lda EVTMGR.COUNT
|
lda EVTMGR.COUNT
|
||||||
sta TSKMGR.EVENTCNT
|
sta TSKMGR.EVENTCNT
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.SRC
|
PREFIX /A2OSX.SRC
|
||||||
LOMEM $900
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
@ -20,8 +20,6 @@ ZPPtr2 .EQ ZPKERNEL+2 (could be trashed by any JSR)
|
|||||||
ZPPtr3 .EQ ZPKERNEL+4
|
ZPPtr3 .EQ ZPKERNEL+4
|
||||||
ZPPtr4 .EQ ZPKERNEL+6
|
ZPPtr4 .EQ ZPKERNEL+6
|
||||||
|
|
||||||
* Kernel Init Stage 2
|
|
||||||
|
|
||||||
sei
|
sei
|
||||||
ldx #$FF init 6502 stack to highest
|
ldx #$FF init 6502 stack to highest
|
||||||
txs
|
txs
|
||||||
@ -36,25 +34,19 @@ ZPPtr4 .EQ ZPKERNEL+6
|
|||||||
|
|
||||||
jsr Kernel.Init2
|
jsr Kernel.Init2
|
||||||
>DEBUGOA
|
>DEBUGOA
|
||||||
|
|
||||||
* Kernel Init Stage 3
|
|
||||||
|
|
||||||
sta SETALTZP
|
|
||||||
bit RRAMWRAMBNK1
|
|
||||||
bit RRAMWRAMBNK1
|
|
||||||
jmp Kernel.Init3
|
jmp Kernel.Init3
|
||||||
*--------------------------------------
|
|
||||||
.INB X.PRINTF.S
|
.INB X.PRINTF.S
|
||||||
.INB SYS/KERNEL.S.INIT2
|
.INB SYS/KERNEL.S.INIT2
|
||||||
.INB SYS/KERNEL.S.INIT3
|
.INB SYS/KERNEL.S.INIT3
|
||||||
*--------------------------------------
|
|
||||||
* Global Page
|
* Global Page
|
||||||
|
|
||||||
A2osX.GP .EQ *
|
A2osX.GP .EQ *
|
||||||
.PH $BD00
|
.PH $BD00
|
||||||
.INB SYS/KERNEL.S.GP
|
.INB SYS/KERNEL.S.GP
|
||||||
.EP
|
.EP
|
||||||
A2osX.GP.END .EQ *
|
A2osX.GP.SIZE .EQ *-A2osX.GP
|
||||||
|
|
||||||
* LC AUX $D000 BANK1 API Calls $00-$3E
|
* LC AUX $D000 BANK1 API Calls $00-$3E
|
||||||
|
|
||||||
@ -71,7 +63,8 @@ A2osX.D001 .EQ *
|
|||||||
.INB SYS/KERNEL.S.PFT
|
.INB SYS/KERNEL.S.PFT
|
||||||
.INB SYS/KERNEL.S.BIN
|
.INB SYS/KERNEL.S.BIN
|
||||||
.EP
|
.EP
|
||||||
A2osX.D001.END .EQ *
|
A2osX.D001.SIZE .EQ *-A2osX.D001
|
||||||
|
|
||||||
|
|
||||||
* LC AUX $D000 BANK2 API Calls $40-$8E
|
* LC AUX $D000 BANK2 API Calls $40-$8E
|
||||||
|
|
||||||
@ -89,7 +82,7 @@ A2osX.D002 .EQ *
|
|||||||
.INB SYS/KERNEL.S.EVT
|
.INB SYS/KERNEL.S.EVT
|
||||||
.INB SYS/KERNEL.S.TSK
|
.INB SYS/KERNEL.S.TSK
|
||||||
.EP
|
.EP
|
||||||
A2osX.D002.END .EQ *
|
A2osX.D002.SIZE .EQ *-A2osX.D002
|
||||||
|
|
||||||
* LC AUX $E000 API Calls $80-$FE
|
* LC AUX $E000 API Calls $80-$FE
|
||||||
|
|
||||||
@ -101,31 +94,19 @@ A2osX.E000 .EQ *
|
|||||||
.INB SYS/KERNEL.S.MEM
|
.INB SYS/KERNEL.S.MEM
|
||||||
.INB SYS/KERNEL.S.CNV
|
.INB SYS/KERNEL.S.CNV
|
||||||
.INB SYS/KERNEL.S.CHR
|
.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
|
* Make sure KERNEL.S.D01 is the last one
|
||||||
|
|
||||||
.INB SYS/KERNEL.S.D01
|
.INB SYS/KERNEL.S.D01
|
||||||
.EP
|
.EP
|
||||||
A2osX.E000.END .EQ *
|
A2osX.E000.SIZE .EQ *-A2osX.E000
|
||||||
*--------------------------------------
|
|
||||||
* CONTROL SECTION :
|
* CONTROL SECTION :
|
||||||
.LIST ON
|
.LIST ON
|
||||||
A2osX.GP.SIZE .EQ A2osX.GP.END-A2osX.GP
|
Check.GP .EQ A2osX.GP.SIZE
|
||||||
A2osX.D001.SIZE .EQ A2osX.D001.END-A2osX.D001
|
Check.D001 .EQ A2osX.D001.SIZE
|
||||||
A2osX.D002.SIZE .EQ A2osX.D002.END-A2osX.D002
|
Check.D002 .EQ A2osX.D002.SIZE
|
||||||
A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000
|
Check.E000 .EQ A2osX.E000.SIZE
|
||||||
|
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
|
||||||
.DO A2osX.GP.SIZE>$1E0
|
.DO A2osX.GP.SIZE>$1E0
|
||||||
.LIST ON
|
.LIST ON
|
||||||
* !!!!!!!!! ERROR:GP too big !!!!!!!!!!
|
* !!!!!!!!! ERROR:GP too big !!!!!!!!!!
|
||||||
@ -141,7 +122,6 @@ A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000
|
|||||||
* !!!!!!!!! ERROR:BNK2 too big !!!!!!!!
|
* !!!!!!!!! ERROR:BNK2 too big !!!!!!!!
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
MAN
|
MAN
|
||||||
SAVE SYS/KERNEL.S
|
SAVE SYS/KERNEL.S
|
||||||
ASM
|
ASM
|
||||||
|
Loading…
Reference in New Issue
Block a user