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
ldy #CC.ScopeIDs
sty ScopePtr
>LDYAI 256
>SYSCALL GetMem
bcs .9
@ -34,9 +31,17 @@ CORE.Init lda #SL._
>SYSCALL GetMem
bcs .9
>STYA ScopeStk
txa
>STA.G CC.hScopeStk
>LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA StmtStk
txa
>STA.G CC.hStack
>STA.G CC.hStmtStk
lda #CC.LookupIdx
tay
@ -72,7 +77,10 @@ CORE.Quit jsr FIO.FClose
.5 jsr SYM.LookupFree
bcc .5
>LDA.G CC.hStack
>LDA.G CC.hScopeStk
jsr .7
>LDA.G CC.hStmtStk
.7 beq .8

View File

@ -44,7 +44,7 @@ F.Decl jsr SCOPE.New
jsr CC.IsLetter
bcs .2
jsr F.NewArg will update LocalPtr,LocalFrame
jsr F.NewArg will update LocalPtr,FrameSize
bcs .99
.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
bcs .99

View File

@ -1,28 +1,22 @@
NEW
AUTO 3,1
*--------------------------------------
SCOPE.New ldy ScopePtr
cpy #CC.ScopeIDs+SCOPE.MAX*2
SCOPE.New >INCW.G CC.ScopeID
lda ScopePtr
clc
adc #SCOPE
bcs .9
iny
iny
sty ScopePtr
sta 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
bcs .99
.DO _DBG_SCOPE=1
>PUSHW L.MSG.DEBUG.SCIN
jsr SCOPE.Push
lda ScopePtr
sec
sbc #CC.ScopeIDs
lsr
lsr
>PUSHA
>PUSHB.G CC.LocalPtr
>PUSHB.G CC.LocalFrame
>PUSHB.G CC.FrameSize
>PUSHBI 5
>SYSCALL PrintF
>DEBUG
@ -67,50 +59,46 @@ SCOPE.Close lda #'F' define FRAME SIZE
jsr SYM.NewLabelA
bcs SCOPE.New.RTS
>LDA.G CC.LocalFrame
>LDA.G CC.FrameSize
jsr CODE.RemLocal
bcs SCOPE.New.RTS
.DO _DBG_SCOPE=1
>PUSHW L.MSG.DEBUG.SCOUT
jsr SCOPE.Push
lda ScopePtr
sec
sbc #CC.ScopeIDs
lsr
>PUSHA
>PUSHB.G CC.LocalPtr
>PUSHB.G CC.LocalFrame
>PUSHBI 5
>SYSCALL PrintF
>PUSHW L.MSG.DEBUG.SCOUT
jsr SCOPE.Push
lda ScopePtr
lsr
lsr
>PUSHA
>PUSHB.G CC.LocalPtr
>PUSHB.G CC.FrameSize
>PUSHBI 5
>SYSCALL PrintF
.FIN
ldy ScopePtr
cpy #CC.ScopeIDs
lda ScopePtr
beq *
dey
dey
sty ScopePtr
sec
sbc #SCOPE
sta ScopePtr
inc bLocalScope
.DO _DBG_SCOPE=1
>PUSHW L.MSG.DEBUG.SC
jsr SCOPE.Push
lda ScopePtr
sec
sbc #CC.ScopeIDs
lsr
>PUSHA
>PUSHB.G CC.LocalPtr
>PUSHB.G CC.LocalFrame
>PUSHBI 5
>SYSCALL PrintF
>PUSHW L.MSG.DEBUG.SC
jsr SCOPE.Push
lda ScopePtr
lsr
lsr
>PUSHA
>PUSHB.G CC.LocalPtr
>PUSHB.G CC.FrameSize
>PUSHBI 5
>SYSCALL PrintF
>DEBUG
.FIN
@ -120,11 +108,11 @@ SCOPE.Close lda #'F' define FRAME SIZE
*--------------------------------------
SCOPE.Push ldy ScopePtr
SCOPE.PushY iny
lda (pData),y
SCOPE.PushY iny #SCOPE.ID+1
lda (ScopeStk),y
>PUSHA
dey
lda (pData),y
dey #SCOPE.ID
lda (ScopeStk),y
>PUSHA
rts
*--------------------------------------

View File

@ -216,7 +216,7 @@ SYM.SetAddrL ldy #SYM.SizeOf+1
lda (ZPSymBufPtr),y
clc
>ADC.G CC.LocalFrame
>ADC.G CC.FrameSize
sta (pData),y
clc
@ -640,7 +640,7 @@ SYM.NewLabelA bit bPass2
lda #SYM.SC.AUTO
sta (pData),y
>LDA.G CC.LocalFrame
>LDA.G CC.FrameSize
ldy #CC.LabelBuf+SYM.Addr
sta (pData),y
bra .2

View File

@ -70,6 +70,12 @@ SU.F.BitO .EQ 4
SU.F.BitW .EQ 5
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.MemPtr .EQ 2
STMT.TERM .EQ 1
@ -94,14 +100,13 @@ ZPCCCode .BS 2
ZPCCConst .BS 2
ZPCCData .BS 2
ScopePtr .BS 1
StmtPtr .BS 1
ScopeStk .BS 2
StmtStk .BS 2
ZPLineBufPtr .BS 2
ZPLookupPtr .BS 2
ScopePtr .BS 1
StmtPtr .BS 1
ZPSymBufPtr .BS 2
ZPLookupSymPtr .BS 2
@ -544,7 +549,7 @@ PrintVerboseMsg
>PUSHA
>PUSHB.G CC.LocalPtr
>PUSHB.G CC.LocalFrame
>PUSHB.G CC.FrameSize
>PUSHBI 5
>SYSCALL PrintF
* >DEBUG
@ -1131,16 +1136,15 @@ CC.hDefines .BS 1
CC.SaveDefine .BS 2
CC.hTags .BS 1
CC.hStack .BS 1
CC.hScopeStk .BS 1
CC.hStmtStk .BS 1
CC.hSyms .BS 1
CC.ScopeID .BS 2
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.hSymBuf .BS 1

View File

@ -60,6 +60,9 @@ DHCP.RUN >PUSHBI S.SOCKET.T.DGRAM
>SYSCALL PutS
>SLEEP
lda #3
sta RetryCount
DHCP.RUN.SDISC >PUSHB hSocket
>PUSHW L.DHCP.DISC
@ -77,6 +80,9 @@ DHCP.RUN.SDISC >PUSHB hSocket
DHCP.RUN.ROFFER jsr DHCP.RUN.SKT.RECV
bcc .1
dec RetryCount
bne DHCP.RUN.SDISC
lda #1
jmp DHCP.RUN.KO

View File

@ -33,6 +33,8 @@ hFrame .BS 1
ZPFrameBase .BS 2
ZPFramePtr .BS 2
RetryCount .BS 1
bDHCP .BS 1
bETC .BS 1
bSET .BS 1

View File

@ -882,6 +882,7 @@ IrqMgrInit >LDYAI MSG.IRQ
>MLICALL MLIALLOCIRQ
bcs .9
lda K.MLI.PARAMS+1
sta IRQ.INTNUM
@ -906,12 +907,13 @@ IrqMgrInit >LDYAI MSG.IRQ
>STYA CORE.Quit+3
>LDYAI MSG.IRQ.IIGS
sec
bra .8
.9 plp
sec
rts
*--------------------------------------
.1 cmp #A2osX.HWType.IIc
beq .2
@ -928,6 +930,7 @@ IrqMgrInit >LDYAI MSG.IRQ
>STYA CORE.Quit+3
>LDYAI MSG.IRQ.CLOCK
sec
bra .8
.2 php
@ -956,6 +959,7 @@ IrqMgrInit >LDYAI MSG.IRQ
>STYA CORE.Quit+3
>LDYAI MSG.IRQ.MOUSE
sec
bra .8
.7 jsr IrqMgrInit.HZ2Tick
@ -963,8 +967,10 @@ IrqMgrInit >LDYAI MSG.IRQ
lda #"P"
sta IRQ.Mode
>LDYAI MSG.IRQ.POLL
clc
.8 >SYSCALL2 puts
.8 ror A2osX.IRQMode
>SYSCALL2 puts
clc
rts