mirror of
https://github.com/dschmenk/PLASMA.git
synced 2024-10-02 20:55:30 +00:00
65802 bug fixes
This commit is contained in:
parent
b0a9cb3e0e
commit
ce29a7c361
@ -348,7 +348,7 @@ CMDENTRY = *
|
|||||||
; PRINT FAIL MESSAGE, WAIT FOR KEYPRESS, AND REBOOT
|
; PRINT FAIL MESSAGE, WAIT FOR KEYPRESS, AND REBOOT
|
||||||
;
|
;
|
||||||
FAIL INC $3F4 ; INVALIDATE POWER-UP BYTE
|
FAIL INC $3F4 ; INVALIDATE POWER-UP BYTE
|
||||||
LDY #33
|
LDY #31
|
||||||
- LDA FAILMSG,Y
|
- LDA FAILMSG,Y
|
||||||
ORA #$80
|
ORA #$80
|
||||||
JSR $FDED
|
JSR $FDED
|
||||||
@ -1335,12 +1335,12 @@ CASELP CMP (IP),Y
|
|||||||
INY
|
INY
|
||||||
FIXNEXT TYA
|
FIXNEXT TYA
|
||||||
LDY #$00
|
LDY #$00
|
||||||
CLC
|
SEC
|
||||||
ADC IPL
|
ADC IPL
|
||||||
STA IPL
|
STA IPL
|
||||||
BCC ++
|
BCC ++
|
||||||
INC IPH
|
INC IPH
|
||||||
++ JMP NEXTOP
|
++ JMP FETCHOP
|
||||||
BRAND LDA ESTKL,X
|
BRAND LDA ESTKL,X
|
||||||
ORA ESTKH,X
|
ORA ESTKH,X
|
||||||
BEQ BRNCH
|
BEQ BRNCH
|
||||||
@ -1428,7 +1428,7 @@ _BRLE LDA ESTKL+1,X
|
|||||||
BVS +
|
BVS +
|
||||||
BPL BRNCH
|
BPL BRNCH
|
||||||
INX ; DROP FOR VALUES
|
INX ; DROP FOR VALUES
|
||||||
INX
|
INX
|
||||||
BNE NOBRNCH ; BMI NOBRNCH
|
BNE NOBRNCH ; BMI NOBRNCH
|
||||||
+ BMI BRNCH
|
+ BMI BRNCH
|
||||||
BPL -
|
BPL -
|
||||||
|
@ -977,12 +977,12 @@ CASELP CMP (IP),Y
|
|||||||
INY
|
INY
|
||||||
FIXNEXT TYA
|
FIXNEXT TYA
|
||||||
LDY #$00
|
LDY #$00
|
||||||
CLC
|
SEC
|
||||||
ADC IPL
|
ADC IPL
|
||||||
STA IPL
|
STA IPL
|
||||||
BCC ++
|
BCC ++
|
||||||
INC IPH
|
INC IPH
|
||||||
++ JMP NEXTOP
|
++ JMP FETCHOP
|
||||||
BRAND LDA ESTKL,X
|
BRAND LDA ESTKL,X
|
||||||
ORA ESTKH,X
|
ORA ESTKH,X
|
||||||
BEQ BRNCH
|
BEQ BRNCH
|
||||||
@ -1060,7 +1060,7 @@ _BRLE LDA ESTKL+1,X
|
|||||||
BVS +
|
BVS +
|
||||||
BPL BRNCH
|
BPL BRNCH
|
||||||
- INX ; DROP FOR VALUES
|
- INX ; DROP FOR VALUES
|
||||||
INX
|
INX
|
||||||
BNE NOBRNCH ; BMI NOBRNCH
|
BNE NOBRNCH ; BMI NOBRNCH
|
||||||
DECBRGE DEC ESTKL,X
|
DECBRGE DEC ESTKL,X
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
|
@ -246,28 +246,6 @@ OPTBL !WORD CN,CN,CN,CN,CN,CN,CN,CN ; 00 02
|
|||||||
;* ENTER INTO BYTECODE INTERPRETER - IMMEDIATELY SWITCH TO NATIVE
|
;* ENTER INTO BYTECODE INTERPRETER - IMMEDIATELY SWITCH TO NATIVE
|
||||||
;*
|
;*
|
||||||
!AS
|
!AS
|
||||||
DINTRP PHP
|
|
||||||
PLA
|
|
||||||
STA PSR
|
|
||||||
SEI
|
|
||||||
CLC ; SWITCH TO NATIVE MODE
|
|
||||||
XCE
|
|
||||||
+ACCMEM16 ; 16 BIT A/M
|
|
||||||
PLA
|
|
||||||
INC
|
|
||||||
STA IP
|
|
||||||
STX ESP
|
|
||||||
TSX
|
|
||||||
STX HWSP
|
|
||||||
LDX #>OPTBL
|
|
||||||
!IF DEBUG {
|
|
||||||
BRA SETDBG
|
|
||||||
} ELSE {
|
|
||||||
STX OPPAGE
|
|
||||||
LDY #$00
|
|
||||||
JMP FETCHOP
|
|
||||||
}
|
|
||||||
!AS
|
|
||||||
IINTRP PHP
|
IINTRP PHP
|
||||||
PLA
|
PLA
|
||||||
STA PSR
|
STA PSR
|
||||||
@ -422,7 +400,7 @@ CMDENTRY = *
|
|||||||
; PRINT FAIL MESSAGE, WAIT FOR KEYPRESS, AND REBOOT
|
; PRINT FAIL MESSAGE, WAIT FOR KEYPRESS, AND REBOOT
|
||||||
;
|
;
|
||||||
FAIL INC $3F4 ; INVALIDATE POWER-UP BYTE
|
FAIL INC $3F4 ; INVALIDATE POWER-UP BYTE
|
||||||
LDY #33
|
LDY #31
|
||||||
- LDA FAILMSG,Y
|
- LDA FAILMSG,Y
|
||||||
ORA #$80
|
ORA #$80
|
||||||
JSR $FDED
|
JSR $FDED
|
||||||
@ -496,6 +474,28 @@ OPXTBL !WORD CN,CN,CN,CN,CN,CN,CN,CN ; 00 02
|
|||||||
!WORD LNOT,ADD,SUB,MUL,DIV,MOD,INCR,DECR ; 80 82 84 86 88 8A 8C 8E
|
!WORD LNOT,ADD,SUB,MUL,DIV,MOD,INCR,DECR ; 80 82 84 86 88 8A 8C 8E
|
||||||
!WORD NEG,COMP,BAND,IOR,XOR,SHL,SHR,IDXW ; 90 92 94 96 98 9A 9C 9E
|
!WORD NEG,COMP,BAND,IOR,XOR,SHL,SHR,IDXW ; 90 92 94 96 98 9A 9C 9E
|
||||||
!WORD BRGT,BRLT,INCBRLE,ADDBRLE,DECBRGE,SUBBRGE,BRAND,BROR ; A0 A2 A4 A6 A8 AA AC AE
|
!WORD BRGT,BRLT,INCBRLE,ADDBRLE,DECBRGE,SUBBRGE,BRAND,BROR ; A0 A2 A4 A6 A8 AA AC AE
|
||||||
|
!AS
|
||||||
|
DINTRP PHP
|
||||||
|
PLA
|
||||||
|
STA PSR
|
||||||
|
SEI
|
||||||
|
CLC ; SWITCH TO NATIVE MODE
|
||||||
|
XCE
|
||||||
|
+ACCMEM16 ; 16 BIT A/M
|
||||||
|
PLA
|
||||||
|
INC
|
||||||
|
STA IP
|
||||||
|
STX ESP
|
||||||
|
TSX
|
||||||
|
STX HWSP
|
||||||
|
LDX #>OPTBL
|
||||||
|
!IF DEBUG {
|
||||||
|
JMP SETDBG
|
||||||
|
} ELSE {
|
||||||
|
STX OPPAGE
|
||||||
|
LDY #$00
|
||||||
|
JMP FETCHOP
|
||||||
|
}
|
||||||
;*********************************************************************
|
;*********************************************************************
|
||||||
;*
|
;*
|
||||||
;* CODE BELOW HERE DEFAULTS TO NATIVE 16 BIT A/M, 8 BIT X,Y
|
;* CODE BELOW HERE DEFAULTS TO NATIVE 16 BIT A/M, 8 BIT X,Y
|
||||||
@ -1173,7 +1173,7 @@ ISLT PLA
|
|||||||
;* BRANCHES
|
;* BRANCHES
|
||||||
;*
|
;*
|
||||||
SEL TYA ; FLATTEN IP
|
SEL TYA ; FLATTEN IP
|
||||||
CLC
|
SEC
|
||||||
ADC IP
|
ADC IP
|
||||||
INY ;+INC_IP
|
INY ;+INC_IP
|
||||||
;CLC ; ADD BRANCH OFFSET (BETTER NOT CARRY OUT OF IP+Y)
|
;CLC ; ADD BRANCH OFFSET (BETTER NOT CARRY OUT OF IP+Y)
|
||||||
@ -1182,37 +1182,42 @@ SEL TYA ; FLATTEN IP
|
|||||||
LDY #$00
|
LDY #$00
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
TAX ; CASE COUNT
|
TAX ; CASE COUNT
|
||||||
|
PLA
|
||||||
|
CPX #$00
|
||||||
BEQ ++
|
BEQ ++
|
||||||
INC IP
|
INC IP
|
||||||
PLA
|
|
||||||
CASELP CMP (IP),Y
|
CASELP CMP (IP),Y
|
||||||
BEQ +++
|
BEQ +++
|
||||||
|
DEX
|
||||||
|
BEQ +
|
||||||
INY
|
INY
|
||||||
INY
|
INY
|
||||||
INY
|
INY
|
||||||
INY
|
INY
|
||||||
BNE +
|
BNE CASELP
|
||||||
+ACCMEM8 ; 8 BIT A/M
|
+ACCMEM8 ; 8 BIT A/M
|
||||||
INC IPH
|
INC IPH
|
||||||
+ACCMEM16 ; 16 BIT A/M
|
+ACCMEM16 ; 16 BIT A/M
|
||||||
+ DEX
|
BRA CASELP
|
||||||
BEQ CASELP
|
+ INY
|
||||||
|
INY
|
||||||
|
INY
|
||||||
FIXNEXT TYA
|
FIXNEXT TYA
|
||||||
LDY #$00
|
LDY #$00
|
||||||
SEC
|
SEC
|
||||||
ADC IP
|
ADC IP
|
||||||
STA IP
|
STA IP
|
||||||
++ JMP NEXTOP
|
++ JMP FETCHOP
|
||||||
+++ INY
|
+++ INY
|
||||||
BRA BRNCH
|
BRA BRNCH
|
||||||
BRAND LDA TOS,S
|
BRAND LDA TOS,S
|
||||||
BEQ BRNCH
|
BEQ BRNCH
|
||||||
PLA ; DROP LEFT HALF OF AND
|
PLA ; DROP LEFT HALF OF AND
|
||||||
BNE NOBRNCH
|
BRA NOBRNCH
|
||||||
BROR LDA TOS,S
|
BROR LDA TOS,S
|
||||||
BNE BRNCH
|
BNE BRNCH
|
||||||
PLA ; DROP LEFT HALF OF OR
|
PLA ; DROP LEFT HALF OF OR
|
||||||
BNE NOBRNCH
|
BRA NOBRNCH
|
||||||
BRTRU PLA
|
BRTRU PLA
|
||||||
BNE BRNCH
|
BNE BRNCH
|
||||||
NOBRNCH INY ;+INC_IP
|
NOBRNCH INY ;+INC_IP
|
||||||
@ -1273,7 +1278,7 @@ _BRLE LDA NOS,S
|
|||||||
BVS +
|
BVS +
|
||||||
BPL BRNCH
|
BPL BRNCH
|
||||||
PLA ; DROP FOR VALUES
|
PLA ; DROP FOR VALUES
|
||||||
PLA
|
PLA
|
||||||
BNE NOBRNCH ; BMI NOBRNCH
|
BNE NOBRNCH ; BMI NOBRNCH
|
||||||
+ BMI BRNCH
|
+ BMI BRNCH
|
||||||
PLA ; DROP FOR VALUES
|
PLA ; DROP FOR VALUES
|
||||||
@ -1689,6 +1694,9 @@ DBGTBL !WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 00 02 04 06 08
|
|||||||
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 50 52 54 56 58 5A 5C 5E
|
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 50 52 54 56 58 5A 5C 5E
|
||||||
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 60 62 64 66 68 6A 6C 6E
|
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 60 62 64 66 68 6A 6C 6E
|
||||||
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 70 72 74 76 78 7A 7C 7E
|
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 70 72 74 76 78 7A 7C 7E
|
||||||
|
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 80 82 84 86 88 8A 8C 8E
|
||||||
|
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; 90 92 94 96 98 9A 9C 9E
|
||||||
|
!WORD STEP,STEP,STEP,STEP,STEP,STEP,STEP,STEP ; A0 A2 A4 A6 A8 AA AC AE
|
||||||
;*
|
;*
|
||||||
;* DEBUG PRINT ROUTINES
|
;* DEBUG PRINT ROUTINES
|
||||||
;*
|
;*
|
||||||
@ -1848,8 +1856,8 @@ STEP STX TMPL
|
|||||||
CMP #$10
|
CMP #$10
|
||||||
BCC DBGKEY
|
BCC DBGKEY
|
||||||
LDX TMPL
|
LDX TMPL
|
||||||
CPX #$00 ; FORCE PAUSE AT 'ZERO'
|
; CPX #$00 ; FORCE PAUSE AT 'ZERO'
|
||||||
BEQ DBGKEY
|
; BEQ DBGKEY
|
||||||
- LDX $C000
|
- LDX $C000
|
||||||
CPX #$9B
|
CPX #$9B
|
||||||
BNE +
|
BNE +
|
||||||
|
Loading…
Reference in New Issue
Block a user