0 SCREEN,0:PRINT"VOYEUR N2.0.1 by James Main Kenney 1994":PRINT" Distribute exact copies freely":DEFINTB-V:U=128:T=256:Z=T^2:E$=CHR$(27):F$="A":M=280:W=63583!:GOTO90 1 IFA+10>ZTHENA=A-Z:GOTO1ELSEA=A+1:B=PEEK(A):PRINTE$"p";:IFB<32THENC=B+64ELSEIFBMODU=127THENC=126ELSEIFB>159THENC=B-UELSEIFB>130THENC=B-64ELSEC=B:PRINTE$"q"; 2 C$=CHR$(C):LOCATEP,L:PRINTC$;:CP=POS(0):CL=CSRLIN:IFDTHENT$=RIGHT$(T$+CHR$(B),D):IFINSTR(S$,T$)THENK=2:BEEP 3 IFINKEY$>""THENK=2:GOTO6ELSEIFKTHEN6 4 LOCATECP,CL:PRINTE$"q ";:IFCL<7THENP=CP:L=CL:GOTO1ELSEIFETHENPRINTE$"W"E$"L":P=0:L=6ELSE6 5 LOCATE0,7:PRINTE$"L"USING"> #####";A+1;:GOTO1 6 R=BMODUMOD127:IFR<32THENR=32 7 LOCATE12,7:PRINTE$"V"C$;E$"q ":PRINTCHR$(R);USING" ##### ### ";A;B:LOCATE14,7:IFB<32ORB=127ORB>130THENC$="^"+C$ 8 IFHTHENX=B:FORR=0TO1:G$=H$:H$="":FORJ=1+2*RTO0STEP-1:S=X/16^J:H$=H$+CHR$(48+S+7*(S\10)):X=X-S*16^J:NEXT:PRINT"H"H$" ";:X=A:NEXT:IFFTHENPRINT#1,H$" "G$; 9 X=-1:FORJ=1TO8:A(J)=PEEK(A+J):NEXT:S=A(1):IFF=2ORF=3THENPRINT#1,CHR$(H*32);USING"##### ###";A;B; 10 IFN=0THEN21ELSEIFQTHENQ=Q-1:GOTO23ELSEIFB=0THENX=A(3)+T*A(4):Q=4:V=0:GOTO12ELSEIFB=34THENV=VXOR1ELSEIFVOR(B>31ANDB<>58ANDBUTHEN12ELSEIFB=31THENDEFDBLXELSEIFB=58THENIFS=161THEN23ELSEIFS=143ANDA(2)=228THENQ=1:GOTO23 11 IFB>16ANDB<27THENX=B-17ELSEIFB=15THENX=S:Q=1ELSEIFB=29ORB=31THENC=2*(B-27):X=1/2:FORJ=1TOC-1:X=X+A(J)*T^(J-C):NEXT:X=X*2^(A(C)-U):Q=CELSEX=-1:IFB=13ORB=14ORB=28THENX=S+T*A(2):Q=2:IFB=13THENX=PEEK(X+3)+T*PEEK(X+4) 12 IFB=255ANDS>UANDS<170THENC=S-U:Q=1ELSEIFB>UTHENC=B-87ELSEIFX>=0THENC$=RIGHT$(STR$(X),LEN(STR$(X))-1):IFB=29ANDINSTR(C$,".")=0ANDINSTR(C$,"E")=0THENC$=C$+"!"ELSEIFB=31ANDINSTR(C$,"D")=0THENC$=C$+"# 13 IFB=##TC#?#YXXT###I66VZ<]#+J3=Y3##S#]^^\\\]]&J[7=F]#",C,1)):IFR<38THEN23 14 R=10*R+VAL(MID$("628105487717885393081021##2###5938###5401970488962336133304782##5049917#25####665#1173990651104205727776055##5####530047##31#5#1377###1144256#960939##7#802468022487654",C,1)):C$=" 15 FORJ=RTOR+6:S=PEEK(J):IFS381ANDR<924THENC$=MID$("LRMSIASRSLECTAFIPLSVACPS##L###CCCF###DELLEFNDIDRLGRIRGRRSPCLNO##PCCCOLL#WE####ERM#RDDDDLPPBFKCCMCMSEESCPBBD##O####CLMFNK##SL#L#TTTS###NEESUI##CODITD##S#########AOXEIM",C,1)+C$ 20 PRINTC$; 21 IFF=3ORF=5THENPRINT#1," "; 22 IFFAND1THENIFN=1ANDB=0THENPRINT#1,:PRINT#1,C$" ";ELSEIFB=0ORB=26ORB>31ORX>=0THENPRINT#1,C$;ELSEPRINT#1,CHR$(B); 23 PRINTE$"K":DEFSNGX:X=A(1)+T*A(2):IFB<>31THENLOCATE32,7:PRINTX 24 IFFTHENLOCATE39,7:PRINT"F":IFF>1THENPRINT#1, 30 IFK=1THEN4ELSELOCATEP,L:E=0:K$=INPUT$(1):J=INSTR("aSfbLeHNcGdZ",CHR$(ASC(K$)+70)):IFJ=1THENMENUELSEIFJ=2ORJ>4THENQ=0:IFJ=2THENK=0:P=CP:L=CL:IFCL<7THEN5ELSEE=1:GOTO4 31 IFJTHENP=P+40*L:S=(P+VAL(MID$("001001011040120",3*((J-3)MOD5)+1,3))*(1-2*(J\8))+M)MODM:A=A+S-P:P=SMOD40:L=S\40:K=2:GOTO33ELSEK=INSTR("RASFPNLHBCDT=rasfpnlhbcdt",K$)MOD13:LOCATE14,7:IFK<2THENE=1:GOTO30 32 PRINTE$"K":LOCATE14,7:Q=0:S=1:ONK-1GOSUB50,60,70,80:IFK=6THENA=A+MELSEIFK=7THENA=A-MELSEIFK=8THENH=HXOR1ELSEIFK=9THENN=NXOR1ELSEIFK>9THENP=0:L=0:CLS:IFK=11THENA=W 33 IFK>10THENK=0:GOTO5ELSEA=A-1:IFA<0THENA=A+Z:GOTO1ELSE1 40 Y=VAL(A$):IFYTHENG=1ELSEG=LEN(A$):R=ASC(A$):IFG=1ANDR<>48THENY=RELSEIFR=72ORR=104THENFORJ=0TOG-2:R=INSTR("FEDCBA9876543210=fedcba",MID$(A$,G-J,1))MOD17:IFRTHENY=Y+(16-R)*16^J:NEXT:G=1 41 RETURN 50 A$=STR$(X-1):PRINT"Adrs"A$;:INPUTA$:GOSUB40:IFG>1THENBEEPELSEX=A:A=Y:X=P+40*L+A-X:IFX>=0ANDXchr/BAS 1>adrs/byt 2>both":F=1+VAL(INPUT$(1)):IFF>1THENPRINTE$"L0>dec 1>hex 2>both":H=2*VAL(INPUT$(1)):F=F+HMOD4:IFHTHENH=1 71 RETURN 80 PRINT"Poke"STR$(Y)"? ";:LINEINPUTA$:IFA$>""THENGOSUB40 81 IFG<2ANDYstop scan; for cursor chr, read:7-bit ASC equiv; dec adrs/byt; chr; opt hex byt/adrs; opt BASIC txt; 16-bit val.Toggle: H>hex B>BASIC 91 X=W+2:GOSUB50:CLS:PRINT"Spacebar/BS/arrows>step cursor; R>run; SHIFT-arrows>jump cursor; N/L>jump adrs;C>clear screen; D>directory; ESC>MENU; 92 PRINT"return>scan; with cursor at display end:return>scroll, T>page. Prompts (prefix hex by H): A>adrs F>file P>poke S>search(enter byts or =len strings; 999>clear)":GOSUB60:CLS:A=A-1:GOTO5