PrintShopCompanion-Apple-II/PSC Source Disk 3 - Calenda.../S_COMMON.txt

328 lines
5.7 KiB
Plaintext

NLS
; S:COMMON
;
; Common equates for Calendar
; source files.
;
GOOFBALL = *
;-----------
;
; Monthly data margins
;
DTCXMAX = 126
DTCYMAX = 90
DTCXMARG = 6
DTCYMARG = 24
;-----------
;
; Common zero page
;
CLZ EPZ $D0
;
XOFFLO EPZ CLZ
XOFFHI EPZ CLZ+1
YOFF EPZ CLZ+2
TMP0 EPZ CLZ+3
TMP1 EPZ CLZ+4
TMP2 EPZ CLZ+5
TMP3 EPZ CLZ+6
TMP4 EPZ CLZ+7
TMP5 EPZ CLZ+8
;
DATE EPZ CLZ+9
;
CRLINE EPZ CLZ+10
;
;-----------
UFONT = $8500
UFONTW = UFONT
CLFONT = $6000
CFONTH = CLFONT+$3B
;-----------
;
; Constants:
;
GRBUFF = $7800
FONTBUFF = $5FF4
ESC = 27
;------
;
; Temporary buffer for text
;
TEMPTEXT = $7A40
;
MONTHTXT = TEMPTEXT
; worst:SEPTEMBER (9+1)
WEEKTEXT = MONTHTXT+10
; worst:WEDNESDAY (9+1)
DATETEXT = WEEKTEXT+10
; worst:31 (2+1)
;-----------
;
; Common buffer
;
COBUFF = $D000
;
ORG COBUFF
;--
CLTYPE DFS 1 ; Calendar type
;--
GRSEL DFS 1 ; Graphic selection
NOGR = 3
GRNUM DFS 1 ; # from PSD
GROPTION DFS 1 ; Position option
;--
YEARTEXT DFS 5
;--
MONTH DFS 1 ; 0-11
MNDATE DFS 1 ; mini-calen default
MNWDATE DFS 1 ; mini-week default
MNFDAY DFS 1 ; day of week 0-6
MNLAST DFS 1 ; # days in month
;--
FONTSEL DFS 1 ; Font selection
NOFONT = 3
FONTPSD DFS 1 ; # from PSD
FONTCD DFS 1 ; # from CD
;--
PRSEL DFS 1 ; printer item
PRCOPIES DFS 1 ; # copies to print
;--
;
; 0-30:monthly data (DATE-1)
; 0-27:weekly date in groups of 4
; 31 :top line
; 32 :second line
; 33 :credit line
;
DBUFCONT = 34 ; # strings
;
DBUFENDL DFS 1 ; EOF pointer
DBUFENDH DFS 1
;
DBUFPNTL DFS DBUFCONT ; pointers
DBUFPNTH DFS DBUFCONT ; to the text
;
; If COLORFLG=$FF then next 4
; are colors for:
; 0:Font
; 1:Graphics
; 2:Lines
; 3:Highlites
;
COLORFLG DFS 1 ; $FF=color follows
DCOLOR0 DFS 1
DCOLOR1 DFS 1
DCOLOR2 DFS 1
DCOLOR3 DFS 1
;
DBUFFER DFS 1 ; first byte of buffer
;-----------
;
; Z-page
;
FLASHLO EPZ $4E
FLASHHI EPZ $4F
;-----------
;
; MAIN MENU routines
;
MM = $0800
;
MAINMENU = MM
FGETMAIN = MM+3
FGETPSD = MM+6
FGETCD = MM+9
;
HAS128K = $27F
CONFIG = $95F0
COLORPR = CONFIG+8
;-----------
;
; Subroutine package
;
SP = $E000
;
PRINT = SP
CLSCREEN = SP+3
WITEBORD = SP+6
ESCBACK = SP+9
PICDRAW = SP+12
;
DEVICENW = SP+15
DEVICEON = SP+18
DEVICEOF = SP+21
DEVICERD = SP+24
DEVICEST = SP+27
SCALING = SP+30
;
POLEBTN = SP+31
POLEKEY = SP+34
GETKEY = SP+37
SELECT = SP+40
;
SETTYPE = SP+43
GETFILE = SP+46
SAVEFILE = SP+49
TYPELEN = SP+52
FLSTART = SP+53
FLLENGTH = SP+55
BLOAD = SP+57
BSAVE = SP+60
DOSCR = SP+63
ERROR = SP+66
;
MUSIC = SP+69
FLSHINIT = SP+72
JMPVECTS = SP+75
LINES = SP+78
PARSE = SP+81
SHOWAROW = SP+84
NUMBER = SP+87
WAITPSD = SP+90
WAITCD = SP+93
ANYKEY = SP+96
CHKPRINT = SP+99
BOOP = SP+102
GETINIT = SP+105
GETBYTE = SP+108
INPUT = SP+111
CLS1 = SP+114
PRINTGRP = SP+117
RTOS = SP+120
SPACEBAR = SP+123
GETPDISK = SP+126
ESCMAIN = SP+129
TESTPAPR = SP+132
GETANUMB = SP+135
ANYKEY2 = SP+138
;
WITE = $FF
GRAY = $AA
GRAY2 = $55
BLAK = $00
;
PRNORM = 1
PRINVR = 2
PRLEFT = 3
PRRITE = 4
PRCNTR = 5
PRLOC = 6
PRSMAL = 7
PRBIG = 8
PRSTR = 9
PRSPC = 10
PRHTAB = 11
PRVTAB = 12
CR = 13
NOCR = 14
RTOSBLAK = 15
RTOSWITE = 16
RTOSANY = 17
PRCSPACE = 18
PRPIC = 19
PRRTAB = 20
PRRTAB2 = 21
PRKERN = 22
RTOSINV = 23
;-----------
;
; Monitor routines
;
WAIT = $FCA8
RTS = $FF58
;-----------
;
; PRCOMS locations
;
COUT1 = $1800
CRLF = $1803
SENDGC = $1806
GCOUT = $1809
MTHINK = $180C
MPRINT = $180F
MPAUSE = $1812
COPYCONT = $1815
UPLRK = $1816
COLORCHG = $181D
;-----------
;
; Buffer handler routines
;
TEXTBUFF = $9600
EDITBUFF = $9700
;
BF = $7B00
;
; Credit line info
;
CRXB = 4
CRXMAXB = 32
CRX = CRXB*7
CRXMAX = CRXMAXB*7
;
CRY1 = 78
;
.IF BF-ORG
CLRCOBUF = BF
GETTEXT = BF+3
PUTTEXT = BF+6
GETEDIT = BF+9
PUTEDIT = BF+12
MAKEDTXT = BF+15
MAKEWTXT = BF+18
;
TOPTEXT = BF+21
GTMTEXT = BF+24
GTWTEXT = BF+27
CREDIT = BF+30
;
DRAWBOX = BF+33
.FI
;-----------
;
; Print routines
;
PR = $F00
;
.IF PR-ORG
DOCALEN = PR
EDITDRAW = PR+3
EDITYOFF = PR+6
STRCROP = PR+9
.FI
;-----------
;
; MAIN code vectors
;
MN = $4000
;
.IF MN-ORG
CRBLAK = MN+6
CRDRAW = MN+9
.FI
;-----------
;
; Print buffer constants
;
BUFWIDTH = 1024
LMARGIN = 10
CLBUFFER = $2000
;-----------
;
; STROUT variables
;
STROUT = $8A00
SPARM = STROUT+3
CSIZE = STROUT+$0B
;
; STROUT mod routines
;
STINSTAL = STROUT+$0F
STSCREEN = STROUT+$12
FINSTALL = STROUT+$15
;
;-----------
PHS GOOFBALL
END