PrintShopCompanion-Apple-II/PSC Source Disk 4 - Fastloa.../S_SIDEB.txt

220 lines
3.8 KiB
Plaintext

NLS
TTL "S:SIDEB"
NOG
ORG = $1000
;--------------------------;
; The Print Shop Companion ;
; Side B boot message ;
; ;
; Copyright 1985 ;
; by Roland Gustafsson ;
;--------------------------;
;
DAT EPZ $E0
;
TMPLO EPZ DAT
TMPHI EPZ DAT+1
PRNTFLAG EPZ DAT+2
CENTER EPZ DAT+3
;-----------
VTAB = $FB5B
HOME = $FC58
TEXT = $FB2F
WAIT = $FCA8
;-----------
ORG ORG
OBJ $800
;-----------
JMP START
;-----------
;
; Print routine:
;
PRINTLFT LSR CENTER
;
PRINT LDA #$FF
HEX 2C
PRINTINV LDA #$3F
STA $32
LDA #0
STA PRNTFLAG
PLA
STA TMPLO
PLA
STA TMPHI
^0 INC TMPLO
BNE >1
INC TMPHI
^1 LDY #0
LDA (TMPLO),Y
BEQ >3
BIT CENTER
BPL >2
BIT PRNTFLAG
BPL >4
^2 PHA
JSR $FDF0
PLA
CMP #$A0
BGE <0
LSR PRNTFLAG
BPL <0
;
^3 LDA TMPHI
PHA
LDA TMPLO
PHA
SEC
ROR CENTER
JMP $FE84
;
^4 LDA (TMPLO),Y
CMP #$A0
BLT >5
INY
BNE <4
;
^5 TYA
LSR
EOR #$FF
CLC
ADC #18
STA $24
SEC
ROR PRNTFLAG
JMP <1
;-----------
;
; BEEP Speaker
;
BEEP LDY #$30
^0 LDA $C030
LDA #$11
JSR WAIT
LDA $C030
LDA #$13
JSR WAIT
DEY
BNE <0
RTS
;-----------
;
; Draw inverse line
;
BOTLINE LDA #23
INVLINE JSR $FBC1
LDY #39
LDA #$20
^0 STA ($28),Y
DEY
BPL <0
RTS
;-----------
;
; Startup screen
;
SCREEN1 JSR TEXT
JSR HOME
LDA #2
STA $20
LDA #36
STA $21
LDA #10
STA $22
LDA #22
STA $23
;
LDA #0
JSR INVLINE
LDA #1
JSR INVLINE
LDA #2
JSR INVLINE
LDA #3
JSR INVLINE
LDA #4
JSR INVLINE
JSR BOTLINE
LDA #23
^0 PHA
JSR $FBC1
LDY #0
LDA #$20
STA ($28),Y
LDY #39
STA ($28),Y
PLA
SEC
SBC #1
BPL <0
;
JSR PRINTINV
HEX 8D
ASC "THE PRINT SHOP COMPANION"
HEX 8D
ASC "COPYRIGHT 1985"
HEX 8D
ASC "BY ROLAND GUSTAFSSON"
BRK
LDA #23
JSR VTAB
JSR PRINTINV
ASC "BR0DERBUND SOFTWARE"
HEX 00
RTS
;-----------
;
; The program starts here:
;
START SEC
ROR CENTER
JSR SCREEN1
JSR HOME
JSR BEEP
;
JSR PRINT
ASC "SIDE B DOES NOT BOOT."
HEX 00
START2 JSR PRINT
HEX 8D8D
ASC "PLEASE PUT SIDE A OF"
HEX 8D
ASC "THE COMPANION DISK IN DRIVE"
HEX 8D
ASC "AND PRESS <RETURN>"
HEX 8D00
;
^0 LDA $C000
BPL <0
BIT $C010
;
CMP #$9B
BEQ >1
CMP #$9E
BEQ >2
CMP #$8D
BNE <0
JMP ($FFFC)
;
^1 LDA #9
STA $22
JSR HOME
JSR PRINT
ASC "TO COPY THIS SIDE OF THE DISK"
HEX 8D
ASC "USE THE STANDARD COPY PROGRAM"
HEX 8D
ASC "THAT CAME WITH YOUR COMPUTER."
HEX 8D00
JMP START2
;
^2 JSR TEXT
JSR HOME
JMP $6000
;-----------
;
;
;
USR "O:SIDEB",ORG
END