100 REM******************************** 110 REM*SPEEDSCRIPT TO GEOS CONVERSION* 120 REM** BY S. GAST AND R. ROLLINS ** 125 REM******************************** 130 IFFF=1THENSYS24576:REM*REBOOT GEOS 140 FORX=49152TO49490:REM*INSTALL ML 150 READD 160 POKEX,D 170 NEXTX 180 G$="GEOS "+CHR$(102)+CHR$(111)+CHR$(114)+CHR$(109)+CHR$(97)+CHR$(116) 190 PD$="[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]":PS$="[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]":NU$=CHR$(0) 200 N$=CHR$(0):H$=N$+N$+"[223]("+N$+"[223][223][223][223][223][223][223] "+N$+N$:REM GEOS PAGE HEADDER 210 PRINTCHR$(14) 220 POKE53280,0:POKE53281,15:POKE646,11 230 PRINT"[147] [201]NSERT DISK WITH [215]ORD [208]ROCESSOR FILE " 240 PRINT" ON IT INTO DISK DRIVE NUMBER 8" 250 PRINT" [208]RESS ANY KEY TO CONTINUE" 260 GETA$:IFA$=""THEN260 270 PRINT"  [208]LEASE [215]AIT [146]" 280 OPEN15,8,15,"I0" 290 GOSUB 1800:REM CHECK ERROR CHANNEL 300 OPEN2,8,2,"#":REM PREPARE DIRECT ACCESS DISK BUFFER 310 GOSUB1800 320 PRINT#15,"U1:2 0 18 0":REM BRING TRACK 18 SECT 0 INTO BUFFER 330 GOSUB1800 340 PRINT#15,"B-P:2 173":REM POSITION POINTER TO START OF GEOS ID NAME 350 GOSUB1800 360 B$="":X=0 370 GOSUB1920:REM GET BYTE FROM CHANNEL 2 380 B$=B$+A$:REM CONCAT STRING FOR GEOS ID 390 X=X+1 400 IFX<11THEN 370:REM GET 11 CHARACTERS 410 IFB$<>G$THEN 1880:REM MAKE SURE ITS A GEOS DISK 420 PRINT"[147]" 430 POKE198,0:FC$="":FL$="" 440 INPUT"PLEASE ENTER FILENAME (16 LETTERS ONLY)";FL$ 450 IF LEN(FL$)<1 OR LEN(FL$)>16THEN PRINT"[147] TRY AGAIN":GOTO40 460 FC$=RIGHT$(PD$,(16-LEN(FL$))) 470 FC$=FL$+FC$ 480 PRINT"[147] [201]S THIS THE CORRECT FILE?" 490 PRINT"  "FC$" [146]" 500 PRINT" [217]ES, [206]O OR [209]UIT (Y/N/Q)?" 510 POKE 198,0 520 GETA$:IFA$=""THEN 520 530 IFA$="N"THEN420 540 IFA$="Q"THEN 1850 550 IFA$<>"Y"THEN520 560 CLOSE2 570 PRINT"[147]  [215][207][210][203][201][206][199] [146] " 580 OPEN2,8,2,"0:"+FL$ 590 INPUT#15,EN,EM$,ET$,ES$ 600 IFEN=62THEN2260 610 CLOSE2 620 PRINT#15,"M-R"CHR$(144)CHR$(2) 630 GET#15,DS$:IFDS$=""THENDS$=CHR$(0) 640 DS=ASC(DS$) 650 PRINT#15,"M-R"CHR$(148)CHR$(2) 660 GET#15,DP$:IFDP$=""THENDP$=CHR$(0) 670 DP=ASC(DP$) 680 PRINT#15,"M-R"CHR$(250)CHR$(2) 690 GET#15,A$:IFA$=""THENA$=CHR$(0) 700 BF=ASC(A$) 710 PRINT#15,"M-R"CHR$(252)CHR$(2) 720 GET#15,A$:IFA$=""THEN A$=CHR$(0) 730 BF=BF+(ASC(A$)*256) 740 OPEN2,8,2,"#" 750 GOSUB1800 760 PRINT#15,"U1:2 0 18"DS 770 GOSUB1800 780 PRINT#15,"B-P:2"(DP+28) 790 GOSUB1800 800 GET#2,A$:IFA$=""THENA$=CHR$(0) 810 FS=ASC(A$) 820 GET#2,A$:IFA$=""THENA$=CHR$(0) 830 FS=FS+(ASC(A$)*256)+5 840 IFBF-FS<0THEN2170 850 CLOSE2 860 PRINT"[147] [215][207][210][203][201][206][199] [160]" 870 OPEN3,8,3,"0:TEST.S.E.Q,S,W" 880 GOSUB1800 890 PRINT#3,"STEVE AND RICH"; 900 CLOSE3 910 SYS 49161 920 OPEN3,8,3,"0:TEST.S.E.Q,S,R" 930 GOSUB1800 940 PRINT#15,"M-R"CHR$(144)CHR$(2) 950 GET#15,DS$:IFDS$=""THENDS$=CHR$(0) 960 DS=ASC(DS$) 970 PRINT#15,"M-R"CHR$(148)CHR$(2) 980 GET#15,DP$:IFDP$=""THENDP$=CHR$(0) 990 DP=ASC(DP$) 1000 CLOSE3 1010 GOSUB2310 1020 PRINT#3,NU$; 1030 GOSUB2230 1040 DT$=A$:DT=ASC(DT$) 1050 GOSUB2230 1060 SD$=A$:SD=ASC(SD$) 1070 PRINT#15,"U2:3 0 18"DS 1080 CLOSE3 1090 PRINT"  [215][207][210][203][201][206][199] [146]" 1100 OPEN3,8,3,"0:TEST.S.E.Q,S,W" 1110 GOSUB1800 1120 FORX=1TO254 1130 READD:PRINT#3,CHR$(D); 1140 NEXTX 1150 CLOSE3 1160 GOSUB2310 1170 PRINT#3,NU$; 1180 GOSUB2230 1190 IT$=A$:IT=ASC(IT$) 1200 GOSUB2230 1210 IS$=A$:IS=ASC(IS$) 1220 PRINT#15,"U2:3 0 18"DS 1230 CLOSE3 1240 OPEN2,8,2,"0:"+FL$ 1250 GOSUB1800 1260 OPEN3,8,3,"0:TEST.S.E.Q,S,W" 1270 GOSUB1800 1280 GOSUB2390 1290 PRINT#3,H$; 1300 SYS49152 1310 CLOSE3 1320 CK=PEEK(2):IFCK<>0THEN1950 1330 GOSUB2310 1340 PRINT#3,NU$; 1350 GOSUB2230 1360 TRACK=ASC(A$) 1370 GOSUB2230 1380 SECTR=ASC(A$) 1390 PRINT#15,"U2:3 0 18"DS 1400 CLOSE3 1410 POKE780,TRACK:POKE781,SECTR 1420 SYS 49155 1430 CK=PEEK(2):IFCK<>0THEN1950 1440 FL=PEEK(251):IFFL=0THEN1260 1450 GOSUB2310 1460 GOSUB1640 1470 PRINT#15,"U2:3 0 18"DS 1480 GOSUB1800 1490 PRINT#15,"U1:3 0"DT;SD 1500 GOSUB1800 1510 SYS49158 1520 PRINT#15,"U2:3 0"DT;SD 1530 GOSUB1800 1540 PRINT"[147]  [208]ROGRAM [195]OMPLETE [146]" 1550 PRINT"  [198]ILE IS"T"[157] PAGES LONG [146]" 1560 PRINT" [200]APPY TO HELP" 1570 PRINT" [208]RESS 'G' TO RETURN TO [199][197][207][211]" 1580 PRINT" ANY OTHER KEY TO QUIT 1590 [161]RR$:[139]RR$[178]""[167]1590 1600 [139]RR$[179][177]"G"[167]1850 1610 [137]2430 1620 [128] 1630 : 1640 [152]15,"M-R"[199](250)[199](2) 1650 [161]#15,A$:[139]A$[178]""[167]A$[178][199](0) 1660 BS[178][198](A$) 1670 [152]15,"M-R"[199](252)[199](2) 1680 [161]#15,A$:[139]A$[178]""[167]A$[178][199](0) 1690 BS[178]BS[170]([198](A$)[172]256) 1700 BC[178]BF[171]BS:BH[178][181](BC[173]256):BL[178]BC[171](BH[172]256) 1710 AC$[178]"" 1720 [129]X[178]1[164][195](FL$):B$[178][202](FL$,X,1):[139]B$[178]"*"[167]X[178][195](FL$):[137]1740 1730 B[178][198](B$):[141]2120:AC$[178]AC$[170]B$:[130]X 1740 AC$[178]AC$[170][201](PS$,(16[171][195](AC$))) 1750 DI$[178][199](131)[170]DT$[170]SD$[170]AC$[170]IT$[170]IS$[170][199](1)[170][199](7)[170][199](86)[170][199](10) 1760 DI$[178]DI$[170][199](4)[170][199](1)[170][199](0)[170][199](BL)[170][199](BH) 1770 [152]3,DI$; 1780 [142] 1790 : 1800 [132]15,EN,EM$,ET$,ES$ 1810 [139]EN[179]20[167][142] 1820 [153]"LOAD  STR$ISK VALRROR WAIT 1830 PRINT" [208]LEASE RERUN PROGRAM AND TRY AGAIN 1840 [153]" "EN;EM$" "ET$" ";ES$ 1850 [160]2:[160]3:[160]15 1860 [128] 1870 : 1880 [153]"LOAD (null)HIS IS NOT A CHR$EOS STR$ISK" 1890 [153]"PLEASE RERUN PROGRAM AND USE CHR$EOS DISK" 1900 [137]1850 1910 : 1920 [161]#2,A$:[139]A$[178]""[167]A$[178][199](0) 1930 [142] 1940 : 1950 [153]"LOAD (null)HIS IS A CORRUPTED FILE 1960 PRINT" [208]ROGRAM WILL NOT WORK ON IT 1970 [153]" (null)LEASE REWRITE FILE AND TRY AGAIN 1980 PRINT" PRESS 'Q' TO QUIT 1990 [153]" ATNNY OTHER KEY FOR CHR$EOS 2000 GETA$:IFA$=""THEN2000 2010 IFA$<>"Q"THEN2430 2020 GOTO1850 2030 PRINT"[147]  "FC$" [146]" 2040 PRINT"  IS NOT ON DISK [208]LEASE TRY AGAIN" 2050 PRINT" [197]NTER 'Y' TO TRY AGAIN 2060 [153]" ANY OTHER KEY TO QUIT 2070 POKE198,0 2080 GETA$:IFA$=""THEN2080 2090 IFA$<>"Y"THEN1850 2100 CLOSE2:CLOSE3:CLOSE15:GOTO190 2110 : 2120 IFB>64ANDB<91THENB=B+32:B$=CHR$(B) 2130 IFB>192ANDB<224THENB=B-96:B$=CHR$(B) 2140 RETURN 2150 PRINTB;ASC(B$):RETURN 2160 : 2170 PRINT"[147] [212]HERE IS NOT ENOUGH ROOM ON THIS DISK 2180 [153]" (null)LEASE TRANFER FILE TO ANOTHER 2190 PRINT" [199]OES DISK WITH MORE SPACE":GOTO1980 2200 "[147]  [197][210][210][207][210] [146] 2210 [137]1850 2220 : 2230 [161]#3,A$:[139]A$[178]""[167]A$[178][199](0) 2240 [142] 2250 : 2260 [153]"LOAD(null)HE FILE IS NOT ON THIS DISK 2270 PRINT"[208]LEASE INSERT DISK WITH THE FILE 2280 [153]"INTO DRIVE #8 AND TRY AGAIN 2290 GOTO2050 2300 : 2310 OPEN3,8,3,"#" 2320 GOSUB1800 2330 PRINT#15,"U1:3 0 18"DS 2340 GOSUB1800 2350 PRINT#15,"B-P:3"DP 2360 GOSUB1800 2370 RETURN 2380 : 2390 T=T+1 2400 PRINT" [205]AKING [208]AGE [206]UMBER[146] "T 2410 RETURN 2420 : 2430 CLOSE2:CLOSE3:CLOSE15 2440 POKE53272,(PEEK(53272)AND15)OR192:POKE648,48 2450 PRINT"[147]" 2460 OPEN15,8,15:OPEN2,8,2,"GEOS BOOT,P,R":INPUT#15,GG:CLOSE2:CLOSE15 2470 IFGG=0THEN2520 2480 PRINT" [201]NSERT GEOS DISK IN DRIVE 0." 2490 PRINT" HIT ANY KEY TO CONT..... 2500 [161]A$:[139]A$[178]""[167]2500 2510 [137]2450 2520 [139]FF[178]0[167]FF[178]1:[147]"GEOS BOOT",8,1 2530 [128] 9999 [143] UNIVERSAL ML MODULE 10000 [131]76,170,192,76,109,192,76,127,192,76,147,192,0,0,2,0,169,0,133,2,32 10100 [131]204,255,162,3,32,201,255,169,12,32,210,255,32,204,255,96,162,2,32 10200 [131]198,255,32,207,255,166,144,208,6,72,32,204,255,104,96,72,169,255,133 10300 [131]251,32,204,255,104,96,72,162,3,32,201,255,104,72,32,210,255,32,204 10400 [131]255,104,205,169,192,240,10,238,13,192,173,13,192,201,79,144,8,169,0 10500 [131]141,13,192,238,12,192,96,169,255,133,2,96,172,14,192,153,0,207,200 10600 [131]138,153,0,207,200,240,188,140,14,192,96,162,3,32,201,255,160,0,185,0 10700 [131]207,32,210,255,200,208,247,32,204,255,96,162,0,169,0,157,0,207,232 10800 [131]169,255,157,0,207,232,208,242,169,255,141,15,192,96 10900 [143] ***************************** 10999 [143] SPEEDSCRIPT MODULE 11000 [131]13,173,15,192 11100 [131]240,3,32,249,192,169,0,141,15,192,133,144,133,2,133,251,141,13,192 11200 [131]141,12,192,165,251,240,1,96,32,37,192,48,246,240,59,201,27,144,61 11300 [131]201,28,144,51,240,234,201,31,144,45,240,55,201,64,144,6,240,222,201 11400 [131]91,176,50,32,65,192,173,12,192,201,60,176,3,76,195,192,76,16,192,162 11500 [131]2,32,198,255,160,2,32,207,255,136,208,250,32,204,255,96,24,105,64,76 11600 [131]233,192,24,105,96,76,233,192,169,13,76,233,192,76,104,192,0,0,0,0,0 11700 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 11800 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0 11900 [143] ***************************** 11999 [143] INFO BLOCK DATA 15000 [131]3,21,191 15100 [131]255,255,255,128,0,1,136,128,1,133,117,97,130,85,65,130,119,65,128,0 15200 [131]1,143,81,193,136,81,1,142,81,193,136,81,1,136,93,193,128,0,1,255,255 15300 [131]255,0,0,1,247,119,17,132,84,49,151,87,127,148,81,48,247,119,16,0,0,0 15400 [131]131,7,1,0,0,255,255,0,0,87,114,105,116 15500 [131]101,32,73,109,97,103,101,32,86,49,46,49,0,0,0,0 15600 [131]101,32,73,109,97,103,101,32,86,49,46,49,0,0,0,0 15610 [131]83,46,32,71,97,115,116,32,38,32,82,46,32,82,111,108,108,105,110,115 15700 [131]103,101,111,87,114,105,116,101,32,32,32,32,86,49,46,49,0 15800 [131]0,0,0,162,16,189,124,40,157,107,40,202,208,247,32,75,193,169,0,133,46 15900 [131]32,60,57,169,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 16000 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 16100 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0