8-Bit Software Online Conversion
:0.$.!Menu - Listing
10PRINT" done."
20ON ERROR CLOSE#0:CLEAR:GOTO 30
30*DRIVE0
40TIME=0:REPEATUNTILTIME>100
50CLS:PROCclear
60MODE7
70*KEY15 0|M
80*KEY14 1|M
90OSCLI("LOAD !Screen")
100PROCloadID
110:
120PRINTTAB(7,10);CHR$133;"Issue 15 Di
sc Magazine"
130PRINTTAB(7,11);CHR$133;"Issue 15 So
ftware Menu"
140PRINTTAB(7,12);CHR$133;"Issue 15 Ma
gazine Help"
150PRINTTAB(7,13);CHR$133;"Sorting Art
icle 709"
160PRINTTAB(7,14);CHR$133;"** Messages
for You **"
170choice%=FNA(3,10,34,14)
180IF choice%=1 THEN OSCLI("DRIVE2"):C
HAIN"!Mag"
190IF choice%=2 THEN PROCmenu
200IF choice%=3 THEN MODE0:PRINT"Press
CTRL and SHIFT to Pause"':OSCLI("TYPE :
2.MagINS"):PRINT:PRINT"Output Complete P
RESS RETURN":A=GET:OSCLI("DRIVE0"):CLEAR
:GOTO40
210IF choice%=5 THEN MODE0:PRINT"Press
CTRL and SHIFT to Pause"'"PRESS RETURN
to view message mailbox...":A=GET:PRINT:
OSCLI("TYPE :2.Message"):PRINT:PRINT"Out
put Complete PRESS RETURN":A=GET:OSCLI("
DRIVE0"):CLEAR:GOTO40
220IF choice%=4 THEN CLS:PROCsort:CLEA
R:GOTO 40
230RUN
240:
250DEF PROCmenu
260PROCclear
270PRINTTAB(5,7);CHR$133;"64 Colour Sc
reen Demo"
280PRINTTAB(5,8);CHR$133;"NEW Address
Book Prog"
290PRINTTAB(5,9);CHR$133;"ADFS Sector
Editor BASIC"
300PRINTTAB(5,10);CHR$133;"Cassette In
lay Printer"
310PRINTTAB(5,11);CHR$133;"Character E
ditor Program"
320PRINTTAB(5,12);CHR$133;"STD Code SY
STEM DEMO"
330PRINTTAB(5,13);CHR$133;"TV Tune/Sou
nd DEMO"
340PRINTTAB(5,14);CHR$133;"Multicolour
Puzzle Game"
350PRINTTAB(5,15);CHR$133;"Timelapsed
Arcade Game"
360PRINTTAB(5,16);CHR$133;"Locked Cass
ette Prog Loader"
370PRINTTAB(5,17);CHR$133;"View to a K
ill DEMO"
380PRINTTAB(5,18);CHR$133;"RoboCop Gam
e Graphics DEMO"
390PRINTTAB(5,19);CHR$133;"Utility ROM
- Master Only"
400PRINTTAB(5,20);CHR$133;"Powermix De
monstration 722"
410choice%=FNA(3,7,34,20)
420IF choice%=1 THEN CHAIN"64COLS"
430IF choice%=2 THEN CHAIN"ADDRESS"
440IF choice%=3 THEN CHAIN"ADFSSEC"
450IF choice%=4 THEN CHAIN"CASSINP"
460IF choice%=5 THEN *CHARINE
470IF choice%=6 THEN CLS:PRINT"Order C
JR-03 from 8BS!!":END
480IF choice%=7 THEN CHAIN"FUZRUN"
490IF choice%=8 THEN CHAIN"MULCOLR"
500IF choice%=9 THEN *TIMELAP
510IF choice%=10 THEN CLS:CHAIN"UNLOCK
"
520IF choice%=11 THEN CHAIN"VIEW"
530IF choice%=12 THEN OSCLI("DIR R"):O
SCLI("DRIVE 2"):CHAIN"ROBO"
540IF choice%=13 THEN PROCrom
550IF choice%=14 THEN PROCstart
560ENDPROC
570:
580DEFFNA(£%,a%,b%,c%):d%=(a%-1):*FX4,
2
590REPEATPRINTTAB(£%,a%);CHR$132;CHR$1
57;CHR$133;TAB((£%+b%),a%);CHR$156:*FX15
600A$=GET$:e%=VALA$:IFA$=CHR$13GOTO650
610IFe%=0THENe%=-1
620IF(a%+e%)>c%PRINTTAB(£%,a%);SPC2:a%
=(d%+1):GOTO650
630IF(a%+e%)<(d%+1)PRINTTAB(£%,a%);SPC
2:a%=c%:GOTO650
640PRINTTAB(£%,a%);SPC2:a%=a%+e%
650UNTILA$=CHR$13:*FX4,0
660=(a%-d%)
670DEFPROCA:*KEY14 1|M
680*KEY15 0|M
690*KEY12 0|M
700*KEY13 1|M
710ENDPROC
720:
730DEF PROCloadID
740PRINTTAB(6,0);"";:TIME=0:REPEATUNTI
LTIME>50
750X=OPENIN"8bsUser":IF X=0 THEN CLOSE
#0:CLS:PRINT"User ID Invalid":PRINT:END
760PTR#X=105
770INPUT#X,Name$,User$,Issue$:CLOSE#X
780PRINTTAB(5,0);CHR$135;User$;TAB(35,
1);CHR$135;Issue$
790VDU23;8202;0;0;0;
800ENDPROC
810:
820DEF PROCclear
830FOR X=5 TO 22 STEP 1
840PRINTTAB(3,X);SPC(34)
850NEXT X
860ENDPROC
870:
880DEF PROCrom
890CLS:PRINT"FOR MASTER SERIES COMPUTE
RS ONLY"''"Hit a key to go on ...":A=GET
900OSCLI("DRIVE 2")
910*SRLOAD M.UtilROM 8000 ZQ
920CLS:PRINT"ROM Image Loaded"':END
930:
940DEF PROCstart
950CLS
960VDU23;8202;0;0;0;
970*DRIVE2
980*LOAD PLAY
990*DRIVE0
1000*MEM
1010:
1020DEF PROCsort
1030*DRIVE2
1040VDU28,0,24,39,2
1050X1%=?&308:X2%=?&30A
1060Y1%=?&309:Y2%=?&30B
1070C%=X2%-X1%:R%=Y1%-Y2%-1
1080H$=" Filename :"
1090REPEAT:READfile$:PROCprint:UNTILfil
e$="END"
1100CLS:PRINTTAB(10,10);" THE END.":A=G
ET:ENDPROC
1110DEFPROCprint
1120IF file$="END" ENDPROC
1130PROCheader:PROCzap:CLS
1140chan%=OPENIN(file$):len%=EXT#(chan%
)
1150PROCzip
1160PROCmessprnt
1170CLOSE#chan%
1180PRINT'" <SPACE>";:REPEAT:A=GET:UNT
ILA=32
1190ENDPROC
1200DEFPROCmessprnt:E%=0:D%=0
1210C$=" ":REPEAT
1220B$="":REPEAT:B$=B$+C$:C$=CHR$(BGET#
chan%)
1230UNTIL(C$=" ")OR(C$=CHR$(&0D))OR(EOF
#(chan%))
1240L%=LEN(B$)
1250IF B$=CHR$(&0D) THEN PRINT:E%=E%+1:
D%=0:GOTO1270
1260IF (D%+L%)>C% PROCnewl ELSE PRINTB$
;:D%=D%+L%
1270UNTIL EOF#(chan%)
1280ENDPROC
1290DEFPROCnewl
1300IF E%>R%-2:PRINT'" <SPACE>";:E%=0:
REPEAT:A=GET:UNTILA=32:CLS:PRINTB$;:D%=L
% ELSE PRINT'B$;:E%=E%+1:D%=L%
1310ENDPROC
1320DEFPROCheader:$&7C00="
":$&7C00=(H$+" "
+file$):ENDPROC
1330DEFPROCzap:FORZ%=1TO30 STEP 2:PROCc
trc:NEXTZ%:ENDPROC
1340DEFPROCzip:FORZ%=30 TO 0 STEP -2:PR
OCctrc:NEXTZ%:ENDPROC
1350DEFPROCctrc
1360VDU23;1,40-Z%;0;0;0;
1370VDU23;2,51-(Z%/2);0;0;0;
1380VDU23;6,25-(Z%*23/30);0;0;0;
1390VDU23;7,26-(Z%/3);0;0;0;
1400ENDPROC
1410:
1420DATAW.INTRO
1430DATAW.FORMAT
1440DATAW.SORTING
1450DATAW.BUBBLE
1460DATAW.SELECT
1470DATAW.SHELL
1480DATAW.COMPARE
1490DATAEND