VM02/plasma2/plib.s

65 lines
770 B
ArmAsm
Executable File

.PC02
.DEFINE EQU =
.DEFINE DB .BYTE
.DEFINE DW .WORD
.DEFINE DS .RES
;*
;* LANGUAGE CARD CONTROL
;*
LCBNK2 EQU $C080
ROMIN EQU $C081
;*
;* LOAD VMCORE FILE
;*
;LOADVM:
LDA #$00
INC ; ONLY WORKS ON 65C02
CMP #$01
BEQ LDVMC02
LDVM02: LDA #<VMCORE
STA $06
LDA #>VMCORE
STA $07
BNE :+
LDVMC02: LDA #<VMCOREC
STA $06
LDA #>VMCOREC
STA $07
;*
;* MOVE VM INTO LANGUAGE CARD
;*
: LDA #$00
STA $08
LDA #$D0
STA $09
LDY #$00
BIT $C083 ; SELECT AND WE LC BANK 2
BIT $C083
MVVM: LDA ($06),Y
STA ($08),Y
INY
BNE MVVM
INC $07
INC $09
LDA $09
CMP #$E0
BNE MVVM
BIT ROMIN
;*
;* LOOK FOR STARTUP FILE
;*
;*
;* EXIT TO PRODOS
;*
EXIT: JSR $BF00
DB $65
DW EXITPARMS
EXITPARMS:
DB 4
DB 0
VMCORE:
.INCLUDE "vmcore.byte"
VMCOREC:
.INCLUDE "vmcorec.byte"