1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-03-20 18:31:13 +00:00

Fix INCBRLE and JIT cleanup

This commit is contained in:
David Schmenk 2018-04-12 14:20:02 -07:00
parent 23aaef442d
commit 2bb9f73448
6 changed files with 14 additions and 21 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1072,8 +1072,8 @@ def compiler(defptr)#0
codeptr=>2 = $A3+(TOS<<8) // LDA S,TOS
codeptr->4 = $68 // SEC
codeptr=>5 = $E7E5 // SBC TMP
codeptr=>3 = $83+(TOS<<8) // STA S,TOS
codeptr = codeptr + 6
codeptr=>7 = $83+(TOS<<8) // STA S,TOS
codeptr = codeptr + 9
fin
//
// BRGE
@ -1131,7 +1131,7 @@ def compiler(defptr)#0
X_IS_IFP = TRUE
fin
codeptr=>0 = $E785 // STA TMP
codeptr=>2 = $B5+(J<<8) // LDA dp,X
codeptr=>2 = $B5+(j<<8) // LDA dp,X
codeptr->4 = $29 // AND #$00FF
codeptr=>5 = $00FF
codeptr->7 = $18 // CLC
@ -1152,7 +1152,7 @@ def compiler(defptr)#0
X_IS_IFP = TRUE
fin
codeptr->0 = $18 // CLC
codeptr=>1 = $75+(J<<8) // ADC dp,X
codeptr=>1 = $75+(j<<8) // ADC dp,X
codeptr = codeptr + 3
A_IS_TOS = TRUE // PHA
break
@ -1199,7 +1199,7 @@ def compiler(defptr)#0
X_IS_IFP = TRUE
fin
codeptr=>0 = $E785 // STA TMP
codeptr=>2 = $B5+(J<<8) // LDA dp,X
codeptr=>2 = $B5+(j<<8) // LDA dp,X
codeptr->4 = $29 // AND #$00FF
codeptr=>5 = $00FF
codeptr->7 = $0A // ASL
@ -1220,9 +1220,9 @@ def compiler(defptr)#0
X_IS_IFP = TRUE
fin
codeptr->0 = $18 // CLC
codeptr=>1 = $75+(J<<8) // ADC dp,X
codeptr=>1 = $75+(j<<8) // ADC dp,X
codeptr->3 = $18 // CLC
codeptr=>4 = $75+(J<<8) // ADC dp,X
codeptr=>4 = $75+(j<<8) // ADC dp,X
codeptr = codeptr + 6
A_IS_TOS = TRUE // PHA
break

View File

@ -888,17 +888,10 @@ def writeDFD(refnum, modfix)#0
dfd = @defdir
for cnt = 0 to dfd_cnt-1
//dfd, idptr, cnt = @defdir, idglobal_tbl, globals
//while cnt
//if idptr=>idtype & (FUNC_TYPE|EXTERN_TYPE) == FUNC_TYPE
dfd->0 = $02
dfd=>1 = tag_addr=>[dfd_tag=>[cnt]] + modfix
dfd->3 = 0
dfd = dfd + 4
//fin
//idptr = idptr + idptr->idname + t_id
//cnt--
//loop
dfd->0 = $02
dfd=>1 = tag_addr=>[dfd_tag=>[cnt]] + modfix
dfd->3 = 0
dfd = dfd + 4
next
fileio:write(refnum, @defdir, dfd - @defdir)
end

View File

@ -545,7 +545,7 @@ JITINTRPX PHP
STX ALTRDON
LDX #>OPXTBL
!IF DEBUG {
SETDBG LDY LCRWEN+LCBNK2
LDY LCRWEN+LCBNK2
LDY LCRWEN+LCBNK2
STX DBG_OP+2
LDY LCRDEN+LCBNK2
@ -579,7 +579,7 @@ RUNJIT DEX ; ADD PARAMETER TO DEF ENTRY
STX ALTRDON
LDX #>OPXTBL
!IF DEBUG {
SETDBG LDY LCRWEN+LCBNK2
LDY LCRWEN+LCBNK2
LDY LCRWEN+LCBNK2
STX DBG_OP+2
LDY LCRDEN+LCBNK2
@ -1589,7 +1589,7 @@ _BRLE LDA NOS,S
BPL BRNCH
PLA ; DROP FOR VALUES
PLA
BNE NOBRNCH ; BMI NOBRNCH
BRA NOBRNCH ; BMI NOBRNCH
+ BMI BRNCH
PLA ; DROP FOR VALUES
PLA