mirror of
https://github.com/photogrammer/PrintShopCompanion-Apple-II.git
synced 2024-06-02 08:41:29 +00:00
213 lines
3.4 KiB
Plaintext
213 lines
3.4 KiB
Plaintext
|
TTL "S:SUBPAK"
|
||
|
; S:SUBPAK1
|
||
|
NOG
|
||
|
ORG = $E000
|
||
|
OBJ = $800
|
||
|
;
|
||
|
; 03/11/85
|
||
|
; 08/23/85 last mod
|
||
|
;
|
||
|
; The Print Shop Companion Disk
|
||
|
; Subroutine Package
|
||
|
;
|
||
|
; by Roland Gustafsson
|
||
|
;
|
||
|
;------------
|
||
|
;
|
||
|
; Temp z-page
|
||
|
;
|
||
|
FLASHLO EPZ $4E
|
||
|
FLASHHI EPZ $4F
|
||
|
;
|
||
|
TMP EPZ $F0
|
||
|
TMP0 EPZ TMP
|
||
|
TMP1 EPZ TMP+1
|
||
|
TMP2 EPZ TMP+2
|
||
|
TMP3 EPZ TMP+3
|
||
|
TMP4 EPZ TMP+4
|
||
|
TMP5 EPZ TMP+5
|
||
|
;
|
||
|
TMPLO EPZ TMP+6
|
||
|
TMPHI EPZ TMP+7
|
||
|
HIRES EPZ TMP+8
|
||
|
;
|
||
|
; For input device only!
|
||
|
;
|
||
|
DTMP0 EPZ TMP+10
|
||
|
DTMP1 EPZ TMP+11
|
||
|
DTMPLO EPZ TMP+12
|
||
|
DTMPHI EPZ TMP+13
|
||
|
;-----------
|
||
|
;
|
||
|
; Absolute references:
|
||
|
;
|
||
|
; Printer routines
|
||
|
;
|
||
|
PT = $1800
|
||
|
;
|
||
|
PTCOUT = PT
|
||
|
PTCRLF = PT+3
|
||
|
PTSENDGC = PT+6
|
||
|
PTGCOUT = PT+9
|
||
|
;
|
||
|
PRINBUFF = $BB00
|
||
|
SECTBUFF = $8400
|
||
|
;
|
||
|
MAINMENU = $0800
|
||
|
;
|
||
|
DATADRIV = $95F4
|
||
|
MENULAST = $95F5
|
||
|
CALENDAR = 5
|
||
|
CHEKPROT = $BCE0
|
||
|
;
|
||
|
; SYSLIB routines
|
||
|
;
|
||
|
STROUT = $8A00
|
||
|
SPARM = STROUT+3
|
||
|
STRGET = $8E03
|
||
|
;
|
||
|
; SYSLIB tables
|
||
|
;
|
||
|
YBASELO = $91C0
|
||
|
YBASEHI = $9100
|
||
|
XBYTEOFF = $9398
|
||
|
XBITS = $94B0
|
||
|
SYSFONT = $8500
|
||
|
FLIPPER = $9080
|
||
|
;
|
||
|
; Monitor routines
|
||
|
;
|
||
|
WAIT = $FCA8
|
||
|
CROUT = $FD8E
|
||
|
RTS = $FF58
|
||
|
SAVEREGS = $FF4A
|
||
|
RESTREGS = $FF3F
|
||
|
;
|
||
|
; Variables
|
||
|
;
|
||
|
MAXFLEN = 15
|
||
|
ESC = $1B
|
||
|
;-----------
|
||
|
ORG ORG
|
||
|
OBJ OBJ
|
||
|
;-----------
|
||
|
; Screen output routines:
|
||
|
;
|
||
|
JMP PRINT
|
||
|
JMP CLSCREEN
|
||
|
JMP WITEBORD
|
||
|
JMP ESCBACK
|
||
|
JMP PICDRAW
|
||
|
;
|
||
|
; Device input routines:
|
||
|
;
|
||
|
JMP DEVICENW
|
||
|
DEVMODS:
|
||
|
DEVICEON JMP DEVICEON
|
||
|
DEVICEOF JMP DEVICEOF
|
||
|
DEVICERD JMP DEVICERD
|
||
|
DEVICEST JMP DEVICEST
|
||
|
SCALING HEX 00
|
||
|
;
|
||
|
; Keyboard routines:
|
||
|
;
|
||
|
JMP POLEBTN
|
||
|
JMP POLEKEY
|
||
|
JMP GETKEY
|
||
|
JMP SELECT
|
||
|
;
|
||
|
; Load/Save routines:
|
||
|
;
|
||
|
JMP SETTYPE
|
||
|
JMP GETFILE
|
||
|
JMP SAVEFILE
|
||
|
TYPELEN HEX 00
|
||
|
FLSTART ADR 0
|
||
|
FLLENGTH ADR 0
|
||
|
;
|
||
|
JMP BLOAD
|
||
|
JMP BSAVE
|
||
|
JMP DOSCR
|
||
|
JMP ERROR
|
||
|
;
|
||
|
; Miscellaneous routines:
|
||
|
;
|
||
|
JMP MUSIC
|
||
|
JMP FLSHINIT
|
||
|
JMP JMPVECTS
|
||
|
JMP LINES
|
||
|
JMP PARSE
|
||
|
JMP SHOWAROW
|
||
|
JMP NUMBER
|
||
|
JMP WAITPSD
|
||
|
JMP WAITCD
|
||
|
JMP ANYKEY
|
||
|
JMP CHKPRINT
|
||
|
JMP BOOP
|
||
|
JMP GETINIT
|
||
|
JMP GETBYTE
|
||
|
JMP INPUT
|
||
|
JMP CLS1
|
||
|
JMP PRINTGRP
|
||
|
JMP RTOS
|
||
|
JMP SPACEBAR
|
||
|
JMP GETPDISK
|
||
|
JMP ESCMAIN
|
||
|
JMP TESTPAPR
|
||
|
JMP GETANUMB
|
||
|
JMP ANYKEY2
|
||
|
JMP DEVICECH
|
||
|
;-----------
|
||
|
;
|
||
|
; Make sure that the following
|
||
|
; routines don't cross page
|
||
|
; boundaries.
|
||
|
;
|
||
|
;-----------
|
||
|
;
|
||
|
; Single tone error bell
|
||
|
;
|
||
|
BOOP PHP
|
||
|
SEI
|
||
|
LDY #$20
|
||
|
^0 BIT $C030
|
||
|
LDA #$18
|
||
|
JSR WAIT
|
||
|
DEY
|
||
|
BNE <0
|
||
|
PLP
|
||
|
RTS
|
||
|
;
|
||
|
; Error Music
|
||
|
;
|
||
|
MUSIC PHP
|
||
|
SEI
|
||
|
LDY #4
|
||
|
^0 STY TMP0
|
||
|
LDA MUSICFRQ,Y
|
||
|
STA >1+1
|
||
|
LDA MUSICDUR,Y
|
||
|
^1 LDX #00
|
||
|
^2 INY
|
||
|
BNE >3
|
||
|
SBC #1
|
||
|
BMI >4
|
||
|
^3 DEX
|
||
|
BNE <2
|
||
|
LDX $C030
|
||
|
JMP <1
|
||
|
^4 LDY TMP0
|
||
|
DEY
|
||
|
BPL <0
|
||
|
PLP
|
||
|
RTS
|
||
|
;
|
||
|
MUSICDUR HEX 6030301818
|
||
|
MUSICFRQ HEX 5E4C807280
|
||
|
;
|
||
|
;-----------
|
||
|
;
|
||
|
;
|
||
|
;
|
||
|
ICL "S:SUBPAK2"
|