mirror of
https://github.com/photogrammer/PrintShopCompanion-Apple-II.git
synced 2024-06-12 11:29:35 +00:00
255 lines
4.3 KiB
Plaintext
255 lines
4.3 KiB
Plaintext
|
;
|
||
|
; S:ICAL4
|
||
|
;
|
||
|
; GTMTEXT
|
||
|
;
|
||
|
; Get text for monthly calendar
|
||
|
;
|
||
|
MCXOFF = 71
|
||
|
MCYOFF = 54
|
||
|
MCWIDTH = 126
|
||
|
;
|
||
|
; Initialize everything!
|
||
|
;
|
||
|
GTMTEXT STX DATE
|
||
|
LDA #0
|
||
|
STA ILINE
|
||
|
;
|
||
|
; Get text for this day
|
||
|
;
|
||
|
LDY DATE
|
||
|
DEY
|
||
|
JSR GETEDIT
|
||
|
;
|
||
|
; Configure TEDIT routine
|
||
|
;
|
||
|
JSR TEINIT
|
||
|
ADR GTMBLAK
|
||
|
ADR RTS
|
||
|
ADR GTMDRAW
|
||
|
BYT 126,30,2,0
|
||
|
;
|
||
|
LDX #MCXOFF
|
||
|
LDY /MCXOFF
|
||
|
STX XOFFLO
|
||
|
STY XOFFHI
|
||
|
LDY #MCYOFF
|
||
|
STY YOFF
|
||
|
;-----------
|
||
|
;
|
||
|
; Draw the initial screen
|
||
|
;
|
||
|
GTMDATE2 JSR GTTOP
|
||
|
JSR SHOWEIAM
|
||
|
LDX #10
|
||
|
LDY #MCYOFF
|
||
|
LDA #90
|
||
|
JSR DRAWBOX
|
||
|
LDY #$FF
|
||
|
JSR EDITDRAW
|
||
|
;
|
||
|
; Show all the attributes
|
||
|
;
|
||
|
LDY #0
|
||
|
^0 JSR GTMSTUFF
|
||
|
INY
|
||
|
BCC <0
|
||
|
;
|
||
|
LDY ILINE
|
||
|
;
|
||
|
; Now edit one of the strings
|
||
|
;
|
||
|
GTMDNEXT STY ILINE
|
||
|
GTMDGET JSR TEDIT
|
||
|
PHA
|
||
|
LDY ILINE
|
||
|
JSR EDITYOFF
|
||
|
PLA
|
||
|
JSR PARSE
|
||
|
.DA #1,GTMCR
|
||
|
.DA #2,GTMESC
|
||
|
.DA #3,GTMCTRLI
|
||
|
.DA #4,GTMCTRLS
|
||
|
.DA #5,GTMCTRLP
|
||
|
.DA #6,GTMDGET
|
||
|
;---
|
||
|
GTMCR INY
|
||
|
JSR EDITYOFF
|
||
|
BCC GTMDNEXT
|
||
|
BCS >0
|
||
|
;---
|
||
|
GTMESC DEY
|
||
|
BPL GTMDNEXT
|
||
|
;---
|
||
|
;
|
||
|
; Room?
|
||
|
;
|
||
|
^0 JSR GTMBCHEK
|
||
|
BCS >9
|
||
|
;
|
||
|
; Put it into buffer
|
||
|
;
|
||
|
LDY DATE
|
||
|
DEY
|
||
|
JSR PUTEDIT
|
||
|
;
|
||
|
; Fall into the check routine
|
||
|
;
|
||
|
;---
|
||
|
;
|
||
|
; Check to see if data goes to
|
||
|
; far into buffer.
|
||
|
; If it won't fit, then erase it
|
||
|
; and return with SEC
|
||
|
;
|
||
|
; COBUFFER+(4096-300)
|
||
|
; 58 for pointers
|
||
|
; 64*3 for three strings
|
||
|
; 50 for good luck
|
||
|
;
|
||
|
GTMOMAX = $D000+3796
|
||
|
;
|
||
|
GTMBCHEK LDA DBUFENDL
|
||
|
CMP #GTMOMAX
|
||
|
LDA DBUFENDH
|
||
|
SBC /GTMOMAX
|
||
|
BCC >9
|
||
|
LDA #0
|
||
|
STA TEXTBUFF
|
||
|
LDY DATE
|
||
|
DEY
|
||
|
JSR PUTTEXT
|
||
|
SEC
|
||
|
^9 RTS
|
||
|
;---
|
||
|
GTMCTRLP LDA EDITBUFF,X
|
||
|
PHA
|
||
|
AND #6
|
||
|
CLC
|
||
|
ADC #2
|
||
|
CMP #6
|
||
|
BNE *+4
|
||
|
LDA #0
|
||
|
STA TMP0
|
||
|
PLA
|
||
|
AND #%11111001
|
||
|
ORA TMP0
|
||
|
STA EDITBUFF,X
|
||
|
JSR GTMSTUFF
|
||
|
JMP GTMDGET
|
||
|
;-----------
|
||
|
;
|
||
|
; Show text position and
|
||
|
; box on left edge.
|
||
|
;
|
||
|
GTMSTUFF STY >9+1
|
||
|
JSR GTMYCALC
|
||
|
BCS >9
|
||
|
LDA EDITBUFF,X
|
||
|
LSR
|
||
|
AND #3
|
||
|
TAY
|
||
|
LDA GTMPOSIT,Y
|
||
|
STA >2+0
|
||
|
LDY IEDYOFF
|
||
|
STY >0+2
|
||
|
STY >1+3
|
||
|
JSR PRINT
|
||
|
^0 BYT RTOSBLAK,30,0,2,8
|
||
|
^1 .DA #PRLOC,216,#0
|
||
|
^2 BYT ' ',CR
|
||
|
BRK
|
||
|
LDX #8
|
||
|
LDY IEDYOFF
|
||
|
JSR FSOLID
|
||
|
CLC
|
||
|
^9 LDY #00
|
||
|
RTS
|
||
|
;
|
||
|
GTMPOSIT BYT 'LCR'
|
||
|
;---
|
||
|
GTMCTRLI CLC
|
||
|
JSR SHOWEI
|
||
|
JMP GTMDATE2
|
||
|
;---
|
||
|
GTMCTRLS LDA EDITBUFF,X
|
||
|
EOR #1
|
||
|
STA EDITBUFF,X
|
||
|
;---
|
||
|
;
|
||
|
; Redraw from Y down
|
||
|
;
|
||
|
LDA ILINE
|
||
|
PHA
|
||
|
SEC
|
||
|
^0 STY ILINE
|
||
|
PHP
|
||
|
JSR GTMBLAK
|
||
|
PLP
|
||
|
BCS >1
|
||
|
JSR GTMDRAW
|
||
|
^1 LDY IEDYOFF
|
||
|
STY >2+2
|
||
|
STY >3+2
|
||
|
JSR PRINT
|
||
|
^2 BYT RTOSBLAK,8,0,2,16
|
||
|
^3 BYT RTOSBLAK,30,0,2,16
|
||
|
BRK
|
||
|
LDY ILINE
|
||
|
JSR GTMSTUFF
|
||
|
;
|
||
|
LDY ILINE
|
||
|
INY
|
||
|
JSR EDITYOFF
|
||
|
BCC <0
|
||
|
PLA
|
||
|
STA ILINE
|
||
|
JMP GTMDGET
|
||
|
;-----------
|
||
|
;
|
||
|
; Routine to erase current line
|
||
|
;
|
||
|
GTMBLAK LDY ILINE
|
||
|
JSR GTMYCALC
|
||
|
STA >0+2
|
||
|
PHA
|
||
|
LDA TMP1
|
||
|
STA >0+4
|
||
|
JSR PRINT
|
||
|
^0 BYT RTOSBLAK,11,0,18,0
|
||
|
BRK
|
||
|
PLA
|
||
|
RTS
|
||
|
;-----------
|
||
|
;
|
||
|
; Calculate Yoffset and X index
|
||
|
;
|
||
|
GTMYCALC JSR EDITYOFF
|
||
|
BCS >0
|
||
|
LDA TMP0
|
||
|
CLC
|
||
|
ADC #MCYOFF+DTCYMARG
|
||
|
STA IEDYOFF
|
||
|
^0 RTS
|
||
|
;-----------
|
||
|
GTMDRAW LDY ILINE
|
||
|
JMP EDITDRAW
|
||
|
;-----------
|
||
|
;
|
||
|
; Show top of events and reminders
|
||
|
; screen input.
|
||
|
;
|
||
|
GTTOP JSR CLS1
|
||
|
JSR PRINT
|
||
|
BYT PRCNTR
|
||
|
.DA #PRLOC,140,#26
|
||
|
BYT 'NOW TYPE IN YOUR',CR
|
||
|
BYT 'EVENTS AND REMINDERS:',CR
|
||
|
BRK
|
||
|
RTS
|
||
|
;-----------
|
||
|
;
|
||
|
;
|
||
|
;
|
||
|
ICL "S:ICAL5"
|