mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-02-09 04:30:37 +00:00
Fix constant string ENTER code for A3 VM
This commit is contained in:
parent
ecc010e802
commit
488f039494
@ -48,7 +48,7 @@ DSTX = XPAGE+DSTH
|
||||
!WORD SEGEND-SEGSTART
|
||||
|
||||
+SOS $40, SEGREQ ; ALLOCATE SEG 1 AND MAP IT
|
||||
BNE PRHEX
|
||||
BNE FAIL ; PRHEX
|
||||
LDA #$01
|
||||
STA MEMBANK
|
||||
LDY #$0F ; INSTALL PAGE 0 FETCHOP ROUTINE
|
||||
@ -71,25 +71,26 @@ DSTX = XPAGE+DSTH
|
||||
STA IFPH
|
||||
LDX #ESTKSZ/2 ; INIT EVAL STACK INDEX
|
||||
JMP SOSCMD
|
||||
PRHEX PHA
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
CLC
|
||||
ADC #'0'
|
||||
CMP #':'
|
||||
BCC +
|
||||
ADC #6
|
||||
+ STA $480
|
||||
PLA
|
||||
AND #$0F
|
||||
ADC #'0'
|
||||
CMP #':'
|
||||
BCC +
|
||||
ADC #6
|
||||
+ STA $880
|
||||
FAIL RTS
|
||||
;PRHEX PHA
|
||||
; LSR
|
||||
; LSR
|
||||
; LSR
|
||||
; LSR
|
||||
; CLC
|
||||
; ADC #'0'
|
||||
; CMP #':'
|
||||
; BCC +
|
||||
; ADC #6
|
||||
;+ STA $480
|
||||
; PLA
|
||||
; AND #$0F
|
||||
; ADC #'0'
|
||||
; CMP #':'
|
||||
; BCC +
|
||||
; ADC #6
|
||||
;+ STA $481 ;$880
|
||||
FAIL STA $0480
|
||||
RTS
|
||||
SEGREQ !BYTE 4
|
||||
!WORD $2001
|
||||
!WORD $9F01
|
||||
@ -1032,19 +1033,19 @@ ICALADR JSR $FFFF
|
||||
;*
|
||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||
;*
|
||||
;*
|
||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||
;*
|
||||
ENTER INY
|
||||
LDA (IP),Y
|
||||
PHA ; SAVE ON STACK FOR LEAVE
|
||||
EOR #$FF
|
||||
SEC
|
||||
ADC IFPL
|
||||
ADC PPL
|
||||
STA PPL
|
||||
STA IFPL
|
||||
BCS +
|
||||
DEC IFPH
|
||||
+ INY
|
||||
LDA #$FF
|
||||
ADC PPH
|
||||
STA PPH
|
||||
STA IFPH
|
||||
INY
|
||||
LDA (IP),Y
|
||||
ASL
|
||||
TAY
|
||||
|
@ -48,12 +48,6 @@ byte perr, terr, lerr
|
||||
//
|
||||
byte console[] = ".CONSOLE"
|
||||
byte autorun[] = "AUTORUN"
|
||||
byte verstr[] = "PLASMA "
|
||||
byte freestr[] = "MEM FREE:$"
|
||||
byte errorstr[] = "ERR:$"
|
||||
byte okstr[] = "OK"
|
||||
byte huhstr[] = "?\n"
|
||||
byte devtovol[] = " => /"
|
||||
byte textmode[] = 16, 0, 15
|
||||
byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
|
||||
//
|
||||
@ -1136,7 +1130,7 @@ def volumes
|
||||
if dev_info(i, @devname, @info, 11) == 0
|
||||
prstr(@devname)
|
||||
if volume(@devname, @volname, @ttlblks, @freblks) == 0
|
||||
prstr(@devtovol)
|
||||
prstr(" => ")
|
||||
prstr(@volname)
|
||||
cout('/')
|
||||
fin
|
||||
@ -1299,12 +1293,12 @@ else
|
||||
//
|
||||
// Print some startup info.
|
||||
//
|
||||
prstr(@verstr)
|
||||
prstr("PLASMA ")
|
||||
prbyte(version.1)
|
||||
cout('.')
|
||||
prbyte(version.0)
|
||||
crout
|
||||
prstr(@freestr)
|
||||
prstr("MEM:$")
|
||||
prword(availheap)
|
||||
crout
|
||||
fin
|
||||
@ -1331,15 +1325,15 @@ while 1
|
||||
write(refcons, @textmode, 3)
|
||||
break
|
||||
otherwise
|
||||
prstr(@huhstr)
|
||||
prstr("?\n")
|
||||
wend
|
||||
if perr
|
||||
terr = perr
|
||||
prstr(@errorstr)
|
||||
prstr("ERR:$")
|
||||
prbyte(terr)
|
||||
perr = 0
|
||||
else
|
||||
prstr(@okstr)
|
||||
prstr("OK\n")
|
||||
fin
|
||||
crout()
|
||||
fin
|
||||
|
Loading…
x
Reference in New Issue
Block a user