66 lines
943 B
ArmAsm
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'
|