mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-01 22:41:29 +00:00
KERNEL:IRQ mode for IIgs (not yet preemptive)
CC:most of it working, many bugs remain DAN2ETH.DRV:broken, lot of debug code included
This commit is contained in:
parent
0ac5def14f
commit
1e404b5bcf
Binary file not shown.
|
@ -6,18 +6,22 @@ CODE.Init stz ZPCCConst
|
||||||
|
|
||||||
>STZ.G CC.bInitCode
|
>STZ.G CC.bInitCode
|
||||||
|
|
||||||
|
>STA.G CC.ScopeID
|
||||||
|
iny
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
>LDYAI PCC.FH.CS
|
>LDYAI PCC.FH.CS
|
||||||
>STYA ZPCCCode
|
>STYA ZPCCCode
|
||||||
|
|
||||||
>LDYAI 20 char *ARGV[10]
|
>LDYAI 20 char *ARGV[10]
|
||||||
>STYA ZPCCData
|
>STYA ZPCCData
|
||||||
|
|
||||||
>STZ.G CC.ScopeID
|
ldy #SCOPE-1
|
||||||
iny
|
lda #0
|
||||||
sta (pData),y
|
|
||||||
|
.1 sta (ScopeStk),y reset initial Scope ID, LocalPtr, FrameSize
|
||||||
lda #'_'
|
dey
|
||||||
>STA.G CC.Label
|
bpl .1
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.99 rts
|
.99 rts
|
||||||
|
|
|
@ -34,7 +34,7 @@ CORE.Init lda #SL._
|
||||||
>STYA ScopeStk
|
>STYA ScopeStk
|
||||||
txa
|
txa
|
||||||
>STA.G CC.hScopeStk
|
>STA.G CC.hScopeStk
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -43,6 +43,9 @@ CORE.Init lda #SL._
|
||||||
txa
|
txa
|
||||||
>STA.G CC.hStmtStk
|
>STA.G CC.hStmtStk
|
||||||
|
|
||||||
|
lda #'_'
|
||||||
|
>STA.G CC.Label
|
||||||
|
|
||||||
lda #CC.LookupIdx
|
lda #CC.LookupIdx
|
||||||
tay
|
tay
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
|
@ -3,7 +3,7 @@ NEW
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
F.Decl jsr SCOPE.New
|
F.Decl jsr SCOPE.New
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda (ZPSymBufPtr) #SYM.T
|
lda (ZPSymBufPtr) #SYM.T
|
||||||
pha
|
pha
|
||||||
|
|
||||||
|
@ -18,7 +18,8 @@ F.Decl jsr SCOPE.New
|
||||||
tax
|
tax
|
||||||
beq .11 function is void
|
beq .11 function is void
|
||||||
|
|
||||||
.10 jsr F.AddReturnVar Y,A = T/Q
|
.10 lda #'R'
|
||||||
|
jsr SYM.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
.11 jsr CORE.GetNCharNBNL Skip (
|
.11 jsr CORE.GetNCharNBNL Skip (
|
||||||
|
@ -117,7 +118,12 @@ F.Def >LDA.G CC.bInitCode
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.2 >LDA.G CC.FrameSize
|
.2 ldy ScopePtr
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda (ScopeStk),y #SCOPE.FrameSize
|
||||||
|
|
||||||
jsr CODE.LDAI A = f() ARGS size
|
jsr CODE.LDAI A = f() ARGS size
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
@ -199,28 +205,6 @@ F.DeclGetTQ lda (ZPLineBufPtr)
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
F.AddReturnVar ldx ZPLineBufPtr
|
|
||||||
phx
|
|
||||||
ldx ZPLineBufPtr+1
|
|
||||||
phx
|
|
||||||
|
|
||||||
>STYA ZPPtr2 Y,A = T/Q
|
|
||||||
|
|
||||||
lda #'R'
|
|
||||||
>STA.G CC.Label+1
|
|
||||||
|
|
||||||
>LEA.G CC.Label
|
|
||||||
>STYA ZPLineBufPtr
|
|
||||||
|
|
||||||
jsr F.NewArg
|
|
||||||
|
|
||||||
plx
|
|
||||||
stx ZPLineBufPtr+1
|
|
||||||
plx
|
|
||||||
stx ZPLineBufPtr
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
F.NewArg >LDYA.G CC.SymID
|
F.NewArg >LDYA.G CC.SymID
|
||||||
>STYA.G CC.SymIDSave
|
>STYA.G CC.SymIDSave
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ KW.IF jsr SCOPE.New
|
||||||
|
|
||||||
jsr STMT.New00
|
jsr STMT.New00
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jmp STMT.SetType
|
jmp STMT.SetType
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.9 lda #E.CSYN
|
||||||
|
@ -73,7 +73,7 @@ KW.IF.END jsr STMT.Close
|
||||||
|
|
||||||
jsr STMT.New00
|
jsr STMT.New00
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jmp STMT.SetType
|
jmp STMT.SetType
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.9 lda #E.CSYN
|
||||||
|
@ -85,7 +85,7 @@ KW.ELSE lda #E.CSYN illegal
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.ELSE.END jsr STMT.Close
|
KW.ELSE.END jsr STMT.Close
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'X' define EXIT Label
|
lda #'X' define EXIT Label
|
||||||
jsr SYM.NewLabelA
|
jsr SYM.NewLabelA
|
||||||
|
@ -620,42 +620,19 @@ KW.CONTINUE lda #'C'
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.RETURN ldx ZPLineBufPtr
|
KW.RETURN lda #'R'
|
||||||
phx
|
jsr SYM.LookupLabelA
|
||||||
ldx ZPLineBufPtr+1
|
|
||||||
phx
|
|
||||||
|
|
||||||
lda #'R'
|
|
||||||
>STA.G CC.Label+1
|
|
||||||
|
|
||||||
>LEA.G CC.Label
|
|
||||||
>STYA ZPLineBufPtr
|
|
||||||
|
|
||||||
jsr SYM.Lookup
|
|
||||||
|
|
||||||
plx
|
|
||||||
stx ZPLineBufPtr+1
|
|
||||||
plx
|
|
||||||
stx ZPLineBufPtr
|
|
||||||
|
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
ldy #SYM.Q
|
txa
|
||||||
lda (ZPLookupSymPtr),y
|
|
||||||
pha
|
|
||||||
lda (ZPLookupSymPtr) SYM.T
|
|
||||||
tay
|
|
||||||
pla
|
|
||||||
|
|
||||||
jsr EXP.Eval
|
jsr EXP.Eval
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr SYM.GetYASizeOfInAX Y,A=T/Q
|
jsr SYM.GetYASizeOfInAX Y,A=T/Q
|
||||||
tax X = sizeof
|
tax X = sizeof
|
||||||
jsr CODE.SetRetValue
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
jsr SYM.LookupFree
|
jsr CODE.SetRetValue
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'X'
|
lda #'X'
|
||||||
|
|
|
@ -138,14 +138,14 @@ PCC.FH.RUN lda #0
|
||||||
>PUSHA returned int=0
|
>PUSHA returned int=0
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHA int ARGC (hi byte)
|
>PUSHA int ARGC (hi byte=0)
|
||||||
|
|
||||||
ldy #S.PS.ARGC
|
ldy #S.PS.ARGC
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>PUSHA int ARGC (lo byte)
|
>PUSHA int ARGC (lo byte)
|
||||||
|
|
||||||
>PUSHW pData *char[] ARGV
|
>PUSHW pData *char[] ARGV
|
||||||
>DEBUG
|
* >DEBUG
|
||||||
PCC.FH.MAIN .EQ *-PCC.FH.ORG+1
|
PCC.FH.MAIN .EQ *-PCC.FH.ORG+1
|
||||||
jsr $FFFF jsr main
|
jsr $FFFF jsr main
|
||||||
>PULLA
|
>PULLA
|
||||||
|
|
|
@ -1,27 +1,46 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCOPE.New >INCW.G CC.ScopeID
|
SCOPE.New lda ScopePtr
|
||||||
|
tay
|
||||||
lda ScopePtr
|
|
||||||
clc
|
clc
|
||||||
adc #SCOPE
|
adc #SCOPE
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta ScopePtr
|
sta ScopePtr
|
||||||
|
|
||||||
ldy #CC.ScopeID+3
|
|
||||||
|
|
||||||
.1 lda (pData),y
|
|
||||||
pha
|
|
||||||
dey
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dec bLocalScope
|
dec bLocalScope
|
||||||
|
|
||||||
|
iny
|
||||||
|
iny #SCOPE.LocalPtr
|
||||||
|
lda (ScopeStk),y
|
||||||
|
pha
|
||||||
|
|
||||||
|
>LDA.G CC.ScopeID
|
||||||
|
* clc
|
||||||
|
adc #1
|
||||||
|
sta (pData),y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
lda (pData),y
|
||||||
|
adc #0
|
||||||
|
|
||||||
|
ldy ScopePtr
|
||||||
|
iny
|
||||||
|
sta (ScopeStk),y #SCOPE.ID Hi
|
||||||
|
txa
|
||||||
|
dey
|
||||||
|
sta (ScopeStk),y #SCOPE.ID Lo
|
||||||
|
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
pla
|
||||||
|
sta (ScopeStk),y #SCOPE.LocalPtr
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #0
|
||||||
|
sta (ScopeStk),y #SCOPE.FrameSize
|
||||||
|
|
||||||
lda #'F'
|
lda #'F'
|
||||||
jsr SYM.LookupLabelA
|
jsr SYM.LookupLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
@ -32,19 +51,22 @@ SCOPE.New >INCW.G CC.ScopeID
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
.DO _DBG_SCOPE=1
|
.DO _DBG_SCOPE=1
|
||||||
>PUSHW L.MSG.DEBUG.SCIN
|
>PUSHW L.MSG.DEBUG.SCIN
|
||||||
jsr SCOPE.Push
|
jsr SCOPE.Push
|
||||||
|
|
||||||
lda ScopePtr
|
lda ScopePtr
|
||||||
lsr
|
>PUSHA
|
||||||
lsr
|
|
||||||
>PUSHA
|
tay
|
||||||
|
iny
|
||||||
>PUSHB.G CC.LocalPtr
|
iny
|
||||||
>PUSHB.G CC.FrameSize
|
>PUSHB (ScopeStk),y
|
||||||
>PUSHBI 5
|
iny
|
||||||
>SYSCALL PrintF
|
>PUSHB (ScopeStk),y
|
||||||
>DEBUG
|
|
||||||
|
>PUSHBI 5
|
||||||
|
>SYSCALL PrintF
|
||||||
|
* >DEBUG
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
@ -59,7 +81,12 @@ SCOPE.Close lda #'F' define FRAME SIZE
|
||||||
jsr SYM.NewLabelA
|
jsr SYM.NewLabelA
|
||||||
bcs SCOPE.New.RTS
|
bcs SCOPE.New.RTS
|
||||||
|
|
||||||
>LDA.G CC.FrameSize
|
ldy ScopePtr
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda (ScopeStk),y #SCOPE.FrameSize
|
||||||
|
|
||||||
jsr CODE.RemLocal
|
jsr CODE.RemLocal
|
||||||
bcs SCOPE.New.RTS
|
bcs SCOPE.New.RTS
|
||||||
|
|
||||||
|
@ -67,12 +94,15 @@ SCOPE.Close lda #'F' define FRAME SIZE
|
||||||
>PUSHW L.MSG.DEBUG.SCOUT
|
>PUSHW L.MSG.DEBUG.SCOUT
|
||||||
jsr SCOPE.Push
|
jsr SCOPE.Push
|
||||||
lda ScopePtr
|
lda ScopePtr
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHB.G CC.LocalPtr
|
tay
|
||||||
>PUSHB.G CC.FrameSize
|
iny
|
||||||
|
iny
|
||||||
|
>PUSHB (ScopeStk),y #SCOPE.LocalPtr
|
||||||
|
iny
|
||||||
|
>PUSHB (ScopeStk),y #SCOPE.FrameSize
|
||||||
|
|
||||||
>PUSHBI 5
|
>PUSHBI 5
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
.FIN
|
.FIN
|
||||||
|
@ -91,24 +121,29 @@ SCOPE.Close lda #'F' define FRAME SIZE
|
||||||
jsr SCOPE.Push
|
jsr SCOPE.Push
|
||||||
|
|
||||||
lda ScopePtr
|
lda ScopePtr
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHB.G CC.LocalPtr
|
tay
|
||||||
>PUSHB.G CC.FrameSize
|
iny
|
||||||
|
iny
|
||||||
|
>PUSHB (ScopeStk),y
|
||||||
|
iny
|
||||||
|
>PUSHB (ScopeStk),y
|
||||||
|
|
||||||
>PUSHBI 5
|
>PUSHBI 5
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
>DEBUG
|
* >DEBUG
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCOPE.Push ldy ScopePtr
|
SCOPE.Push lda ScopePtr
|
||||||
|
|
||||||
SCOPE.PushY iny #SCOPE.ID+1
|
SCOPE.PushA clc
|
||||||
|
adc #SCOPE.ID+1
|
||||||
|
tay
|
||||||
lda (ScopeStk),y
|
lda (ScopeStk),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
dey #SCOPE.ID
|
dey #SCOPE.ID
|
||||||
|
|
152
BIN/CC.S.SYM.txt
152
BIN/CC.S.SYM.txt
|
@ -204,10 +204,13 @@ SYM.SetAddrL ldy #SYM.SizeOf+1
|
||||||
|
|
||||||
lda (ZPSymBufPtr),y
|
lda (ZPSymBufPtr),y
|
||||||
clc
|
clc
|
||||||
>ADC.G CC.LocalPtr
|
ldy ScopePtr
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
adc (ScopeStk),y
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta (pData),y
|
sta (ScopeStk),y
|
||||||
|
|
||||||
ldy #SYM.Addr
|
ldy #SYM.Addr
|
||||||
sta (ZPSymBufPtr),y
|
sta (ZPSymBufPtr),y
|
||||||
|
@ -216,8 +219,12 @@ SYM.SetAddrL ldy #SYM.SizeOf+1
|
||||||
lda (ZPSymBufPtr),y
|
lda (ZPSymBufPtr),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
>ADC.G CC.FrameSize
|
ldy ScopePtr
|
||||||
sta (pData),y
|
iny
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
adc (ScopeStk),y
|
||||||
|
sta (ScopeStk),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
@ -544,21 +551,19 @@ SYM.Lookup >LDA.G CC.LookupIdx
|
||||||
.1 pha
|
.1 pha
|
||||||
>PUSHB.G CC.hSyms
|
>PUSHB.G CC.hSyms
|
||||||
>PUSHW ZPLineBufPtr
|
>PUSHW ZPLineBufPtr
|
||||||
ply
|
pla
|
||||||
phy
|
pha
|
||||||
jsr SCOPE.PushY
|
jsr SCOPE.PushA
|
||||||
>SYSCALL SListLookup
|
>SYSCALL SListLookup
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
pla
|
pla
|
||||||
cmp #CC.ScopeIDs
|
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
dec
|
* sec
|
||||||
dec
|
sbc #SCOPE
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
|
|
||||||
.99 lda #E.OOH
|
.99 lda #E.OOH
|
||||||
* sec
|
* sec
|
||||||
rts
|
rts
|
||||||
|
@ -600,9 +605,10 @@ SYM.Lookup >LDA.G CC.LookupIdx
|
||||||
* "_C"ontinue
|
* "_C"ontinue
|
||||||
* "_D"efault
|
* "_D"efault
|
||||||
* "_E"lse
|
* "_E"lse
|
||||||
* "_F"rameSize
|
* "_F"rame Size
|
||||||
* "_J"umpTable
|
* "_J"umpTable
|
||||||
* "_L"oop
|
* "_L"oop
|
||||||
|
* "_R"eturn value
|
||||||
* "_S"statement
|
* "_S"statement
|
||||||
* e"_X"it
|
* e"_X"it
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -622,12 +628,6 @@ SYM.NewLabelA bit bPass2
|
||||||
|
|
||||||
>STYA.G CC.LabelID
|
>STYA.G CC.LabelID
|
||||||
|
|
||||||
lda #SYM.T.VOID
|
|
||||||
>STA.G CC.LabelBuf
|
|
||||||
lda #SYM.Q.POINTER
|
|
||||||
iny
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
ldy #CC.LabelBuf+SYM.DefSize
|
ldy #CC.LabelBuf+SYM.DefSize
|
||||||
lda #SYM.Def
|
lda #SYM.Def
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
@ -636,16 +636,22 @@ SYM.NewLabelA bit bPass2
|
||||||
cmp #'F'
|
cmp #'F'
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
ldy #CC.LabelBuf+SYM.SC
|
jsr SYM.NewLabelF
|
||||||
lda #SYM.SC.AUTO
|
bra .7
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
>LDA.G CC.FrameSize
|
.1 cmp #'R'
|
||||||
ldy #CC.LabelBuf+SYM.Addr
|
bne .6
|
||||||
sta (pData),y
|
|
||||||
bra .2
|
|
||||||
|
|
||||||
.1 ldy #CC.LabelBuf+SYM.SC
|
jsr SYM.NewLabelR
|
||||||
|
bra .7
|
||||||
|
|
||||||
|
.6 lda #SYM.T.VOID
|
||||||
|
>STA.G CC.LabelBuf
|
||||||
|
lda #SYM.Q.POINTER
|
||||||
|
iny
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
iny
|
||||||
lda #SYM.SC.STATIC
|
lda #SYM.SC.STATIC
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
|
@ -656,7 +662,7 @@ SYM.NewLabelA bit bPass2
|
||||||
lda ZPCCCode+1
|
lda ZPCCCode+1
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
.2 .DO _DBG_SYM=1
|
.7 .DO _DBG_SYM=1
|
||||||
jsr SYM.DEBUGNL
|
jsr SYM.DEBUGNL
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
|
@ -675,7 +681,46 @@ SYM.NewLabelA bit bPass2
|
||||||
.FIN
|
.FIN
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
SYM.NewLabelF lda #SYM.T.UCHAR
|
||||||
|
>STA.G CC.LabelBuf
|
||||||
|
lda #0
|
||||||
|
iny
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #SYM.SC.AUTO
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
ldy ScopePtr
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda (ScopeStk),y #SCOPE.FrameSize
|
||||||
|
|
||||||
|
ldy #CC.LabelBuf+SYM.Addr
|
||||||
|
sta (pData),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
SYM.NewLabelR ldy #SYM.Q
|
||||||
|
lda (ZPSymBufPtr),y
|
||||||
|
and #$F8 strip off SYM.Q.FUNC...
|
||||||
|
pha
|
||||||
|
|
||||||
|
lda (ZPSymBufPtr)
|
||||||
|
>STA.G CC.LabelBuf
|
||||||
|
pla
|
||||||
|
iny
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #SYM.SC.AUTO
|
||||||
|
sta (pData),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
SYM.LookupLabelA
|
SYM.LookupLabelA
|
||||||
|
cmp #'R'
|
||||||
|
beq .1
|
||||||
|
|
||||||
bit bPass2
|
bit bPass2
|
||||||
bmi .1
|
bmi .1
|
||||||
|
|
||||||
|
@ -688,23 +733,22 @@ SYM.LookupLabelA
|
||||||
|
|
||||||
>PUSHB.G CC.hSyms ...for SListGetData
|
>PUSHB.G CC.hSyms ...for SListGetData
|
||||||
|
|
||||||
ldy ScopePtr
|
lda ScopePtr
|
||||||
|
|
||||||
.2 phy
|
.2 pha
|
||||||
>PUSHB.G CC.hSyms
|
>PUSHB.G CC.hSyms
|
||||||
>PUSHEA.G CC.Label
|
>PUSHEA.G CC.Label
|
||||||
ply
|
pla
|
||||||
phy
|
pha
|
||||||
jsr SCOPE.PushY
|
jsr SCOPE.PushA
|
||||||
>SYSCALL SListLookup
|
>SYSCALL SListLookup
|
||||||
bcc .8
|
bcc .3
|
||||||
|
|
||||||
ply
|
pla
|
||||||
cpy #CC.ScopeIDs
|
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
dey
|
* sec
|
||||||
dey
|
sbc #SCOPE
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.9 inc pStack discard CC.hSyms
|
.9 inc pStack discard CC.hSyms
|
||||||
|
@ -713,7 +757,7 @@ SYM.LookupLabelA
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 plx
|
.3 plx
|
||||||
|
|
||||||
>PUSHA KeyID.HI
|
>PUSHA KeyID.HI
|
||||||
tya
|
tya
|
||||||
|
@ -733,8 +777,14 @@ SYM.LookupLabelA
|
||||||
|
|
||||||
plx
|
plx
|
||||||
|
|
||||||
|
>LDA.G CC.Label+1
|
||||||
|
ldy #SYM.T return T/Q
|
||||||
|
cmp #'R'
|
||||||
|
beq .4
|
||||||
|
|
||||||
ldy #SYM.Addr
|
ldy #SYM.Addr
|
||||||
lda (ZPLookupPtr),y
|
|
||||||
|
.4 lda (ZPLookupPtr),y
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
|
@ -773,7 +823,7 @@ SYM.LookupFree >LDA.G CC.LookupIdx
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda E.INVH
|
.9 lda #E.INVH
|
||||||
* sec
|
* sec
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
|
@ -962,7 +1012,6 @@ SYM.DEBUGN >PUSHW L.MSG.DEBUG.SYMN
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI 7
|
>PUSHBI 7
|
||||||
>SYSCALL Printf
|
>SYSCALL Printf
|
||||||
* >DEBUG
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
SYM.DEBUGU >PUSHW L.MSG.DEBUG.SYMU
|
SYM.DEBUGU >PUSHW L.MSG.DEBUG.SYMU
|
||||||
|
@ -975,7 +1024,15 @@ SYM.DEBUGU >PUSHW L.MSG.DEBUG.SYMU
|
||||||
iny
|
iny
|
||||||
lda (ZPSymBufPtr),y
|
lda (ZPSymBufPtr),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI 5
|
|
||||||
|
ldy #SYM.Addr+1
|
||||||
|
lda (ZPSymBufPtr),y
|
||||||
|
>PUSHA
|
||||||
|
dey
|
||||||
|
lda (ZPSymBufPtr),y
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
>PUSHBI 7
|
||||||
>SYSCALL Printf
|
>SYSCALL Printf
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -989,8 +1046,17 @@ SYM.DEBUGS >PUSHW L.MSG.DEBUG.SYMS
|
||||||
iny
|
iny
|
||||||
lda (ZPSymBufPtr),y
|
lda (ZPSymBufPtr),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI 5
|
|
||||||
|
ldy #SYM.Addr+1
|
||||||
|
lda (ZPSymBufPtr),y
|
||||||
|
>PUSHA
|
||||||
|
dey
|
||||||
|
lda (ZPSymBufPtr),y
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
>PUSHBI 7
|
||||||
>SYSCALL Printf
|
>SYSCALL Printf
|
||||||
|
>DEBUG
|
||||||
rts
|
rts
|
||||||
|
|
||||||
SYM.DEBUGG >PUSHW L.MSG.DEBUG.SYMG
|
SYM.DEBUGG >PUSHW L.MSG.DEBUG.SYMG
|
||||||
|
|
38
BIN/CC.S.txt
38
BIN/CC.S.txt
|
@ -11,7 +11,7 @@ NEW
|
||||||
.INB inc/mli.e.i
|
.INB inc/mli.e.i
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
_DBG_SYM .EQ 0
|
_DBG_SYM .EQ 0
|
||||||
_DBG_SCOPE .EQ 1
|
_DBG_SCOPE .EQ 0
|
||||||
_DBG_OUT .EQ 0
|
_DBG_OUT .EQ 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILES.MAX .EQ 4
|
FILES.MAX .EQ 4
|
||||||
|
@ -539,20 +539,22 @@ CS.QUIT jsr CODE.Quit
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PrintVerboseMsg
|
PrintVerboseMsg
|
||||||
.DO _DBG_SCOPE=1
|
.DO _DBG_SCOPE=1
|
||||||
>PUSHW L.MSG.DEBUG.SC
|
>PUSHW L.MSG.DEBUG.SC
|
||||||
jsr SCOPE.Push
|
jsr SCOPE.Push
|
||||||
|
|
||||||
lda ScopePtr
|
lda ScopePtr
|
||||||
sec
|
>PUSHA
|
||||||
sbc #CC.ScopeIDs
|
|
||||||
lsr
|
tay
|
||||||
>PUSHA
|
iny
|
||||||
|
iny
|
||||||
>PUSHB.G CC.LocalPtr
|
>PUSHB (ScopeStk),y
|
||||||
>PUSHB.G CC.FrameSize
|
iny
|
||||||
>PUSHBI 5
|
>PUSHB (ScopeStk),y
|
||||||
>SYSCALL PrintF
|
|
||||||
* >DEBUG
|
>PUSHBI 5
|
||||||
|
>SYSCALL PrintF
|
||||||
|
* >DEBUG
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
ldy #S.PS.hStdOut
|
ldy #S.PS.hStdOut
|
||||||
|
@ -661,8 +663,8 @@ MSG.LINKING2 .CZ "*** %H:%H:%18s T/Q=%h/%h, SC=%h, Def=%h, SizeOf=%H, @=%H\r\n"
|
||||||
MSG.GENERATING .CZ "*** Generating: %s\r\n"
|
MSG.GENERATING .CZ "*** Generating: %s\r\n"
|
||||||
.DO _DBG_SYM=1
|
.DO _DBG_SYM=1
|
||||||
MSG.DEBUG.SYMN .CZ "New SymID=%H[%H],T=%h,Q=%h,SC=%h "
|
MSG.DEBUG.SYMN .CZ "New SymID=%H[%H],T=%h,Q=%h,SC=%h "
|
||||||
MSG.DEBUG.SYMU .CZ "Upd SymID=%H,T=%h,Q=%h,SC=%h\r\n"
|
MSG.DEBUG.SYMU .CZ "Upd SymID=%H,T=%h,Q=%h,SC=%h,@=%H\r\n"
|
||||||
MSG.DEBUG.SYMS .CZ "Sto SymID=%H,T=%h,Q=%h,SC=%h\r\n"
|
MSG.DEBUG.SYMS .CZ "Sto SymID=%H,T=%h,Q=%h,SC=%h,@=%H\r\n"
|
||||||
MSG.DEBUG.SYMG .CZ "Get SymID=%H,T=%h,Q=%h,SC=%h\r\n"
|
MSG.DEBUG.SYMG .CZ "Get SymID=%H,T=%h,Q=%h,SC=%h\r\n"
|
||||||
MSG.DEBUG.SYMNL .CZ "New (%s) ID=%H[%H],T=%h,Q=%h,SC=%h "
|
MSG.DEBUG.SYMNL .CZ "New (%s) ID=%H[%H],T=%h,Q=%h,SC=%h "
|
||||||
MSG.DEBUG.SYMSL .CZ "Sto ID=%H,T=%h,Q=%h,SC=%h\r\n"
|
MSG.DEBUG.SYMSL .CZ "Sto ID=%H,T=%h,Q=%h,SC=%h\r\n"
|
||||||
|
@ -1142,8 +1144,6 @@ CC.hStmtStk .BS 1
|
||||||
CC.hSyms .BS 1
|
CC.hSyms .BS 1
|
||||||
|
|
||||||
CC.ScopeID .BS 2
|
CC.ScopeID .BS 2
|
||||||
CC.LocalPtr .BS 1
|
|
||||||
CC.FrameSize .BS 1
|
|
||||||
|
|
||||||
CC.bInitCode .BS 1
|
CC.bInitCode .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -28,18 +28,18 @@ IO.8255.S.ByteRcvd .EQ %00100000
|
||||||
IO.8255.Mode .EQ $C083-$88
|
IO.8255.Mode .EQ $C083-$88
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.MA READBYTE
|
.MA READBYTE
|
||||||
lda #IO.8255.S.ByteRcvd
|
:1 inc $600+37
|
||||||
:1 bit IO.8255.S,x
|
lda IO.8255.S,x
|
||||||
bne :1
|
and #IO.8255.S.ByteRcvd
|
||||||
|
beq :1
|
||||||
lda IO.8255.Data,x
|
lda IO.8255.Data,x
|
||||||
.EM
|
.EM
|
||||||
|
|
||||||
.MA WRITEBYTE
|
.MA WRITEBYTE
|
||||||
sta IO.8255.Data,x
|
sta IO.8255.Data,x
|
||||||
* lda #IO.8255.S.ByteSent
|
:1 inc $600+38
|
||||||
:1 bit IO.8255.S,x
|
bit IO.8255.S,x
|
||||||
bpl :1
|
bpl :1
|
||||||
|
|
||||||
.EM
|
.EM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
|
@ -100,18 +100,14 @@ Dev.Detect >STYA ZPArgPtr
|
||||||
|
|
||||||
lda ZPPtr1+1
|
lda ZPPtr1+1
|
||||||
and #$0F
|
and #$0F
|
||||||
tay
|
sta DEVSLOT0x
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
ora #$88
|
ora #$88
|
||||||
tax
|
sta DEVSLOTx0
|
||||||
|
bra .3
|
||||||
lda #$fa
|
|
||||||
sta IO.8255.Mode,x
|
|
||||||
cmp IO.8255.Mode,x
|
|
||||||
beq .3
|
|
||||||
|
|
||||||
.2 dec FD.DEV.NAME+3
|
.2 dec FD.DEV.NAME+3
|
||||||
lda ZPPtr1+1
|
lda ZPPtr1+1
|
||||||
|
@ -125,14 +121,8 @@ Dev.Detect >STYA ZPArgPtr
|
||||||
lda #MLI.E.NODEV
|
lda #MLI.E.NODEV
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
*--------------------------------------
|
||||||
.3 stx DEVSLOTx0
|
.3
|
||||||
sty DEVSLOT0x
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* sta DIB+S.DIB.VERSION+1
|
* sta DIB+S.DIB.VERSION+1
|
||||||
* sta DIB+S.DIB.VERSION
|
* sta DIB+S.DIB.VERSION
|
||||||
|
|
||||||
|
@ -216,6 +206,8 @@ FD.DEV.NAME .AZ "eth7"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* https://github.com/profdc9/ip65/blob/main/drivers/dan2d.s
|
||||||
|
*--------------------------------------
|
||||||
ZPIOCTL .EQ ZPDRV
|
ZPIOCTL .EQ ZPDRV
|
||||||
ZPBufPtr .EQ ZPDRV+2
|
ZPBufPtr .EQ ZPDRV+2
|
||||||
Counter .EQ ZPDRV+4
|
Counter .EQ ZPDRV+4
|
||||||
|
@ -310,7 +302,6 @@ OPEN lda #S.DIB.S.OPENED
|
||||||
lda #$FA
|
lda #$FA
|
||||||
sta IO.8255.Mode,x
|
sta IO.8255.Mode,x
|
||||||
|
|
||||||
|
|
||||||
lda #IO.8255.Cmd.PFX
|
lda #IO.8255.Cmd.PFX
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
lda #IO.8255.Cmd.INIT
|
lda #IO.8255.Cmd.INIT
|
||||||
|
@ -318,7 +309,7 @@ OPEN lda #S.DIB.S.OPENED
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 lda DCB+S.DCB.NIC.MAC+0,y
|
.1 lda DCB+S.DCB.NIC.MAC,y
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
iny
|
iny
|
||||||
|
|
||||||
|
@ -327,6 +318,10 @@ OPEN lda #S.DIB.S.OPENED
|
||||||
|
|
||||||
>READBYTE
|
>READBYTE
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
|
|
||||||
|
lda #"!
|
||||||
|
sta $600+30
|
||||||
|
|
||||||
lda #MLI.E.IO
|
lda #MLI.E.IO
|
||||||
sec
|
sec
|
||||||
|
@ -334,6 +329,10 @@ OPEN lda #S.DIB.S.OPENED
|
||||||
|
|
||||||
.8 lda #S.DIB.S.OPENED
|
.8 lda #S.DIB.S.OPENED
|
||||||
tsb DIB+S.DIB.S
|
tsb DIB+S.DIB.S
|
||||||
|
|
||||||
|
lda #"O
|
||||||
|
sta $600+30
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -358,24 +357,31 @@ READ php
|
||||||
|
|
||||||
>STYA ZPIOCTL
|
>STYA ZPIOCTL
|
||||||
|
|
||||||
|
jsr DEBUG.ClrR
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
|
|
||||||
lda #IO.8255.Cmd.PFX
|
lda #IO.8255.Cmd.PFX
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
lda #IO.8255.Cmd.POLL
|
lda #IO.8255.Cmd.POLL
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
lda #2048
|
lda #1514
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
lda /2048
|
lda /1514
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
|
|
||||||
|
lda #"R
|
||||||
|
sta $600+32
|
||||||
|
|
||||||
>READBYTE
|
>READBYTE
|
||||||
ldy #S.IOCTL.BYTECNT
|
ldy #S.IOCTL.BYTECNT
|
||||||
sta (ZPIOCTL),y
|
sta (ZPIOCTL),y
|
||||||
pha
|
pha
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta Counter
|
sta Counter
|
||||||
|
|
||||||
>READBYTE
|
>READBYTE
|
||||||
|
iny
|
||||||
sta (ZPIOCTL),y
|
sta (ZPIOCTL),y
|
||||||
pha
|
pha
|
||||||
eor #$ff
|
eor #$ff
|
||||||
|
@ -399,8 +405,12 @@ READ php
|
||||||
dey
|
dey
|
||||||
pla
|
pla
|
||||||
sta (ZPIOCTL),y
|
sta (ZPIOCTL),y
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
|
|
||||||
|
lda #"R
|
||||||
|
sta $600+33
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 inc Counter
|
.2 inc Counter
|
||||||
|
@ -433,11 +443,13 @@ WRITE php
|
||||||
sei
|
sei
|
||||||
>STYA ZPIOCTL
|
>STYA ZPIOCTL
|
||||||
|
|
||||||
|
jsr DEBUG.ClrW
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
|
|
||||||
lda #IO.8255.Cmd.PFX
|
lda #IO.8255.Cmd.PFX
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
lda #IO.8255.Cmd.POLL
|
lda #IO.8255.Cmd.SEND
|
||||||
>WRITEBYTE
|
>WRITEBYTE
|
||||||
ldy #S.IOCTL.BYTECNT
|
ldy #S.IOCTL.BYTECNT
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
|
@ -471,14 +483,40 @@ WRITE php
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
inc ZPBufPtr+1
|
inc ZPBufPtr+1
|
||||||
bne .1
|
bra .1
|
||||||
|
|
||||||
.8 >READBYTE
|
.8
|
||||||
bne READWRITE.9
|
lda #"W
|
||||||
|
sta $600+35
|
||||||
|
|
||||||
|
>READBYTE
|
||||||
|
bne WRITE.99
|
||||||
|
|
||||||
|
lda #"W
|
||||||
|
sta $600+36
|
||||||
|
|
||||||
plp
|
plp
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
WRITE.99 lda #MLI.E.IO
|
||||||
|
plp
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DEBUG.ClrR lda #"R
|
||||||
|
sta $600+31
|
||||||
|
lda #"?
|
||||||
|
sta $600+32
|
||||||
|
sta $600+33
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DEBUG.ClrW lda #"W
|
||||||
|
sta $600+34
|
||||||
|
lda #"?
|
||||||
|
sta $600+35
|
||||||
|
sta $600+36
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.END
|
DRV.CS.END
|
||||||
DEVSLOTx0 .BS 1
|
DEVSLOTx0 .BS 1
|
||||||
|
|
|
@ -198,10 +198,14 @@ STATUS >STYA ZPIOCTL
|
||||||
ldy #S.IOCTL.S
|
ldy #S.IOCTL.S
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
cmp #S.IOCTL.S.GETDIB
|
cmp #S.IOCTL.S.GETDIB
|
||||||
bne STATUS.DCB
|
bne STATUS.DCB
|
||||||
|
|
||||||
ldx #S.DIB-1
|
ldx #S.DIB-1
|
||||||
.HS 2C bit abs
|
|
||||||
|
.HS 2C BIT ABS
|
||||||
|
|
||||||
.1 ldx #3
|
.1 ldx #3
|
||||||
|
|
||||||
ldy #S.IOCTL.BUFPTR
|
ldy #S.IOCTL.BUFPTR
|
||||||
|
@ -231,6 +235,7 @@ STATUS.DCB cmp #S.IOCTL.S.GETDCB
|
||||||
lda PacketPageDATA,x
|
lda PacketPageDATA,x
|
||||||
and #PP.LineST.LinkOK
|
and #PP.LineST.LinkOK
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda #S.DCB.NIC.LINK.OK
|
lda #S.DCB.NIC.LINK.OK
|
||||||
tsb DCB+S.DCB.NIC.LINK
|
tsb DCB+S.DCB.NIC.LINK
|
||||||
|
|
||||||
|
@ -242,8 +247,10 @@ STATUS.DCB cmp #S.IOCTL.S.GETDCB
|
||||||
ldy PacketPageDATA,x
|
ldy PacketPageDATA,x
|
||||||
and /PP.TestCTL.FDX
|
and /PP.TestCTL.FDX
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda #S.DCB.NIC.LINK.FD
|
lda #S.DCB.NIC.LINK.FD
|
||||||
tsb DCB+S.DCB.NIC.LINK
|
tsb DCB+S.DCB.NIC.LINK
|
||||||
|
|
||||||
.1 ldy #S.IOCTL.BUFPTR
|
.1 ldy #S.IOCTL.BUFPTR
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
sta .3+1
|
sta .3+1
|
||||||
|
@ -251,13 +258,16 @@ STATUS.DCB cmp #S.IOCTL.S.GETDCB
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
sta .3+2
|
sta .3+2
|
||||||
ldx #S.DCB.NIC-1
|
ldx #S.DCB.NIC-1
|
||||||
|
|
||||||
.2 lda DCB,x
|
.2 lda DCB,x
|
||||||
|
|
||||||
.3 sta $ffff,x SELF MODIFIED
|
.3 sta $ffff,x SELF MODIFIED
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
STATUS.9 lda #MLI.E.BADCTL
|
STATUS.9 lda #MLI.E.BADCTL
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -5,6 +5,23 @@ NEW
|
||||||
IO.IIGS.INTEN .EQ $C041 R,W
|
IO.IIGS.INTEN .EQ $C041 R,W
|
||||||
IO.IIGS.INTFLAG .EQ $C046 R
|
IO.IIGS.INTFLAG .EQ $C046 R
|
||||||
IO.IIGS.CLRVBLINT .EQ $C047 W
|
IO.IIGS.CLRVBLINT .EQ $C047 W
|
||||||
|
*--------------------------------------
|
||||||
|
.MA TKCALL
|
||||||
|
ldx ##TK.]1
|
||||||
|
jsl $E10000
|
||||||
|
.EM
|
||||||
|
*--------------------------------------
|
||||||
|
TK.SetHeartBeat .EQ $1203
|
||||||
|
* TK.DelHeartBeat .EQ $1303
|
||||||
|
* TK.ClrHeartBeat .EQ $1403
|
||||||
|
|
||||||
|
TK.GetVector .EQ $1103
|
||||||
|
TK.SetVector .EQ $1003
|
||||||
|
* $000C Vertical blanking interrupt handler
|
||||||
|
TK.IntSource .EQ $2303
|
||||||
|
|
||||||
|
* $0002 vblEnable Enable vertical blanking interrupts
|
||||||
|
* $0003 vb1Disable Disable vertical blanking interrupts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE INC/IO.IIGS.I
|
SAVE inc/io.iigs.i
|
||||||
|
|
|
@ -133,7 +133,7 @@ CORE.Events jsr CORE.GetEvents
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.Quit php
|
CORE.Quit php
|
||||||
sei
|
sei
|
||||||
jsr CORE.IRQ.Off
|
jsr CORE.IRQOff
|
||||||
|
|
||||||
plp
|
plp
|
||||||
|
|
||||||
|
@ -488,19 +488,38 @@ CORE.LastPSID .DA #0
|
||||||
CORE.EvtIndex .BS 1
|
CORE.EvtIndex .BS 1
|
||||||
CORE.EvtCount .BS 1
|
CORE.EvtCount .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* Called by IIgs formware, Native Mode, 8bits
|
||||||
|
*--------------------------------------
|
||||||
|
CORE.IRQGS .OP 65816
|
||||||
|
|
||||||
|
pha
|
||||||
|
phb
|
||||||
|
phx
|
||||||
|
phy
|
||||||
|
|
||||||
|
phk
|
||||||
|
plb
|
||||||
|
|
||||||
|
stz IO.IIGS.CLRVBLINT
|
||||||
|
|
||||||
|
jsr CORE.IRQ.Switch
|
||||||
|
|
||||||
|
ply
|
||||||
|
plx
|
||||||
|
plb
|
||||||
|
pla
|
||||||
|
|
||||||
|
* clc
|
||||||
|
rtl
|
||||||
|
|
||||||
|
* bra CORE.IRQ.Switch
|
||||||
|
.OP 65C02
|
||||||
|
*--------------------------------------
|
||||||
* Called by :
|
* Called by :
|
||||||
* - Kernel IRQ Manager (AuxLC)
|
* - Kernel IRQ Manager (AuxLC)
|
||||||
* - ProDOS IRQ Manager (GP)
|
* - ProDOS IRQ Manager (GP)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.IIGS lda IO.IIGS.INTFLAG
|
CORE.IRQTK ldy IRQ.n0
|
||||||
and #$08
|
|
||||||
beq CORE.IRQ.DEV
|
|
||||||
|
|
||||||
stz IO.IIGS.CLRVBLINT
|
|
||||||
|
|
||||||
bra CORE.IRQ.Switch
|
|
||||||
*--------------------------------------
|
|
||||||
CORE.IRQ.TCLOCK ldy IRQ.n0
|
|
||||||
|
|
||||||
lda $c080,y
|
lda $c080,y
|
||||||
and #$20
|
and #$20
|
||||||
|
@ -511,7 +530,7 @@ CORE.IRQ.TCLOCK ldy IRQ.n0
|
||||||
|
|
||||||
bra CORE.IRQ.Switch
|
bra CORE.IRQ.Switch
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.MOUSE jsr $FFFF SELF MODIFIED,SERVEMOUSE
|
CORE.IRQM jsr $FFFF SELF MODIFIED,SERVEMOUSE
|
||||||
bcs CORE.IRQ.DEV Not From Mouse
|
bcs CORE.IRQ.DEV Not From Mouse
|
||||||
|
|
||||||
ldx IRQ.0n
|
ldx IRQ.0n
|
||||||
|
@ -519,11 +538,10 @@ CORE.IRQ.MOUSE jsr $FFFF SELF MODIFIED,SERVEMOUSE
|
||||||
and #MOUSESTSx.INTVBL IRQ was caused by VBL ?
|
and #MOUSESTSx.INTVBL IRQ was caused by VBL ?
|
||||||
beq CORE.IRQ.DEV
|
beq CORE.IRQ.DEV
|
||||||
|
|
||||||
ldx CORE.IRQ.MOUSE.2+2 $Cn
|
ldx CORE.IRQM.2+2 $Cn
|
||||||
ldy IRQ.n0
|
ldy IRQ.n0
|
||||||
|
|
||||||
CORE.IRQ.MOUSE.2
|
CORE.IRQM.2 jsr $FFFF SELF MODIFIED,READMOUSE
|
||||||
jsr $FFFF SELF MODIFIED,READMOUSE
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.Switch inc IRQ.Tick
|
CORE.IRQ.Switch inc IRQ.Tick
|
||||||
|
|
||||||
|
@ -592,41 +610,55 @@ CORE.IRQ.DEV ldx #0
|
||||||
.8 clv clear V (no task switching)
|
.8 clv clear V (no task switching)
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.IIGS.Off
|
CORE.IRQGSOff .OP 65816
|
||||||
lda #$08
|
|
||||||
trb IO.IIGS.INTEN
|
clc
|
||||||
|
xce go to native mode
|
||||||
|
rep #$30 long M,X
|
||||||
|
|
||||||
|
pea $0003 Disable vertical blanking interrupts
|
||||||
|
>TKCALL IntSource
|
||||||
|
bcs *
|
||||||
|
|
||||||
|
pea $000C Vertical blanking interrupt handler
|
||||||
|
lda IRQ.GSVect+2
|
||||||
|
pha
|
||||||
|
lda IRQ.GSVect
|
||||||
|
pha
|
||||||
|
>TKCALL SetVector
|
||||||
|
bcs *
|
||||||
|
|
||||||
|
sep #$30 short M,X
|
||||||
|
sec
|
||||||
|
xce back to emulation mode
|
||||||
|
|
||||||
|
.OP 65C02
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.TCLOCK.Off
|
CORE.IRQTKOff ldx IRQ.n0
|
||||||
ldx IRQ.n0
|
|
||||||
stz $c080,x
|
stz $c080,x
|
||||||
|
|
||||||
lda $c088,x
|
lda $c088,x
|
||||||
lda $c080,x
|
lda $c080,x
|
||||||
|
|
||||||
ldx IRQ.0n
|
ldx IRQ.0n
|
||||||
* sta SETPAGE2
|
|
||||||
* stz $478,x
|
|
||||||
* stz $7f8,x
|
|
||||||
|
|
||||||
* sta CLRPAGE2
|
|
||||||
stz $478,x
|
stz $478,x
|
||||||
stz $7f8,x
|
stz $7f8,x
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.Off rts
|
CORE.IRQOff rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.IRQ.MOUSE.Off
|
CORE.IRQMOff ldy CORE.IRQMOff.1+2 Cn
|
||||||
ldy CORE.IRQ.MOUSE.Off.1+2 Cn
|
|
||||||
ldy IRQ.n0
|
ldy IRQ.n0
|
||||||
lda #0
|
lda #0
|
||||||
CORE.IRQ.MOUSE.Off.1
|
CORE.IRQMOff.1 jmp $ffff SELF MODIFIED
|
||||||
jmp $ffff SELF MODIFIED
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IRQ.InKernel .BS 1
|
IRQ.InKernel .BS 1
|
||||||
IRQ.InLib .BS 1
|
IRQ.InLib .BS 1
|
||||||
IRQ.Skip .BS 1
|
IRQ.Skip .BS 1
|
||||||
|
|
||||||
|
IRQ.GSVect .BS 4
|
||||||
|
|
||||||
IRQ.IntNum .BS 1
|
IRQ.IntNum .BS 1
|
||||||
IRQ.n0 .BS 1
|
IRQ.n0 .BS 1
|
||||||
IRQ.0n .BS 1
|
IRQ.0n .BS 1
|
||||||
|
|
|
@ -376,11 +376,11 @@ SysScrInit.TTYPtrs
|
||||||
ldy #S.DCB.TTY-1
|
ldy #S.DCB.TTY-1
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
.1 sta (ZPPtr1),y
|
.1 sta (ZPPtr1),y
|
||||||
dey
|
dey
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda FD.TTY+S.FD.DEV.DEVID
|
lda FD.TTY+S.FD.DEV.DEVID
|
||||||
sta (ZPPtr1)
|
sta (ZPPtr1)
|
||||||
|
|
||||||
|
@ -551,7 +551,7 @@ CPU.Init2c lda RDIOUDIS
|
||||||
bpl .8
|
bpl .8
|
||||||
|
|
||||||
sta IO.IIC.DISVBL
|
sta IO.IIC.DISVBL
|
||||||
|
|
||||||
.8 pla
|
.8 pla
|
||||||
bpl CPU.InitOk
|
bpl CPU.InitOk
|
||||||
|
|
||||||
|
@ -802,7 +802,7 @@ DevMgrInit.VXD >LDYAI VSD.PATCH
|
||||||
|
|
||||||
jsr .10
|
jsr .10
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
>LDYAI VED.PATCH
|
>LDYAI VED.PATCH
|
||||||
jsr .10
|
jsr .10
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -812,7 +812,7 @@ DevMgrInit.VXD >LDYAI VSD.PATCH
|
||||||
sec
|
sec
|
||||||
sbc #1
|
sbc #1
|
||||||
sta .81+1
|
sta .81+1
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sbc #0
|
sbc #0
|
||||||
|
@ -838,7 +838,7 @@ DevMgrInit.VXD >LDYAI VSD.PATCH
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.10 >STYA ZPPtr1
|
.10 >STYA ZPPtr1
|
||||||
|
|
||||||
ldy #VXD.PATCH.SIZE-1
|
ldy #9 10 bytes
|
||||||
|
|
||||||
.11 lda $BF41,y
|
.11 lda $BF41,y
|
||||||
cmp (ZPPtr1),y
|
cmp (ZPPtr1),y
|
||||||
|
@ -846,12 +846,12 @@ DevMgrInit.VXD >LDYAI VSD.PATCH
|
||||||
|
|
||||||
dey
|
dey
|
||||||
bpl .11
|
bpl .11
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.19 sec
|
.19 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
VSD.PATCH bit RRAMWRAMBNK2
|
VSD.PATCH bit RRAMWRAMBNK2
|
||||||
jsr $D002
|
jsr $D002
|
||||||
|
@ -862,7 +862,6 @@ VED.PATCH bit RRAMWRAMBNK2
|
||||||
jsr $D401
|
jsr $D401
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
rts
|
rts
|
||||||
VXD.PATCH.SIZE .EQ 10
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Setup AuxLC $FFFE->Kernel IRQ Handler
|
* Setup AuxLC $FFFE->Kernel IRQ Handler
|
||||||
* if irq not handled, jmp (S.IrqMgrOldFFFE)
|
* if irq not handled, jmp (S.IrqMgrOldFFFE)
|
||||||
|
@ -885,30 +884,56 @@ IrqMgrInit >LDYAI MSG.IRQ
|
||||||
|
|
||||||
lda K.MLI.PARAMS+1
|
lda K.MLI.PARAMS+1
|
||||||
sta IRQ.INTNUM
|
sta IRQ.INTNUM
|
||||||
|
|
||||||
plp
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
lda A2osX.HWType
|
lda A2osX.HWType
|
||||||
cmp #A2osX.HWType.IIgs
|
cmp #A2osX.HWType.IIgs
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #"G"
|
.OP 65816
|
||||||
sta IRQ.Mode
|
|
||||||
|
|
||||||
lda #$08
|
clc
|
||||||
tsb IO.IIGS.INTEN
|
xce go to native mode
|
||||||
|
rep #$30 long M,X
|
||||||
|
|
||||||
jsr IrqMgrInit.HZ2Tick
|
pea $000C Vertical blanking interrupt handler
|
||||||
|
pea $0000
|
||||||
|
pea $0000
|
||||||
|
>TKCALL GetVector
|
||||||
|
bcs *
|
||||||
|
pla
|
||||||
|
sta IRQ.GSVect+2
|
||||||
|
|
||||||
|
pla
|
||||||
|
sta IRQ.GSVect
|
||||||
|
|
||||||
|
pea $000C Vertical blanking interrupt handler
|
||||||
|
pea $0000
|
||||||
|
pea CORE.IRQGS
|
||||||
|
>TKCALL SetVector
|
||||||
|
bcs *
|
||||||
|
|
||||||
|
pea $0002 Enable vertical blanking interrupts
|
||||||
|
>TKCALL IntSource
|
||||||
|
bcs *
|
||||||
|
|
||||||
>LDYAI CORE.IRQ.IIGS
|
sep #$30 short M,X
|
||||||
jsr IrqMgrInit.SetV
|
sec
|
||||||
|
xce back to emulation mode
|
||||||
|
|
||||||
>LDYAI CORE.IRQ.IIGS.Off
|
.OP 65C02
|
||||||
|
|
||||||
|
jsr IrqMgr.HZ2Tick
|
||||||
|
|
||||||
|
>LDYAI CORE.IRQGS
|
||||||
|
jsr IrqMgr.SetV
|
||||||
|
|
||||||
|
>LDYAI CORE.IRQGSOff
|
||||||
>STYA CORE.Quit+3
|
>STYA CORE.Quit+3
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.IIGS
|
>LDYAI MSG.IRQGS
|
||||||
|
ldx #"G"
|
||||||
sec
|
sec
|
||||||
bra .8
|
bra IrqMgrInit.8
|
||||||
|
|
||||||
.9 plp
|
.9 plp
|
||||||
sec
|
sec
|
||||||
|
@ -917,25 +942,21 @@ IrqMgrInit >LDYAI MSG.IRQ
|
||||||
.1 cmp #A2osX.HWType.IIc
|
.1 cmp #A2osX.HWType.IIc
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
jsr IrqMgrInit.TClock
|
jsr IrqMgr.TClk
|
||||||
bcs .3
|
bcs .3
|
||||||
|
|
||||||
lda #"C"
|
>LDYAI CORE.IRQTK
|
||||||
sta IRQ.Mode
|
jsr IrqMgr.SetV
|
||||||
|
|
||||||
>LDYAI CORE.IRQ.TCLOCK
|
>LDYAI CORE.IRQTKOff
|
||||||
jsr IrqMgrInit.SetV
|
|
||||||
|
|
||||||
>LDYAI CORE.IRQ.TCLOCK.Off
|
|
||||||
>STYA CORE.Quit+3
|
>STYA CORE.Quit+3
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.CLOCK
|
>LDYAI MSG.IRQTK
|
||||||
|
ldx #"C"
|
||||||
sec
|
sec
|
||||||
bra .8
|
bra IrqMgrInit.8
|
||||||
|
|
||||||
.2 php
|
.2 sta CLRPAGE2
|
||||||
sei
|
|
||||||
sta CLRPAGE2
|
|
||||||
lda #$60
|
lda #$60
|
||||||
sta $5fa //c EXTINT COM1:Dont buffer but get IRQ
|
sta $5fa //c EXTINT COM1:Dont buffer but get IRQ
|
||||||
sta $5fb //c EXTINT COM2:Dont buffer but get IRQ
|
sta $5fb //c EXTINT COM2:Dont buffer but get IRQ
|
||||||
|
@ -944,43 +965,40 @@ IrqMgrInit >LDYAI MSG.IRQ
|
||||||
|
|
||||||
stz $4FF //c ROM FF: no ACIABUF
|
stz $4FF //c ROM FF: no ACIABUF
|
||||||
stz $4FC //c ROM 0X: no ACIABUF
|
stz $4FC //c ROM 0X: no ACIABUF
|
||||||
plp
|
|
||||||
|
|
||||||
.3 jsr IrqMgrInit.Mouse
|
.3 jsr IrqMgr.Mouse
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
lda #"V"
|
>LDYAI CORE.IRQM
|
||||||
sta IRQ.Mode
|
jsr IrqMgr.SetV
|
||||||
|
|
||||||
>LDYAI CORE.IRQ.MOUSE
|
>LDYAI CORE.IRQMOff
|
||||||
jsr IrqMgrInit.SetV
|
|
||||||
|
|
||||||
>LDYAI CORE.IRQ.MOUSE.Off
|
|
||||||
>STYA CORE.Quit+3
|
>STYA CORE.Quit+3
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.MOUSE
|
>LDYAI MSG.IRQM
|
||||||
|
ldx #"V"
|
||||||
sec
|
sec
|
||||||
bra .8
|
bra IrqMgrInit.8
|
||||||
|
|
||||||
.7 jsr IrqMgrInit.HZ2Tick
|
.7 jsr IrqMgr.HZ2Tick
|
||||||
|
|
||||||
lda #"P"
|
ldx #"P"
|
||||||
sta IRQ.Mode
|
>LDYAI MSG.IRQP
|
||||||
>LDYAI MSG.IRQ.POLL
|
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.8 ror A2osX.IRQMode
|
IrqMgrInit.8 ror A2osX.IRQMode
|
||||||
|
stx IRQ.Mode
|
||||||
>SYSCALL2 puts
|
>SYSCALL2 puts
|
||||||
|
|
||||||
|
plp
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IrqMgrInit.SetV >STYA IRQ.JSR+1
|
IrqMgr.SetV >STYA IRQ.JSR+1
|
||||||
>STYA GP.IRQ.JSR+1
|
>STYA GP.IRQ.JSR+1
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IrqMgrInit.TClock
|
IrqMgr.TClk stz ZPPtr1 Try finding a TClock Card...
|
||||||
stz ZPPtr1 Try finding a TClock Card...
|
|
||||||
lda #$C1
|
lda #$C1
|
||||||
sta ZPPtr1+1
|
sta ZPPtr1+1
|
||||||
|
|
||||||
|
@ -1016,19 +1034,10 @@ IrqMgrInit.TClock
|
||||||
lda #A2osX.S.CLK
|
lda #A2osX.S.CLK
|
||||||
sta A2osX.S,x
|
sta A2osX.S,x
|
||||||
|
|
||||||
php
|
|
||||||
sei
|
|
||||||
|
|
||||||
lda #$40+$20 Enable interrupt + 64Hz
|
lda #$40+$20 Enable interrupt + 64Hz
|
||||||
sta $c080,y
|
sta $c080,y
|
||||||
|
|
||||||
lda #$40
|
lda #$40
|
||||||
|
|
||||||
* sta SETPAGE2
|
|
||||||
* sta $478,x
|
|
||||||
* sta $7f8,x
|
|
||||||
|
|
||||||
* sta CLRPAGE2
|
|
||||||
sta $478,x
|
sta $478,x
|
||||||
sta $7f8,x
|
sta $7f8,x
|
||||||
|
|
||||||
|
@ -1041,12 +1050,10 @@ IrqMgrInit.TClock
|
||||||
sta CORE.Tick10t
|
sta CORE.Tick10t
|
||||||
dec A2osX.IRQMode
|
dec A2osX.IRQMode
|
||||||
|
|
||||||
plp
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IrqMgrInit.Mouse
|
IrqMgr.Mouse stz ZPPtr1 Try finding a Mouse Card...
|
||||||
stz ZPPtr1 Try finding a Mouse Card...
|
|
||||||
lda #$C1
|
lda #$C1
|
||||||
sta ZPPtr1+1
|
sta ZPPtr1+1
|
||||||
|
|
||||||
|
@ -1056,23 +1063,26 @@ IrqMgrInit.Mouse
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
cmp Mouse.SIG,x
|
cmp Mouse.SIG,x
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
bra .4
|
bra .4
|
||||||
|
|
||||||
.3 inc ZPPtr1+1 no match, try next slot....
|
.3 inc ZPPtr1+1 no match, try next slot....
|
||||||
lda ZPPtr1+1
|
lda ZPPtr1+1
|
||||||
cmp #$C8
|
cmp #$C8
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
sec
|
* sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.4 lda ZPPtr1+1
|
.4 lda ZPPtr1+1
|
||||||
|
|
||||||
sta .11+2
|
sta .11+2
|
||||||
sta CORE.IRQ.MOUSE.Off.1+2
|
sta CORE.IRQMOff.1+2
|
||||||
sta CORE.IRQ.MOUSE+2
|
sta CORE.IRQM+2
|
||||||
sta CORE.IRQ.MOUSE.2+2
|
sta CORE.IRQM.2+2
|
||||||
and #$0f
|
and #$0f
|
||||||
sta IRQ.0n
|
sta IRQ.0n
|
||||||
asl
|
asl
|
||||||
|
@ -1082,15 +1092,13 @@ IrqMgrInit.Mouse
|
||||||
|
|
||||||
sta IRQ.n0
|
sta IRQ.n0
|
||||||
|
|
||||||
php
|
|
||||||
sei
|
|
||||||
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
|
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
|
||||||
ldy #INITMOUSE
|
ldy #INITMOUSE
|
||||||
jsr .10
|
jsr .10
|
||||||
|
|
||||||
ldy #SETMOUSE
|
ldy #SETMOUSE
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta CORE.IRQ.MOUSE.Off.1+1
|
sta CORE.IRQMOff.1+1
|
||||||
lda #MOUSEMODx.INTVBL+MOUSEMODx.ACTIVE
|
lda #MOUSEMODx.INTVBL+MOUSEMODx.ACTIVE
|
||||||
jsr .10
|
jsr .10
|
||||||
|
|
||||||
|
@ -1098,23 +1106,18 @@ IrqMgrInit.Mouse
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
ldy #SERVEMOUSE
|
ldy #SERVEMOUSE
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta CORE.IRQ.MOUSE+1
|
sta CORE.IRQM+1
|
||||||
|
|
||||||
ldy #READMOUSE
|
ldy #READMOUSE
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta CORE.IRQ.MOUSE.2+1
|
sta CORE.IRQM.2+1
|
||||||
|
|
||||||
jsr IrqMgrInit.HZ2Tick
|
jsr IrqMgr.HZ2Tick
|
||||||
dec A2osX.IRQMode
|
dec A2osX.IRQMode
|
||||||
|
|
||||||
plp
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 plp
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.10 pha
|
.10 pha
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta .11+1
|
sta .11+1
|
||||||
|
@ -1124,8 +1127,7 @@ IrqMgrInit.Mouse
|
||||||
|
|
||||||
.11 jmp $ffff SELF MODIFIED
|
.11 jmp $ffff SELF MODIFIED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IrqMgrInit.HZ2Tick
|
IrqMgr.HZ2Tick lda A2osX.HZ
|
||||||
lda A2osX.HZ
|
|
||||||
sta CORE.TickPer10t
|
sta CORE.TickPer10t
|
||||||
sta CORE.Tick10t
|
sta CORE.Tick10t
|
||||||
asl
|
asl
|
||||||
|
@ -1308,10 +1310,10 @@ DRV.BLKDEVX .DA DRV.RamDrive
|
||||||
.DA DRV.BlkDev
|
.DA DRV.BlkDev
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.IRQ .AZ "Interrupt Manager..."
|
MSG.IRQ .AZ "Interrupt Manager..."
|
||||||
MSG.IRQ.IIGS .AZ " Apple IIgs VBL IRQ Activated."
|
MSG.IRQGS .AZ " Apple IIgs VBL IRQ Activated."
|
||||||
MSG.IRQ.MOUSE .AZ " Mouse Card VBL IRQ Activated."
|
MSG.IRQM .AZ " Mouse Card VBL IRQ Activated."
|
||||||
MSG.IRQ.CLOCK .AZ " Clock Card IRQ Activated."
|
MSG.IRQTK .AZ " Clock Card IRQ Activated."
|
||||||
MSG.IRQ.POLL .AZ " Polling Mode."
|
MSG.IRQP .AZ " Polling Mode."
|
||||||
MSG.EVT .AZ "Event Manager..."
|
MSG.EVT .AZ "Event Manager..."
|
||||||
MSG.TSK .AZ "Task Manager..."
|
MSG.TSK .AZ "Task Manager..."
|
||||||
MSG.PWD .AZ "Password Manager..."
|
MSG.PWD .AZ "Password Manager..."
|
||||||
|
|
Loading…
Reference in New Issue
Block a user