KERNEL:Fix for IIgs IRQ, IPCONFIG:Added 3 DHCP retries

This commit is contained in:
burniouf
2023-01-06 23:07:00 +01:00
parent 84d77aaf7f
commit 0ac5def14f
9 changed files with 91 additions and 77 deletions

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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
*-------------------------------------- *--------------------------------------

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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