8-Bit Software Online Conversion
Make Printer Driver lp - Listing
10REM > MakeLP
20MODE&87:PROCG(&D00):MODE&84:G$="1.1
3":PROCM:DIMH%&300:ONERRORIFFNJPRINT" at
line ";ERL:END
30*FX4
40REPEATUNTILFNG:*FX4
50END
60DEFPROCM:j%=FALSE:g%=FALSE:h%=FALSE
:M%=FALSE:G%=FALSE:c$="Code for ":Q%=66:
R%=60:b%=TRUE:`%=FALSE:T%=TRUE:N%=TRUE:I
%=TRUE:D%=TRUE:E%=TRUE:J%=TRUE:L%=TRUE:e
%=0:M=&FFEE:YA=&FFE3:N=&FFCE:b=&FFD7:DIM
A$(101):FORl%=32TO101:A$(l%)=" ":NEXT
:FORl%=32TO101:READA$(l%):IFA$(l%)<>""A$
(l%)=EVALA$(l%)ELSEA$(l%)=""
70NEXT
80DATA CHR$27+"@",,CHR$27+"E",,CHR$27
+"G",,,,,CHR$27+"4",,,,,,,,,,CHR$27+"S0"
,,,,CHR$27+"W1",,CHR$27+"S1",,,,,,
90DATA CHR$27+"R"+CHR$3+"#"+CHR$27+"R
"+CHR$0,,CHR$27+"F",,CHR$27+"H",,,,,CHR$
27+"5",,,,,,,,,,CHR$27+"T",,,,CHR$27+"W0
",,CHR$27+"T",,,,,,
100DATA CHR$27+"-0",CHR$27+"-1",,,,,,,
,,,,,,,
110ENDPROC
120DEFFNB(A$):LOCALl%,B$:B$="":IFA$="+
+":="Set bit 7"
130IFA$="--":="Clear bit 7"
140IFA$=""=""
150FORl%=1TOLENA$:m$=MID$(A$,l%,1):IFl
%<>1 B$=B$+","
160IFASCm$<32ORASCm$>126 B$=B$+STR$ASC
m$ELSEIF(m$>="0"ANDm$<="9")ORm$=","B$=B$
+CHR$34+m$+CHR$34ELSEB$=B$+m$
170NEXT:=B$
180DEFFNG:CLS:PRINTSPC4"Printer Driver
Generator ";G$'SPC4;STRING$(29,"="):PRI
NT'SPC9"(C)1992 J.G.Harston":PRINT''SPC5
"1 : General settings":PRINT'SPC5"2 : Le
tter extensions":PRINT'SPC5"3 : Save set
tings":PRINT'SPC5"4 : Load settings":PRI
NT'SPC5"5 : (Create View Driver)":PRINT'
SPC5"6 : Create lp Program"
190PRINT''SPC5"0 : Exit"'':PRINTSPC5"P
ress a key: ";:REPEATREPEATA$=GET$:UNTIL
INSTR("0123456*"+CHR$13+CHR$0,A$):IFA$<>
"*"PRINTA$
200IFA$="*"INPUTLINE"*"A$:OSCLIA$:A$="
":PRINT":";
210IFA$=CHR$0PRINT"Saving...";:OSCLI"S
AVE "+MID$($(PAGE+4),INSTR($(PAGE+4),">"
)+1)+" "+STR$÷PAGE+" "+STR$÷TOP+" FFFF00
00 FFFFFB00"
220IFA$="1"PROCC
230IFA$="2"PROCH
240IFA$="3"PROCN
250IFA$="4"PROCO
260IFA$="5"PROCI
270IFA$="6"PROCJ
280UNTILA$<>"":=A$="0"
290DEFFNJ:IFERR=17ANDINKEY-1=0=0
300LOCALA$:REPORT:A$=GET$:=INKEY-1
310DEFPROCC:CLS:PRINTSPC10"General Par
ameters"':PRINT"Auto linefeed? "FND(b%)'
'"Paper length: ";Q%''"Text page length:
";R%:PRINT'"FF at end of page? "FND(`%)
''"LF at end of page? "FND(T%):PRINT'"FF
after last page? "FND(N%):PRINT'"Conver
t CHR$96 (£) to pound? "FND(J%)
320PRINT"Convert CHR$163 ("CHR$163") t
o pound? "FND(L%):PRINTc$"pound: "FNB(A$
(64)):PRINT'"Highlight 1:":PRINTc$"under
line on: ";FNB(A$(97)):PRINTc$"underlin
e off: ";FNB(A$(96)):PRINT'"Use extended
highlights? ";FND(I%)':IFI%PRINT'
330IFNOTI%PRINT"Highlight 2:"'c$"bold
on: ";FNB(A$(98))'c$"bold off: ";FNB(A$
(99))
340PRINT'':PRINTSTRING$(40,"=")"Printe
r reset with code '@' (see page 2)Pound
also defined with code '£'";:REPEATPRINT
TAB(13,2);:b%=FNC(b%):INPUTTAB(18,4);x%:
PROCx(18,4):IFx%>10 Q%=x%:PRINTTAB(14,4)
;x%;" "
350INPUTTAB(22,6);x%:PROCx(22,6):IFx%>
10 R%=x%:PRINTTAB(18,6);x%;" "
360PRINTTAB(17,8);:`%=FNC(`%):IF`%T%=F
ALSE:PRINTTAB(19,10);"No "
370IFNOT`%PRINTTAB(17,10);:T%=FNC(T%)
380PRINTTAB(18,12);:IF`%+T%=0 N%=0:PRI
NT"? No "ELSEN%=FNC(N%)
390PRINTTAB(27,14);:J%=FNC(J%):PRINTTA
B(28,15);:L%=FNC(L%):PRINTTAB(0,17)"Code
: ";:INPUTLINE""x$:PROCx(0,17):IFx$<>""A
$(64)=FNA(x$):PRINTTAB(16,16)FNB(A$(64))
;:PROCx(POS,VPOS):IFx$=" "A$(64)=""
400PRINTTAB(0,21)c$"on: ";:INPUTLINE""
x$:PROCx(0,21):IFx$<>""A$(97)=FNA(x$):PR
INTTAB(24,19)FNB(A$(97));:PROCx(POS,VPOS
):IFx$=" "A$(97)=""
410PRINTTAB(0,21)c$"off: ";:INPUTLINE"
"x$:PROCx(0,21):IFx$<>""A$(96)=FNA(x$):P
RINTTAB(24,20)FNB(A$(96));:PROCx(POS,VPO
S):IFx$=" "A$(96)=""
420PRINTTAB(23,22);:I%=FNC(I%):PRINT:I
FI%PROCx(POS,VPOS):PROCx(0,VPOS+1):PROCx
(0,VPOS+1)ELSEPRINT"Highlight 2:"'c$"bol
d on: ";FNB(A$(98))'c$"bold off: ";FNB(
A$(99))
430IFNOTI%PRINTTAB(0,27)c$"on: ";:INPU
TLINE""x$:PROCx(0,27):IFx$<>""A$(98)=FNA
(x$):PRINTTAB(19,25)FNB(A$(98));:PROCx(P
OS,VPOS):IFx$=" "A$(98)=""
440IFNOTI%PRINTTAB(0,27)c$"off: ";:INP
UTLINE""x$:PROCx(0,27):IFx$<>""A$(99)=FN
A(x$):PRINTTAB(19,26)FNB(A$(99));:PROCx(
POS,VPOS):IFx$=" "A$(99)=""
450PRINTTAB(0,28)"Ok";:i%=FNC(FALSE):P
ROCx(0,28):UNTILi%:ENDPROC
460DEFPROCx(X%,Y%):PRINTTAB(X%,Y%);SPC
(39-POS);:ENDPROC
470DEFFND(F%):IFF%:="Yes"ELSE="No "
480DEFFNH(l%):IFl%=D%:="Set bit 7"
490IFl%<>E%:=FNB(A$(l%))ELSE="Clear bi
t 7"
500DEFPROCD(A%):CLS:FORl%=0TO31:PRINTT
AB(0,l%);CHR$(l%+A%+32);" ";FNH(l%+A%);T
AB(20,l%);CHR$(l%+A%+64);" ";FNH(l%+A%+3
2);:NEXT:ENDPROC
510DEFPROCH:t%=32:PROCD(t%):*FX4,1
520l%=0:REPEATREPEATPRINTTAB(1+20*((l%
DIV32)AND1),l%MOD32);":";TAB(20,31);CHR$
(l%+t%+32);" ";LEFT$(FNB(A$(l%+t%)),16);
SPC(38-POS);TAB(20,31);:K%=GET:m%=l%:IFK
%=136 m%=l%-32
530IFK%=137 m%=l%+32
540IFK%=138 m%=l%+1
550IFK%=139 m%=l%-1
560IFK%=135 t%=t%EOR32:PROCD(t%)
570IFm%<0ORm%>62 m%=l%
580IFm%<>l%PRINTTAB(1+20*((l%DIV32)AND
1),l%MOD32);" ";:l%=m%
590UNTILK%<127ANDK%>31:PROCT:UNTIL0:EN
DPROC
600DEFPROCT:PRINTTAB(22,31);SPC16;TAB(
22,31);:C$=FNA(FNE(CHR$K%,17)):IFLEFT$(C
$,1)=" "C$=""
610IFC$=""ANDD%=l%D%=TRUE
620IFC$=""ANDE%=l%E%=TRUE
630IFC$="++"ANDD%>TRUEIF((D%-t%)AND&FF
C0)=0PRINTTAB(2+20*((D%-t%)DIV32),D%AND3
1);SPC18;
640IFC$="--"ANDE%>TRUEIF((E%-t%)AND&FF
C0)=0PRINTTAB(2+20*((E%-t%)DIV32),E%AND3
1);SPC18;
650IFC$="++"C$="":D%=(l%+t%)OR(l%+t%<3
2)
660IFC$="--"C$="":E%=(l%+t%)OR(l%+t%<3
2)
670A$(l%+t%)=C$:PRINTTAB(2+20*((l%DIV3
2)AND1),l%MOD32);FNH(l%+t%);SPC(20-(POSM
OD20));:UNTIL0
680DEFFNA(A$):LOCALl%,B$:l%=1:REPEATm$
=MID$(A$,l%,1):IF(m$<"0"ORm$>"9")ANDm$<>
CHR$34 B$=B$+m$:l%=l%+1
690IFm$=CHR$34ANDMID$(A$,l%+2,1)=CHR$3
4 B$=B$+MID$(A$,l%+1,1):l%=l%+3
700IF(m$>="0"ANDm$<="9")B$=B$+CHR$VALM
ID$(A$,l%):l%=l%+INSTR(MID$(A$,l%)+",","
,")-1
710IFMID$(A$,l%,1)=","l%=l%+1
720UNTILl%>LENA$:=B$
730DEFFNE(A$,£%):LOCALB%,l%:$H%=A$:l%=
LENA$:PRINTA$;:REPEATB%=GET:IFB%=127ANDl
%<>0VDU127:l%=l%-1
740IFB%>31ANDB%<127ANDl%<£%VDUB%:H%?l%
=B%:l%=l%+1
750UNTILB%=13:H%?l%=13:=$H%
760DEFPROCI:INPUT"Filename to save by:
"F$:IFF$=""F$="drv"
770PRINT'"Assembling View Printer Driv
er";:FORP=0TO1:C%=P*3+4:P%=&400:O%=H%:O%
=H%:[OPTC%:JMPv:JMPQA:JMPIA:RTS:.RA:BRK:
.£A:BRK:RTS:]:PROCB(C%):[OPTC%:.QA:LDA#2
:JMP&FFEE:.IA:LDA#3:JMP&FFEE:.v:]:IFI%[O
PTC%:BITRA:BMIw:]
780[OPTC%:CMP#&81:BEQx:CMP#&80:BEQy:CM
P#13:BEQj:]:IFJ%[OPTC%:CMP#96:BEQq:]
790IFL%[OPTC%:CMP#163:BEQr:]
800[OPTC%:JMP&FFEE:.w:.q:.r:.y:.x:.j:R
TS:]NEXT:OSCLI"*SAVE "+F$+" "+STR$÷H%+"
"+STR$÷O%+" 400 400":PRINT"...":IFGET
810ENDPROC
820DEFFNF:G%=0:M%=TRUE:l%=0:REPEATIFA$
(l%)<>""FORm%=1TOLENA$(l%):G%=G%OR(ASCMI
D$(A$(l%),m%,1)>127):NEXT
830l%=l%+1:UNTILl%=102ORG%:IFG%:=FNI
840l%=0:REPEATIFA$(l%)<>""ANDLEFT$(A$(
l%),1)<>CHR$27 M%=0
850l%=l%+1:UNTILl%=102ORM%=0:=0
860DEFFNI:M%=0:f%=0:l%=0:REPEATIFA$(l%
)<>""FORm%=1TOLENA$(l%):PROCQ(ASCMID$(A$
(l%),m%,1)):NEXT
870l%=l%+1:UNTILl%=102OR(M%ANDf%):IFM%
ANDf%PRINT"Can't build table with both 0
and 255";:f%=GET:=TRUEELSE=0
880DEFPROCQ(A%):IFA%=0 M%=TRUE:ENDPROC
890IFA%=&FF f%=TRUE
900ENDPROC
910DEFPROCB(C%):U%=(M%AND128)+(b%AND64
)+(`%AND32)+(T%AND16)+(I%AND8)+(J%AND4)+
(L%AND2)+(N%AND1):W%=(G%AND128)+(e%AND64
):[OPTC%:EQUBU%:EQUB(Q%AND31)+(((E%-32)*
4)AND&E0):EQUB(R%AND31)+(((E%-32)*32)AND
&E0):EQUBW%+((D%-32)AND(D%>0ANDE%>0)):.F
:]:FORl%=0TO101:IFA$(l%)<>""PROCU
920NEXT:[OPTC%:EQUB255:]:ENDPROC
930DEFPROCU:[OPTC%:EQUBl%+1:]:IFG%[OPT
C%:EQUSA$(l%):EQUBM%AND&FF:]:ENDPROC
940IFM%[OPTC%:EQUSMID$(A$(l%),2,LENA$(
l%)-2):EQUB128+ASCRIGHT$(A$(l%),1):]:END
PROC
950[OPTC%:EQUSLEFT$(A$(l%),LENA$(l%)-1
):EQUB128+ASCRIGHT$(A$(l%),1):]:ENDPROC
960DEFPROCJ:PRINT"Create 'lp' program"
:IFFNFENDPROC
970INPUT"Filename to save by: "F$:IFF$
=""F$="lp"
980D$=F$:IFINSTR(D$,".")REPEATD$=MID$(
D$,INSTR(D$,".")+1):UNTILINSTR(D$,".")=0
990PRINT"Assembling ";F$:Z%=&FFFF0900:
B=0:REPEATO%=H%:P%=Z%:z=B:PROCA(4):IFB>&
B00 Z%=&FFFF08C0
1000UNTILB=z:O%=H%:P%=Z%:PROCA(6):PRINT
"Saving ";F$'"Start: &";÷Z%AND&FFFF;" E
nd: &";÷B:OSCLI"SAVE "+F$+" "+STR$÷H%+"
"+STR$÷O%+" "+STR$÷(d%OR&FFFF0000)+" "+S
TR$÷Z%:ENDPROC
1010DEFPROCA(C%):PROCB(C%):PROCK(C%):PR
OCE(C%):PROCL(C%):PROCF(C%):PROCP(C%):EN
DPROC
1020DEFPROCK(C%):[OPTC%:.O:LDA#1:STAQ:R
TS:.AA:TYA:PHA:JSRO:LDA#124:JSR&FFF4:LDA
#15:JSR&FFF4:PLA:TAY:.OA:]:IFN%[OPTC%:JS
Rn:]
1030[OPTC%:DECQ:BEQBA:LDA#0:STA&A8:STA&
A9:STA&AA:STA&AB:LDX#&A8:LDA#1:JSR&FFDA:
.`:JSR£:STAo:JMPD:.BA:LDA#3:JSRM:LDA#0:]
:IFB<&B00 [OPTC%:JMPN:]
1040IFB>&AFF [OPTC%:JSRN:LDA#0:LDX#1:JS
R&FFF4:CPX#3:BCSSA:LDA#18:JMP&FFF4:.SA:R
TS:]
1050ENDPROC
1060DEFPROCE(C%):[OPTC%:.R:JSRJA:LDAL:C
MP#R%:BCCD:JSRn:.D:LDX#1:]:ENDPROC
1070DEFPROCL(C%):[OPTC%:.E:BIT&FF:BMIAA
:JSRb:BCSOA:]:ENDPROC
1080DEFPROCF(C%):[OPTC%:CMP#32:BCCTA:]:
IF(D%ORE%)>0 [OPTC%:ORAbit7:]
1090IFJ%[OPTC%:CMP#96:BEQS:]
1100IFL%[OPTC%:CMP#163:BEQS:]
1110[OPTC%:.PA:INX:JSRC:JMPE:.TA:CMP#13
:BEQR:CMP#10:BEQR:CMP#9:BEQZA:CMP#12:BEQ
CA:CMP#28:BEQc:CMP#29:]:IFI%[OPTC%:BEQf:
]ELSE[OPTC%:BEQUA:]
1120[OPTC%:BNEE:]:IFJ%ORL%[OPTC%:.S:LDA
#64:BNEI:]
1130[OPTC%:.CA:JSRn:JMPD:]:IFI%[OPTC%:.
VA:JMPOA:.f:JSRb:BCSVA:SBC#31:BMIE:CMP#9
5:BCSE:]
1140IF(E%ORD%)>0:[OPTC%:CMP#D%:BEQWA:CM
P#E%:BNEI:LDA#0:.KA:STAXA:JMPE:.WA:LDA#1
28:BMIKA:]
1150[OPTC%:.I:JSRG:JMPE:.c:LDAH:EOR#1:S
TAH:AND#1:ORA#96:.DA:JSRG:JMPE:]:IFNOTI%
[OPTC%:.UA:LDAH:EOR#2:STAH:LSRA:AND#1:OR
A#98:BNEDA:]
1160[OPTC%:.ZA:TXA:AND#7:TAX:.EA:LDA#32
:JSRC:INX:TXA:CMP#8:BNEEA:JMPE:.LA:LDA#2
7:BNEU:.C:.U:PHA:LDA#1:JSRk:PLA:.k:JMPM:
]:IF`%[OPTC%:.n:LDA#12:JSRU:]
1170IFT%[OPTC%:.FA:JSRa:.n:LDAL:CMP#Q%:
BCCFA:]
1180[OPTC%:INCo:.£:LDA#0:STAL:RTS:.JA:B
ITH:BVCa:JSRa:.a:]:IFb%[OPTC%:LDA#10:JSR
C:]
1190[OPTC%:INCL:LDA#13:JMPC:.G:STXJ:CLC
:ADC#1:LDX#0:.GA:CMPF,X:BEQl:BCCK:PHA:.T
:INX:LDAF,X:]:IFG%=0 [OPTC%:BPLT:]
1200IFG%ANDM%[OPTC%:CMP#&FF:]
1210IFG%[OPTC%:BNET:]
1220[OPTC%:PLA:INX:BNEGA:.l:]:IFG%=0AND
M%[OPTC%:JSRLA:]
1230[OPTC%:.V:INX:LDAF,X:]:IFG%ANDM%[OP
TC%:CMP#&FF:]
1240IFG%[OPTC%:BEQK:]
1250IFG%=0 [OPTC%:AND#127:]
1260[OPTC%:JSRC:]:IFG%=0 [OPTC%:LDAF,X:
BPLV:]ELSE[OPTC%:JMPV:]
1270[OPTC%:.K:LDXJ:RTS:]:ENDPROC
1280DEFPROCP(C%):o%=O%:p%=P%:[OPTC%:.Q:
BRK:.W:BRK:.L:BRK:.o:BRK:.H:BRK:.J:]:IF(
E%ORD%)>0:[OPTC%:.XA:BRK:]
1290O%=o%:P%=p%:[OPTC%:.d%:LDX#&A8:LDY#
0:JSRO:STYW:JSR&FFDA:LDA(&A8),Y:CMP#13:B
EQp:LDX#0:CMP#ASC"+":BNEs:LDX#&40:JSRZ:B
EQp:.s:STXH:TYA:PHA:.MA:INY:LDA(&A8),Y:C
MP#ASC"!":BCSMA:JSRg:BEQh:JSRi:STAQ:JSRg
:BEQh:JSRi:STAW:.h:PLA:CLC:ADC&A8:TAX
1300LDA#0:ADC&A9:TAY:LDA#&40:JSRN:TAY:B
EQm:LDA#2:JSRM:LDA#32:JSRG:JMP`:.p:.`A:B
RK:EQUB220:EQUS"Syntax: "+D$+" (+)<afsp>
(<num>)":.m:BRK:EQUB214:EQUS"Not found"
:BRK:.i:LDA#0:.NA:STA&AA:LDA(&A8),Y:CMP#
ASC"0":BCCHA:AND#15:PHA
1310LDA&AA:ASLA:ASLA:ADC&AA:ASLA:STA&AA
:PLA:ADC&AA:INY:BNENA:.HA:LDA&AA:RTS:.Z:
INY:.g:LDA(&A8),Y:CMP#ASC" ":BEQZ:CMP#13
:RTS:EQUS"V"+G$:BRK:.B:]:ENDPROC
1320DEFPROCN:IFFNFENDPROC
1330PRINT'"Save settings":INPUT"Filenam
e: "F$:P%=H%:PROCB(0):OSCLI"SAVE "+F$+"
"+STR$÷H%+" "+STR$÷P%+" 0 0":ENDPROC
1340DEFPROCO:PRINT'"Load settings":INPU
T"Filename: "F$:OSCLI"LOAD "+F$+" "+STR$
÷H%:V%=H%:IF?V%=&4CANDV%?3=&4CANDV%?6=&4
C V%=V%+13
1350U%=?V%:Q%=V%?1:R%=V%?2:W%=V%?3:a%=V
%?4:E%=8*(Q%DIV32)+R%DIV32:Q%=48+(Q%AND3
1EOR16):R%=48+(R%AND31EOR16):D%=W%AND31:
IFD%=0 D%=TRUE:E%=TRUEELSED%=D%+32:E%=E%
+32
1360M%=(U%AND128)<>0:b%=(U%AND64)<>0:`%
=(U%AND32)<>0:T%=(U%AND16)<>0:I%=(U%AND8
)<>0:J%=(U%AND4)<>0:L%=(U%AND2)<>0:N%=(U
%AND1)<>0:G%=(W%AND128)<>0:e%=(W%AND64)<
>0:IFM%E$=CHR$27ELSEE$=""
1370IFa%=0PROCR:ENDPROC
1380IFa%>80PRINT"Unknown format";:a%=GE
T:ENDPROC
1390x%=1:IFa%=1 x%=-31
1400m%=V%+4:IFG%PROCS:ENDPROC
1410FORl%=0TO101:A$(l%)="":IF?m%=l%+x%:
REPEATm%=m%+1:A$(l%)=A$(l%)+CHR$(?m%AND1
27):UNTIL?m%>127:m%=m%+1:A$(l%)=E$+A$(l%
)
1420NEXT:ENDPROC
1430DEFPROCS:FORl%=0TO101:A$(l%)="":IF?
m%=l%+1:REPEATm%=m%+1:A$(l%)=A$(l%)+CHR$
?m%:UNTIL?m%=(M%AND&FF):m%=m%+1:A$(l%)=L
EFT$(A$(l%),LENA%(l%)-1)
1440NEXT:ENDPROC
1450DEFPROCR:m%=V%+84:FORl%=4TO73:£%=?(
V%+l%+1)-V%?l%:IF£%>0 A$(l%+28)=E$:FORn%
=1TO£%:A$(l%+28)=A$(l%+28)+FNK(?m%):m%=m
%+1:NEXTELSEA$(l%+28)=""
1460NEXT:E%=TRUE:D%=TRUE:ENDPROC
1470DEFFNK(c%):IFG%ANDc%>127:=CHR$27+CH
R$(c%AND127)ELSE=CHR$c%
1480DEFFNC(F%):LOCALK%:PRINT"? (";CHR$(
78-F%*11);")";:REPEATK%=GET:IFK%>95 K%=K
%AND&DF
1490UNTILK%=13ORK%=89ORK%=78:IFK%=13 K%
=F%ELSEK%=K%=89
1500PRINTSTRING$(3,CHR$127);:IFK%PRINT"
Yes"ELSEPRINT"No "
1510=K%
1520DEFPROCG(S%):A%=133:X%=&84:A%=(USR&
FFF4AND&FFFF00)DIV256:IFA%-TOP>S%ENDPROC
1530B%=(PAGE+(A%-TOP-S%))AND&FF00:PRINT
"Relocating to &";÷B%:*K.0 RUN|M
1540*FX225,1
1550*FX138,0,128
1560FORA%=0TOTOP-PAGE+4STEP4:B%!A%=A%!P
AGE:NEXT:PAGE=B%:END