AppleIIModula2Interpreter/LoadInterP.S

89 lines
2.2 KiB
ArmAsm

;Name : LOADINTERP.S
;End of file : 1,370
LST OFF
;---------------------------------------------------------;
; Disassembled with The Flaming Bird Disassembler ;
; (c) Phoenix corp. 1992,93 - All rights reserved ;
;---------------------------------------------------------;
; TFBD generated equates
; (c) PHC 1992,93
;
CTRLD EQU $84
ROMIN2 EQU $C081
LCBANK2 EQU $C083
MeDOSEnt EQU $D000
HOME EQU $FC58
CROUT EQU $FD8E
COUT EQU $FDED
RESETV EQU $FFFC
;
ORG $3000
JSR HOME
LDA ROMIN2 ;Enable Apple II ROM
LDA ROMIN2
JSR CROUT
;
; Load Modula-2 Interpreter
;
LDA #CTRLD
JSR COUT
LDY #0
LoadLup1 LDA LOADINTERP,Y
BEQ IntLoaded
JSR COUT
INY
BNE LoadLup1
;
; Load SEK.ABS file
; SEK - Sequential Executive Kernel
;
IntLoaded JSR CROUT
JSR CROUT
LDA #CTRLD
JSR COUT
LDY #0
LoadLup2 LDA LOADSEK,Y
BEQ SekLoaded
JSR COUT
INY
BNE LoadLup2
;
SekLoaded JSR CROUT
LDA LCBANK2 ;Switch in LC bank2
LDA LCBANK2
LDA #0
STA RESETV
LDA #0
STA RESETV+1
;
; Patch LOCATIONS $00-$0A with the instructions
; 0000: LDA $C081
; 0003: LDA $C081
;
LDA #$AD ;Abs load instruction
STA $00
STA $03
LDA #$81
STA $00+1
STA $03+1
LDA #$C0
STA $00+2
STA $03+2
;
; 0008: JMP $FAA6 - Return zero
;
LDA #$4C
STA $06
LDA #$A6
STA $06+1
LDA #$FA
STA $06+2
JMP MeDOSEnt ;XFER CONTROL TO MeDOS
;
MSB ON
LOADINTERP ASC "BLOAD INTERP,A$D000"
DB 0
LOADSEK ASC "BLOAD SEK.ABS"
DB 0
MSB OFF