101 lines
1.7 KiB
Plaintext
101 lines
1.7 KiB
Plaintext
|
|
.SEGMENT "STARTUP"
|
|
|
|
|
|
.FUNCT TITLE-SCREEN
|
|
CLEAR -1
|
|
PICINF P-TITLE,YX-TBL /?BOGUS1
|
|
?BOGUS1: SET 'CURRENT-SPLIT,TITLE-SCREEN-PICTURE
|
|
GET YX-TBL,0
|
|
SPLIT STACK
|
|
SCREEN 1
|
|
DISPLAY P-TITLE,1,1
|
|
SCREEN 0
|
|
RTRUE
|
|
|
|
.ENDSEG
|
|
|
|
.SEGMENT "0"
|
|
|
|
|
|
.FUNCT YCEILING,Y
|
|
SUB FONT-Y,1
|
|
ADD Y,STACK
|
|
DIV STACK,FONT-Y
|
|
MUL FONT-Y,STACK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT XCEILING,X
|
|
SUB FONT-X,1
|
|
ADD X,STACK
|
|
DIV STACK,FONT-X
|
|
MUL FONT-X,STACK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MARGINAL-PIC,P,X,Y,YLEFT,HIGH,YLOC,WWIDTH,?TMP1,?TMP2
|
|
PICINF P,YX-TBL /?BOGUS1
|
|
?BOGUS1: GET YX-TBL,0
|
|
CALL2 YCEILING,STACK >Y
|
|
GET YX-TBL,1
|
|
CALL2 XCEILING,STACK >X
|
|
WINGET S-TEXT,WHIGH >HIGH
|
|
WINGET S-TEXT,WWIDE >WWIDTH
|
|
WINGET S-TEXT,WYPOS
|
|
SUB STACK,1 >YLEFT
|
|
SUB HIGH,YLEFT >YLEFT
|
|
GRTR? Y,YLEFT \?CND2
|
|
CURGET YX-TBL
|
|
GET YX-TBL,0 >YLOC
|
|
SUB Y,YLEFT
|
|
CALL2 YCEILING,STACK >YLEFT
|
|
SCROLL S-TEXT,YLEFT
|
|
SUB YLOC,YLEFT >YLOC
|
|
GRTR? YLOC,0 /?CND4
|
|
SET 'YLOC,1
|
|
?CND4: GET YX-TBL,1
|
|
CURSET YLOC,STACK
|
|
?CND2: WINGET S-TEXT,WYPOS
|
|
ADD Y,STACK >YLEFT
|
|
PICINF ICON-OFFSET,PICINF-TBL /?BOGUS6
|
|
?BOGUS6: WINGET S-TEXT,WYPOS >?TMP2
|
|
GET PICINF-TBL,0
|
|
ADD ?TMP2,STACK >?TMP1
|
|
GET PICINF-TBL,1
|
|
ADD 1,STACK
|
|
DISPLAY P,?TMP1,STACK
|
|
ADD X,FONT-X >X
|
|
LESS? X,WWIDTH /?CCL9
|
|
CURSET YLEFT,1
|
|
ZERO? DEMO-VERSION? /?CCL12
|
|
ICALL2 INPUT-DEMO,1
|
|
JUMP ?CND10
|
|
?CCL12: INPUT 1
|
|
?CND10: ICALL1 MOUSE-INPUT?
|
|
SUB HIGH,YLEFT
|
|
GRTR? STACK,FONT-Y /FALSE
|
|
SCROLL S-TEXT,FONT-Y
|
|
RTRUE
|
|
?CCL9: MARGIN X,0
|
|
DIV Y,FONT-Y >Y
|
|
SUB WWIDTH,X
|
|
DIV STACK,FONT-X >WWIDTH
|
|
GRTR? WWIDTH,INBUF-LENGTH \?CCL18
|
|
PUSH INBUF-LENGTH
|
|
JUMP ?CND16
|
|
?CCL18: PUSH WWIDTH
|
|
?CND16: PUTB P-INBUF,0,STACK
|
|
WINPUT 0,WCRCNT,Y
|
|
WINPUT 0,WCRFUNC,RESET-MARGIN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RESET-MARGIN
|
|
MARGIN 0,0
|
|
RTRUE
|
|
|
|
.ENDSEG
|
|
|
|
.ENDI
|