Ampermanager/source/amperstart.s

66 lines
943 B
ArmAsm

*
* Amper Manager - Amperstart
*
* (c) 1987, Rick Sutcliffe
* (s) 2020, Antoine Vignau
*
xc
xc
mx %11
org $300
lst off
*-------------------------------
YSAV EQU $34
XSAV EQU $46
FORPNT EQU $85
IN EQU $200
DOSCMD EQU $BE03
*-------------------------------
LDA #17
STA YSAV ;AND PUT IT WHERE MOVER CAN GET IT
LDA #<AMPSTR ;LOW BYTE
LDY #>AMPSTR ;HIGH BYTE
JSR MOVAYBUF0
JSR DOSCMD ;AND MAKE ProDOS DO IT
JSR $80C
LDA #13
STA YSAV
LDA #<PROGSTR
LDY #>PROGSTR
JSR MOVAYBUF0
JMP DOSCMD
*
* MOVE COMMAND POINTED TO BY (A,Y) TO BUFFER AT $200
* LEN IN YSAV
MOVAYBUF0 LDX #$00
MOVAYBUF STY FORPNT+1 ;SET UP ON ZERO PAGE
STA FORPNT
TXA
CLC
ADC YSAV
TAX
STX XSAV
DEX
LDY YSAV ;COUNTER FOR LEN
MOVFOR1 DEY
BMI MOVCRBUF ;WHEN FINISHED
LDA (FORPNT),Y
ORA #$80 ;HI BIT SET
STA IN,X
DEX
BPL MOVFOR1 ;ALWAYS
MOVCRBUF LDA #$8D
LDX XSAV
STA IN,X
FIXEDRTS RTS
AMPSTR ASC 'BLOADAMPERMANAGER'
PROGSTR ASC '-RECEPTIONIST'