mirror of https://github.com/dschmenk/VM02.git
65 lines
770 B
ArmAsm
Executable File
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"
|