mirror of
https://github.com/A2osX/A2osX.git
synced 2025-08-09 08:25:12 +00:00
KERNEL:Fix for IIgs IRQ, IPCONFIG:Added 3 DHCP retries
This commit is contained in:
Binary file not shown.
@@ -19,9 +19,6 @@ CORE.Init lda #SL._
|
|||||||
|
|
||||||
>STA.G CC.hSyms
|
>STA.G CC.hSyms
|
||||||
|
|
||||||
ldy #CC.ScopeIDs
|
|
||||||
sty ScopePtr
|
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
@@ -34,9 +31,17 @@ CORE.Init lda #SL._
|
|||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>STYA ScopeStk
|
||||||
|
txa
|
||||||
|
>STA.G CC.hScopeStk
|
||||||
|
|
||||||
|
>LDYAI 256
|
||||||
|
>SYSCALL GetMem
|
||||||
|
bcs .9
|
||||||
|
|
||||||
>STYA StmtStk
|
>STYA StmtStk
|
||||||
txa
|
txa
|
||||||
>STA.G CC.hStack
|
>STA.G CC.hStmtStk
|
||||||
|
|
||||||
lda #CC.LookupIdx
|
lda #CC.LookupIdx
|
||||||
tay
|
tay
|
||||||
@@ -72,7 +77,10 @@ CORE.Quit jsr FIO.FClose
|
|||||||
.5 jsr SYM.LookupFree
|
.5 jsr SYM.LookupFree
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
>LDA.G CC.hStack
|
>LDA.G CC.hScopeStk
|
||||||
|
jsr .7
|
||||||
|
|
||||||
|
>LDA.G CC.hStmtStk
|
||||||
|
|
||||||
.7 beq .8
|
.7 beq .8
|
||||||
|
|
||||||
|
@@ -44,7 +44,7 @@ F.Decl jsr SCOPE.New
|
|||||||
jsr CC.IsLetter
|
jsr CC.IsLetter
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
jsr F.NewArg will update LocalPtr,LocalFrame
|
jsr F.NewArg will update LocalPtr,FrameSize
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
.2 jsr CC.GetCharNB
|
.2 jsr CC.GetCharNB
|
||||||
@@ -117,7 +117,7 @@ F.Def >LDA.G CC.bInitCode
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
.2 >LDA.G CC.LocalFrame
|
.2 >LDA.G CC.FrameSize
|
||||||
jsr CODE.LDAI A = f() ARGS size
|
jsr CODE.LDAI A = f() ARGS size
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
@@ -1,28 +1,22 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCOPE.New ldy ScopePtr
|
SCOPE.New >INCW.G CC.ScopeID
|
||||||
cpy #CC.ScopeIDs+SCOPE.MAX*2
|
|
||||||
|
lda ScopePtr
|
||||||
|
clc
|
||||||
|
adc #SCOPE
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
iny
|
sta ScopePtr
|
||||||
iny
|
|
||||||
sty ScopePtr
|
|
||||||
|
|
||||||
>INCW.G CC.ScopeID
|
ldy #CC.ScopeID+3
|
||||||
|
|
||||||
>LDA.G CC.ScopeID
|
.1 lda (pData),y
|
||||||
|
pha
|
||||||
|
dey
|
||||||
|
bpl .1
|
||||||
|
|
||||||
ldy ScopePtr
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
>LDA.G CC.ScopeID+1
|
|
||||||
|
|
||||||
ldy ScopePtr
|
|
||||||
iny
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -37,19 +31,17 @@ SCOPE.New ldy ScopePtr
|
|||||||
jsr CODE.AddLocal
|
jsr CODE.AddLocal
|
||||||
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
|
||||||
sec
|
lsr
|
||||||
sbc #CC.ScopeIDs
|
|
||||||
lsr
|
lsr
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHB.G CC.LocalPtr
|
>PUSHB.G CC.LocalPtr
|
||||||
>PUSHB.G CC.LocalFrame
|
>PUSHB.G CC.FrameSize
|
||||||
>PUSHBI 5
|
>PUSHBI 5
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
>DEBUG
|
>DEBUG
|
||||||
@@ -67,50 +59,46 @@ SCOPE.Close lda #'F' define FRAME SIZE
|
|||||||
jsr SYM.NewLabelA
|
jsr SYM.NewLabelA
|
||||||
bcs SCOPE.New.RTS
|
bcs SCOPE.New.RTS
|
||||||
|
|
||||||
>LDA.G CC.LocalFrame
|
>LDA.G CC.FrameSize
|
||||||
jsr CODE.RemLocal
|
jsr CODE.RemLocal
|
||||||
bcs SCOPE.New.RTS
|
bcs SCOPE.New.RTS
|
||||||
|
|
||||||
.DO _DBG_SCOPE=1
|
.DO _DBG_SCOPE=1
|
||||||
>PUSHW L.MSG.DEBUG.SCOUT
|
>PUSHW L.MSG.DEBUG.SCOUT
|
||||||
jsr SCOPE.Push
|
jsr SCOPE.Push
|
||||||
lda ScopePtr
|
lda ScopePtr
|
||||||
sec
|
lsr
|
||||||
sbc #CC.ScopeIDs
|
lsr
|
||||||
lsr
|
>PUSHA
|
||||||
>PUSHA
|
|
||||||
|
>PUSHB.G CC.LocalPtr
|
||||||
>PUSHB.G CC.LocalPtr
|
>PUSHB.G CC.FrameSize
|
||||||
>PUSHB.G CC.LocalFrame
|
>PUSHBI 5
|
||||||
>PUSHBI 5
|
>SYSCALL PrintF
|
||||||
>SYSCALL PrintF
|
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
ldy ScopePtr
|
lda ScopePtr
|
||||||
cpy #CC.ScopeIDs
|
|
||||||
beq *
|
beq *
|
||||||
|
|
||||||
dey
|
sec
|
||||||
dey
|
sbc #SCOPE
|
||||||
sty ScopePtr
|
sta ScopePtr
|
||||||
|
|
||||||
inc bLocalScope
|
inc bLocalScope
|
||||||
|
|
||||||
.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
|
lsr
|
||||||
sec
|
lsr
|
||||||
sbc #CC.ScopeIDs
|
>PUSHA
|
||||||
lsr
|
|
||||||
>PUSHA
|
>PUSHB.G CC.LocalPtr
|
||||||
|
>PUSHB.G CC.FrameSize
|
||||||
>PUSHB.G CC.LocalPtr
|
>PUSHBI 5
|
||||||
>PUSHB.G CC.LocalFrame
|
>SYSCALL PrintF
|
||||||
>PUSHBI 5
|
|
||||||
>SYSCALL PrintF
|
|
||||||
>DEBUG
|
>DEBUG
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
@@ -120,11 +108,11 @@ SCOPE.Close lda #'F' define FRAME SIZE
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCOPE.Push ldy ScopePtr
|
SCOPE.Push ldy ScopePtr
|
||||||
|
|
||||||
SCOPE.PushY iny
|
SCOPE.PushY iny #SCOPE.ID+1
|
||||||
lda (pData),y
|
lda (ScopeStk),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
dey
|
dey #SCOPE.ID
|
||||||
lda (pData),y
|
lda (ScopeStk),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@@ -216,7 +216,7 @@ SYM.SetAddrL ldy #SYM.SizeOf+1
|
|||||||
lda (ZPSymBufPtr),y
|
lda (ZPSymBufPtr),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
>ADC.G CC.LocalFrame
|
>ADC.G CC.FrameSize
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
@@ -640,7 +640,7 @@ SYM.NewLabelA bit bPass2
|
|||||||
lda #SYM.SC.AUTO
|
lda #SYM.SC.AUTO
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
>LDA.G CC.LocalFrame
|
>LDA.G CC.FrameSize
|
||||||
ldy #CC.LabelBuf+SYM.Addr
|
ldy #CC.LabelBuf+SYM.Addr
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra .2
|
bra .2
|
||||||
|
22
BIN/CC.S.txt
22
BIN/CC.S.txt
@@ -70,6 +70,12 @@ SU.F.BitO .EQ 4
|
|||||||
SU.F.BitW .EQ 5
|
SU.F.BitW .EQ 5
|
||||||
SU.F.Name .EQ 6
|
SU.F.Name .EQ 6
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
SCOPE.ID .EQ 0
|
||||||
|
SCOPE.LocalPtr .EQ 2
|
||||||
|
SCOPE.FrameSize .EQ 3
|
||||||
|
*
|
||||||
|
SCOPE .EQ 4
|
||||||
|
*--------------------------------------
|
||||||
STMT.hMEM .EQ 3 switch/case
|
STMT.hMEM .EQ 3 switch/case
|
||||||
STMT.MemPtr .EQ 2
|
STMT.MemPtr .EQ 2
|
||||||
STMT.TERM .EQ 1
|
STMT.TERM .EQ 1
|
||||||
@@ -94,14 +100,13 @@ ZPCCCode .BS 2
|
|||||||
ZPCCConst .BS 2
|
ZPCCConst .BS 2
|
||||||
ZPCCData .BS 2
|
ZPCCData .BS 2
|
||||||
|
|
||||||
|
ScopePtr .BS 1
|
||||||
|
StmtPtr .BS 1
|
||||||
|
ScopeStk .BS 2
|
||||||
StmtStk .BS 2
|
StmtStk .BS 2
|
||||||
|
|
||||||
ZPLineBufPtr .BS 2
|
ZPLineBufPtr .BS 2
|
||||||
ZPLookupPtr .BS 2
|
ZPLookupPtr .BS 2
|
||||||
|
|
||||||
ScopePtr .BS 1
|
|
||||||
StmtPtr .BS 1
|
|
||||||
|
|
||||||
ZPSymBufPtr .BS 2
|
ZPSymBufPtr .BS 2
|
||||||
ZPLookupSymPtr .BS 2
|
ZPLookupSymPtr .BS 2
|
||||||
|
|
||||||
@@ -544,7 +549,7 @@ PrintVerboseMsg
|
|||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHB.G CC.LocalPtr
|
>PUSHB.G CC.LocalPtr
|
||||||
>PUSHB.G CC.LocalFrame
|
>PUSHB.G CC.FrameSize
|
||||||
>PUSHBI 5
|
>PUSHBI 5
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
* >DEBUG
|
* >DEBUG
|
||||||
@@ -1131,16 +1136,15 @@ CC.hDefines .BS 1
|
|||||||
CC.SaveDefine .BS 2
|
CC.SaveDefine .BS 2
|
||||||
|
|
||||||
CC.hTags .BS 1
|
CC.hTags .BS 1
|
||||||
CC.hStack .BS 1
|
CC.hScopeStk .BS 1
|
||||||
|
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.LocalPtr .BS 1
|
||||||
CC.LocalFrame .BS 1
|
CC.FrameSize .BS 1
|
||||||
|
|
||||||
CC.ScopeIDs .BS 2+SCOPE.MAX*2 2 bytes Global+ MAX locals
|
|
||||||
CC.ScopePtrs .BS 2+SCOPE.MAX*2
|
|
||||||
CC.bInitCode .BS 1
|
CC.bInitCode .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CC.hSymBuf .BS 1
|
CC.hSymBuf .BS 1
|
||||||
|
@@ -60,6 +60,9 @@ DHCP.RUN >PUSHBI S.SOCKET.T.DGRAM
|
|||||||
>SYSCALL PutS
|
>SYSCALL PutS
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
|
||||||
|
lda #3
|
||||||
|
sta RetryCount
|
||||||
|
|
||||||
DHCP.RUN.SDISC >PUSHB hSocket
|
DHCP.RUN.SDISC >PUSHB hSocket
|
||||||
>PUSHW L.DHCP.DISC
|
>PUSHW L.DHCP.DISC
|
||||||
@@ -77,6 +80,9 @@ DHCP.RUN.SDISC >PUSHB hSocket
|
|||||||
DHCP.RUN.ROFFER jsr DHCP.RUN.SKT.RECV
|
DHCP.RUN.ROFFER jsr DHCP.RUN.SKT.RECV
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
|
dec RetryCount
|
||||||
|
bne DHCP.RUN.SDISC
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
jmp DHCP.RUN.KO
|
jmp DHCP.RUN.KO
|
||||||
|
|
||||||
|
@@ -33,6 +33,8 @@ hFrame .BS 1
|
|||||||
ZPFrameBase .BS 2
|
ZPFrameBase .BS 2
|
||||||
ZPFramePtr .BS 2
|
ZPFramePtr .BS 2
|
||||||
|
|
||||||
|
RetryCount .BS 1
|
||||||
|
|
||||||
bDHCP .BS 1
|
bDHCP .BS 1
|
||||||
bETC .BS 1
|
bETC .BS 1
|
||||||
bSET .BS 1
|
bSET .BS 1
|
||||||
|
@@ -882,6 +882,7 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
|
|
||||||
>MLICALL MLIALLOCIRQ
|
>MLICALL MLIALLOCIRQ
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda K.MLI.PARAMS+1
|
lda K.MLI.PARAMS+1
|
||||||
sta IRQ.INTNUM
|
sta IRQ.INTNUM
|
||||||
|
|
||||||
@@ -906,12 +907,13 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
>STYA CORE.Quit+3
|
>STYA CORE.Quit+3
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.IIGS
|
>LDYAI MSG.IRQ.IIGS
|
||||||
|
sec
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.9 plp
|
.9 plp
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
*--------------------------------------
|
||||||
.1 cmp #A2osX.HWType.IIc
|
.1 cmp #A2osX.HWType.IIc
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
@@ -928,6 +930,7 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
>STYA CORE.Quit+3
|
>STYA CORE.Quit+3
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.CLOCK
|
>LDYAI MSG.IRQ.CLOCK
|
||||||
|
sec
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.2 php
|
.2 php
|
||||||
@@ -956,6 +959,7 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
>STYA CORE.Quit+3
|
>STYA CORE.Quit+3
|
||||||
|
|
||||||
>LDYAI MSG.IRQ.MOUSE
|
>LDYAI MSG.IRQ.MOUSE
|
||||||
|
sec
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.7 jsr IrqMgrInit.HZ2Tick
|
.7 jsr IrqMgrInit.HZ2Tick
|
||||||
@@ -963,8 +967,10 @@ IrqMgrInit >LDYAI MSG.IRQ
|
|||||||
lda #"P"
|
lda #"P"
|
||||||
sta IRQ.Mode
|
sta IRQ.Mode
|
||||||
>LDYAI MSG.IRQ.POLL
|
>LDYAI MSG.IRQ.POLL
|
||||||
|
clc
|
||||||
|
|
||||||
.8 >SYSCALL2 puts
|
.8 ror A2osX.IRQMode
|
||||||
|
>SYSCALL2 puts
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
Reference in New Issue
Block a user