mirror of
https://github.com/photogrammer/PrintShopCompanion-Apple-II.git
synced 2024-06-16 20:29:31 +00:00
579 lines
10 KiB
Plaintext
579 lines
10 KiB
Plaintext
;
|
|
; S:UCAL3
|
|
;
|
|
; More menus
|
|
;
|
|
; SELTYPE :select calendar type
|
|
; SELGR :select graphic
|
|
; SELFONT :select font
|
|
; CREDIT2 :type in credit line
|
|
; PRINMENU:print menu
|
|
; SELCOLOR:select colors
|
|
;
|
|
;-----------
|
|
;
|
|
TXTCHOO BYT 'CHOOSE ',0
|
|
TXTFROM BYT 'FROM ',0
|
|
TXTPS BYT 'PRINT SHOP',0
|
|
TXTC BYT 'COMPANION',0
|
|
;
|
|
TXTFOD BYT 'FROM OTHER'
|
|
TXTSD BYT ' '
|
|
TXTD BYT 'DISK',0
|
|
;
|
|
TXTGTMM BYT 'GO TO MAIN MENU',0
|
|
TXTRET BYT '<RETURN>',0
|
|
;-----------
|
|
STY = 64
|
|
;
|
|
; Select type of calendar
|
|
;
|
|
SELTYPE JSR CLS1
|
|
JSR PRINT
|
|
.DA #PRLOC,140,#STY
|
|
BYT PRCNTR
|
|
.DA #PRSTR,TXTCHOO
|
|
.DA #PRSTR,TXTCAL,':',#CR
|
|
BYT CR,CR
|
|
BYT 'MONTHLY',CR
|
|
BYT 'WEEKLY',CR
|
|
.DA #PRSTR,TXTFOD,#CR
|
|
BRK
|
|
^0 LDY CLTYPE
|
|
;
|
|
JSR SELECT
|
|
BYT 10,20,STY+23,3
|
|
ADR RTS
|
|
;
|
|
BCS >2
|
|
;
|
|
; If we are switching type
|
|
; of calendar, then you better
|
|
; erase the COBUFFER
|
|
;
|
|
TYA
|
|
PHA
|
|
CMP CLTYPE
|
|
BEQ >1
|
|
JSR CLRCOBUF
|
|
^1 CLC
|
|
PLA
|
|
STA CLTYPE
|
|
TAY
|
|
;
|
|
JSR JMPVECTS
|
|
ADR RTS
|
|
ADR RTS
|
|
ADR LOADCAL
|
|
^2 RTS
|
|
;---
|
|
;
|
|
; Load calendar from disk
|
|
;
|
|
LOADCAL JSR SETCAL
|
|
SEC
|
|
JSR GETFILE
|
|
JSR TPTITLE2
|
|
BCC <2
|
|
JMP SELTYPE
|
|
;-----------
|
|
SLMY = 50
|
|
;
|
|
; Select graphic
|
|
;
|
|
SELGR JSR CLS1
|
|
JSR PRINT
|
|
.DA #PRLOC,140,#SLMY
|
|
BYT PRCNTR
|
|
.DA #PRSTR,TXTCHOO,'A '
|
|
.DA #PRSTR,TXTGR,':',#CR
|
|
BYT CR,CR
|
|
.DA #PRSTR,TXTFROM,#PRSTR,TXTPS,#PRSTR,TXTSD,#CR
|
|
.DA #PRSTR,TXTFROM,#PRSTR,TXTC,#PRSTR,TXTSD,#CR
|
|
.DA #PRSTR,TXTFOD,#CR
|
|
.DA 'NO ',#PRSTR,TXTGR,#CR
|
|
BRK
|
|
LDY GRSEL
|
|
JSR SELECT
|
|
BYT 6,28,SLMY+23,4
|
|
ADR RTS
|
|
STY GRSEL
|
|
BCS >0
|
|
;
|
|
LDX #1
|
|
JSR FIXCOLOR
|
|
;
|
|
JSR JMPVECTS
|
|
ADR SGPSD
|
|
ADR SGCD
|
|
ADR SGOD
|
|
ADR RTS
|
|
^0 RTS
|
|
;
|
|
; From Print Shop disk
|
|
;
|
|
SGPSD LDA GRNUM
|
|
LDX #GRBUFF
|
|
LDY /GRBUFF
|
|
JSR GETPDISK
|
|
BCS >1
|
|
STA GRNUM
|
|
^0 RTS
|
|
;
|
|
; From Companion disk
|
|
;
|
|
SGCD LDA #2
|
|
CLC
|
|
HEX 24
|
|
;
|
|
; From other disk
|
|
;
|
|
SGOD SEC
|
|
PHP
|
|
JSR SETTYPE
|
|
TXTGR BYT 'GRAPHIC',0
|
|
TXTCAL BYT 'CALENDAR',0
|
|
BYT 0
|
|
BYT 4
|
|
ADR GRBUFF
|
|
ADR $240
|
|
PLP
|
|
JSR GETFILE
|
|
JSR TPTITLE2
|
|
BCC <0
|
|
^1 JMP SELGR
|
|
;-----------
|
|
;
|
|
; Select Font
|
|
;
|
|
SELFONT LDY FONTSEL
|
|
CLC
|
|
JSR FGETMAIN
|
|
STY FONTSEL
|
|
BCS >0
|
|
;
|
|
LDX #0
|
|
JSR FIXCOLOR
|
|
;
|
|
JSR >1
|
|
BCS SELFONT
|
|
^0 RTS
|
|
;
|
|
^1 JSR JMPVECTS
|
|
ADR SFPSD
|
|
ADR SFCD
|
|
ADR SFOD
|
|
ADR RTS
|
|
;
|
|
; Font from Print Shop disk
|
|
;
|
|
SFPSD LDY FONTPSD
|
|
JSR FGETPSD
|
|
STY FONTPSD
|
|
RTS
|
|
;
|
|
; Font from Companion disk
|
|
;
|
|
SFCD LDY FONTCD
|
|
JSR FGETCD
|
|
STY FONTCD
|
|
RTS
|
|
;
|
|
; Font from other disk
|
|
;
|
|
SFOD JSR SETTYPE
|
|
TXTFONT BYT 'FONT',0
|
|
BYT 'CALENDAR FONT',0
|
|
BYT 'FONT.',0
|
|
BYT 0
|
|
ADR FONTBUFF
|
|
ADR 0
|
|
SEC
|
|
JSR GETFILE
|
|
;
|
|
; Turn off list indicators from
|
|
; the Font Editor
|
|
;
|
|
LDY #'Z'-$20
|
|
^0 LDA FONTBUFF+12,Y
|
|
AND #$7F
|
|
STA FONTBUFF+12,Y
|
|
DEY
|
|
BPL <0
|
|
;
|
|
JMP TPTITLE2
|
|
;-----------
|
|
;
|
|
; Credit line
|
|
;
|
|
CREDIT2 JSR CLS1
|
|
JSR PRINT
|
|
BYT PRCNTR
|
|
.DA #PRLOC,140
|
|
BYT CRY1-22
|
|
BYT 'TYPE ONE-LINER FOR',CR
|
|
BYT 'BOTTOM OF '
|
|
.DA #PRSTR,TXTCAL
|
|
BYT CR,0
|
|
LDX #CRXB-1
|
|
LDY #CRY1
|
|
LDA #19
|
|
JSR DRAWBOX
|
|
JMP CREDIT
|
|
;-----------
|
|
PRMY = 32
|
|
;
|
|
; Print menu
|
|
;
|
|
PRINMENC CLC
|
|
HEX B0
|
|
PRINMENU SEC
|
|
JSR PRTITLE
|
|
JSR CLS1
|
|
JSR PRINT
|
|
BYT PRCNTR
|
|
.DA #PRLOC,140,#PRMY
|
|
BYT 'MAKE SURE PRINTER IS READY',CR
|
|
BYT 'AND CHOOSE OPTION(S):',CR
|
|
BYT CR,CR,CR
|
|
BYT 'SET NUMBER OF COPIES',CR
|
|
BYT 'TEST PAPER POSITION',CR
|
|
BYT '**** PRINT ****',CR
|
|
.DA 'SAVE THIS ',#PRSTR,TXTCAL,#CR
|
|
BYT 'START FROM SCRATCH',CR
|
|
.DA 'GOODBYE: ',#PRSTR,TXTGTMM,#CR
|
|
BRK
|
|
;
|
|
PRINMEN2 LDY PRSEL
|
|
JSR SELECT
|
|
BYT 5,30,PRMY+39,6
|
|
ADR RTS
|
|
STY PRSEL
|
|
BCS >0
|
|
;
|
|
JSR JMPVECTS
|
|
ADR PRSETNUM
|
|
ADR PRTESTP
|
|
ADR PRPRINT
|
|
ADR PRSAVE
|
|
ADR PSCRATCH
|
|
ADR PRGOMENU
|
|
;
|
|
^0 RTS
|
|
;---
|
|
;
|
|
; Set number of copies
|
|
;
|
|
PRSETNUM JSR PRINT
|
|
.DA #PRLOC,44,#136
|
|
BYT 'HOW MANY COPIES DO YOU',CR
|
|
BYT 'WISH TO PRINT?',CR,0
|
|
;
|
|
LDA #99
|
|
STA TMP0
|
|
LDX #165
|
|
LDY #144
|
|
LDA PRCOPIES
|
|
JSR GETANUMB
|
|
BCS >0
|
|
STA PRCOPIES
|
|
INC PRSEL
|
|
;
|
|
^0 JSR PRINT
|
|
BYT RTOSBLAK,1,136,38,16,0
|
|
JMP PRINMEN2
|
|
;---
|
|
;
|
|
; Test paper position
|
|
;
|
|
PRTESTP JSR DEVICEOF
|
|
JSR TESTPAPR
|
|
JSR DEVICEON
|
|
JMP PRINMEN2
|
|
;---
|
|
;
|
|
; Print the calendar
|
|
;
|
|
PRPRINT JSR DEVICEOF
|
|
;
|
|
LDA PRCOPIES
|
|
STA COPYCONT
|
|
JSR DOCALEN
|
|
;
|
|
JSR DEVICEON
|
|
JMP PRINMENC
|
|
;---
|
|
;
|
|
; Save calendar to data disk
|
|
;
|
|
PRSAVE JSR SETCAL
|
|
LDA #0
|
|
STA PRSEL
|
|
JSR SAVEFILE
|
|
LDA #3
|
|
STA PRSEL
|
|
JMP PRINMENC
|
|
;---
|
|
;
|
|
; Go back to main menu
|
|
;
|
|
PRGOMENU JSR PRINT
|
|
BYT PRCNTR
|
|
.DA #PRLOC,140,#167
|
|
.DA #PRSTR,TXTRET
|
|
BYT ' TO '
|
|
.DA #PRSTR,TXTGTMM,#CR
|
|
BYT 'OR',CR,0
|
|
JSR GETKEY
|
|
CMP #CR
|
|
BEQ >1
|
|
^0 JSR PRINT
|
|
BYT RTOSBLAK,1,167,38,16,0
|
|
JMP PRINMEN2
|
|
;
|
|
^1 JMP MAINMENU
|
|
;---
|
|
;
|
|
; Start from scratch
|
|
;
|
|
PSCRATCH JSR PRINT
|
|
BYT PRCNTR
|
|
.DA #PRLOC,140,#167
|
|
.DA #PRSTR,TXTRET
|
|
BYT ' TO START OVER',CR
|
|
BYT 'OR',CR,0
|
|
JSR GETKEY
|
|
CMP #CR
|
|
BNE <0
|
|
CLC
|
|
RTS
|
|
;-----------
|
|
;
|
|
; Set file info for calendar
|
|
;
|
|
SETCAL LDY DBUFENDL
|
|
LDA DBUFENDH
|
|
SEC
|
|
SBC /COBUFF
|
|
STY SETCALEN
|
|
STA SETCALEN+1
|
|
JSR SETTYPE
|
|
BYT 'CALENDAR',0
|
|
BYT 'CALENDAR',0
|
|
BYT 'CALE.',0
|
|
BYT 0
|
|
ADR COBUFF
|
|
SETCALEN ADR 0
|
|
^9 RTS
|
|
;-----------
|
|
;
|
|
; FIX color selections for
|
|
; graphics and fonts.
|
|
;
|
|
FIXCOLOR PHP
|
|
LDA COLORFLG
|
|
CMP #$FF
|
|
BNE >1
|
|
LDA #8
|
|
CPY #NOGR ; NOFONT
|
|
BEQ >0
|
|
EOR DCOLOR0,X
|
|
BNE >1
|
|
^0 STA DCOLOR0,X
|
|
^1 PLP
|
|
RTS
|
|
;-----------
|
|
;
|
|
; Color selection menu
|
|
;
|
|
SELCOLOR JSR PRTITLE
|
|
;
|
|
; Is this menu available???
|
|
;
|
|
LDY COLORPR
|
|
BEQ <9
|
|
LDY COLORFLG
|
|
INY
|
|
BNE <9
|
|
;
|
|
JSR CLS1
|
|
JSR PRINT
|
|
BYT PRCNTR
|
|
.DA #PRLOC,140,#32
|
|
.DA #PRSTR,TXTCHOO
|
|
BYT 'COLORS:',CR
|
|
;
|
|
BYT PRLEFT
|
|
.DA #PRLOC,69,#56
|
|
.DA #PRSTR,TXTFONT,#CR
|
|
.DA #PRSTR,TXTGR,#CR
|
|
BYT 'LINES',CR
|
|
BYT 'NOTES',CR
|
|
BRK
|
|
;
|
|
; Display colors
|
|
;
|
|
LDA #3
|
|
^0 PHA
|
|
STA TMP0
|
|
JSR SLRSHOW
|
|
PLA
|
|
SEC
|
|
SBC #1
|
|
BPL <0
|
|
;
|
|
JSR SLRAROWS
|
|
JSR PRINT
|
|
.DA #PRLOC,44,#128
|
|
BYT 'USE',PRRTAB,68
|
|
BYT ' TO SELECT ITEM',CR
|
|
BYT CR
|
|
BYT 'PRESS <SPACE> TO CHANGE',CR
|
|
BYT 'COLORS OF SELECTED ITEM',CR
|
|
BYT CR
|
|
BYT 'PRESS '
|
|
.DA #PRSTR,TXTRET
|
|
BYT ' WHEN DONE',CR
|
|
BRK
|
|
;
|
|
^0 LDX #0
|
|
^1 STX TMP0
|
|
^2 JSR SLRHILIT
|
|
JSR GETKEY
|
|
PHA
|
|
JSR SLRHILIT
|
|
PLA
|
|
LDX TMP0
|
|
LDY DCOLOR0,X
|
|
JSR PARSE
|
|
.DA #CR,SLRDONE
|
|
.DA #ESC,SLRESC
|
|
.DA #$08,SLRUP
|
|
.DA #$0B,SLRUP
|
|
.DA #$15,SLRDOWN
|
|
.DA #$0A,SLRDOWN
|
|
.DA #$20,SLRSPACE
|
|
BRK
|
|
JMP <2
|
|
;
|
|
SLRUP DEX
|
|
BPL <1
|
|
LDX #2
|
|
SLRDOWN INX
|
|
CPX #4
|
|
BLT <1
|
|
BEQ <0
|
|
;
|
|
SLRSPACE CPY #8
|
|
BEQ <2
|
|
INY
|
|
TYA
|
|
CMP #8
|
|
BLT *+4
|
|
LDA #0
|
|
STA DCOLOR0,X
|
|
JSR SLRSHOW
|
|
JMP <2
|
|
;---
|
|
;
|
|
; Highlite current color item
|
|
;
|
|
SLRHILIT LDA TMP0
|
|
ASL
|
|
ASL
|
|
ASL
|
|
ADC #55
|
|
STA >0+2
|
|
JSR PRINT
|
|
^0 BYT RTOSINV,9,00,14,9
|
|
BRK
|
|
SLRESC SEC
|
|
RTS
|
|
SLRDONE CLC
|
|
RTS
|
|
;---
|
|
;
|
|
; Given A=color#, show current setting
|
|
;
|
|
SLRSHOW LDA TMP0
|
|
TAY
|
|
ASL
|
|
ASL
|
|
ASL
|
|
ADC #56
|
|
STA SCMOD0+2
|
|
STA SCMOD1+3
|
|
;
|
|
; Point to text
|
|
;
|
|
LDX DCOLOR0,Y
|
|
LDY #$FF
|
|
^0 DEX
|
|
BMI >2
|
|
^1 INY
|
|
LDA COLORTXT,Y
|
|
BNE <1
|
|
BEQ <0
|
|
^2 INY
|
|
TYA
|
|
CLC
|
|
ADC #COLORTXT
|
|
STA SCMOD2+1
|
|
LDA /COLORTXT
|
|
ADC #0
|
|
STA SCMOD2+2
|
|
;
|
|
; Erase and show color
|
|
;
|
|
JSR PRINT
|
|
SCMOD0 BYT RTOSBLAK,24,00,15,7
|
|
SCMOD1 .DA #PRLOC,169,#00
|
|
SCMOD2 .DA #PRSTR,$FFFF,#NOCR
|
|
BRK
|
|
RTS
|
|
;---
|
|
COLORTXT BYT 'BLACK',0
|
|
BYT 'RED',0
|
|
BYT 'ORANGE',0
|
|
BYT 'YELLOW',0
|
|
BYT 'GREEN',0
|
|
BYT 'BLUE',0
|
|
BYT 'PURPLE',0
|
|
BYT 'RAINBOW',0
|
|
BYT ' ----',0
|
|
;-----------
|
|
AROWX = 12
|
|
AROWY = 128
|
|
;
|
|
SLRAROWS LDA $FA68
|
|
CMP #$C0
|
|
BEQ ARROW2E
|
|
LDA $FBB3
|
|
CMP #$06
|
|
BEQ ARROW2E
|
|
;---
|
|
; LEFT
|
|
JSR PICDRAW
|
|
BYT AROWX,AROWY+1,1,5
|
|
HEX 0C06C1060C
|
|
; RIGHT
|
|
JSR PICDRAW
|
|
BYT AROWX+2,AROWY+1,1,5
|
|
HEX 1830C13018
|
|
RTS
|
|
;---
|
|
; DOWN
|
|
ARROW2E JSR PICDRAW
|
|
BYT AROWX,AROWY,1,7
|
|
HEX 0808086B3E1C08
|
|
; UP
|
|
JSR PICDRAW
|
|
BYT AROWX+2,AROWY,1,7
|
|
HEX 081C3E6B080808
|
|
RTS
|
|
;-----------
|
|
;
|
|
;
|
|
;
|
|
ICL "S:UCAL4"
|