Added ISO-Pascal support [2 ROM language].

This commit is contained in:
Bobbi Webber-Manners 2021-10-24 18:10:12 -04:00
parent fb997fec6d
commit df9b337211
4 changed files with 19 additions and 8 deletions

Binary file not shown.

View File

@ -7,8 +7,6 @@
* BBC Micro 'virtual machine' in Apple //e aux memory
***********************************************************
MAXROM EQU $00 ; Just one ROM
ZP1 EQU $90 ; $90-$9f are spare Econet space
; so safe to use
ZP2 EQU $92
@ -133,7 +131,7 @@ MOSHIGH SEI
LDA #7
JSR OSWRCH
JSR OSNEWL
LDX #MAXROM ; TEMP X=language to enter
LDX MAXROM ; TEMP X=language to enter
CLC
* OSBYTE $8E - Enter language ROM
@ -163,7 +161,7 @@ BYTE8F
SERVICEX LDA $F4
PHA ; Save current ROM
TXA
LDX #MAXROM ; Start at highest ROM
LDX MAXROM ; Start at highest ROM
:SERVLP JSR ROMSELECT ; Bring it into memory
BIT $8006
BPL :SERVSKIP ; No service entry

View File

@ -379,8 +379,11 @@ PASCROM1 ASC 'USERROM2.ROM'
PASCROM2 ASC 'USERROM1.ROM'
DB $0D,$00
MAXROM DB $00 ; Index of highest sideways ROM
* Initialize ROMTAB according to user selection in menu
INITROMS STA $C002 ; Read main mem
INITROMS STZ MAXROM ; One sideways ROM only
STA $C002 ; Read main mem
LDA USERSEL
STA $C003 ; Read aux mem
ASL ; x2
@ -396,7 +399,17 @@ INITROMS STA $C002 ; Read main mem
INY
LDA (OSLPTR),Y
STA ROMTAB+1
LDA #$FF
STA $C002 ; Read main mem
LDA USERSEL
STA $C003 ; Read aux mem
CMP #6 ; Menu entry 7 has two ROMs
BNE :DONE
LDA #<PASCROM2
STA ROMTAB+2
LDA #>PASCROM2
STA ROMTAB+3
INC MAXROM ; Two ROMs
:DONE LDA #$FF
STA $F4 ; Force ROM to load
RTS

View File

@ -91,10 +91,10 @@ MSG5 ASC " 5. Acornsoft MicroProlog"
MSG6 ASC " 6. Acornsoft BCPL"
DB $00
MSG7 ASC " 7. USERROM1.ROM"
MSG7 ASC " 7. Acornsoft ISO Pascal (2 ROMs)"
DB $00
MSG8 ASC " 8. USERROM2.ROM"
MSG8 ASC " 8. -"
DB $00
USERSEL DB $00