Kernel 0.9.1 : SHELL, CSH style scripting.....(wip), Math API (wip), API reorg

This commit is contained in:
Rémy GIBERT 2017-10-27 08:36:46 +02:00
parent 84b423e9de
commit 2f42486dbd
34 changed files with 315 additions and 301 deletions

Binary file not shown.

Binary file not shown.

View File

@ -185,10 +185,10 @@ CS.RUN.BuildCat >LDA.G hDev
bcs .99 bcs .99
>STYA ZPPtr1 >STYA ZPPtr1
ldy #S.DEVSTAT.SIZE ldy #S.DSTAT.SIZE
lda (ZPPtr1),y lda (ZPPtr1),y
>STA.G SizeInBlocks >STA.G SizeInBlocks
ldy #S.DEVSTAT.SIZE+1 ldy #S.DSTAT.SIZE+1
lda (ZPPtr1),y lda (ZPPtr1),y
>STA.G SizeInBlocks+1 >STA.G SizeInBlocks+1

View File

@ -93,11 +93,11 @@ CS.RUN.DUMPDEV sta DevID
>LDYA L.MSG0.L >LDYA L.MSG0.L
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.MAC+5 ldy #S.DSTAT.NET.MAC+5
.1 >PUSHB (ZPDevStatPtr),y .1 >PUSHB (ZPDevStatPtr),y
dey dey
cpy #S.DEVSTAT.NET.MAC-1 cpy #S.DSTAT.NET.MAC-1
bne .1 bne .1
lda #S.DEV.NAME lda #S.DEV.NAME
@ -111,10 +111,10 @@ CS.RUN.DUMPDEV sta DevID
lda ZPDevStatPtr lda ZPDevStatPtr
clc clc
adc #S.DEVSTAT.IDS adc #S.DSTAT.IDS
tay tay
lda ZPDevStatPtr+1 lda ZPDevStatPtr+1
adc /S.DEVSTAT.IDS adc /S.DSTAT.IDS
>PUSHYA >PUSHYA
>PUSHB DevID >PUSHB DevID
@ -122,27 +122,27 @@ CS.RUN.DUMPDEV sta DevID
>LDYA L.MSG1.DEV >LDYA L.MSG1.DEV
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.FLAGS ldy #S.DSTAT.NET.FLAGS
lda (ZPDevStatPtr),y lda (ZPDevStatPtr),y
and #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD and #S.DSTAT.NET.FLAGS.ARPOFFLOAD
beq .2 beq .2
lda #1 lda #1
.2 >PUSHA .2 >PUSHA
>LDYA L.MSG1.DEV.ARP >LDYA L.MSG1.DEV.ARP
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.FLAGS ldy #S.DSTAT.NET.FLAGS
lda (ZPDevStatPtr),y lda (ZPDevStatPtr),y
and #S.DEVSTAT.NET.FLAGS.IPOFFLOAD and #S.DSTAT.NET.FLAGS.IPOFFLOAD
beq .3 beq .3
lda #1 lda #1
.3 >PUSHA .3 >PUSHA
>LDYA L.MSG1.DEV.IP >LDYA L.MSG1.DEV.IP
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.STATUS ldy #S.DSTAT.NET.STATUS
lda (ZPDevStatPtr),y lda (ZPDevStatPtr),y
and #S.DEVSTAT.NET.STATUS.OK and #S.DSTAT.NET.STATUS.OK
bne CS.RUN.LINK bne CS.RUN.LINK
>PUSHW L.MSG1.LINK.KO >PUSHW L.MSG1.LINK.KO
>LDYA L.MSG1.LINK >LDYA L.MSG1.LINK
@ -156,7 +156,7 @@ CS.RUN.LINK >PUSHW L.MSG1.LINK.OK
>LDYA L.MSG1.LINKSPEED >LDYA L.MSG1.LINKSPEED
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
ldy #S.DEVSTAT.NET.STATUS ldy #S.DSTAT.NET.STATUS
lda (ZPDevStatPtr),y lda (ZPDevStatPtr),y
and #$0F and #$0F
tax tax
@ -168,9 +168,9 @@ CS.RUN.LINK >PUSHW L.MSG1.LINK.OK
dex dex
bne .4 bne .4
ldy #S.DEVSTAT.NET.STATUS ldy #S.DSTAT.NET.STATUS
lda (ZPDevStatPtr),y lda (ZPDevStatPtr),y
and #S.DEVSTAT.NET.STATUS.FD and #S.DSTAT.NET.STATUS.FD
bne .5 bne .5
>LDYA L.MSG1.DPLX.HD >LDYA L.MSG1.DPLX.HD
bra .6 bra .6

View File

@ -136,35 +136,35 @@ DumpHeader ldy #S.DEV.DRV.JMP+1
DumpStatus >LDA.G DEV.S DumpStatus >LDA.G DEV.S
bpl .1 bpl .1
ldy #S.DEVSTAT.SIZE ldy #S.DSTAT.SIZE
lda (ZPPTR2),y lda (ZPPTR2),y
>STA.G DEV.SIZE >STA.G DEV.SIZE
ldy #S.DEVSTAT.SIZE+1 ldy #S.DSTAT.SIZE+1
lda (ZPPTR2),y lda (ZPPTR2),y
>STA.G DEV.SIZE+1 >STA.G DEV.SIZE+1
ldy #S.DEVSTAT.SIZE+2 ldy #S.DSTAT.SIZE+2
lda (ZPPTR2),y lda (ZPPTR2),y
>STA.G DEV.SIZE+2 >STA.G DEV.SIZE+2
>PUSHEA.G DEV.SIZE >PUSHEA.G DEV.SIZE
.1 ldy #S.DEVSTAT.VERSION+1 .1 ldy #S.DSTAT.VERSION+1
>PUSHB (ZPPTR2),y >PUSHB (ZPPTR2),y
dey dey
>PUSHB (ZPPTR2),y >PUSHB (ZPPTR2),y
lda ZPPTR2 lda ZPPTR2
clc clc
adc #S.DEVSTAT.IDS adc #S.DSTAT.IDS
tay tay
lda ZPPTR2+1 lda ZPPTR2+1
adc #0 adc #0
>PUSHYA >PUSHYA
ldy #S.DEVSTAT.ST ldy #S.DSTAT.ST
>PUSHB (ZPPTR2),y >PUSHB (ZPPTR2),y
dey dey
>PUSHB (ZPPTR2),y >PUSHB (ZPPTR2),y

View File

@ -53,17 +53,17 @@ CS.RUN >LDYA L.MemStat
>LDYA L.MSG.Main >LDYA L.MSG.Main
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
lda MemStat+S.MEMSTAT.MF lda MemStat+S.MSTAT.MF
sec sec
sbc MemStat+S.MEMSTAT.ML sbc MemStat+S.MSTAT.ML
tay tay
lda MemStat+S.MEMSTAT.MF+1 lda MemStat+S.MSTAT.MF+1
sbc MemStat+S.MEMSTAT.ML+1 sbc MemStat+S.MSTAT.ML+1
>PUSHYA >PUSHYA
>PUSHW MemStat+S.MEMSTAT.MH >PUSHW MemStat+S.MSTAT.MH
>PUSHW MemStat+S.MEMSTAT.MF >PUSHW MemStat+S.MSTAT.MF
>PUSHW MemStat+S.MEMSTAT.ML >PUSHW MemStat+S.MSTAT.ML
>LDYA L.MSG.Stat >LDYA L.MSG.Stat
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
@ -71,17 +71,17 @@ CS.RUN >LDYA L.MemStat
>LDYA L.MSG.Aux >LDYA L.MSG.Aux
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
lda MemStat+S.MEMSTAT.XF lda MemStat+S.MSTAT.XF
sec sec
sbc MemStat+S.MEMSTAT.XL sbc MemStat+S.MSTAT.XL
tay tay
lda MemStat+S.MEMSTAT.XF+1 lda MemStat+S.MSTAT.XF+1
sbc MemStat+S.MEMSTAT.XL+1 sbc MemStat+S.MSTAT.XL+1
>PUSHYA >PUSHYA
>PUSHW MemStat+S.MEMSTAT.XH >PUSHW MemStat+S.MSTAT.XH
>PUSHW MemStat+S.MEMSTAT.XF >PUSHW MemStat+S.MSTAT.XF
>PUSHW MemStat+S.MEMSTAT.XL >PUSHW MemStat+S.MSTAT.XL
>LDYA L.MSG.Stat >LDYA L.MSG.Stat
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
@ -89,17 +89,17 @@ CS.RUN >LDYA L.MemStat
>LDYA L.MSG.Kernel >LDYA L.MSG.Kernel
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
lda MemStat+S.MEMSTAT.DH lda MemStat+S.MSTAT.DH
sec sec
sbc MemStat+S.MEMSTAT.DF sbc MemStat+S.MSTAT.DF
tay tay
lda MemStat+S.MEMSTAT.DH+1 lda MemStat+S.MSTAT.DH+1
sbc MemStat+S.MEMSTAT.DF+1 sbc MemStat+S.MSTAT.DF+1
>PUSHYA >PUSHYA
>PUSHW MemStat+S.MEMSTAT.DH >PUSHW MemStat+S.MSTAT.DH
>PUSHW MemStat+S.MEMSTAT.DF >PUSHW MemStat+S.MSTAT.DF
>PUSHW MemStat+S.MEMSTAT.DL >PUSHW MemStat+S.MSTAT.DL
>LDYA L.MSG.Stat >LDYA L.MSG.Stat
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
@ -122,7 +122,7 @@ MSG.Aux >CSTR "--- Aux Memory ----------------\r\n"
MSG.Kernel >CSTR "--- Kernel (Drivers) Memory ---\r\n" MSG.Kernel >CSTR "--- Kernel (Drivers) Memory ---\r\n"
MSG.Stat >CSTR " Low : $%H\r\n Free Ptr : $%H\r\n High : $%H\r\n Available Memory : %05D Bytes\r\n" MSG.Stat >CSTR " Low : $%H\r\n Free Ptr : $%H\r\n High : $%H\r\n Available Memory : %05D Bytes\r\n"
MSG.End >CSTR "-------------------------------\r\n" MSG.End >CSTR "-------------------------------\r\n"
MemStat .BS S.MEMSTAT MemStat .BS S.MSTAT
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
.OR 0 .OR 0

View File

@ -84,7 +84,7 @@ CS.RUN >SYSCALL GetChar
bne .8 bne .8
>LDA.G MEM.COUNT >LDA.G MEM.COUNT
>CMP.G MemStat+S.MEMSTAT.MLastSlot >CMP.G MemStat+S.MSTAT.MLast
beq .10 beq .10
ldy #LINE.COUNT ldy #LINE.COUNT
@ -137,27 +137,27 @@ CS.RUN >SYSCALL GetChar
>LDYA L.MSG2 >LDYA L.MSG2
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
>LDYA.G MemStat+S.MEMSTAT.MH >LDYA.G MemStat+S.MSTAT.MH
>PUSHYA >PUSHYA
>LDYA L.MSG3 >LDYA L.MSG3
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
>LDYA.G MemStat+S.MEMSTAT.MF >LDYA.G MemStat+S.MSTAT.MF
>PUSHYA >PUSHYA
>LDYA L.MSG4 >LDYA L.MSG4
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
>LDYA.G MemStat+S.MEMSTAT.ML >LDYA.G MemStat+S.MSTAT.ML
>PUSHYA >PUSHYA
>LDYA L.MSG5 >LDYA L.MSG5
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
sec sec
>LDA.G MemStat+S.MEMSTAT.MF >LDA.G MemStat+S.MSTAT.MF
>SBC.G MemStat+S.MEMSTAT.ML >SBC.G MemStat+S.MSTAT.ML
pha pha
>LDA.G MemStat+S.MEMSTAT.MF+1 >LDA.G MemStat+S.MSTAT.MF+1
>SBC.G MemStat+S.MEMSTAT.ML+1 >SBC.G MemStat+S.MSTAT.ML+1
ply ply
>PUSHYA >PUSHYA
@ -309,7 +309,7 @@ LINE.COUNT .BS 1
MEM.COUNT .BS 1 MEM.COUNT .BS 1
USED.COUNT .BS 1 USED.COUNT .BS 1
bSTOP .BS 1 bSTOP .BS 1
MemStat .BS S.MEMSTAT MemStat .BS S.MSTAT
MEM.FLAGS .BS 9 MEM.FLAGS .BS 9
DS.END DS.END
.ED .ED

View File

@ -889,10 +889,10 @@ EscSeqParamTmp .BS 2
EscSeqParamCnt .BS 1 EscSeqParamCnt .BS 1
EscSeqParam .BS 4 EscSeqParam .BS 4
*-------------------------------------- *--------------------------------------
DEVSTAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ DEVSTAT .DA #S.DSTAT.S.WRITE+S.DSTAT.S.READ
.DA #0,#0,#0 .DA #0,#0,#0
>PSTR "ANSI 80c Console" >PSTR "ANSI 80c Console"
.DA #S.DEVSTAT.T.CHAR .DA #S.DSTAT.T.CHAR
.DA #0 .DA #0
.DA $0900 .DA $0900
ENQ.String >CSTR "A2osXTERM" ENQ.String >CSTR "A2osXTERM"

View File

@ -330,7 +330,7 @@ STAT .DA #0
.DA #0,#0,#0 .DA #0,#0,#0
>PSTR "Apple II DHGR" >PSTR "Apple II DHGR"
.BS 3 .BS 3
.DA #S.DEVSTAT.T.GFX .DA #S.DSTAT.T.GFX
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------

View File

@ -124,7 +124,7 @@ DRV.CS.START .DA STATUS
L.DEVSTAT .DA DEVSTAT L.DEVSTAT .DA DEVSTAT
.DA 0 end or relocation .DA 0 end or relocation
*-------------------------------------- *--------------------------------------
STATUS lda #S.DEVSTAT.NET.STATUS.10 STATUS lda #S.DSTAT.NET.STATUS.10
sta LINK.STATUS sta LINK.STATUS
ldx DEVSLOTx0 ldx DEVSLOTx0
@ -135,7 +135,7 @@ STATUS lda #S.DEVSTAT.NET.STATUS.10
and /L91C96.0.EPHSR.LINK and /L91C96.0.EPHSR.LINK
beq .1 beq .1
lda LINK.STATUS lda LINK.STATUS
ora #S.DEVSTAT.NET.STATUS.OK ora #S.DSTAT.NET.STATUS.OK
sta LINK.STATUS sta LINK.STATUS
.1 lda L91C96.0.TCR,x .1 lda L91C96.0.TCR,x
@ -143,7 +143,7 @@ STATUS lda #S.DEVSTAT.NET.STATUS.10
and /L91C96.0.TCR.FDSE and /L91C96.0.TCR.FDSE
bne .2 bne .2
lda LINK.STATUS lda LINK.STATUS
ora #S.DEVSTAT.NET.STATUS.FD ora #S.DSTAT.NET.STATUS.FD
sta LINK.STATUS sta LINK.STATUS
.2 >LDYA L.DEVSTAT .2 >LDYA L.DEVSTAT
@ -438,7 +438,7 @@ DEVSTAT .DA #0
.BS 3 size .BS 3 size
>PSTR "LanCEGS/L91C96" >PSTR "LanCEGS/L91C96"
.BS 1 .BS 1
.DA #S.DEVSTAT.T.NET .DA #S.DSTAT.T.NET
.BS 1 Subtype .BS 1 Subtype
.BS 2 Version .BS 2 Version
*-------------------------------------- *--------------------------------------

View File

@ -313,7 +313,7 @@ DEVSTAT .DA #0
.DA #0,#0,#0 size .DA #0,#0,#0 size
>PSTR "Apple II Mouse" >PSTR "Apple II Mouse"
.BS 2 .BS 2
.DA #S.DEVSTAT.T.XY .DA #S.DSTAT.T.XY
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------

View File

@ -147,11 +147,11 @@ DEVSLOT0n .BS 1
DEVSLOTCn .BS 1 DEVSLOTCn .BS 1
DEVSLOTn0 .BS 1 DEVSLOTn0 .BS 1
*-------------------------------------- *--------------------------------------
STAT .DA #S.DEVSTAT.S.WRITE STAT .DA #S.DSTAT.S.WRITE
.DA #0,#0,#0 .DA #0,#0,#0
>PSTR "Parallel Card" >PSTR "Parallel Card"
.DA #0,#0,#0 .DA #0,#0,#0
.DA #S.DEVSTAT.T.CHAR .DA #S.DSTAT.T.CHAR
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------

View File

@ -198,10 +198,10 @@ WRITE pha
DRV.CS.END DRV.CS.END
DEVSLOTn0 .BS 1 DEVSLOTn0 .BS 1
*-------------------------------------- *--------------------------------------
STAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ STAT .DA #S.DSTAT.S.WRITE+S.DSTAT.S.READ
.DA #0,#0,#0 .DA #0,#0,#0
>PSTR "Serial Card/Port" >PSTR "Serial Card/Port"
.DA #S.DEVSTAT.T.CHAR .DA #S.DSTAT.T.CHAR
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------

View File

@ -318,10 +318,10 @@ OUTBUF.HEAD .BS 1
INBUF .BS BUF.SIZE INBUF .BS BUF.SIZE
OUTBUF .BS BUF.SIZE OUTBUF .BS BUF.SIZE
*-------------------------------------- *--------------------------------------
STAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ+S.DEV.S.IRQ STAT .DA #S.DSTAT.S.WRITE+S.DSTAT.S.READ+S.DEV.S.IRQ
.DA #0,#0,#0 .DA #0,#0,#0
>PSTR "Serial Card/Port" >PSTR "Serial Card/Port"
.DA #S.DEVSTAT.T.CHAR .DA #S.DSTAT.T.CHAR
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------

View File

@ -503,12 +503,12 @@ DEVSLOTx0 .BS 1
DEVSTAT .DA #0 DEVSTAT .DA #0
.BS 3 size .BS 3 size
>PSTR "UtherNetII/W5100" >PSTR "UtherNetII/W5100"
.DA #S.DEVSTAT.T.NET .DA #S.DSTAT.T.NET
.BS 1 Subtype .BS 1 Subtype
.BS 2 Version .BS 2 Version
*-------------------------------------- *--------------------------------------
FLAGS .DA #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD+S.DEVSTAT.NET.FLAGS.IPOFFLOAD FLAGS .DA #S.DSTAT.NET.FLAGS.ARPOFFLOAD+S.DSTAT.NET.FLAGS.IPOFFLOAD
LINK.STATUS .DA #S.DEVSTAT.NET.STATUS.OK+S.DEVSTAT.NET.STATUS.FD+S.DEVSTAT.NET.STATUS.100 LINK.STATUS .DA #S.DSTAT.NET.STATUS.OK+S.DSTAT.NET.STATUS.FD+S.DSTAT.NET.STATUS.100
MAC .BS 6 MAC .BS 6
MAN MAN
SAVE /A2OSX.SRC/DRV/UTHER2.AI.DRV.S SAVE /A2OSX.SRC/DRV/UTHER2.AI.DRV.S

View File

@ -87,9 +87,9 @@ Dev.Detect >STYA ARGS
sta PacketPagePTR,x sta PacketPagePTR,x
lda PacketPageDATA+1,x lda PacketPageDATA+1,x
sta DEVSTAT+S.DEVSTAT.VERSION+1 set Hardware version sta DEVSTAT+S.DSTAT.VERSION+1 set Hardware version
lda PacketPageDATA,x lda PacketPageDATA,x
sta DEVSTAT+S.DEVSTAT.VERSION sta DEVSTAT+S.DSTAT.VERSION
>LDYA ARGS >LDYA ARGS
>STYA ZPTmpPTR >STYA ZPTmpPTR
@ -154,7 +154,7 @@ DRV.CS.START .DA STATUS
L.DEVSTAT .DA DEVSTAT L.DEVSTAT .DA DEVSTAT
.DA 0 end or relocation .DA 0 end or relocation
*-------------------------------------- *--------------------------------------
STATUS lda #S.DEVSTAT.NET.STATUS.10 STATUS lda #S.DSTAT.NET.STATUS.10
sta LINK.STATUS sta LINK.STATUS
ldx DEVSLOTx0 ldx DEVSLOTx0
@ -170,7 +170,7 @@ STATUS lda #S.DEVSTAT.NET.STATUS.10
beq .1 beq .1
lda LINK.STATUS lda LINK.STATUS
ora #S.DEVSTAT.NET.STATUS.OK ora #S.DSTAT.NET.STATUS.OK
sta LINK.STATUS sta LINK.STATUS
.1 lda /PP.TestCTL .1 lda /PP.TestCTL
@ -184,7 +184,7 @@ STATUS lda #S.DEVSTAT.NET.STATUS.10
beq .2 beq .2
lda LINK.STATUS lda LINK.STATUS
ora #S.DEVSTAT.NET.STATUS.FD ora #S.DSTAT.NET.STATUS.FD
sta LINK.STATUS sta LINK.STATUS
.2 >LDYA L.DEVSTAT .2 >LDYA L.DEVSTAT
@ -442,7 +442,7 @@ DEVSLOTx0 .BS 1
DEVSTAT .DA #0 DEVSTAT .DA #0
.BS 3 size .BS 3 size
>PSTR "Uthernet/CS8900A" >PSTR "Uthernet/CS8900A"
.DA #S.DEVSTAT.T.NET .DA #S.DSTAT.T.NET
.BS 1 Subtype .BS 1 Subtype
.BS 2 Version .BS 2 Version
*-------------------------------------- *--------------------------------------

View File

@ -389,12 +389,12 @@ DEVSLOTx0 .BS 1
DEVSTAT .DA #0 DEVSTAT .DA #0
.BS 3 size .BS 3 size
>PSTR "UtherNetII/W5100" >PSTR "UtherNetII/W5100"
.DA #S.DEVSTAT.T.NET .DA #S.DSTAT.T.NET
.BS 1 Subtype .BS 1 Subtype
.BS 2 Version .BS 2 Version
*-------------------------------------- *--------------------------------------
FLAGS .DA #0 FLAGS .DA #0
LINK.STATUS .DA #S.DEVSTAT.NET.STATUS.OK+S.DEVSTAT.NET.STATUS.FD+S.DEVSTAT.NET.STATUS.100 LINK.STATUS .DA #S.DSTAT.NET.STATUS.OK+S.DSTAT.NET.STATUS.FD+S.DSTAT.NET.STATUS.100
MAC .BS 6 MAC .BS 6
MAN MAN
SAVE /A2OSX.SRC/DRV/UTHERNET2.DRV.S SAVE /A2OSX.SRC/DRV/UTHERNET2.DRV.S

View File

@ -235,22 +235,22 @@ S.MEM.LEN .EQ 6
* *
S.MEM .EQ 8 S.MEM .EQ 8
*-------------------------------------- *--------------------------------------
S.MEMSTAT.ML .EQ 0 S.MSTAT.ML .EQ 0
S.MEMSTAT.MF .EQ 2 S.MSTAT.MF .EQ 2
S.MEMSTAT.MH .EQ 4 S.MSTAT.MH .EQ 4
S.MEMSTAT.MLastSlot .EQ 6 S.MSTAT.MLast .EQ 6
* *
S.MEMSTAT.XL .EQ 8 S.MSTAT.XL .EQ 8
S.MEMSTAT.XF .EQ 10 S.MSTAT.XF .EQ 10
S.MEMSTAT.XH .EQ 12 S.MSTAT.XH .EQ 12
S.MEMSTAT.XLastSlot .EQ 14 S.MSTAT.XLast .EQ 14
* *
S.MEMSTAT.DL .EQ 16 S.MSTAT.DL .EQ 16
S.MEMSTAT.DF .EQ 18 S.MSTAT.DF .EQ 18
S.MEMSTAT.DH .EQ 20 S.MSTAT.DH .EQ 20
S.MEMSTAT.DCount .EQ 22 S.MSTAT.DCount .EQ 22
* *
S.MEMSTAT .EQ 24 S.MSTAT .EQ 24
*-------------------------------------- *--------------------------------------
* DEVMGR (new API) = Smartport * DEVMGR (new API) = Smartport
*-------------------------------------- *--------------------------------------
@ -302,46 +302,47 @@ DEVMGR.GFX.VLINE .EQ 28
DEVMGR.GFX.FILLRECT .EQ 30 DEVMGR.GFX.FILLRECT .EQ 30
DEVMGR.GFX.BITBLT .EQ 32 DEVMGR.GFX.BITBLT .EQ 32
*-------------------------------------- *--------------------------------------
S.DEVSTAT.S .EQ 0 S.DSTAT.S .EQ 0
S.DEVSTAT.S.BLOCK .EQ %10000000 S.DSTAT.S.BLOCK .EQ %10000000
S.DEVSTAT.S.WRITE .EQ %01000000 S.DSTAT.S.WRITE .EQ %01000000
S.DEVSTAT.S.READ .EQ %00100000 S.DSTAT.S.READ .EQ %00100000
S.DEVSTAT.S.ONLINE .EQ %00010000 S.DSTAT.S.ONLINE .EQ %00010000
S.DEVSTAT.S.NOFMT .EQ %00001000 S.DSTAT.S.NOFMT .EQ %00001000
S.DEVSTAT.S.WENABL .EQ %00000100 S.DSTAT.S.WENABL .EQ %00000100
S.DEVSTAT.S.IRQ .EQ %00000010 S.DSTAT.S.IRQ .EQ %00000010
S.DEVSTAT.S.OPENED .EQ %00000001 S.DSTAT.S.OPENED .EQ %00000001
S.DEVSTAT.SIZE .EQ 1 3 bytes S.DSTAT.SIZE .EQ 1 3 bytes
S.DEVSTAT.IDS .EQ 4 1 (LEN) + 16 MAX S.DSTAT.IDS .EQ 4 1 (LEN) + 16 MAX
S.DEVSTAT.T .EQ 21 S.DSTAT.T .EQ 21
S.DEVSTAT.T.RAM .EQ $00 Memory Expansion Card (RAM disk) S.DSTAT.T.RAM .EQ $00 Memory Expansion Card (RAM disk)
S.DEVSTAT.T.3.5 .EQ $01 3.5" disk S.DSTAT.T.3.5 .EQ $01 3.5" disk
S.DEVSTAT.T.PROFILE .EQ $02 ProFile-type hard disk S.DSTAT.T.PROFILE .EQ $02 ProFile-type hard disk
S.DEVSTAT.T.GENSCSI .EQ $03 Generic SCSI S.DSTAT.T.GENSCSI .EQ $03 Generic SCSI
S.DEVSTAT.T.ROM .EQ $04 ROM disk S.DSTAT.T.ROM .EQ $04 ROM disk
S.DEVSTAT.T.CDROM .EQ $05 SCSI CD-ROM S.DSTAT.T.CDROM .EQ $05 SCSI CD-ROM
S.DEVSTAT.T.TAPE .EQ $06 SCSI tape or other SCSI sequential device S.DSTAT.T.TAPE .EQ $06 SCSI tape or other SCSI sequential device
S.DEVSTAT.T.HD .EQ $07 SCSI hard disk S.DSTAT.T.HD .EQ $07 SCSI hard disk
* .EQ $08 Reserved * .EQ $08 Reserved
S.DEVSTAT.T.SPRINTER .EQ $09 SCSI printer S.DSTAT.T.SPRINTER .EQ $09 SCSI printer
S.DEVSTAT.T.5.25 .EQ $0A 5-1/4" disk S.DSTAT.T.5.25 .EQ $0A 5-1/4" disk
* .EQ $0B Reserved * .EQ $0B Reserved
* .EQ $0C Reserved * .EQ $0C Reserved
S.DEVSTAT.T.PRINTER .EQ $0D Printer S.DSTAT.T.PRINTER .EQ $0D Printer
S.DEVSTAT.T.CLOCK .EQ $0E Clock S.DSTAT.T.CLOCK .EQ $0E Clock
S.DEVSTAT.T.MODEM .EQ $0F Modem S.DSTAT.T.MODEM .EQ $0F Modem
S.DEVSTAT.T.DISKII .EQ $10 S.DSTAT.T.DISKII .EQ $10
S.DEVSTAT.T.PRODOS .EQ $11 S.DSTAT.T.PRODOS .EQ $11
S.DEVSTAT.T.NET .EQ $12 Network board S.DSTAT.T.NET .EQ $12 Network board
S.DEVSTAT.T.XY .EQ $13 X,Y Pointing Device S.DSTAT.T.XY .EQ $13 X,Y Pointing Device
S.DEVSTAT.T.CHAR .EQ $14 S.DSTAT.T.CHAR .EQ $14
S.DEVSTAT.T.GFX .EQ $15 S.DSTAT.T.GFX .EQ $15
S.DEVSTAT.ST .EQ 22 S.DSTAT.ST .EQ 22
S.DEVSTAT.ST.EXT .EQ $80 S.DSTAT.ST.EXT .EQ $80
S.DEVSTAT.ST.DSKSW .EQ $40 S.DSTAT.ST.DSKSW .EQ $40
S.DEVSTAT.ST.NOREM .EQ $20 S.DSTAT.ST.NOREM .EQ $20
S.DEVSTAT.VERSION .EQ 23 S.DSTAT.VERSION .EQ 23
S.DEVSTAT .EQ 25 *
S.DSTAT .EQ 25
*-------------------------------------- *--------------------------------------
* PS STRUCT * PS STRUCT
*-------------------------------------- *--------------------------------------
@ -390,15 +391,14 @@ TSKMGR.QUIT .EQ 6
S.EVT.F .EQ 0 S.EVT.F .EQ 0
S.EVT.F.T10TH .EQ %10000000 S.EVT.F.T10TH .EQ %10000000
S.EVT.F.T1SEC .EQ %01000000 S.EVT.F.T1SEC .EQ %01000000
S.EVT.F.hMEM2 .EQ %00100000 Indicates That S.EVT.DATAHI is a hMem S.EVT.F.hMEM2 .EQ %00100000 Indicates That S.EVT.B2 is a hMem
S.EVT.F.hMEM1 .EQ %00010000 Indicates That S.EVT.DATALO is a hMem S.EVT.F.hMEM1 .EQ %00010000 Indicates That S.EVT.B1 is a hMem
S.EVT.hDEV .EQ 1 S.EVT.hDEV .EQ 1
S.EVT.DATA .EQ 2 S.EVT.B1 .EQ 2
S.EVT.DATALO .EQ 2 S.EVT.B2 .EQ 3
S.EVT.DATAHI .EQ 3 S.EVT.W1 .EQ 4
S.EVT.DATAW1 .EQ 4 S.EVT.W2 .EQ 6
S.EVT.DATAW2 .EQ 6
* *
S.EVT .EQ 8 S.EVT .EQ 8
*-------------------------------------- *--------------------------------------

View File

@ -43,23 +43,35 @@ ZPMEMMGR .EQ $8
*-------------------------------------- *--------------------------------------
INDEX .EQ $5E ->$5F INDEX .EQ $5E ->$5F
FORPNT .EQ $85 ->$86 FORPNT .EQ $85 ->$86
FAC .EQ $9D ->$A1 *FAC .EQ $9D ->$A1
FAC.SIGN .EQ $A2 *FAC.SIGN .EQ $A2
FAC.EXTENSION .EQ $AC *FAC.EXTENSION .EQ $AC
TXTPTR .EQ $B8 TXTPTR .EQ $B8
*-------------------------------------- *--------------------------------------
* ROM Entry Point * ROM Entry Point
*-------------------------------------- *--------------------------------------
ROM.FSUB .EQ 0 ROM.FSUB .EQ 0
ROM.FADD .EQ 2 ROM.FADD .EQ 2
ROM.LOG .EQ 4 ROM.LTOF .EQ 4
ROM.FMULT .EQ 6 ROM.LOG .EQ 6
ROM.SETARG.AY .EQ 8 ROM.FMULT .EQ 8
ROM.FDIV .EQ 10 ROM.SETARG.AY .EQ 10
ROM.SETFAC.AY .EQ 12 ROM.FDIV .EQ 12
ROM.GETFAC .EQ 14 Get FAC at FORPNT ROM.SETFAC.AY .EQ 14
ROM.FIN .EQ 16
ROM.FOUT .EQ 18 ROM.GETFAC .EQ 16 Get FAC at FORPNT
ROM.FCOMP .EQ 18
ROM.QINT .EQ 20
ROM.FIN .EQ 22
ROM.FOUT .EQ 24
ROM.SQR .EQ 26
ROM.PWR .EQ 28
ROM.EXP .EQ 30
ROM.COS .EQ 32
ROM.SIN .EQ 34
ROM.TAN .EQ 36
ROM.ATAN .EQ 38
*-------------------------------------- *--------------------------------------
* Memory Map * Memory Map
*-------------------------------------- *--------------------------------------
@ -73,7 +85,7 @@ A2osX.SaveSX .EQ $101 Aux
* Aux $3FE -> 3FF : IRQ Vector * Aux $3FE -> 3FF : IRQ Vector
*-------------------------------------- *--------------------------------------
K.S.STAT .EQ $0300 S.STAT for internal kernel operations K.S.STAT .EQ $0300 S.STAT for internal kernel operations
K.S.DEVSTAT .EQ $0340 S.DEVSTAT=25 or higher depends on dev type K.S.DSTAT .EQ $0340 S.DSTAT=25 or higher depends on dev type
K.SP.PARAMS .EQ $0380 Max 9 bytes K.SP.PARAMS .EQ $0380 Max 9 bytes
K.MLI.PARAMS .EQ $0390 Main, 18 bytes min for GetFileInfo (ATLK needs MORE!!!...32 max for now) K.MLI.PARAMS .EQ $0390 Main, 18 bytes min for GetFileInfo (ATLK needs MORE!!!...32 max for now)
K.MLI.PATH .EQ $03B0 64+1 -> $03F0 K.MLI.PATH .EQ $03B0 64+1 -> $03F0
@ -94,24 +106,24 @@ K.STACKTOP .EQ $0F20 down to $0f00
Z80STACK .EQ $0FFF (0FFFFh) Down to $0F20 Z80STACK .EQ $0FFF (0FFFFh) Down to $0F20
Z80JMP .EQ $1000 (00000h) Up To $10FF Z80JMP .EQ $1000 (00000h) Up To $10FF
*-------------------------------------- *--------------------------------------
FltMgr.Table .EQ $1100 K.FLT.MAX*S.FLT.SIZE=8*32=128b Flt.Table .EQ $1100 K.FLT.MAX*S.FLT.SIZE=8*32=128b
*-------------------------------------- *--------------------------------------
EvtMgr.Table .EQ $1180 K.EVT.MAX*S.EVT.SIZE=16*8=128b Evt.Table .EQ $1180 K.EVT.MAX*S.EVT.SIZE=16*8=128b
*-------------------------------------- *--------------------------------------
DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b Dev.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b
*-------------------------------------- *--------------------------------------
* MemMgr : $1800->$1FFF MAIN/AUX (2 kBytes) * MemMgr : $1800->$1FFF MAIN/AUX (2 kBytes)
*-------------------------------------- *--------------------------------------
MemMgr.Table .EQ $1800 Slot 0 is Reserved Mem.Table .EQ $1800 Slot 0 is Reserved
MemMgr.LoMem .EQ $1800 Mem.LoMem .EQ $1800
MemMgr.Free .EQ $1802 Mem.Free .EQ $1802
MemMgr.HiMem .EQ $1804 Mem.HiMem .EQ $1804
MemMgr.LastSlot .EQ $1806 Mem.LastSlot .EQ $1806
*-------------------------------------- *--------------------------------------
MemMgr.MLoMem .EQ $2000 Mem.MLoMem .EQ $2000
MemMgr.MHiMem .EQ $BD00 Mem.MHiMem .EQ $BD00
MemMgr.XLoMem .EQ $2000 Mem.XLoMem .EQ $2000
MemMgr.XHiMem .EQ $C000 Mem.XHiMem .EQ $C000
*-------------------------------------- *--------------------------------------
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
*-------------------------------------- *--------------------------------------

View File

@ -7,17 +7,17 @@ AUTO 6
*-------------------------------------- *--------------------------------------
* NET Devices * NET Devices
*-------------------------------------- *--------------------------------------
S.DEVSTAT.NET.FLAGS .EQ S.DEVSTAT S.DSTAT.NET.FLAGS .EQ S.DSTAT
S.DEVSTAT.NET.FLAGS.ARPOFFLOAD .EQ %00000001 S.DSTAT.NET.FLAGS.ARPOFFLOAD .EQ %00000001
S.DEVSTAT.NET.FLAGS.IPOFFLOAD .EQ %00000010 S.DSTAT.NET.FLAGS.IPOFFLOAD .EQ %00000010
S.DEVSTAT.NET.STATUS .EQ S.DEVSTAT+1 S.DSTAT.NET.STATUS .EQ S.DSTAT+1
S.DEVSTAT.NET.STATUS.OK .EQ $80 S.DSTAT.NET.STATUS.OK .EQ $80
S.DEVSTAT.NET.STATUS.FD .EQ $40 S.DSTAT.NET.STATUS.FD .EQ $40
S.DEVSTAT.NET.STATUS.10 .EQ $01 S.DSTAT.NET.STATUS.10 .EQ $01
S.DEVSTAT.NET.STATUS.100 .EQ $02 S.DSTAT.NET.STATUS.100 .EQ $02
S.DEVSTAT.NET.STATUS.1000 .EQ $03 S.DSTAT.NET.STATUS.1000 .EQ $03
S.DEVSTAT.NET.MAC .EQ S.DEVSTAT+2 S.DSTAT.NET.MAC .EQ S.DSTAT+2
S.DEVSTAT.NET .EQ S.DEVSTAT+8 S.DSTAT.NET .EQ S.DSTAT+8
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE /A2OSX.BUILD/INC/NET.I SAVE /A2OSX.BUILD/INC/NET.I

View File

@ -44,10 +44,10 @@ SET.IPCFG >PULLW ZPTmpPtr1
jsr NetDevJmp jsr NetDevJmp
>STYA ZPTmpPtr2 >STYA ZPTmpPtr2
ldy #S.DEVSTAT.NET.FLAGS ldy #S.DSTAT.NET.FLAGS
lda (ZPTmpPtr2),y lda (ZPTmpPtr2),y
sta DevFlags sta DevFlags
and #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD and #S.DSTAT.NET.FLAGS.ARPOFFLOAD
beq .4 beq .4
>LDYA ZPTmpPtr1 >LDYA ZPTmpPtr1

View File

@ -78,7 +78,7 @@ FRM.NewIP stx .8+1
sta ZPDataOutPtr+1 sta ZPDataOutPtr+1
lda DevFlags lda DevFlags
and #S.DEVSTAT.NET.FLAGS.IPOFFLOAD and #S.DSTAT.NET.FLAGS.IPOFFLOAD
bne .7 bne .7
ldy #S.ETH.ETHERTYPE ldy #S.ETH.ETHERTYPE
@ -138,7 +138,7 @@ FRM.SendIP ldx #3 Copy SRC.IP even if IP offload
bpl .1 bpl .1
lda DevFlags lda DevFlags
and #S.DEVSTAT.NET.FLAGS.IPOFFLOAD and #S.DSTAT.NET.FLAGS.IPOFFLOAD
bne .21 bne .21
ldy #S.IP.TOTAL.LENGTH+1 ldy #S.IP.TOTAL.LENGTH+1
@ -219,7 +219,7 @@ FRM.SendIP ldx #3 Copy SRC.IP even if IP offload
jsr ICMP.ComputeChecksum jsr ICMP.ComputeChecksum
.5 lda DevFlags .5 lda DevFlags
and #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD and #S.DSTAT.NET.FLAGS.ARPOFFLOAD
bne .6 bne .6
jsr IP.SetDestMAC jsr IP.SetDestMAC

View File

@ -92,7 +92,7 @@ CS.INIT >LDYA L.MSG.INIT
>STYA ZPPtr1 >STYA ZPPtr1
ldy #S.DEVSTAT+1 ldy #S.DSTAT+1
lda (ZPPtr1),y lda (ZPPtr1),y
sta MouseClamp+2 sta MouseClamp+2
iny iny

View File

@ -119,7 +119,7 @@ CS.INIT.DEV >LDYA L.DEVNAME
bcs .9 bcs .9
>STYA ZPIPDevPtr >STYA ZPIPDevPtr
ldy #S.DEVSTAT+2 MAC ldy #S.DSTAT+2 MAC
ldx #S.IPCFG.MAC ldx #S.IPCFG.MAC
.2 lda (ZPIPDevPtr),y .2 lda (ZPIPDevPtr),y

View File

@ -415,7 +415,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O
ldy #S.DEV-1 ldy #S.DEV-1
.1 lda (ZPPtr1),y copy header to DevMgr.Table .1 lda (ZPPtr1),y copy header to Dev.Table
sta (ZPPtr2),y sta (ZPPtr2),y
dey dey
bpl .1 bpl .1

View File

@ -98,7 +98,7 @@ CORE.Events jsr CORE.GetEvents
jsr CORE.PSSelect0 jsr CORE.PSSelect0
lda #EvtMgr.Table lda #Evt.Table
sta pEvent sta pEvent
.1 lda (pEvent) .1 lda (pEvent)
@ -154,7 +154,7 @@ CORE.Events jsr CORE.GetEvents
* CC * event in YA * CC * event in YA
* (pEvent) * (pEvent)
*-------------------------------------- *--------------------------------------
CORE.GetEvents lda #EvtMgr.Table CORE.GetEvents lda #Evt.Table
sta pEvent point to start of event list sta pEvent point to start of event list
stz CORE.EvtCount reset Size stz CORE.EvtCount reset Size
@ -253,7 +253,7 @@ CORE.DispatchEvents
jsr CORE.PSEnter jsr CORE.PSEnter
lda #EvtMgr.Table lda #Evt.Table
sta pEvent Select first event in list sta pEvent Select first event in list
lda CORE.EvtCount lda CORE.EvtCount
@ -408,7 +408,7 @@ CORE.DestroyEvent
beq .1 beq .1
pha pha
ldy #S.EVT.DATALO ldy #S.EVT.B1
lda (pEvent),y lda (pEvent),y
jsr K.FreeMem.A jsr K.FreeMem.A
pla pla
@ -416,7 +416,7 @@ CORE.DestroyEvent
.1 bit #S.EVT.F.hMEM2 .1 bit #S.EVT.F.hMEM2
beq .2 beq .2
ldy #S.EVT.DATAHI ldy #S.EVT.B2
lda (pEvent),y lda (pEvent),y
jsr K.FreeMem.A jsr K.FreeMem.A

View File

@ -33,12 +33,12 @@ A2osX.DIIDrv.RW >STYA GO.DiskII.RW.1+1
jsr A2osX.Blk.GetCmdAndDevAX jsr A2osX.Blk.GetCmdAndDevAX
jmp GO.DiskII.RW jmp GO.DiskII.RW
*-------------------------------------- *--------------------------------------
A2osx.DIIStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ A2osx.DIIStat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ
.DA 280 .DA 280
.DA #0 .DA #0
>PSTR "Disk II 5.25" >PSTR "Disk II 5.25"
.BS 4 .BS 4
.DA #S.DEVSTAT.T.DISKII .DA #S.DSTAT.T.DISKII
.DA #0 .DA #0
.DA #0,#9 .DA #0,#9
*-------------------------------------- *--------------------------------------
@ -67,8 +67,8 @@ A2osX.BlkDrv.S jsr A2osX.Blk.GetCmdAndDev
jsr A2osX.BlkDrv.Go jsr A2osX.BlkDrv.Go
bcs .9 bcs .9
stx A2osx.BlkStat+S.DEVSTAT.SIZE stx A2osx.BlkStat+S.DSTAT.SIZE
sty A2osx.BlkStat+S.DEVSTAT.SIZE+1 sty A2osx.BlkStat+S.DSTAT.SIZE+1
>LDYAI A2osX.BlkStat >LDYAI A2osX.BlkStat
clc clc
@ -128,10 +128,10 @@ A2osX.Blk.GetCmdAndDevAX
rts rts
*-------------------------------------- *--------------------------------------
A2osX.BlkStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ A2osX.BlkStat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ
.BS 3 .BS 3
>PSTR "ProDOS Block Dev" >PSTR "ProDOS Block Dev"
.DA #S.DEVSTAT.T.PRODOS .DA #S.DSTAT.T.PRODOS
.DA #0 .DA #0
.DA #0,#9 .DA #0,#9
*-------------------------------------- *--------------------------------------
@ -149,13 +149,13 @@ A2osX.PrtDrv .DA A2osX.PrtDrv.S STATUS
.DA A2osX.PrtDrv.P W .DA A2osX.PrtDrv.P W
*-------------------------------------- *--------------------------------------
A2osX.PrtDrv.S jsr A2osX.PrtDrv.GetDev A2osX.PrtDrv.S jsr A2osX.PrtDrv.GetDev
>LDYAI K.S.DEVSTAT >LDYAI K.S.DSTAT
>STYA K.SP.PARAMS+2 >STYA K.SP.PARAMS+2
lda #3 lda #3
sta K.SP.PARAMS+4 sta K.SP.PARAMS+4
jsr A2osX.PrtDrv.Go jsr A2osX.PrtDrv.Go
bcs .9 bcs .9
>LDYAI K.S.DEVSTAT >LDYAI K.S.DSTAT
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
A2osX.PrtDrv.P jsr A2osX.PrtDrv.GetParam A2osX.PrtDrv.P jsr A2osX.PrtDrv.GetParam
@ -221,7 +221,7 @@ DevMgr.NUL.Code .DA .1 STATUS
.2 .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.T.CHAR .DA #S.DSTAT.T.CHAR
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------
@ -243,7 +243,7 @@ DevMgr.SYS.Code .DA .1 STATUS
.2 .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.T.CHAR .DA #S.DSTAT.T.CHAR
.DA #0 .DA #0
.DA $0900 .DA $0900
*-------------------------------------- *--------------------------------------

View File

@ -21,12 +21,12 @@ K.GetDevByID.A cmp DevMgr.Count
asl asl
php php
clc clc
adc #DevMgr.Table adc #Dev.Table
tay tay
plp plp
lda #0 lda #0
adc /DevMgr.Table adc /Dev.Table
rts CC rts CC
*/-------------------------------------- */--------------------------------------
* # GetDevByName.YA * # GetDevByName.YA
@ -39,7 +39,7 @@ K.GetDevByID.A cmp DevMgr.Count
*\-------------------------------------- *\--------------------------------------
K.GetDevByName.YA K.GetDevByName.YA
>STYA ZPPtr1 >STYA ZPPtr1
>LDYAI DevMgr.Table+S.DEV.NAME >LDYAI Dev.Table+S.DEV.NAME
>STYA ZPPtr2 >STYA ZPPtr2
ldx #0 ldx #0

View File

@ -114,20 +114,22 @@ A2osX.ROMCALL1 phx
.2 .DA $E7A7 FSUB .2 .DA $E7A7 FSUB
.DA $E7BE FADD .DA $E7BE FADD
* .DA $E82E NORMALIZE.FAC.2 (L->F) .DA $E82E NORMALIZE.FAC.2 (L->F)
.DA $E941 LOG .DA $E941 LOG
.DA $E97F FMULT .DA $E97F FMULT
.DA $E9E3 LOAD.ARG.FROM.YA .DA $E9E3 LOAD.ARG.FROM.YA
.DA $EA66 FDIV .DA $EA66 FDIV
.DA $EAF9 LOAD.FAC.FROM.YA .DA $EAF9 LOAD.FAC.FROM.YA
.DA $EB27 SETFOR .DA $EB27 SETFOR
* .DA $EBB2 FCOMP .DA $EBB2 FCOMP
* .DA $EBF2 QINT (F->L) .DA $EBF2 QINT (F->L)
.DA $EC4A FIN .DA $EC4A FIN
.DA $ED36 FOUT.1 .DA $ED36 FOUT.1
.DA $EE8D SQR .DA $EE8D SQR
.DA $EE97 FPWRT .DA $EE97 FPWRT
.DA $EF09 EXP .DA $EF09 EXP
.DA $EFEA COS .DA $EFEA COS
.DA $EFF1 SIN .DA $EFF1 SIN
.DA $F03A TAN .DA $F03A TAN

View File

@ -408,21 +408,21 @@ Z80Code.Start .HS 31FFFF START: LD SP,0FFFFH Init Stack
.HS 00 FLAG: .DB 0 .HS 00 FLAG: .DB 0
Z80Code.Size .EQ *-Z80Code.Start Z80Code.Size .EQ *-Z80Code.Start
*-------------------------------------- *--------------------------------------
MemMgrInit >LDYAI MemMgr.MHiMem MemMgrInit >LDYAI Mem.MHiMem
>STYA MemMgr.HiMem >STYA Mem.HiMem
>STYA MemMgr.Free >STYA Mem.Free
>LDYAI MemMgr.MLoMem >LDYAI Mem.MLoMem
>STYA MemMgr.LoMem >STYA Mem.LoMem
stz MemMgr.LastSlot Reserve Slot #0 stz Mem.LastSlot Reserve Slot #0
sta SETWRITEAUX sta SETWRITEAUX
>LDYAI MemMgr.XHiMem >LDYAI Mem.XHiMem
>STYA MemMgr.HiMem >STYA Mem.HiMem
>STYA MemMgr.Free >STYA Mem.Free
>LDYAI MemMgr.XLoMem >LDYAI Mem.XLoMem
>STYA MemMgr.LoMem >STYA Mem.LoMem
stz MemMgr.LastSlot Reserve Slot #0 stz Mem.LastSlot Reserve Slot #0
sta CLRWRITEAUX sta CLRWRITEAUX
@ -431,7 +431,7 @@ MemMgrInit >LDYAI MemMgr.MHiMem
PS0Init ldx #S.DEV*2 NUL,SYS PS0Init ldx #S.DEV*2 NUL,SYS
.1 lda DevMgr.NUL-1,x .1 lda DevMgr.NUL-1,x
sta DevMgr.Table-1,x sta Dev.Table-1,x
dex dex
bne .1 bne .1
@ -799,7 +799,7 @@ DevMgrInit.SP ldy #$ff
.DA #0 Status .DA #0 Status
.DA SP.DEV.STATUS .DA SP.DEV.STATUS
bcs .7 bcs .7
lda SP.DEV.STATUS.DATA+S.DEVSTAT.S lda SP.DEV.STATUS.DATA+S.DSTAT.S
sta DEV.HEADER+S.DEV.S sta DEV.HEADER+S.DEV.S
jsr DevMgrInit.AddDev jsr DevMgrInit.AddDev
@ -867,7 +867,7 @@ SP.DEV.STATUS.DEVID
.DA SP.DEV.STATUS.DATA .DA SP.DEV.STATUS.DATA
.DA #3 return DIB .DA #3 return DIB
SP.DEV.STATUS.DATA SP.DEV.STATUS.DATA
.BS S.DEVSTAT .BS S.DSTAT
*-------------------------------------- *--------------------------------------
EvtMgrInit >LDYAI MSG.EVT EvtMgrInit >LDYAI MSG.EVT
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
@ -876,14 +876,14 @@ EvtMgrInit >LDYAI MSG.EVT
lda #$9B lda #$9B
sta A2osX.TIMER16+1 sta A2osX.TIMER16+1
lda /EvtMgr.Table lda /Evt.Table
sta pEvent+1 sta pEvent+1
clc clc
rts rts
*-------------------------------------- *--------------------------------------
FltMgrInit >LDYAI MSG.FLT FltMgrInit >LDYAI MSG.FLT
>SYSCALL PrintF.YA >SYSCALL PrintF.YA
stz FltMgr.Table stz Flt.Table
clc clc
rts rts
*-------------------------------------- *--------------------------------------

View File

@ -28,7 +28,7 @@ K.IrqHandlerAuxLC
pha pha
lda RDREADAUX lda RDREADAUX
pha pha
sta CLRREADAUX Make sure we can access DevMgr.Table sta CLRREADAUX Make sure we can access Dev.Table
jsr K.IrqHandler jsr K.IrqHandler
@ -103,7 +103,7 @@ K.IrqHandler.VBL
rts rts
*-------------------------------------- *--------------------------------------
K.IrqHandler.DEV K.IrqHandler.DEV
>LDYAI DevMgr.Table >LDYAI Dev.Table
>STYA $fe >STYA $fe
ldx DevMgr.Count ldx DevMgr.Count

View File

@ -4,40 +4,40 @@ LOMEM $A00
INC 1 INC 1
AUTO 6 AUTO 6
*/-------------------------------------- */--------------------------------------
* # FAdd * # FAdd,FSub,FMult,FDiv
* Return X+Y * Return X+Y,X-Y,X*Y,X/Y
* ## In: * ## In:
* PUSHW = X (*Float) * PUSHW = X (*Float)
* PUSHW = Y (*Float) * PUSHW = Y (*Float)
* Y,A = Dest (*Float)
*\-------------------------------------- *\--------------------------------------
K.FAdd ldx #ROM.FADD K.FAdd ldx #ROM.FADD
.HS 2C BIT ABS .HS 2C BIT ABS
*/--------------------------------------
* # FSub
* Return X-Y
* ## In:
* PUSHW = X (*Float)
* PUSHW = Y (*Float)
*\--------------------------------------
K.FSub ldx #ROM.FSUB K.FSub ldx #ROM.FSUB
.HS 2C BIT ABS
K.FMult ldx #ROM.FMULT
.HS 2C BIT ABS
K.FDiv ldx #ROM.FDIV
phx phx
jsr MATH.PullFAC jsr MATH.PullFAC
jsr MATH.PullARG jsr MATH.PullARG
>PULLW FORPNT
plx plx
jsr A2osX.ROMCALL jsr A2osX.ROMCALL
>ROMCALL GETFAC
clc
rts
*/--------------------------------------
*-------------------------------------- * # Log,Cos,Sin,Tan,ATan
* Return
* ## In:
* PUSHW = X (*Float)
* Y,A = Dest (*Float)
*\--------------------------------------
K.Cos jsr MATH.PullFAC K.Cos jsr MATH.PullFAC
* >ROMCALL COS * >ROMCALL COS
*-------------------------------------- *--------------------------------------
*--------------------------------------
*--------------------------------------
MATH.PullFAC >PULLA MATH.PullFAC >PULLA
tay tay
>PULLA >PULLA

View File

@ -8,8 +8,8 @@ AUTO 6
*-------------------------------------- *--------------------------------------
ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected
ZPMemMgrTmp1 .EQ ZPMEMMGR+2 ZPMemMgrTmp1 .EQ ZPMEMMGR+2
MemMgr.ReqSize .EQ ZPMEMMGR+4 store requested Size Mem.ReqSize .EQ ZPMEMMGR+4 store requested Size
MemMgr.ReqFlags .EQ ZPMEMMGR+6 store requested Flags Mem.ReqFlags .EQ ZPMEMMGR+6 store requested Flags
*-------------------------------------- *--------------------------------------
* TODO : * TODO :
* - Create a 256 bytes table * - Create a 256 bytes table
@ -32,14 +32,14 @@ MemMgr.ReqFlags .EQ ZPMEMMGR+6 store requested Flags
* CS : * CS :
* A = EC * A = EC
*\-------------------------------------- *\--------------------------------------
K.GetMem >PULLB MemMgr.ReqFlags store requested flags K.GetMem >PULLB Mem.ReqFlags store requested flags
>PULLA get requested size LO >PULLA get requested size LO
tay tay
>PULLA get requested size HI >PULLA get requested size HI
sta MemMgr.ReqSize+1 sta Mem.ReqSize+1
bit MemMgr.ReqFlags S.MEM.F.AUX ? bit Mem.ReqFlags S.MEM.F.AUX ?
bpl K.GetMem.I bpl K.GetMem.I
sta SETREADAUX Aux Mem requested,switch to AUX sta SETREADAUX Aux Mem requested,switch to AUX
@ -63,7 +63,7 @@ K.GetMem >PULLB MemMgr.ReqFlags store requested flags
* A = EC * A = EC
*\-------------------------------------- *\--------------------------------------
K.GetMem0.YA ldx #S.MEM.F.INIT0 K.GetMem0.YA ldx #S.MEM.F.INIT0
stx MemMgr.ReqFlags stx Mem.ReqFlags
.HS 2C bit abs .HS 2C bit abs
*/-------------------------------------- */--------------------------------------
* # GetMem.YA * # GetMem.YA
@ -76,8 +76,8 @@ K.GetMem0.YA ldx #S.MEM.F.INIT0
* CS : * CS :
* A = EC * A = EC
*\-------------------------------------- *\--------------------------------------
K.GetMem.YA stz MemMgr.ReqFlags K.GetMem.YA stz Mem.ReqFlags
sta MemMgr.ReqSize+1 sta Mem.ReqSize+1
K.GetMem.I tya K.GetMem.I tya
bit #$0F 16 bytes aligned ? bit #$0F 16 bytes aligned ?
@ -87,11 +87,11 @@ K.GetMem.I tya
clc clc
adc #$10 adc #$10
bcc .10 bcc .10
inc MemMgr.ReqSize+1 inc Mem.ReqSize+1
.10 sta MemMgr.ReqSize .10 sta Mem.ReqSize
>LDYAI MemMgr.Table >LDYAI Mem.Table
>STYA ZPMemMgrSPtr >STYA ZPMemMgrSPtr
ldx #0 Current slot=0 ldx #0 Current slot=0
@ -99,11 +99,11 @@ K.GetMem.I tya
bra .4 skip slot 0, Check if some free slot to reuse first bra .4 skip slot 0, Check if some free slot to reuse first
.1 inx move to next slot .1 inx move to next slot
jsr MemMgr.NextSlot jsr Mem.NextSlot
lda (ZPMemMgrSPtr) Get Flags lda (ZPMemMgrSPtr) Get Flags
bmi .4 in use ? bmi .4 in use ?
.2 lda MemMgr.ReqFlags Found an empty slot .2 lda Mem.ReqFlags Found an empty slot
and #S.MEM.F.ALIGN is request needs a page align ? and #S.MEM.F.ALIGN is request needs a page align ?
beq .3 beq .3
@ -113,45 +113,45 @@ K.GetMem.I tya
.3 ldy #S.MEM.LEN .3 ldy #S.MEM.LEN
lda (ZPMemMgrSPtr),y get LEN of this block lda (ZPMemMgrSPtr),y get LEN of this block
cmp MemMgr.ReqSize compare with requested size cmp Mem.ReqSize compare with requested size
bne .4 bne .4
iny iny
lda (ZPMemMgrSPtr),y lda (ZPMemMgrSPtr),y
cmp MemMgr.ReqSize+1 cmp Mem.ReqSize+1
beq .7 requested size matches slot size !!! beq .7 requested size matches slot size !!!
.4 cpx MemMgr.LastSlot any other slot to check? .4 cpx Mem.LastSlot any other slot to check?
bne .1 last one, create a new slot bne .1 last one, create a new slot
*-------------- Create a New SLOT *-------------- Create a New SLOT
lda MemMgr.ReqFlags lda Mem.ReqFlags
and #S.MEM.F.ALIGN is request needs a page align ? and #S.MEM.F.ALIGN is request needs a page align ?
beq .6 beq .6
lda MemMgr.Free target PTR will be page aligned ? lda Mem.Free target PTR will be page aligned ?
sec sec
sbc MemMgr.ReqSize sbc Mem.ReqSize
beq .6 yes, allocate beq .6 yes, allocate
tay no, reserve a free slot to fill gap tay no, reserve a free slot to fill gap
lda #0 lda #0
jsr MemMgr.AddSlot X = new slot jsr Mem.AddSlot X = new slot
bcs .9 bcs .9
.6 >LDYA MemMgr.ReqSize .6 >LDYA Mem.ReqSize
jsr MemMgr.AddSlot X = new slot jsr Mem.AddSlot X = new slot
bcs .9 bcs .9
*-------------- Reuse this SLOT *-------------- Reuse this SLOT
.7 lda MemMgr.ReqFlags get requested flags .7 lda Mem.ReqFlags get requested flags
ora #S.MEM.F.INUSE mark as in use ora #S.MEM.F.INUSE mark as in use
sta (ZPMemMgrSPtr) sta (ZPMemMgrSPtr)
and #S.MEM.F.INIT0 and #S.MEM.F.INIT0
beq .8 beq .8
jsr MemMgr.Init0 X not modified jsr Mem.Init0 X not modified
.8 lda #0 .8 lda #0
ldy #S.MEM.BIN ldy #S.MEM.BIN
@ -176,38 +176,38 @@ K.GetMem.I tya
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
* MemMgr.AddSlot * Mem.AddSlot
* In: * In:
* Y,A = Requested size * Y,A = Requested size
* Out: * Out:
*-------------------------------------- *--------------------------------------
MemMgr.AddSlot >STYA ZPMemMgrTmp1 save req size Mem.AddSlot >STYA ZPMemMgrTmp1 save req size
ldx MemMgr.LastSlot ldx Mem.LastSlot
inx inx
beq .99 > 255 ERR:OUT OF SLOT beq .99 > 255 ERR:OUT OF SLOT
lda MemMgr.Free Compute base PTR=FREE-REQ size lda Mem.Free Compute base PTR=FREE-REQ size
sec sec
sbc ZPMemMgrTmp1 sbc ZPMemMgrTmp1
tay save new MemMgr.Free LO tay save new Mem.Free LO
lda MemMgr.Free+1 lda Mem.Free+1
sbc ZPMemMgrTmp1+1 sbc ZPMemMgrTmp1+1
pha save new MemMgr.Free HI pha save new Mem.Free HI
cpy MemMgr.LoMem cpy Mem.LoMem
sbc MemMgr.LoMem+1 sbc Mem.LoMem+1
bcc .98 ERR out of mem bcc .98 ERR out of mem
jsr MemMgr.NextSlot X,Y unmodified jsr Mem.NextSlot X,Y unmodified
tya get back MemMgr.Free LO tya get back Mem.Free LO
ldy #S.MEM.PTR ldy #S.MEM.PTR
sta MemMgr.Free set as system MemMgr.Free value sta Mem.Free set as system Mem.Free value
sta (ZPMemMgrSPtr),y store is as base address of new slot sta (ZPMemMgrSPtr),y store is as base address of new slot
iny iny
pla get back MemMgr.Free HI pla get back Mem.Free HI
sta MemMgr.Free+1 sta Mem.Free+1
sta (ZPMemMgrSPtr),y sta (ZPMemMgrSPtr),y
iny iny
@ -217,11 +217,11 @@ MemMgr.AddSlot >STYA ZPMemMgrTmp1 save req size
lda ZPMemMgrTmp1+1 lda ZPMemMgrTmp1+1
sta (ZPMemMgrSPtr),y sta (ZPMemMgrSPtr),y
stx MemMgr.LastSlot mark this slot allocated stx Mem.LastSlot mark this slot allocated
clc clc
rts rts
.98 pla discard new MemMgr.Free HI .98 pla discard new Mem.Free HI
lda #K.E.OOM lda #K.E.OOM
sec sec
rts rts
@ -230,7 +230,7 @@ MemMgr.AddSlot >STYA ZPMemMgrTmp1 save req size
sec sec
rts rts
*-------------------------------------- *--------------------------------------
MemMgr.NextSlot lda ZPMemMgrSPtr Mem.NextSlot lda ZPMemMgrSPtr
clc clc
adc #S.MEM adc #S.MEM
sta ZPMemMgrSPtr sta ZPMemMgrSPtr
@ -238,7 +238,7 @@ MemMgr.NextSlot lda ZPMemMgrSPtr
inc ZPMemMgrSPtr+1 inc ZPMemMgrSPtr+1
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
MemMgr.Init0 ldy #S.MEM.PTR Mem.Init0 ldy #S.MEM.PTR
lda (ZPMemMgrSPtr),y ZPMemMgrSPtr already set lda (ZPMemMgrSPtr),y ZPMemMgrSPtr already set
sta .2+1 sta .2+1
iny iny
@ -309,34 +309,34 @@ K.FreeMem.A phy
lda #0 mark BINPATH slot as free lda #0 mark BINPATH slot as free
sta (ZPMemMgrSPtr) sta (ZPMemMgrSPtr)
.1 lda MemMgr.LastSlot .1 lda Mem.LastSlot
beq .8 beq .8
jsr K.GetMemByID.A X unmodified jsr K.GetMemByID.A X unmodified
lda (ZPMemMgrSPtr) lda (ZPMemMgrSPtr)
bmi .8 used, exit bmi .8 used, exit
.2 dec MemMgr.LastSlot free! get previous.... .2 dec Mem.LastSlot free! get previous....
beq .3 empty list: go set MemMgr.Free=MemMgr.HiMem beq .3 empty list: go set Mem.Free=Mem.HiMem
lda MemMgr.LastSlot lda Mem.LastSlot
jsr K.GetMemByID.A X unmodified jsr K.GetMemByID.A X unmodified
lda (ZPMemMgrSPtr) lda (ZPMemMgrSPtr)
bpl .2 free again! loop bpl .2 free again! loop
ldy #S.MEM.PTR ldy #S.MEM.PTR
lda (ZPMemMgrSPtr),y set MemMgr.Free... lda (ZPMemMgrSPtr),y set Mem.Free...
sta MemMgr.Free sta Mem.Free
iny iny
lda (ZPMemMgrSPtr),y lda (ZPMemMgrSPtr),y
sta MemMgr.Free+1 sta Mem.Free+1
.8 ply .8 ply
clc clc
rts rts
.3 >LDYA MemMgr.HiMem .3 >LDYA Mem.HiMem
>STYA MemMgr.Free >STYA Mem.Free
bra .8 bra .8
*-------------------------------------- *--------------------------------------
.9 ply discard saved Y .9 ply discard saved Y
@ -393,10 +393,10 @@ K.GetMemPtr.A jsr K.GetMemByID.A
* X unmodified * X unmodified
*\-------------------------------------- *\--------------------------------------
* Optimized for : * Optimized for :
* MemMgr.Table is page aligned at $1800 * Mem.Table is page aligned at $1800
* S.MEM is 8 bytes * S.MEM is 8 bytes
*-------------------------------------- *--------------------------------------
.DO MemMgr.Table=$1800 .DO Mem.Table=$1800
.ELSE .ELSE
!!!!!WARNING!!!!! !!!!!WARNING!!!!!
.FIN .FIN
@ -406,7 +406,7 @@ K.GetMemPtr.A jsr K.GetMemByID.A
.FIN .FIN
*-------------------------------------- *--------------------------------------
K.GetMemByID.A sta ZPMemMgrSPtr K.GetMemByID.A sta ZPMemMgrSPtr
lda /MemMgr.Table/8 lda /Mem.Table/8
asl ZPMemMgrSPtr asl ZPMemMgrSPtr
rol rol
asl ZPMemMgrSPtr asl ZPMemMgrSPtr
@ -427,10 +427,10 @@ K.GetMemByID.A sta ZPMemMgrSPtr
* asl * asl
* rol ZPMemMgrSPtr+1 * rol ZPMemMgrSPtr+1
** clc IMPLICIT ** clc IMPLICIT
* adc #MemMgr.Table * adc #Mem.Table
* tay * tay
* lda ZPMemMgrSPtr+1 * lda ZPMemMgrSPtr+1
* adc /MemMgr.Table * adc /Mem.Table
* sty ZPMemMgrSPtr * sty ZPMemMgrSPtr
* sta ZPMemMgrSPtr+1 * sta ZPMemMgrSPtr+1
* rts * rts
@ -453,8 +453,8 @@ K.SetLoMem
K.NewStr.YA >STYA .1+1 K.NewStr.YA >STYA .1+1
>STYA .4+1 >STYA .4+1
stz MemMgr.ReqFlags stz Mem.ReqFlags
stz MemMgr.ReqSize+1 stz Mem.ReqSize+1
ldy #0 ldy #0
@ -462,13 +462,13 @@ K.NewStr.YA >STYA .1+1
beq .2 beq .2
iny iny
bne .1 bne .1
inc MemMgr.ReqSize+1 inc Mem.ReqSize+1
inc .1+2 inc .1+2
bne .1 bne .1
.2 iny Add one for ending 0 .2 iny Add one for ending 0
bne .3 bne .3
inc MemMgr.ReqSize+1 inc Mem.ReqSize+1
.3 jsr K.GetMem.I .3 jsr K.GetMem.I
bcs .9 bcs .9
@ -577,7 +577,7 @@ K.GetMemStat.YA >STYA ZPMemMgrTmp1
ldy #6 ldy #6
.1 lda MemMgr.Table,y .1 lda Mem.Table,y
sta (ZPMemMgrTmp1),y sta (ZPMemMgrTmp1),y
dey dey
bpl .1 bpl .1
@ -588,7 +588,7 @@ K.GetMemStat.YA >STYA ZPMemMgrTmp1
sta SETREADAUX sta SETREADAUX
.2 lda MemMgr.Table,x .2 lda Mem.Table,x
sta (ZPMemMgrTmp1),y sta (ZPMemMgrTmp1),y
dey dey
dex dex
@ -614,11 +614,11 @@ K.GetMemStat.YA >STYA ZPMemMgrTmp1
* X = hMem * X = hMem
*-------------------------------------- *--------------------------------------
MEM.GetMemByNameYA MEM.GetMemByNameYA
ldx MemMgr.LastSlot ldx Mem.LastSlot
beq .9 beq .9
>STYA .2+1 >STYA .2+1
>LDYAI MemMgr.Table >LDYAI Mem.Table
>STYA ZPMemMgrTmp1 >STYA ZPMemMgrTmp1
ldx #0 ldx #0
@ -655,7 +655,7 @@ MEM.GetMemByNameYA
inc ZPMemMgrTmp1+1 inc ZPMemMgrTmp1+1
.7 inx .7 inx
cpx MemMgr.LastSlot cpx Mem.LastSlot
bne .1 bne .1
.9 sec .9 sec

View File

@ -34,7 +34,7 @@ PFT.CheckPathSTK
PFT.CheckPathYA PFT.CheckPathYA
>STYA ZPPtr1 >STYA ZPPtr1
>LDYAI FltMgr.Table >LDYAI Flt.Table
>STYA ZPPtr2 >STYA ZPPtr2
.1 lda (ZPPtr2) Get Filter char.... .1 lda (ZPPtr2) Get Filter char....