DOS335/source/DOS3.3MOVER.S

68 lines
1.6 KiB
ArmAsm

*SYSTEM PROGRAM TO SWITCH INTO DOS 3.3 FROM PRODOS
*
**************************************************
*
* COPYRIGHT
* 1984
* BY
* R. SUTCLIFFE
*
***************************************************
*
A1L EQU $3C ;SOURCE
A1H EQU $3D
A2L EQU $3E ;END OF SOURCE
A2H EQU $3F
A4L EQU $42 ;DESTINATION
A4H EQU $43
DOSCOPY EQU $2100 ;START OF TRANSFERRED CODE
DOSSTRT EQU $9D00 ;DOS3.3 BEGINS HERE
DOSP1 EQU $9D0D
DOSCOLD EQU $9D84
FNBLK EQU $A095 ;BLANKS FILENAME BUFFER
DOSCMD EQU $AA5F ;WHAT TO DO WHEN BOOTED
PFNBUF EQU $AA75 ;FILE NAME BUFFER
FMPLST EQU $B5BC ;FILE MANAGER PARAMETER LIST
FMPCMD EQU $B5BB
SETDSP EQU $B7C2
MOVE EQU $FE2C ;MONITOR MOVE ROUTINE
SETKBD EQU $FE89
SETVID EQU $FE93
*
ORG $2000 ;FOR ALL SYSTEM PROGRAMS
*
MOVER LDY #>DOSSTRT ;SET PARAMS FOR MONITOR MOVE
STY A4H ;IN PAGE ZERO
LDY #>DOSCOPY
STY A1H
LDY #$43
STY A2H
LDY #$FF
STY A2L
INY ;NOW 0
STY A1L
STY A4L
JSR MOVE ;AND MOVE DOS 3.3 IN
JSR SETKBD
JSR SETVID
*
DOSPREP LDA #$0B ;INIT COMMAND MAKES IT LIVE
STA FMPCMD
LDA #$00 ;RUN COMMAND
STA DOSCMD ;FOR GREETING PROGRAM FILENAME
JSR FNBLK
LDX #0
FNAME1 LDA NAME,X ;PUT IN OUR NAME
PHA
ORA #$80 ;SET HI BIT ALWAYS
STA PFNBUF,X
PLA ;DONE IF AT HI BIT SET
BMI FIN ;YES
INX ;NOT YET
BNE FNAME1 ;ALWAYS
FIN JMP DOSCOLD ;GO START IT UP
*
*FILENAME TO RUN GOES HERE
NAME DCI 'HELLO'
*