Home » Archimedes archive » Micro User » MU 1991-05.adf » Listings » ModuleHead
ModuleHead
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Micro User » MU 1991-05.adf » Listings |
Filename: | ModuleHead |
Read OK: | ✔ |
File size: | 3181 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > <BasicSave$dir>.ModuleHead 20REM By Paul Mason 30REM (c) The Micro User 40 50MODE 0 60PROCinit 70PROCgetinfo 80END 90 100DEFPROCinit 110DIM bin% 256 120DIM swiname$(63),commname$(63),flags%(63) 130DIM minparams%(63),maxparams%(63) 140DIM actualcommand%(63),gsmap%(63) 150DIM syntaxmess$(63),helpmess$(63) 160DIM menuf$(31),menun$(31) 170PROCinitallyoucan 180ENDPROC 190 200DEFPROCinitallyoucan 210start%=0 220init%=0 230finish%=0 240service%=0 250title$="TestMod" 260commands%=0 270swi%=0 280version$="1.00" 290noofswis%=0 300chunknumber$="000000000001" 310quit%=FALSE 320noofcomms%=0 330swiname$()="" 340commname$()="" 350flags%()=0 360minparams%()=0 370maxparams%()=0 380actualcommand%()=-1 390gsmap%()=0 400syntaxmess$()="" 410helpmess$()="" 420commname$="" 430swiname$="" 440ENDPROC 450 460DEFPROCsave(n$) 470RESTORE 480fn%=OPENOUTn$ 490end%=FALSE 500REPEAT 510 READ data$ 520 CASE data$ OF 530 WHEN "start" : PROCtrue(start%,data$) 540 WHEN "init" : PROCtrue(init%,data$) 550 WHEN "finish" : PROCtrue(finish%,data$) 560 WHEN "service" : PROCtrue(service%,data$) 570 WHEN "title" : PROCtitle 580 WHEN "help" : PROChelp 590 WHEN "commandtable" : PROCtrue(commands%,"commandtable") 600 WHEN "swih" : PROCtrue(swi%,data$) 610 WHEN "swin" : PROCtrue(swi%,data$) 620 WHEN "00" : PROC00 630 WHEN "01" : PROC01 640 WHEN "02" : PROC02 650 WHEN "03" : PROC03 660 WHEN "04" : PROC04 670 WHEN "05" : PROC05 680 WHEN "06" : PROC06 690 WHEN "07" : PROCcommandit 700 end%=TRUE 710 ENDCASE 720 IF NOT end% AND data$<>"" BPUT#fn%,data$ 730 UNTIL end% 740CLOSE #fn% 750ENDPROC 760 770DEFPROCtrue(true%,data$) 780IF true% THEN 790 data$="DCD "+data$ 800 ELSE 810 data$="DCD 0" 820 ENDIF 830ENDPROC 840 850DEFPROCcommandit 860data$="" 870IF commands% THEN 880 BPUT#fn%,".commandtable" 890 FOR comm%=0 TO noofcomms%-1 900 BPUT#fn%,"DCB "+CHR$34+commname$(comm%)+CHR$34 910 BPUT#fn%,"DCB 0" 920 BPUT#fn%,"ALIGN" 930 IF actualcommand%(comm%) THEN 940 BPUT#fn%,"DCD command"+STR$comm% 950 BPUT#fn%,"DCD &"+STR$~flags%(comm%)+STR$~maxparams%(comm%)+STR$~gsmap%(comm%)+STR$~minparams%(comm%) 960 ELSE 970 BPUT#fn%,"DCD 0" 980 BPUT#fn%,"DCD 0" 990 ENDIF 1000 IF syntaxmess$(comm%)<>"" THEN 1010 BPUT#fn%,"DCD syntax"+STR$comm% 1020 ELSE 1030 BPUT#fn%,"DCD 0" 1040 ENDIF 1050 IF helpmess$(comm%)<>"" THEN 1060 BPUT#fn%,"DCD help"+STR$comm% 1070 ELSE 1080 BPUT#fn%,"DCD 0" 1090 ENDIF 1100 NEXT 1110 BPUT#fn%,"DCD 0" 1120 FOR comm%=0 TO noofcomms%-1 1130 IF helpmess$(comm%)<>"" THEN 1140 BPUT#fn%,".help"+STR$comm% 1150 BPUT#fn%,"DCB "+CHR$34+helpmess$(comm%)+CHR$34 1160 BPUT#fn%,"DCB 13" 1170 IF syntaxmess$(comm%)="" THEN 1180 BPUT#fn%,"DCB 0" 1190 BPUT#fn%,"ALIGN" 1200 ENDIF 1210 ENDIF 1220 IF syntaxmess$(comm%)<>"" THEN 1230 BPUT#fn%,".syntax"+STR$comm% 1240 BPUT#fn%,"DCB "+CHR$34+syntaxmess$(comm%)+CHR$34 1250 BPUT#fn%,"DCB 0" 1260 BPUT#fn%,"ALIGN" 1270 ENDIF 1280 NEXT 1290ENDPROC 1300 1310DEFPROC00 : REM chunk number 1320IF NOTswi% data$="DCD 0" ELSE data$="DCD %10"+chunknumber$+"000000" 1340ENDPROC 1341 1350DEFPROC01 : REM title 1360BPUT#fn%,"DCB "+CHR$34+title$+CHR$34 1370BPUT#fn%,"DCB 0" 1380data$="ALIGN" 1390ENDPROC 1391 1400DEFPROC02 : REM help 1410temp$="DCB "+CHR$34+title$+CHR$34 1420IF LENtitle$<16 temp$+="+CHR$9" 1430IF LENtitle$<8 temp$+="+CHR$9" 1440temp$+="+"+CHR$34+version$+" ("+CHR$34+"+MID$(TIME$,5,11)+"+CHR$34+")"+CHR$34 1450BPUT#fn%,temp$ 1460BPUT#fn%,"DCB 0" 1470data$="ALIGN" 1480ENDPROC 1481 1490DEFPROC03 : REM swi warning 1500data$="" 1510IF NOTswi% RESTORE 5570 1520ENDPROC 1521 1530DEFPROC04 : REM swi names 1540BPUT#fn%,"DCB "+CHR$34+title$+CHR$34 1550BPUT#fn%,"DCB 0" 1560FOR swinum%=0 TO noofswis%-1 1570BPUT#fn%,"DCB "+CHR$34+swiname$(swinum%)+CHR$34 1580BPUT#fn%,"DCB 0" 1590NEXT 1600BPUT#fn%,"DCB 0" 1610data$="ALIGN" 1620ENDPROC 1621 1630DEFPROC05 : REM swi table 1640data$="" 1650FOR swinum%=0 TO noofswis%-1 1660BPUT#fn%,"B swi"+STR$swinum% 1670NEXT 1680ENDPROC 1690DEFPROC06 : REM swi error 1700BPUT#fn%,"DCB "+CHR$34+"Unknown "+title$+" operation"+CHR$34 1710BPUT#fn%,"DCB 0" 1720data$="ALIGN" 1730ENDPROC 1740DEFPROCgetinfo 1750REPEAT 1760ONERROROFF 1770CLS 1780PROCmenu("New module>FNnewmodule,Save module>FNsavemodule,Name module>FNnamemodule,Commands>FNcommands,SWIs>FNswis,Code>FNcode") 1790UNTIL quit% 1800ENDPROC 1810DEFFNnewmodule 1820CLS 1830PRINT"Warning - All current data will be lost!" 1840PRINT'"Are you sure you want to proceed?" 1850PRINT'' 1860PROCmenu("Yes>FNclearspace,No>FNnoresult") 1870=0 1880DEFFNclearspace 1890PROCinitallyoucan 1900=0 1910DEFFNnoresult 1920=7 1930DEFFNsavemodule 1940CLS 1950INPUT"Enter filename to save as : "fname$ 1960ONERRORVDU7:PROCgetinfo 1970IF fname$="" =7 1980PROCsave(fname$) 1990=0 2000DEFFNnamemodule 2010CLS 2020PRINT"Current module name is : ";title$ 2030INPUT"New name is : "newtit$ 2040IF newtit$="" =7 2050IF LEN(newtit$)>15 =7 2060title$=newtit$ 2070=0 2080DEFFNcommands 2090CLS 2100PROCmenu("Create command>FNcreatecommand,Edit command>FNeditcommand,Exit>FNnoresult") 2110=0 2120DEFFNcreatecommand 2130IF noofcomms%=64 =7 2140CLS 2150INPUT"Enter command name : "comm2name$ 2160PROCtestforcommand(comm2name$) 2170IF commno%=256 =7 2180commname$=comm2name$ 2190commname$(noofcomms%)=commname$ 2200commandnumber%=noofcomms% 2210noofcomms%+=1 2220commands%=TRUE 2230=0 2240DEFPROCtestforcommand(commname$) 2250commandno%=-1 2260commno%=0 2270REPEAT 2280IF FNeq(commname$,commname$(commno%)) commandno%=commno%:commno%=255 2290commno%+=1 2300UNTIL commno%>=noofcomms% 2310ENDPROC 2320DEFFNeditcommand 2330IF NOT commands% =7 2340CLS 2350PROCmenu("Name>FNcommandname,Rename>FNcommandrename,Help>FNcommandhelp,Syntax>FNcommandsyntax,Code>FNcommandcode,Max params>FNcommandmax,Min params>FNcommandmin,GS map>FNcommandgs,Flags>FNcommandflags,Exit>FNnoresult") 2360=0 2370DEFFNcommandname 2380CLS 2390IF commname$<>"" PRINT"Current command name is : ";commname$ 2400INPUT"Enter new command name : "comm2name$ 2410IF comm2name$="" =7 2420PROCtestforcommand(comm2name$) 2430IF commandno%=-1 =7 2440commandnumber%=commandno% 2450commname$=comm2name$ 2460=0 2470DEFFNcommandrename 2480IF commname$="" =7 2490CLS 2500PRINT"Current command name is : ";commname$ 2510INPUT"Enter new command name : "comm2name$ 2520IF comm2name$="" =7 2530PROCtestforcommand(comm2name$) 2540IF commandno%>-1 =7 2550commname$=comm2name$ 2560commname$(commandnumber%)=commname$ 2570=0 2580DEFFNcommandhelp 2590IF commname$="" =7 2600CLS 2610IF helpmess$(commandnumber%)="" THEN 2620PRINT"No help text" 2630ELSE 2640PRINT"Current help text : " 2650SYS "OS_PrettyPrint",helpmess$(commandnumber%),0,-1 2660ENDIF 2670INPUT"Enter new help text : "helptext$ 2680IF helptext$="" =7 2690helpmess$(commandnumber%)=helptext$ 2700=0 2710DEFFNcommandsyntax 2720IF commname$="" =7 2730CLS 2740IF syntaxmess$(commandnumber%)="" THEN 2750PRINT"Default syntax message" 2760ELSE 2770PRINT"Current syntax message : ";syntaxmess$(commandnumber%) 2780ENDIF 2790INPUT"Enter new syntax text : "syntaxtext$ 2800IF syntaxtext$="" =7 2810syntaxmess$(commandnumber%)=helptext$ 2820=0 2830DEFFNcommandcode 2840IF commname$="" =7 2850CLS 2860PRINT"Command currently has "; 2870IF NOT actualcommand%(commandnumber%) PRINT"no "; 2880PRINT"run-code associated with it." 2890PRINT"Do you wish to have run-code?" 2900PRINT'' 2910PROCmenu("Yes>FNruncode,No>FNnoruncode,Exit>FNnoresult") 2920=0 2930DEFFNruncode 2940actualcommand%(commandnumber%)=-1 2950=0 2960DEFFNnoruncode 2970actualcommand%(commandnumber%)=0 2980=0 2990 3000DEFFNcommandmin 3010IF commname$="" =7 3020CLS 3030PRINT"Command currently has a minimum of ";STR$(minparams%(commandnumber%));" parameters." 3040INPUT"Enter number of minimum parameters : "param$ 3050IF param$<"0" OR param$>"99" =7 3060param%=VALparam$ 3070IF param%<0 OR param%>255 =7 3080minparams%(commandnumber%)=param% 3090=0 3100DEFFNcommandmax 3110IF commname$="" =7 3120CLS 3130PRINT"Command currently has a maximum of ";STR$(maxparams%(commandnumber%));" parameters." 3140INPUT"Enter number of maximum parameters : "param$ 3150IF param$<"0" OR param$>"99" =7 3160param%=VALparam$ 3170IF param%<minparams%(commandnumber%) OR param%>255 =7 3180maxparams%(commandnumber%)=param% 3190=0 3200DEFFNcommandgs 3210IF commname$="" =7 3220CLS 3230PRINT" 76543210" 3240PRINT"Command currently has a GS map of : "; 3250bin$="" 3260SYS "OS_ConvertBinary1",gsmap%(commandnumber%),bin%,255 3270count%=0 3280WHILE bin%?count%>31 3290bin$+=CHR$(bin%?count%) 3300count%+=1 3310ENDWHILE 3320PRINTbin$ 3330INPUT"New GS map is : "gsmap$ 3340IF gsmap$<"00000000" OR gsmap$>"11111111" =7 3350gsmap%(commandnumber%)=EVAL("%"+gsmap$) 3360=0 3370DEFFNcommandflags 3380IF commname$="" =7 3390CLS 3400PROCmenu("File command>FNfilecommand,Configure command>FNconfigure,Exit>FNnoresult") 3410=0 3420DEFFNfilecommand 3430IF commname$="" =7 3440CLS 3450PRINT"Command currently is "; 3460IF (flags%(commandnumber%)AND(1<<31))=0 PRINT"not "; 3470PRINT"a file command." 3480PRINT"Do you wish it to be a file command?" 3490PRINT'' 3500PROCmenu("Yes>FNfilecomm,No>FNnotfilecomm,Exit>FNnoresult") 3510=0 3520DEFFNfilecomm 3530flags%(commandnumber%)=flags%(commandnumber%)OR(1<<31) 3540=0 3550DEFFNnotfilecomm 3560flags%(commandnumber%)=flags%(commandnumber%)ANDNOT(1<<31) 3570=0 3580DEFFNconfigure 3590IF commname$="" =7 3600CLS 3610PRINT"Command currently is "; 3620IF (flags%(commandnumber%)AND(1<<30))=0 PRINT"not "; 3630PRINT"a configure command." 3640PRINT"Do you wish it to be a configure command?" 3650PRINT'' 3660PROCmenu("Yes>FNconfig,No>FNnotconfig,Exit>FNnoresult") 3670=0 3680DEFFNconfig 3690flags%(commandnumber%)=flags%(commandnumber%)OR(1<<30) 3700=0 3710DEFFNnotconfig 3720flags%(commandnumber%)=flags%(commandnumber%)ANDNOT(1<<30) 3730=0 3740DEFFNswis 3750CLS 3760PROCmenu("Create swi>FNcreateswi,Define chunk number>FNchunk,Edit swi>FNeditswi,Exit>FNnoresult") 3770=0 3780DEFFNcreateswi 3790IF noofswis%=64 =7 3800CLS 3810INPUT"Enter swi name : "swi2name$ 3820PROCtestforswi(swi2name$) 3830IF swino%=256 =7 3840swiname$=swi2name$ 3850swiname$(noofswis%)=swiname$ 3860currswinumber%=noofswis% 3870noofswis%+=1 3880swi%=TRUE 3890=0 3900DEFPROCtestforswi(swiname$) 3910currswino%=-1 3920swino%=0 3930REPEAT 3940IF swiname$=swiname$(swino%) currswino%=swino%:swino%=255 3950swino%+=1 3960UNTIL swino%>=noofswis% 3970ENDPROC 3980DEFFNeditswi 3990IF swi% =7 4000CLS 4010PROCmenu("Name>FNswiname,Rename>FNswirename,Exit>FNnoresult") 4020=0 4030DEFFNswiname 4040CLS 4050IF swiname$<>"" PRINT"Current SWI name is : ";swiname$ 4060INPUT"Enter new SWI name : "swi2name$ 4070IF swi2name$="" =7 4080PROCtestforswi(swi2name$) 4090IF currswino%=-1 =7 4100currswinumber%=currswino% 4110swiname$=swi2name$ 4120=0 4130DEFFNswirename 4140IF swiname$="" =7 4150CLS 4160PRINT"Current SWI name is : ";swiname$ 4170INPUT"Enter new SWI name : "swi2name$ 4180IF swi2name$="" =7 4190PROCtestforswi(swi2name$) 4200IF currswino%>-1 =7 4210swiname$=swi2name$ 4220swiname$(currswinumber%)=swiname$ 4230=0 4240DEFFNchunk 4250CLS 4260PRINT"Current SWI chunk number is : ";chunknumber$ 4270INPUT"Enter new SWI chunk number : "chunk2number$ 4280IF chunk2number$<"000000000001" OR chunk2number$>"111111111111" OR LEN(chunk2number$)<>12 =7 4290chunknumber$=chunk2number$ 4300=0 4310DEFFNcode 4320CLS 4330PROCmenu("Start code>FNstartcode,Initialisation code>FNinitcode,Finalisation code>FNfinishcode,Service code>FNservicecode,Exit>FNnoresult") 4340=0 4350DEFFNstartcode 4360CLS 4370PRINT"Module currently has "; 4380IF NOT start% PRINT"no "; 4390PRINT"start code." 4400PRINT"Do you wish it to have a start code?" 4410PRINT'' 4420PROCmenu("Yes>FNc(start%),No>FNnoc(start%),Exit>FNnoresult") 4430=0 4440DEFFNinitcode 4450CLS 4460PRINT"Module currently has "; 4470IF NOT init% PRINT"no "; 4480PRINT"initialisation code." 4490PRINT"Do you wish it to have an initialisation code?" 4500PRINT'' 4510PROCmenu("Yes>FNc(init%),No>FNnoc(init%),Exit>FNnoresult") 4520=0 4530DEFFNfinishcode 4540CLS 4550PRINT"Module currently has "; 4560IF NOT finish% PRINT"no "; 4570PRINT"finalisation code." 4580PRINT"Do you wish it to have a finalisation code?" 4590PRINT'' 4600PROCmenu("Yes>FNc(finish%),No>FNnoc(finish%),Exit>FNnoresult") 4610=0 4620DEFFNservicecode 4630CLS 4640PRINT"Module currently has "; 4650IF NOT service% PRINT"no "; 4660PRINT"service code." 4670PRINT"Do you wish it to have a service code?" 4680PRINT'' 4690PROCmenu("Yes>FNc(service%),No>FNnoc(service%),Exit>FNnoresult") 4700=0 4710DEFFNc(RETURN code%) 4720code%=TRUE 4730=0 4740DEFFNnoc(RETURN code%) 4750code%=FALSE 4760=0 4770DEFPROCmenu(menu1$) 4780LOCAL q% 4790REPEAT 4800q%=TRUE 4810menu$=menu1$ 4820VDU23,17,7,%110,16;16;0,0 4830menun$()="" 4840menuf$()="" 4850noofitems%=0 4860REPEAT 4870menun$(noofitems%)=LEFT$(menu$,INSTR(menu$,">")-1) 4880menu$=MID$(menu$,INSTR(menu$,">")+1) 4890menuf$(noofitems%)=LEFT$(menu$,INSTR(menu$,",")-1) 4900IF INSTR(menu$,",")=0 menu$="" ELSE menu$=MID$(menu$,INSTR(menu$,",")+1) 4910noofitems%+=1 4920UNTIL menu$="" 4930top%=VPOS 4940bottom%=VPOS+noofitems% 4950VDU5 4960FOR count%=0 TO noofitems% 4970MOVE (1280-LEN(menun$(count%))*32)/2,1024-((count%+top%)*64) 4980PRINT menun$(count%) 4990NEXT 5000VDU4 5010OFF 5020*Pointer 1 5030REPEAT 5040REPEAT 5050*FX15,0 5060MOUSE x%,y%,z% 5070UNTIL z%>0 5080IF z%=1 q%=FALSE 5090UNTIL (1024-y%)DIV64>=top% AND (1024-y%)DIV64<bottom% 5100select%=((1024-y%)DIV64)-top% 5110*Pointer 0 5120ON 5130VDU EVAL(menuf$(select%)) 5140CLS 5150UNTIL q% 5160ENDPROC 5170DEFFNeq(a$,b$) 5180IF LENa$<>LENb$=0 5190FOR c%=1 TO LENa$ 5200a%=(ASC(MID$(a$,c%,1)))OR32 5210b%=(ASC(MID$(b$,c%,1)))OR32 5220IF a%<>b% c%=1000:NEXT:=0 5230NEXT 5240=-1 5250DATA "[OPT pass%" 5260DATA "start" 5270DATA "init" 5280DATA "finish" 5290DATA "service" 5300DATA "DCD title" 5310DATA "DCD help" 5320DATA "commandtable" 5330DATA "00" 5340DATA "swih" 5350DATA "swin" 5360DATA "DCD 0" 5370DATA ".title" 5380DATA "01" 5390DATA ".help" 5400DATA "02" 5410DATA "03" 5420DATA ".swin" 5430DATA "04" 5440DATA ".swih" 5450DATA "CMP R11,#(swite-swit)/4" 5460DATA "ADDCC PC,PC,R11,LSL#2" 5470DATA "B swie" 5480DATA ".swit" 5490DATA "05" 5500DATA ".swite" 5510DATA ".swie" 5520DATA "ADR R0,swierror" 5530DATA "ORRS PC,R14,#268435456" 5540DATA ".swierror" 5550DATA "DCD &1E6" 5560DATA "06" 5570DATA "07"
"� > <BasicSave$dir>.ModuleHead � By Paul Mason � (c) The Micro User ( 2� 0 < �init F�getinfo P� Z d ��init n� bin% 256 x+� swiname$(63),commname$(63),flags%(63) �#� minparams%(63),maxparams%(63) �#� actualcommand%(63),gsmap%(63) �#� syntaxmess$(63),helpmess$(63) �� menuf$(31),menun$(31) ��initallyoucan �� � ���initallyoucan �start%=0 �init%=0 � finish%=0 �service%=0 �title$="TestMod" commands%=0 swi%=0 version$="1.00" "noofswis%=0 ,chunknumber$="000000000001" 6quit%=� @noofcomms%=0 Jswiname$()="" Tcommname$()="" ^flags%()=0 hminparams%()=0 rmaxparams%()=0 |actualcommand%()=-1 �gsmap%()=0 �syntaxmess$()="" �helpmess$()="" �commname$="" �swiname$="" �� � ���save(n$) �� �fn%=�n$ � end%=� �� � � data$ Ȏ data$ � . � "start" : �true(start%,data$) - � "init" : �true(init%,data$) &/ � "finish" : �true(finish%,data$) 00 � "service" : �true(service%,data$) :! � "title" : �title D � "help" : �help N: � "commandtable" : �true(commands%,"commandtable") X, � "swih" : �true(swi%,data$) b, � "swin" : �true(swi%,data$) l � "00" : �00 v � "01" : �01 � � "02" : �02 � � "03" : �03 � � "04" : �04 � � "05" : �05 � � "06" : �06 �% � "07" : �commandit �$ end%=� � � �& � � end% � data$<>"" �#fn%,data$ � � end% � � #fn% �� � ��true(true%,data$) � true% � data$="DCD "+data$ � * data$="DCD 0" 4 � >� H R��commandit \data$="" f� commands% � p �#fn%,".commandtable" z � comm%=0 � noofcomms%-1 �/ �#fn%,"DCB "+�34+commname$(comm%)+�34 � �#fn%,"DCB 0" � �#fn%,"ALIGN" �# � actualcommand%(comm%) � �( �#fn%,"DCD command"+�comm% �c �#fn%,"DCD &"+�~flags%(comm%)+�~maxparams%(comm%)+�~gsmap%(comm%)+�~minparams%(comm%) � � � �#fn%,"DCD 0" � �#fn%,"DCD 0" � � �$ � syntaxmess$(comm%)<>"" � �' �#fn%,"DCD syntax"+�comm% � � �#fn%,"DCD 0" � " � helpmess$(comm%)<>"" � $% �#fn%,"DCD help"+�comm% . � 8 �#fn%,"DCD 0" B � L � V �#fn%,"DCD 0" ` � comm%=0 � noofcomms%-1 j" � helpmess$(comm%)<>"" � t" �#fn%,".help"+�comm% ~3 �#fn%,"DCB "+�34+helpmess$(comm%)+�34 � �#fn%,"DCB 13" �' � syntaxmess$(comm%)="" � � �#fn%,"DCB 0" � �#fn%,"ALIGN" � � � � �$ � syntaxmess$(comm%)<>"" � �$ �#fn%,".syntax"+�comm% �5 �#fn%,"DCB "+�34+syntaxmess$(comm%)+�34 � �#fn%,"DCB 0" � �#fn%,"ALIGN" � � � � ��00 : � chunk number (A� �swi% data$="DCD 0" � data$="DCD %10"+chunknumber$+"000000" <� = F��01 : � title P�#fn%,"DCB "+�34+title$+�34 Z�#fn%,"DCB 0" ddata$="ALIGN" n� o x��02 : � help �temp$="DCB "+�34+title$+�34 � � �title$<16 temp$+="+CHR$9" �� �title$<8 temp$+="+CHR$9" �Etemp$+="+"+�34+version$+" ("+�34+"+MID$(TIME$,5,11)+"+�34+")"+�34 ��#fn%,temp$ ��#fn%,"DCB 0" �data$="ALIGN" �� � ���03 : � swi warning �data$="" �� �swi% � �dBU �� � ���04 : � swi names �#fn%,"DCB "+�34+title$+�34 �#fn%,"DCB 0" � swinum%=0 � noofswis%-1 "*�#fn%,"DCB "+�34+swiname$(swinum%)+�34 ,�#fn%,"DCB 0" 6� @�#fn%,"DCB 0" Jdata$="ALIGN" T� U ^��05 : � swi table hdata$="" r� swinum%=0 � noofswis%-1 |�#fn%,"B swi"+�swinum% �� �� ���06 : � swi error �7�#fn%,"DCB "+�34+"Unknown "+title$+" operation"+�34 ��#fn%,"DCB 0" �data$="ALIGN" �� � ��getinfo �� � �� ��menu("New module>FNnewmodule,Save module>FNsavemodule,Name module>FNnamemodule,Commands>FNcommands,SWIs>FNswis,Code>FNcode") �� quit% � ݤnewmodule � &/�"Warning - All current data will be lost!" 0)�'"Are you sure you want to proceed?" :�'' D+�menu("Yes>FNclearspace,No>FNnoresult") N=0 Xݤclearspace b�initallyoucan l=0 vݤnoresult �=7 �ݤsavemodule �� �)�"Enter filename to save as : "fname$ ���7:�getinfo �� fname$="" =7 ��save(fname$) �=0 �ݤnamemodule �� �'�"Current module name is : ";title$ �'�"New name is : "newtit$ �� newtit$="" =7 � �(newtit$)>15 =7 title$=newtit$ =0 ݤcommands *� 4V�menu("Create command>FNcreatecommand,Edit command>FNeditcommand,Exit>FNnoresult") >=0 Hݤcreatecommand R� noofcomms%=64 =7 \� f&�"Enter command name : "comm2name$ p�testforcommand(comm2name$) z� commno%=256 =7 �commname$=comm2name$ �#commname$(noofcomms%)=commname$ �commandnumber%=noofcomms% �noofcomms%+=1 �commands%=� �=0 ���testforcommand(commname$) �commandno%=-1 � commno%=0 �� �F� �eq(commname$,commname$(commno%)) commandno%=commno%:commno%=255 �commno%+=1 �� commno%>=noofcomms% � ݤeditcommand � � commands% =7 $� .��menu("Name>FNcommandname,Rename>FNcommandrename,Help>FNcommandhelp,Syntax>FNcommandsyntax,Code>FNcommandcode,Max params>FNcommandmax,Min params>FNcommandmin,GS map>FNcommandgs,Flags>FNcommandflags,Exit>FNnoresult") 8=0 Bݤcommandname L� V;� commname$<>"" �"Current command name is : ";commname$ `+�"Enter new command name : "comm2name$ j� comm2name$="" =7 t�testforcommand(comm2name$) ~� commandno%=-1 =7 �commandnumber%=commandno% �commname$=comm2name$ �=0 �ݤcommandrename �� commname$="" =7 �� �+�"Current command name is : ";commname$ �+�"Enter new command name : "comm2name$ �� comm2name$="" =7 ��testforcommand(comm2name$) �� commandno%>-1 =7 �commname$=comm2name$ 'commname$(commandnumber%)=commname$ =0 ݤcommandhelp � commname$="" =7 (� 2$� helpmess$(commandnumber%)="" � <�"No help text" F� P�"Current help text : " Z6ș "OS_PrettyPrint",helpmess$(commandnumber%),0,-1 d� n&�"Enter new help text : "helptext$ x� helptext$="" =7 �'helpmess$(commandnumber%)=helptext$ �=0 �ݤcommandsyntax �� commname$="" =7 �� �&� syntaxmess$(commandnumber%)="" � ��"Default syntax message" �� �<�"Current syntax message : ";syntaxmess$(commandnumber%) �� �*�"Enter new syntax text : "syntaxtext$ �� syntaxtext$="" =7 �)syntaxmess$(commandnumber%)=helptext$ =0 ݤcommandcode � commname$="" =7 "� ,�"Command currently has "; 6.� � actualcommand%(commandnumber%) �"no "; @#�"run-code associated with it." J$�"Do you wish to have run-code?" T�'' ^9�menu("Yes>FNruncode,No>FNnoruncode,Exit>FNnoresult") h=0 r ݤruncode |%actualcommand%(commandnumber%)=-1 �=0 �ݤnoruncode �$actualcommand%(commandnumber%)=0 �=0 � �ݤcommandmin �� commname$="" =7 �� �W�"Command currently has a minimum of ";�(minparams%(commandnumber%));" parameters." �2�"Enter number of minimum parameters : "param$ �!� param$<"0" � param$>"99" =7 �param%=�param$ �� param%<0 � param%>255 =7 %minparams%(commandnumber%)=param% =0 ݤcommandmax &� commname$="" =7 0� :W�"Command currently has a maximum of ";�(maxparams%(commandnumber%));" parameters." D2�"Enter number of maximum parameters : "param$ N!� param$<"0" � param$>"99" =7 Xparam%=�param$ b7� param%<minparams%(commandnumber%) � param%>255 =7 l%maxparams%(commandnumber%)=param% v=0 �ݤcommandgs �� commname$="" =7 �� �3�" 76543210" �,�"Command currently has a GS map of : "; �bin$="" �:ș "OS_ConvertBinary1",gsmap%(commandnumber%),bin%,255 �count%=0 �ȕ bin%?count%>31 �bin$+=�(bin%?count%) � count%+=1 �� � �bin$ 1�"New GS map is : "gsmap$ .� gsmap$<"00000000" � gsmap$>"11111111" =7 (gsmap%(commandnumber%)=�("%"+gsmap$) =0 *ݤcommandflags 4� commname$="" =7 >� HU�menu("File command>FNfilecommand,Configure command>FNconfigure,Exit>FNnoresult") R=0 \ݤfilecommand f� commname$="" =7 p� z�"Command currently is "; �1� (flags%(commandnumber%)�(1<<31))=0 �"not "; ��"a file command." �+�"Do you wish it to be a file command?" ��'' �<�menu("Yes>FNfilecomm,No>FNnotfilecomm,Exit>FNnoresult") �=0 �ݤfilecomm �9flags%(commandnumber%)=flags%(commandnumber%)�(1<<31) �=0 �ݤnotfilecomm �:flags%(commandnumber%)=flags%(commandnumber%)��(1<<31) �=0 �ݤconfigure � commname$="" =7 � �"Command currently is "; $1� (flags%(commandnumber%)�(1<<30))=0 �"not "; .�"a configure command." 80�"Do you wish it to be a configure command?" B�'' L8�menu("Yes>FNconfig,No>FNnotconfig,Exit>FNnoresult") V=0 `ݤconfig j9flags%(commandnumber%)=flags%(commandnumber%)�(1<<30) t=0 ~ݤnotconfig �:flags%(commandnumber%)=flags%(commandnumber%)��(1<<30) �=0 � ݤswis �� �b�menu("Create swi>FNcreateswi,Define chunk number>FNchunk,Edit swi>FNeditswi,Exit>FNnoresult") �=0 �ݤcreateswi �� noofswis%=64 =7 �� �!�"Enter swi name : "swi2name$ ��testforswi(swi2name$) �� swino%=256 =7 swiname$=swi2name$ swiname$(noofswis%)=swiname$ currswinumber%=noofswis% noofswis%+=1 ( swi%=� 2=0 <��testforswi(swiname$) Fcurrswino%=-1 Pswino%=0 Z� d<� swiname$=swiname$(swino%) currswino%=swino%:swino%=255 n swino%+=1 x� swino%>=noofswis% �� � ݤeditswi � � swi% =7 �� �>�menu("Name>FNswiname,Rename>FNswirename,Exit>FNnoresult") �=0 � ݤswiname �� �5� swiname$<>"" �"Current SWI name is : ";swiname$ �&�"Enter new SWI name : "swi2name$ �� swi2name$="" =7 ��testforswi(swi2name$) �� currswino%=-1 =7 currswinumber%=currswino% swiname$=swi2name$ =0 "ݤswirename ,� swiname$="" =7 6� @&�"Current SWI name is : ";swiname$ J&�"Enter new SWI name : "swi2name$ T� swi2name$="" =7 ^�testforswi(swi2name$) h� currswino%>-1 =7 rswiname$=swi2name$ |%swiname$(currswinumber%)=swiname$ �=0 �ݤchunk �� �2�"Current SWI chunk number is : ";chunknumber$ �2�"Enter new SWI chunk number : "chunk2number$ �[� chunk2number$<"000000000001" � chunk2number$>"111111111111" � �(chunk2number$)<>12 =7 �chunknumber$=chunk2number$ �=0 � ݤcode �� ��menu("Start code>FNstartcode,Initialisation code>FNinitcode,Finalisation code>FNfinishcode,Service code>FNservicecode,Exit>FNnoresult") �=0 �ݤstartcode � �"Module currently has "; � � start% �"no "; &�"start code." 0+�"Do you wish it to have a start code?" :�'' D=�menu("Yes>FNc(start%),No>FNnoc(start%),Exit>FNnoresult") N=0 Xݤinitcode b� l�"Module currently has "; v� � init% �"no "; ��"initialisation code." �5�"Do you wish it to have an initialisation code?" ��'' �;�menu("Yes>FNc(init%),No>FNnoc(init%),Exit>FNnoresult") �=0 �ݤfinishcode �� ��"Module currently has "; �� � finish% �"no "; ��"finalisation code." �2�"Do you wish it to have a finalisation code?" ��'' �?�menu("Yes>FNc(finish%),No>FNnoc(finish%),Exit>FNnoresult") =0 ݤservicecode � �"Module currently has "; *� � service% �"no "; 4�"service code." >-�"Do you wish it to have a service code?" H�'' RA�menu("Yes>FNc(service%),No>FNnoc(service%),Exit>FNnoresult") \=0 fݤc(� code%) pcode%=� z=0 �ݤnoc(� code%) �code%=� �=0 ���menu(menu1$) �� q% �� �q%=� �menu$=menu1$ ��23,17,7,%110,16;16;0,0 �menun$()="" �menuf$()="" �noofitems%=0 �� ,menun$(noofitems%)=�menu$,�menu$,">")-1) menu$=�menu$,�menu$,">")+1) ,menuf$(noofitems%)=�menu$,�menu$,",")-1) $:� �menu$,",")=0 menu$="" � menu$=�menu$,�menu$,",")+1) .noofitems%+=1 8� menu$="" B top%=� Lbottom%=�+noofitems% V�5 `� count%=0 � noofitems% j;� (1280-�(menun$(count%))*32)/2,1024-((count%+top%)*64) t� menun$(count%) ~� ��4 �� �*Pointer 1 �� �� �*FX15,0 �ȗ x%,y%,z% � � z%>0 �� z%=1 q%=� �/� (1024-y%)�64>=top% � (1024-y%)�64<bottom% �select%=((1024-y%)�64)-top% �*Pointer 0 � � �(menuf$(select%)) � � q% (� 2ݤeq(a$,b$) <� �a$<>�b$=0 F� c%=1 � �a$ Pa%=(�(�a$,c%,1)))�32 Zb%=(�(�b$,c%,1)))�32 d� a%<>b% c%=1000:�:=0 n� x=-1 �� "[OPT pass%" � � "start" �� "init" �� "finish" �� "service" �� "DCD title" �� "DCD help" �� "commandtable" � � "00" �� "swih" �� "swin" � � "DCD 0" �� ".title" � "01" � ".help" � "02" " � "03" , � ".swin" 6 � "04" @ � ".swih" J� "CMP R11,#(swite-swit)/4" T� "ADDCC PC,PC,R11,LSL#2" ^� "B swie" h � ".swit" r � "05" |� ".swite" � � ".swie" �� "ADR R0,swierror" �� "ORRS PC,R14,#268435456" �� ".swierror" �� "DCD &1E6" � � "06" � � "07" �
00000000 0d 00 0a 22 f4 20 3e 20 3c 42 61 73 69 63 53 61 |...". > <BasicSa| 00000010 76 65 24 64 69 72 3e 2e 4d 6f 64 75 6c 65 48 65 |ve$dir>.ModuleHe| 00000020 61 64 0d 00 14 13 f4 20 42 79 20 50 61 75 6c 20 |ad..... By Paul | 00000030 4d 61 73 6f 6e 0d 00 1e 18 f4 20 28 63 29 20 54 |Mason..... (c) T| 00000040 68 65 20 4d 69 63 72 6f 20 55 73 65 72 0d 00 28 |he Micro User..(| 00000050 04 0d 00 32 07 eb 20 30 0d 00 3c 09 f2 69 6e 69 |...2.. 0..<..ini| 00000060 74 0d 00 46 0c f2 67 65 74 69 6e 66 6f 0d 00 50 |t..F..getinfo..P| 00000070 05 e0 0d 00 5a 04 0d 00 64 0a dd f2 69 6e 69 74 |....Z...d...init| 00000080 0d 00 6e 0e de 20 62 69 6e 25 20 32 35 36 0d 00 |..n.. bin% 256..| 00000090 78 2b de 20 73 77 69 6e 61 6d 65 24 28 36 33 29 |x+. swiname$(63)| 000000a0 2c 63 6f 6d 6d 6e 61 6d 65 24 28 36 33 29 2c 66 |,commname$(63),f| 000000b0 6c 61 67 73 25 28 36 33 29 0d 00 82 23 de 20 6d |lags%(63)...#. m| 000000c0 69 6e 70 61 72 61 6d 73 25 28 36 33 29 2c 6d 61 |inparams%(63),ma| 000000d0 78 70 61 72 61 6d 73 25 28 36 33 29 0d 00 8c 23 |xparams%(63)...#| 000000e0 de 20 61 63 74 75 61 6c 63 6f 6d 6d 61 6e 64 25 |. actualcommand%| 000000f0 28 36 33 29 2c 67 73 6d 61 70 25 28 36 33 29 0d |(63),gsmap%(63).| 00000100 00 96 23 de 20 73 79 6e 74 61 78 6d 65 73 73 24 |..#. syntaxmess$| 00000110 28 36 33 29 2c 68 65 6c 70 6d 65 73 73 24 28 36 |(63),helpmess$(6| 00000120 33 29 0d 00 a0 1b de 20 6d 65 6e 75 66 24 28 33 |3)..... menuf$(3| 00000130 31 29 2c 6d 65 6e 75 6e 24 28 33 31 29 0d 00 aa |1),menun$(31)...| 00000140 12 f2 69 6e 69 74 61 6c 6c 79 6f 75 63 61 6e 0d |..initallyoucan.| 00000150 00 b4 05 e1 0d 00 be 04 0d 00 c8 13 dd f2 69 6e |..............in| 00000160 69 74 61 6c 6c 79 6f 75 63 61 6e 0d 00 d2 0c 73 |itallyoucan....s| 00000170 74 61 72 74 25 3d 30 0d 00 dc 0b 69 6e 69 74 25 |tart%=0....init%| 00000180 3d 30 0d 00 e6 0d 66 69 6e 69 73 68 25 3d 30 0d |=0....finish%=0.| 00000190 00 f0 0e 73 65 72 76 69 63 65 25 3d 30 0d 00 fa |...service%=0...| 000001a0 14 74 69 74 6c 65 24 3d 22 54 65 73 74 4d 6f 64 |.title$="TestMod| 000001b0 22 0d 01 04 0f 63 6f 6d 6d 61 6e 64 73 25 3d 30 |"....commands%=0| 000001c0 0d 01 0e 0a 73 77 69 25 3d 30 0d 01 18 13 76 65 |....swi%=0....ve| 000001d0 72 73 69 6f 6e 24 3d 22 31 2e 30 30 22 0d 01 22 |rsion$="1.00".."| 000001e0 0f 6e 6f 6f 66 73 77 69 73 25 3d 30 0d 01 2c 1f |.noofswis%=0..,.| 000001f0 63 68 75 6e 6b 6e 75 6d 62 65 72 24 3d 22 30 30 |chunknumber$="00| 00000200 30 30 30 30 30 30 30 30 30 31 22 0d 01 36 0b 71 |0000000001"..6.q| 00000210 75 69 74 25 3d a3 0d 01 40 10 6e 6f 6f 66 63 6f |uit%=...@.noofco| 00000220 6d 6d 73 25 3d 30 0d 01 4a 11 73 77 69 6e 61 6d |mms%=0..J.swinam| 00000230 65 24 28 29 3d 22 22 0d 01 54 12 63 6f 6d 6d 6e |e$()=""..T.commn| 00000240 61 6d 65 24 28 29 3d 22 22 0d 01 5e 0e 66 6c 61 |ame$()=""..^.fla| 00000250 67 73 25 28 29 3d 30 0d 01 68 12 6d 69 6e 70 61 |gs%()=0..h.minpa| 00000260 72 61 6d 73 25 28 29 3d 30 0d 01 72 12 6d 61 78 |rams%()=0..r.max| 00000270 70 61 72 61 6d 73 25 28 29 3d 30 0d 01 7c 17 61 |params%()=0..|.a| 00000280 63 74 75 61 6c 63 6f 6d 6d 61 6e 64 25 28 29 3d |ctualcommand%()=| 00000290 2d 31 0d 01 86 0e 67 73 6d 61 70 25 28 29 3d 30 |-1....gsmap%()=0| 000002a0 0d 01 90 14 73 79 6e 74 61 78 6d 65 73 73 24 28 |....syntaxmess$(| 000002b0 29 3d 22 22 0d 01 9a 12 68 65 6c 70 6d 65 73 73 |)=""....helpmess| 000002c0 24 28 29 3d 22 22 0d 01 a4 10 63 6f 6d 6d 6e 61 |$()=""....commna| 000002d0 6d 65 24 3d 22 22 0d 01 ae 0f 73 77 69 6e 61 6d |me$=""....swinam| 000002e0 65 24 3d 22 22 0d 01 b8 05 e1 0d 01 c2 04 0d 01 |e$=""...........| 000002f0 cc 0e dd f2 73 61 76 65 28 6e 24 29 0d 01 d6 05 |....save(n$)....| 00000300 f7 0d 01 e0 0b 66 6e 25 3d ae 6e 24 0d 01 ea 0a |.....fn%=.n$....| 00000310 65 6e 64 25 3d a3 0d 01 f4 05 f5 0d 01 fe 0d 20 |end%=.......... | 00000320 20 f3 20 64 61 74 61 24 0d 02 08 10 20 20 c8 8e | . data$.... ..| 00000330 20 64 61 74 61 24 20 ca 0d 02 12 2e 20 20 20 20 | data$ ..... | 00000340 c9 20 22 73 74 61 72 74 22 20 20 20 20 20 20 20 |. "start" | 00000350 20 3a 20 f2 74 72 75 65 28 73 74 61 72 74 25 2c | : .true(start%,| 00000360 64 61 74 61 24 29 0d 02 1c 2d 20 20 20 20 c9 20 |data$)...- . | 00000370 22 69 6e 69 74 22 20 20 20 20 20 20 20 20 20 3a |"init" :| 00000380 20 f2 74 72 75 65 28 69 6e 69 74 25 2c 64 61 74 | .true(init%,dat| 00000390 61 24 29 0d 02 26 2f 20 20 20 20 c9 20 22 66 69 |a$)..&/ . "fi| 000003a0 6e 69 73 68 22 20 20 20 20 20 20 20 3a 20 f2 74 |nish" : .t| 000003b0 72 75 65 28 66 69 6e 69 73 68 25 2c 64 61 74 61 |rue(finish%,data| 000003c0 24 29 0d 02 30 30 20 20 20 20 c9 20 22 73 65 72 |$)..00 . "ser| 000003d0 76 69 63 65 22 20 20 20 20 20 20 3a 20 f2 74 72 |vice" : .tr| 000003e0 75 65 28 73 65 72 76 69 63 65 25 2c 64 61 74 61 |ue(service%,data| 000003f0 24 29 0d 02 3a 21 20 20 20 20 c9 20 22 74 69 74 |$)..:! . "tit| 00000400 6c 65 22 20 20 20 20 20 20 20 20 3a 20 f2 74 69 |le" : .ti| 00000410 74 6c 65 0d 02 44 20 20 20 20 20 c9 20 22 68 65 |tle..D . "he| 00000420 6c 70 22 20 20 20 20 20 20 20 20 20 3a 20 f2 68 |lp" : .h| 00000430 65 6c 70 0d 02 4e 3a 20 20 20 20 c9 20 22 63 6f |elp..N: . "co| 00000440 6d 6d 61 6e 64 74 61 62 6c 65 22 20 3a 20 f2 74 |mmandtable" : .t| 00000450 72 75 65 28 63 6f 6d 6d 61 6e 64 73 25 2c 22 63 |rue(commands%,"c| 00000460 6f 6d 6d 61 6e 64 74 61 62 6c 65 22 29 0d 02 58 |ommandtable")..X| 00000470 2c 20 20 20 20 c9 20 22 73 77 69 68 22 20 20 20 |, . "swih" | 00000480 20 20 20 20 20 20 3a 20 f2 74 72 75 65 28 73 77 | : .true(sw| 00000490 69 25 2c 64 61 74 61 24 29 0d 02 62 2c 20 20 20 |i%,data$)..b, | 000004a0 20 c9 20 22 73 77 69 6e 22 20 20 20 20 20 20 20 | . "swin" | 000004b0 20 20 3a 20 f2 74 72 75 65 28 73 77 69 25 2c 64 | : .true(swi%,d| 000004c0 61 74 61 24 29 0d 02 6c 1e 20 20 20 20 c9 20 22 |ata$)..l. . "| 000004d0 30 30 22 20 20 20 20 20 20 20 20 20 20 20 3a 20 |00" : | 000004e0 f2 30 30 0d 02 76 1e 20 20 20 20 c9 20 22 30 31 |.00..v. . "01| 000004f0 22 20 20 20 20 20 20 20 20 20 20 20 3a 20 f2 30 |" : .0| 00000500 31 0d 02 80 1e 20 20 20 20 c9 20 22 30 32 22 20 |1.... . "02" | 00000510 20 20 20 20 20 20 20 20 20 20 3a 20 f2 30 32 0d | : .02.| 00000520 02 8a 1e 20 20 20 20 c9 20 22 30 33 22 20 20 20 |... . "03" | 00000530 20 20 20 20 20 20 20 20 3a 20 f2 30 33 0d 02 94 | : .03...| 00000540 1e 20 20 20 20 c9 20 22 30 34 22 20 20 20 20 20 |. . "04" | 00000550 20 20 20 20 20 20 3a 20 f2 30 34 0d 02 9e 1e 20 | : .04.... | 00000560 20 20 20 c9 20 22 30 35 22 20 20 20 20 20 20 20 | . "05" | 00000570 20 20 20 20 3a 20 f2 30 35 0d 02 a8 1e 20 20 20 | : .05.... | 00000580 20 c9 20 22 30 36 22 20 20 20 20 20 20 20 20 20 | . "06" | 00000590 20 20 3a 20 f2 30 36 0d 02 b2 25 20 20 20 20 c9 | : .06...% .| 000005a0 20 22 30 37 22 20 20 20 20 20 20 20 20 20 20 20 | "07" | 000005b0 3a 20 f2 63 6f 6d 6d 61 6e 64 69 74 0d 02 bc 24 |: .commandit...$| 000005c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000005d0 20 20 20 20 20 20 20 20 20 20 65 6e 64 25 3d b9 | end%=.| 000005e0 0d 02 c6 09 20 20 20 20 cb 0d 02 d0 26 20 20 e7 |.... ....& .| 000005f0 20 ac 20 65 6e 64 25 20 80 20 64 61 74 61 24 3c | . end% . data$<| 00000600 3e 22 22 20 d5 23 66 6e 25 2c 64 61 74 61 24 0d |>"" .#fn%,data$.| 00000610 02 da 0c 20 20 fd 20 65 6e 64 25 0d 02 e4 0a d9 |... . end%.....| 00000620 20 23 66 6e 25 0d 02 ee 05 e1 0d 02 f8 04 0d 03 | #fn%...........| 00000630 02 17 dd f2 74 72 75 65 28 74 72 75 65 25 2c 64 |....true(true%,d| 00000640 61 74 61 24 29 0d 03 0c 0d e7 20 74 72 75 65 25 |ata$)..... true%| 00000650 20 8c 0d 03 16 1a 20 20 20 20 64 61 74 61 24 3d | ..... data$=| 00000660 22 44 43 44 20 22 2b 64 61 74 61 24 0d 03 20 07 |"DCD "+data$.. .| 00000670 20 20 cc 0d 03 2a 15 20 20 20 20 64 61 74 61 24 | ...*. data$| 00000680 3d 22 44 43 44 20 30 22 0d 03 34 07 20 20 cd 0d |="DCD 0"..4. ..| 00000690 03 3e 05 e1 0d 03 48 04 0d 03 52 0f dd f2 63 6f |.>....H...R...co| 000006a0 6d 6d 61 6e 64 69 74 0d 03 5c 0c 64 61 74 61 24 |mmandit..\.data$| 000006b0 3d 22 22 0d 03 66 11 e7 20 63 6f 6d 6d 61 6e 64 |=""..f.. command| 000006c0 73 25 20 8c 0d 03 70 1d 20 20 20 20 d5 23 66 6e |s% ...p. .#fn| 000006d0 25 2c 22 2e 63 6f 6d 6d 61 6e 64 74 61 62 6c 65 |%,".commandtable| 000006e0 22 0d 03 7a 20 20 20 20 20 e3 20 63 6f 6d 6d 25 |"..z . comm%| 000006f0 3d 30 20 b8 20 6e 6f 6f 66 63 6f 6d 6d 73 25 2d |=0 . noofcomms%-| 00000700 31 0d 03 84 2f 20 20 20 20 20 20 d5 23 66 6e 25 |1.../ .#fn%| 00000710 2c 22 44 43 42 20 22 2b bd 33 34 2b 63 6f 6d 6d |,"DCB "+.34+comm| 00000720 6e 61 6d 65 24 28 63 6f 6d 6d 25 29 2b bd 33 34 |name$(comm%)+.34| 00000730 0d 03 8e 17 20 20 20 20 20 20 d5 23 66 6e 25 2c |.... .#fn%,| 00000740 22 44 43 42 20 30 22 0d 03 98 17 20 20 20 20 20 |"DCB 0".... | 00000750 20 d5 23 66 6e 25 2c 22 41 4c 49 47 4e 22 0d 03 | .#fn%,"ALIGN"..| 00000760 a2 23 20 20 20 20 20 20 e7 20 61 63 74 75 61 6c |.# . actual| 00000770 63 6f 6d 6d 61 6e 64 25 28 63 6f 6d 6d 25 29 20 |command%(comm%) | 00000780 8c 0d 03 ac 28 20 20 20 20 20 20 20 20 20 20 d5 |....( .| 00000790 23 66 6e 25 2c 22 44 43 44 20 63 6f 6d 6d 61 6e |#fn%,"DCD comman| 000007a0 64 22 2b c3 63 6f 6d 6d 25 0d 03 b6 63 20 20 20 |d"+.comm%...c | 000007b0 20 20 20 20 20 20 20 d5 23 66 6e 25 2c 22 44 43 | .#fn%,"DC| 000007c0 44 20 26 22 2b c3 7e 66 6c 61 67 73 25 28 63 6f |D &"+.~flags%(co| 000007d0 6d 6d 25 29 2b c3 7e 6d 61 78 70 61 72 61 6d 73 |mm%)+.~maxparams| 000007e0 25 28 63 6f 6d 6d 25 29 2b c3 7e 67 73 6d 61 70 |%(comm%)+.~gsmap| 000007f0 25 28 63 6f 6d 6d 25 29 2b c3 7e 6d 69 6e 70 61 |%(comm%)+.~minpa| 00000800 72 61 6d 73 25 28 63 6f 6d 6d 25 29 0d 03 c0 0d |rams%(comm%)....| 00000810 20 20 20 20 20 20 20 20 cc 0d 03 ca 1b 20 20 20 | ..... | 00000820 20 20 20 20 20 20 20 d5 23 66 6e 25 2c 22 44 43 | .#fn%,"DC| 00000830 44 20 30 22 0d 03 d4 1b 20 20 20 20 20 20 20 20 |D 0".... | 00000840 20 20 d5 23 66 6e 25 2c 22 44 43 44 20 30 22 0d | .#fn%,"DCD 0".| 00000850 03 de 0d 20 20 20 20 20 20 20 20 cd 0d 03 e8 24 |... ....$| 00000860 20 20 20 20 20 20 e7 20 73 79 6e 74 61 78 6d 65 | . syntaxme| 00000870 73 73 24 28 63 6f 6d 6d 25 29 3c 3e 22 22 20 8c |ss$(comm%)<>"" .| 00000880 0d 03 f2 27 20 20 20 20 20 20 20 20 20 20 d5 23 |...' .#| 00000890 66 6e 25 2c 22 44 43 44 20 73 79 6e 74 61 78 22 |fn%,"DCD syntax"| 000008a0 2b c3 63 6f 6d 6d 25 0d 03 fc 0d 20 20 20 20 20 |+.comm%.... | 000008b0 20 20 20 cc 0d 04 06 1b 20 20 20 20 20 20 20 20 | ..... | 000008c0 20 20 d5 23 66 6e 25 2c 22 44 43 44 20 30 22 0d | .#fn%,"DCD 0".| 000008d0 04 10 0d 20 20 20 20 20 20 20 20 cd 0d 04 1a 22 |... ...."| 000008e0 20 20 20 20 20 20 e7 20 68 65 6c 70 6d 65 73 73 | . helpmess| 000008f0 24 28 63 6f 6d 6d 25 29 3c 3e 22 22 20 8c 0d 04 |$(comm%)<>"" ...| 00000900 24 25 20 20 20 20 20 20 20 20 20 20 d5 23 66 6e |$% .#fn| 00000910 25 2c 22 44 43 44 20 68 65 6c 70 22 2b c3 63 6f |%,"DCD help"+.co| 00000920 6d 6d 25 0d 04 2e 0d 20 20 20 20 20 20 20 20 cc |mm%.... .| 00000930 0d 04 38 1b 20 20 20 20 20 20 20 20 20 20 d5 23 |..8. .#| 00000940 66 6e 25 2c 22 44 43 44 20 30 22 0d 04 42 0d 20 |fn%,"DCD 0"..B. | 00000950 20 20 20 20 20 20 20 cd 0d 04 4c 0b 20 20 20 20 | ...L. | 00000960 20 20 ed 0d 04 56 15 20 20 20 20 d5 23 66 6e 25 | ...V. .#fn%| 00000970 2c 22 44 43 44 20 30 22 0d 04 60 20 20 20 20 20 |,"DCD 0"..` | 00000980 e3 20 63 6f 6d 6d 25 3d 30 20 b8 20 6e 6f 6f 66 |. comm%=0 . noof| 00000990 63 6f 6d 6d 73 25 2d 31 0d 04 6a 22 20 20 20 20 |comms%-1..j" | 000009a0 20 20 e7 20 68 65 6c 70 6d 65 73 73 24 28 63 6f | . helpmess$(co| 000009b0 6d 6d 25 29 3c 3e 22 22 20 8c 0d 04 74 22 20 20 |mm%)<>"" ...t" | 000009c0 20 20 20 20 20 20 20 20 d5 23 66 6e 25 2c 22 2e | .#fn%,".| 000009d0 68 65 6c 70 22 2b c3 63 6f 6d 6d 25 0d 04 7e 33 |help"+.comm%..~3| 000009e0 20 20 20 20 20 20 20 20 20 20 d5 23 66 6e 25 2c | .#fn%,| 000009f0 22 44 43 42 20 22 2b bd 33 34 2b 68 65 6c 70 6d |"DCB "+.34+helpm| 00000a00 65 73 73 24 28 63 6f 6d 6d 25 29 2b bd 33 34 0d |ess$(comm%)+.34.| 00000a10 04 88 1c 20 20 20 20 20 20 20 20 20 20 d5 23 66 |... .#f| 00000a20 6e 25 2c 22 44 43 42 20 31 33 22 0d 04 92 27 20 |n%,"DCB 13"...' | 00000a30 20 20 20 20 20 20 20 20 20 e7 20 73 79 6e 74 61 | . synta| 00000a40 78 6d 65 73 73 24 28 63 6f 6d 6d 25 29 3d 22 22 |xmess$(comm%)=""| 00000a50 20 8c 0d 04 9c 1f 20 20 20 20 20 20 20 20 20 20 | ..... | 00000a60 20 20 20 20 d5 23 66 6e 25 2c 22 44 43 42 20 30 | .#fn%,"DCB 0| 00000a70 22 0d 04 a6 1f 20 20 20 20 20 20 20 20 20 20 20 |".... | 00000a80 20 20 20 d5 23 66 6e 25 2c 22 41 4c 49 47 4e 22 | .#fn%,"ALIGN"| 00000a90 0d 04 b0 11 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00000aa0 cd 0d 04 ba 0d 20 20 20 20 20 20 20 20 cd 0d 04 |..... ...| 00000ab0 c4 24 20 20 20 20 20 20 e7 20 73 79 6e 74 61 78 |.$ . syntax| 00000ac0 6d 65 73 73 24 28 63 6f 6d 6d 25 29 3c 3e 22 22 |mess$(comm%)<>""| 00000ad0 20 8c 0d 04 ce 24 20 20 20 20 20 20 20 20 20 20 | ....$ | 00000ae0 d5 23 66 6e 25 2c 22 2e 73 79 6e 74 61 78 22 2b |.#fn%,".syntax"+| 00000af0 c3 63 6f 6d 6d 25 0d 04 d8 35 20 20 20 20 20 20 |.comm%...5 | 00000b00 20 20 20 20 d5 23 66 6e 25 2c 22 44 43 42 20 22 | .#fn%,"DCB "| 00000b10 2b bd 33 34 2b 73 79 6e 74 61 78 6d 65 73 73 24 |+.34+syntaxmess$| 00000b20 28 63 6f 6d 6d 25 29 2b bd 33 34 0d 04 e2 1b 20 |(comm%)+.34.... | 00000b30 20 20 20 20 20 20 20 20 20 d5 23 66 6e 25 2c 22 | .#fn%,"| 00000b40 44 43 42 20 30 22 0d 04 ec 1b 20 20 20 20 20 20 |DCB 0".... | 00000b50 20 20 20 20 d5 23 66 6e 25 2c 22 41 4c 49 47 4e | .#fn%,"ALIGN| 00000b60 22 0d 04 f6 0d 20 20 20 20 20 20 20 20 cd 0d 05 |".... ...| 00000b70 00 0b 20 20 20 20 20 20 ed 0d 05 0a 05 e1 0d 05 |.. ........| 00000b80 14 04 0d 05 1e 19 dd f2 30 30 20 3a 20 f4 20 63 |........00 : . c| 00000b90 68 75 6e 6b 20 6e 75 6d 62 65 72 0d 05 28 41 e7 |hunk number..(A.| 00000ba0 20 ac 73 77 69 25 20 64 61 74 61 24 3d 22 44 43 | .swi% data$="DC| 00000bb0 44 20 30 22 20 8b 20 64 61 74 61 24 3d 22 44 43 |D 0" . data$="DC| 00000bc0 44 20 25 31 30 22 2b 63 68 75 6e 6b 6e 75 6d 62 |D %10"+chunknumb| 00000bd0 65 72 24 2b 22 30 30 30 30 30 30 22 0d 05 3c 05 |er$+"000000"..<.| 00000be0 e1 0d 05 3d 04 0d 05 46 12 dd f2 30 31 20 3a 20 |...=...F...01 : | 00000bf0 f4 20 74 69 74 6c 65 0d 05 50 1f d5 23 66 6e 25 |. title..P..#fn%| 00000c00 2c 22 44 43 42 20 22 2b bd 33 34 2b 74 69 74 6c |,"DCB "+.34+titl| 00000c10 65 24 2b bd 33 34 0d 05 5a 11 d5 23 66 6e 25 2c |e$+.34..Z..#fn%,| 00000c20 22 44 43 42 20 30 22 0d 05 64 11 64 61 74 61 24 |"DCB 0"..d.data$| 00000c30 3d 22 41 4c 49 47 4e 22 0d 05 6e 05 e1 0d 05 6f |="ALIGN"..n....o| 00000c40 04 0d 05 78 11 dd f2 30 32 20 3a 20 f4 20 68 65 |...x...02 : . he| 00000c50 6c 70 0d 05 82 1f 74 65 6d 70 24 3d 22 44 43 42 |lp....temp$="DCB| 00000c60 20 22 2b bd 33 34 2b 74 69 74 6c 65 24 2b bd 33 | "+.34+title$+.3| 00000c70 34 0d 05 8c 20 e7 20 a9 74 69 74 6c 65 24 3c 31 |4... . .title$<1| 00000c80 36 20 74 65 6d 70 24 2b 3d 22 2b 43 48 52 24 39 |6 temp$+="+CHR$9| 00000c90 22 0d 05 96 1f e7 20 a9 74 69 74 6c 65 24 3c 38 |"..... .title$<8| 00000ca0 20 74 65 6d 70 24 2b 3d 22 2b 43 48 52 24 39 22 | temp$+="+CHR$9"| 00000cb0 0d 05 a0 45 74 65 6d 70 24 2b 3d 22 2b 22 2b bd |...Etemp$+="+"+.| 00000cc0 33 34 2b 76 65 72 73 69 6f 6e 24 2b 22 20 28 22 |34+version$+" ("| 00000cd0 2b bd 33 34 2b 22 2b 4d 49 44 24 28 54 49 4d 45 |+.34+"+MID$(TIME| 00000ce0 24 2c 35 2c 31 31 29 2b 22 2b bd 33 34 2b 22 29 |$,5,11)+"+.34+")| 00000cf0 22 2b bd 33 34 0d 05 aa 0f d5 23 66 6e 25 2c 74 |"+.34.....#fn%,t| 00000d00 65 6d 70 24 0d 05 b4 11 d5 23 66 6e 25 2c 22 44 |emp$.....#fn%,"D| 00000d10 43 42 20 30 22 0d 05 be 11 64 61 74 61 24 3d 22 |CB 0"....data$="| 00000d20 41 4c 49 47 4e 22 0d 05 c8 05 e1 0d 05 c9 04 0d |ALIGN"..........| 00000d30 05 d2 18 dd f2 30 33 20 3a 20 f4 20 73 77 69 20 |.....03 : . swi | 00000d40 77 61 72 6e 69 6e 67 0d 05 dc 0c 64 61 74 61 24 |warning....data$| 00000d50 3d 22 22 0d 05 e6 12 e7 20 ac 73 77 69 25 20 f7 |=""..... .swi% .| 00000d60 20 8d 64 42 55 0d 05 f0 05 e1 0d 05 f1 04 0d 05 | .dBU...........| 00000d70 fa 16 dd f2 30 34 20 3a 20 f4 20 73 77 69 20 6e |....04 : . swi n| 00000d80 61 6d 65 73 0d 06 04 1f d5 23 66 6e 25 2c 22 44 |ames.....#fn%,"D| 00000d90 43 42 20 22 2b bd 33 34 2b 74 69 74 6c 65 24 2b |CB "+.34+title$+| 00000da0 bd 33 34 0d 06 0e 11 d5 23 66 6e 25 2c 22 44 43 |.34.....#fn%,"DC| 00000db0 42 20 30 22 0d 06 18 1d e3 20 73 77 69 6e 75 6d |B 0"..... swinum| 00000dc0 25 3d 30 20 b8 20 6e 6f 6f 66 73 77 69 73 25 2d |%=0 . noofswis%-| 00000dd0 31 0d 06 22 2a d5 23 66 6e 25 2c 22 44 43 42 20 |1.."*.#fn%,"DCB | 00000de0 22 2b bd 33 34 2b 73 77 69 6e 61 6d 65 24 28 73 |"+.34+swiname$(s| 00000df0 77 69 6e 75 6d 25 29 2b bd 33 34 0d 06 2c 11 d5 |winum%)+.34..,..| 00000e00 23 66 6e 25 2c 22 44 43 42 20 30 22 0d 06 36 05 |#fn%,"DCB 0"..6.| 00000e10 ed 0d 06 40 11 d5 23 66 6e 25 2c 22 44 43 42 20 |...@..#fn%,"DCB | 00000e20 30 22 0d 06 4a 11 64 61 74 61 24 3d 22 41 4c 49 |0"..J.data$="ALI| 00000e30 47 4e 22 0d 06 54 05 e1 0d 06 55 04 0d 06 5e 16 |GN"..T....U...^.| 00000e40 dd f2 30 35 20 3a 20 f4 20 73 77 69 20 74 61 62 |..05 : . swi tab| 00000e50 6c 65 0d 06 68 0c 64 61 74 61 24 3d 22 22 0d 06 |le..h.data$=""..| 00000e60 72 1d e3 20 73 77 69 6e 75 6d 25 3d 30 20 b8 20 |r.. swinum%=0 . | 00000e70 6e 6f 6f 66 73 77 69 73 25 2d 31 0d 06 7c 1a d5 |noofswis%-1..|..| 00000e80 23 66 6e 25 2c 22 42 20 73 77 69 22 2b c3 73 77 |#fn%,"B swi"+.sw| 00000e90 69 6e 75 6d 25 0d 06 86 05 ed 0d 06 90 05 e1 0d |inum%...........| 00000ea0 06 9a 16 dd f2 30 36 20 3a 20 f4 20 73 77 69 20 |.....06 : . swi | 00000eb0 65 72 72 6f 72 0d 06 a4 37 d5 23 66 6e 25 2c 22 |error...7.#fn%,"| 00000ec0 44 43 42 20 22 2b bd 33 34 2b 22 55 6e 6b 6e 6f |DCB "+.34+"Unkno| 00000ed0 77 6e 20 22 2b 74 69 74 6c 65 24 2b 22 20 6f 70 |wn "+title$+" op| 00000ee0 65 72 61 74 69 6f 6e 22 2b bd 33 34 0d 06 ae 11 |eration"+.34....| 00000ef0 d5 23 66 6e 25 2c 22 44 43 42 20 30 22 0d 06 b8 |.#fn%,"DCB 0"...| 00000f00 11 64 61 74 61 24 3d 22 41 4c 49 47 4e 22 0d 06 |.data$="ALIGN"..| 00000f10 c2 05 e1 0d 06 cc 0d dd f2 67 65 74 69 6e 66 6f |.........getinfo| 00000f20 0d 06 d6 05 f5 0d 06 e0 07 ee 85 87 0d 06 ea 05 |................| 00000f30 db 0d 06 f4 81 f2 6d 65 6e 75 28 22 4e 65 77 20 |......menu("New | 00000f40 6d 6f 64 75 6c 65 3e 46 4e 6e 65 77 6d 6f 64 75 |module>FNnewmodu| 00000f50 6c 65 2c 53 61 76 65 20 6d 6f 64 75 6c 65 3e 46 |le,Save module>F| 00000f60 4e 73 61 76 65 6d 6f 64 75 6c 65 2c 4e 61 6d 65 |Nsavemodule,Name| 00000f70 20 6d 6f 64 75 6c 65 3e 46 4e 6e 61 6d 65 6d 6f | module>FNnamemo| 00000f80 64 75 6c 65 2c 43 6f 6d 6d 61 6e 64 73 3e 46 4e |dule,Commands>FN| 00000f90 63 6f 6d 6d 61 6e 64 73 2c 53 57 49 73 3e 46 4e |commands,SWIs>FN| 00000fa0 73 77 69 73 2c 43 6f 64 65 3e 46 4e 63 6f 64 65 |swis,Code>FNcode| 00000fb0 22 29 0d 06 fe 0b fd 20 71 75 69 74 25 0d 07 08 |")..... quit%...| 00000fc0 05 e1 0d 07 12 0f dd a4 6e 65 77 6d 6f 64 75 6c |........newmodul| 00000fd0 65 0d 07 1c 05 db 0d 07 26 2f f1 22 57 61 72 6e |e.......&/."Warn| 00000fe0 69 6e 67 20 2d 20 41 6c 6c 20 63 75 72 72 65 6e |ing - All curren| 00000ff0 74 20 64 61 74 61 20 77 69 6c 6c 20 62 65 20 6c |t data will be l| 00001000 6f 73 74 21 22 0d 07 30 29 f1 27 22 41 72 65 20 |ost!"..0).'"Are | 00001010 79 6f 75 20 73 75 72 65 20 79 6f 75 20 77 61 6e |you sure you wan| 00001020 74 20 74 6f 20 70 72 6f 63 65 65 64 3f 22 0d 07 |t to proceed?"..| 00001030 3a 07 f1 27 27 0d 07 44 2b f2 6d 65 6e 75 28 22 |:..''..D+.menu("| 00001040 59 65 73 3e 46 4e 63 6c 65 61 72 73 70 61 63 65 |Yes>FNclearspace| 00001050 2c 4e 6f 3e 46 4e 6e 6f 72 65 73 75 6c 74 22 29 |,No>FNnoresult")| 00001060 0d 07 4e 06 3d 30 0d 07 58 10 dd a4 63 6c 65 61 |..N.=0..X...clea| 00001070 72 73 70 61 63 65 0d 07 62 12 f2 69 6e 69 74 61 |rspace..b..inita| 00001080 6c 6c 79 6f 75 63 61 6e 0d 07 6c 06 3d 30 0d 07 |llyoucan..l.=0..| 00001090 76 0e dd a4 6e 6f 72 65 73 75 6c 74 0d 07 80 06 |v...noresult....| 000010a0 3d 37 0d 07 8a 10 dd a4 73 61 76 65 6d 6f 64 75 |=7......savemodu| 000010b0 6c 65 0d 07 94 05 db 0d 07 9e 29 e8 22 45 6e 74 |le........)."Ent| 000010c0 65 72 20 66 69 6c 65 6e 61 6d 65 20 74 6f 20 73 |er filename to s| 000010d0 61 76 65 20 61 73 20 3a 20 22 66 6e 61 6d 65 24 |ave as : "fname$| 000010e0 0d 07 a8 11 ee 85 ef 37 3a f2 67 65 74 69 6e 66 |.......7:.getinf| 000010f0 6f 0d 07 b2 12 e7 20 66 6e 61 6d 65 24 3d 22 22 |o..... fname$=""| 00001100 20 3d 37 0d 07 bc 11 f2 73 61 76 65 28 66 6e 61 | =7.....save(fna| 00001110 6d 65 24 29 0d 07 c6 06 3d 30 0d 07 d0 10 dd a4 |me$)....=0......| 00001120 6e 61 6d 65 6d 6f 64 75 6c 65 0d 07 da 05 db 0d |namemodule......| 00001130 07 e4 27 f1 22 43 75 72 72 65 6e 74 20 6d 6f 64 |..'."Current mod| 00001140 75 6c 65 20 6e 61 6d 65 20 69 73 20 3a 20 22 3b |ule name is : ";| 00001150 74 69 74 6c 65 24 0d 07 ee 27 e8 22 4e 65 77 20 |title$...'."New | 00001160 6e 61 6d 65 20 69 73 20 20 20 20 20 20 20 20 20 |name is | 00001170 20 20 20 3a 20 22 6e 65 77 74 69 74 24 0d 07 f8 | : "newtit$...| 00001180 13 e7 20 6e 65 77 74 69 74 24 3d 22 22 20 3d 37 |.. newtit$="" =7| 00001190 0d 08 02 16 e7 20 a9 28 6e 65 77 74 69 74 24 29 |..... .(newtit$)| 000011a0 3e 31 35 20 3d 37 0d 08 0c 12 74 69 74 6c 65 24 |>15 =7....title$| 000011b0 3d 6e 65 77 74 69 74 24 0d 08 16 06 3d 30 0d 08 |=newtit$....=0..| 000011c0 20 0e dd a4 63 6f 6d 6d 61 6e 64 73 0d 08 2a 05 | ...commands..*.| 000011d0 db 0d 08 34 56 f2 6d 65 6e 75 28 22 43 72 65 61 |...4V.menu("Crea| 000011e0 74 65 20 63 6f 6d 6d 61 6e 64 3e 46 4e 63 72 65 |te command>FNcre| 000011f0 61 74 65 63 6f 6d 6d 61 6e 64 2c 45 64 69 74 20 |atecommand,Edit | 00001200 63 6f 6d 6d 61 6e 64 3e 46 4e 65 64 69 74 63 6f |command>FNeditco| 00001210 6d 6d 61 6e 64 2c 45 78 69 74 3e 46 4e 6e 6f 72 |mmand,Exit>FNnor| 00001220 65 73 75 6c 74 22 29 0d 08 3e 06 3d 30 0d 08 48 |esult")..>.=0..H| 00001230 13 dd a4 63 72 65 61 74 65 63 6f 6d 6d 61 6e 64 |...createcommand| 00001240 0d 08 52 16 e7 20 6e 6f 6f 66 63 6f 6d 6d 73 25 |..R.. noofcomms%| 00001250 3d 36 34 20 3d 37 0d 08 5c 05 db 0d 08 66 26 e8 |=64 =7..\....f&.| 00001260 22 45 6e 74 65 72 20 63 6f 6d 6d 61 6e 64 20 6e |"Enter command n| 00001270 61 6d 65 20 3a 20 22 63 6f 6d 6d 32 6e 61 6d 65 |ame : "comm2name| 00001280 24 0d 08 70 1f f2 74 65 73 74 66 6f 72 63 6f 6d |$..p..testforcom| 00001290 6d 61 6e 64 28 63 6f 6d 6d 32 6e 61 6d 65 24 29 |mand(comm2name$)| 000012a0 0d 08 7a 14 e7 20 63 6f 6d 6d 6e 6f 25 3d 32 35 |..z.. commno%=25| 000012b0 36 20 3d 37 0d 08 84 18 63 6f 6d 6d 6e 61 6d 65 |6 =7....commname| 000012c0 24 3d 63 6f 6d 6d 32 6e 61 6d 65 24 0d 08 8e 23 |$=comm2name$...#| 000012d0 63 6f 6d 6d 6e 61 6d 65 24 28 6e 6f 6f 66 63 6f |commname$(noofco| 000012e0 6d 6d 73 25 29 3d 63 6f 6d 6d 6e 61 6d 65 24 0d |mms%)=commname$.| 000012f0 08 98 1d 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 |...commandnumber| 00001300 25 3d 6e 6f 6f 66 63 6f 6d 6d 73 25 0d 08 a2 11 |%=noofcomms%....| 00001310 6e 6f 6f 66 63 6f 6d 6d 73 25 2b 3d 31 0d 08 ac |noofcomms%+=1...| 00001320 0f 63 6f 6d 6d 61 6e 64 73 25 3d b9 0d 08 b6 06 |.commands%=.....| 00001330 3d 30 0d 08 c0 1f dd f2 74 65 73 74 66 6f 72 63 |=0......testforc| 00001340 6f 6d 6d 61 6e 64 28 63 6f 6d 6d 6e 61 6d 65 24 |ommand(commname$| 00001350 29 0d 08 ca 11 63 6f 6d 6d 61 6e 64 6e 6f 25 3d |)....commandno%=| 00001360 2d 31 0d 08 d4 0d 63 6f 6d 6d 6e 6f 25 3d 30 0d |-1....commno%=0.| 00001370 08 de 05 f5 0d 08 e8 46 e7 20 a4 65 71 28 63 6f |.......F. .eq(co| 00001380 6d 6d 6e 61 6d 65 24 2c 63 6f 6d 6d 6e 61 6d 65 |mmname$,commname| 00001390 24 28 63 6f 6d 6d 6e 6f 25 29 29 20 63 6f 6d 6d |$(commno%)) comm| 000013a0 61 6e 64 6e 6f 25 3d 63 6f 6d 6d 6e 6f 25 3a 63 |andno%=commno%:c| 000013b0 6f 6d 6d 6e 6f 25 3d 32 35 35 0d 08 f2 0e 63 6f |ommno%=255....co| 000013c0 6d 6d 6e 6f 25 2b 3d 31 0d 08 fc 19 fd 20 63 6f |mmno%+=1..... co| 000013d0 6d 6d 6e 6f 25 3e 3d 6e 6f 6f 66 63 6f 6d 6d 73 |mmno%>=noofcomms| 000013e0 25 0d 09 06 05 e1 0d 09 10 11 dd a4 65 64 69 74 |%...........edit| 000013f0 63 6f 6d 6d 61 6e 64 0d 09 1a 14 e7 20 ac 20 63 |command..... . c| 00001400 6f 6d 6d 61 6e 64 73 25 20 3d 37 0d 09 24 05 db |ommands% =7..$..| 00001410 0d 09 2e db f2 6d 65 6e 75 28 22 4e 61 6d 65 3e |.....menu("Name>| 00001420 46 4e 63 6f 6d 6d 61 6e 64 6e 61 6d 65 2c 52 65 |FNcommandname,Re| 00001430 6e 61 6d 65 3e 46 4e 63 6f 6d 6d 61 6e 64 72 65 |name>FNcommandre| 00001440 6e 61 6d 65 2c 48 65 6c 70 3e 46 4e 63 6f 6d 6d |name,Help>FNcomm| 00001450 61 6e 64 68 65 6c 70 2c 53 79 6e 74 61 78 3e 46 |andhelp,Syntax>F| 00001460 4e 63 6f 6d 6d 61 6e 64 73 79 6e 74 61 78 2c 43 |Ncommandsyntax,C| 00001470 6f 64 65 3e 46 4e 63 6f 6d 6d 61 6e 64 63 6f 64 |ode>FNcommandcod| 00001480 65 2c 4d 61 78 20 70 61 72 61 6d 73 3e 46 4e 63 |e,Max params>FNc| 00001490 6f 6d 6d 61 6e 64 6d 61 78 2c 4d 69 6e 20 70 61 |ommandmax,Min pa| 000014a0 72 61 6d 73 3e 46 4e 63 6f 6d 6d 61 6e 64 6d 69 |rams>FNcommandmi| 000014b0 6e 2c 47 53 20 6d 61 70 3e 46 4e 63 6f 6d 6d 61 |n,GS map>FNcomma| 000014c0 6e 64 67 73 2c 46 6c 61 67 73 3e 46 4e 63 6f 6d |ndgs,Flags>FNcom| 000014d0 6d 61 6e 64 66 6c 61 67 73 2c 45 78 69 74 3e 46 |mandflags,Exit>F| 000014e0 4e 6e 6f 72 65 73 75 6c 74 22 29 0d 09 38 06 3d |Nnoresult")..8.=| 000014f0 30 0d 09 42 11 dd a4 63 6f 6d 6d 61 6e 64 6e 61 |0..B...commandna| 00001500 6d 65 0d 09 4c 05 db 0d 09 56 3b e7 20 63 6f 6d |me..L....V;. com| 00001510 6d 6e 61 6d 65 24 3c 3e 22 22 20 f1 22 43 75 72 |mname$<>"" ."Cur| 00001520 72 65 6e 74 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d |rent command nam| 00001530 65 20 69 73 20 3a 20 22 3b 63 6f 6d 6d 6e 61 6d |e is : ";commnam| 00001540 65 24 0d 09 60 2b e8 22 45 6e 74 65 72 20 6e 65 |e$..`+."Enter ne| 00001550 77 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 20 |w command name | 00001560 3a 20 22 63 6f 6d 6d 32 6e 61 6d 65 24 0d 09 6a |: "comm2name$..j| 00001570 16 e7 20 63 6f 6d 6d 32 6e 61 6d 65 24 3d 22 22 |.. comm2name$=""| 00001580 20 3d 37 0d 09 74 1f f2 74 65 73 74 66 6f 72 63 | =7..t..testforc| 00001590 6f 6d 6d 61 6e 64 28 63 6f 6d 6d 32 6e 61 6d 65 |ommand(comm2name| 000015a0 24 29 0d 09 7e 16 e7 20 63 6f 6d 6d 61 6e 64 6e |$)..~.. commandn| 000015b0 6f 25 3d 2d 31 20 3d 37 0d 09 88 1d 63 6f 6d 6d |o%=-1 =7....comm| 000015c0 61 6e 64 6e 75 6d 62 65 72 25 3d 63 6f 6d 6d 61 |andnumber%=comma| 000015d0 6e 64 6e 6f 25 0d 09 92 18 63 6f 6d 6d 6e 61 6d |ndno%....commnam| 000015e0 65 24 3d 63 6f 6d 6d 32 6e 61 6d 65 24 0d 09 9c |e$=comm2name$...| 000015f0 06 3d 30 0d 09 a6 13 dd a4 63 6f 6d 6d 61 6e 64 |.=0......command| 00001600 72 65 6e 61 6d 65 0d 09 b0 15 e7 20 63 6f 6d 6d |rename..... comm| 00001610 6e 61 6d 65 24 3d 22 22 20 3d 37 0d 09 ba 05 db |name$="" =7.....| 00001620 0d 09 c4 2b f1 22 43 75 72 72 65 6e 74 20 63 6f |...+."Current co| 00001630 6d 6d 61 6e 64 20 6e 61 6d 65 20 69 73 20 3a 20 |mmand name is : | 00001640 22 3b 63 6f 6d 6d 6e 61 6d 65 24 0d 09 ce 2b e8 |";commname$...+.| 00001650 22 45 6e 74 65 72 20 6e 65 77 20 63 6f 6d 6d 61 |"Enter new comma| 00001660 6e 64 20 6e 61 6d 65 20 20 3a 20 22 63 6f 6d 6d |nd name : "comm| 00001670 32 6e 61 6d 65 24 0d 09 d8 16 e7 20 63 6f 6d 6d |2name$..... comm| 00001680 32 6e 61 6d 65 24 3d 22 22 20 3d 37 0d 09 e2 1f |2name$="" =7....| 00001690 f2 74 65 73 74 66 6f 72 63 6f 6d 6d 61 6e 64 28 |.testforcommand(| 000016a0 63 6f 6d 6d 32 6e 61 6d 65 24 29 0d 09 ec 16 e7 |comm2name$).....| 000016b0 20 63 6f 6d 6d 61 6e 64 6e 6f 25 3e 2d 31 20 3d | commandno%>-1 =| 000016c0 37 0d 09 f6 18 63 6f 6d 6d 6e 61 6d 65 24 3d 63 |7....commname$=c| 000016d0 6f 6d 6d 32 6e 61 6d 65 24 0d 0a 00 27 63 6f 6d |omm2name$...'com| 000016e0 6d 6e 61 6d 65 24 28 63 6f 6d 6d 61 6e 64 6e 75 |mname$(commandnu| 000016f0 6d 62 65 72 25 29 3d 63 6f 6d 6d 6e 61 6d 65 24 |mber%)=commname$| 00001700 0d 0a 0a 06 3d 30 0d 0a 14 11 dd a4 63 6f 6d 6d |....=0......comm| 00001710 61 6e 64 68 65 6c 70 0d 0a 1e 15 e7 20 63 6f 6d |andhelp..... com| 00001720 6d 6e 61 6d 65 24 3d 22 22 20 3d 37 0d 0a 28 05 |mname$="" =7..(.| 00001730 db 0d 0a 32 24 e7 20 68 65 6c 70 6d 65 73 73 24 |...2$. helpmess$| 00001740 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 25 29 |(commandnumber%)| 00001750 3d 22 22 20 8c 0d 0a 3c 13 f1 22 4e 6f 20 68 65 |="" ...<.."No he| 00001760 6c 70 20 74 65 78 74 22 0d 0a 46 05 cc 0d 0a 50 |lp text"..F....P| 00001770 1b f1 22 43 75 72 72 65 6e 74 20 68 65 6c 70 20 |.."Current help | 00001780 74 65 78 74 20 3a 20 22 0d 0a 5a 36 c8 99 20 22 |text : "..Z6.. "| 00001790 4f 53 5f 50 72 65 74 74 79 50 72 69 6e 74 22 2c |OS_PrettyPrint",| 000017a0 68 65 6c 70 6d 65 73 73 24 28 63 6f 6d 6d 61 6e |helpmess$(comman| 000017b0 64 6e 75 6d 62 65 72 25 29 2c 30 2c 2d 31 0d 0a |dnumber%),0,-1..| 000017c0 64 05 cd 0d 0a 6e 26 e8 22 45 6e 74 65 72 20 6e |d....n&."Enter n| 000017d0 65 77 20 68 65 6c 70 20 74 65 78 74 20 3a 20 22 |ew help text : "| 000017e0 68 65 6c 70 74 65 78 74 24 0d 0a 78 15 e7 20 68 |helptext$..x.. h| 000017f0 65 6c 70 74 65 78 74 24 3d 22 22 20 3d 37 0d 0a |elptext$="" =7..| 00001800 82 27 68 65 6c 70 6d 65 73 73 24 28 63 6f 6d 6d |.'helpmess$(comm| 00001810 61 6e 64 6e 75 6d 62 65 72 25 29 3d 68 65 6c 70 |andnumber%)=help| 00001820 74 65 78 74 24 0d 0a 8c 06 3d 30 0d 0a 96 13 dd |text$....=0.....| 00001830 a4 63 6f 6d 6d 61 6e 64 73 79 6e 74 61 78 0d 0a |.commandsyntax..| 00001840 a0 15 e7 20 63 6f 6d 6d 6e 61 6d 65 24 3d 22 22 |... commname$=""| 00001850 20 3d 37 0d 0a aa 05 db 0d 0a b4 26 e7 20 73 79 | =7........&. sy| 00001860 6e 74 61 78 6d 65 73 73 24 28 63 6f 6d 6d 61 6e |ntaxmess$(comman| 00001870 64 6e 75 6d 62 65 72 25 29 3d 22 22 20 8c 0d 0a |dnumber%)="" ...| 00001880 be 1d f1 22 44 65 66 61 75 6c 74 20 73 79 6e 74 |..."Default synt| 00001890 61 78 20 6d 65 73 73 61 67 65 22 0d 0a c8 05 cc |ax message".....| 000018a0 0d 0a d2 3c f1 22 43 75 72 72 65 6e 74 20 73 79 |...<."Current sy| 000018b0 6e 74 61 78 20 6d 65 73 73 61 67 65 20 3a 20 22 |ntax message : "| 000018c0 3b 73 79 6e 74 61 78 6d 65 73 73 24 28 63 6f 6d |;syntaxmess$(com| 000018d0 6d 61 6e 64 6e 75 6d 62 65 72 25 29 0d 0a dc 05 |mandnumber%)....| 000018e0 cd 0d 0a e6 2a e8 22 45 6e 74 65 72 20 6e 65 77 |....*."Enter new| 000018f0 20 73 79 6e 74 61 78 20 74 65 78 74 20 3a 20 22 | syntax text : "| 00001900 73 79 6e 74 61 78 74 65 78 74 24 0d 0a f0 17 e7 |syntaxtext$.....| 00001910 20 73 79 6e 74 61 78 74 65 78 74 24 3d 22 22 20 | syntaxtext$="" | 00001920 3d 37 0d 0a fa 29 73 79 6e 74 61 78 6d 65 73 73 |=7...)syntaxmess| 00001930 24 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 25 |$(commandnumber%| 00001940 29 3d 68 65 6c 70 74 65 78 74 24 0d 0b 04 06 3d |)=helptext$....=| 00001950 30 0d 0b 0e 11 dd a4 63 6f 6d 6d 61 6e 64 63 6f |0......commandco| 00001960 64 65 0d 0b 18 15 e7 20 63 6f 6d 6d 6e 61 6d 65 |de..... commname| 00001970 24 3d 22 22 20 3d 37 0d 0b 22 05 db 0d 0b 2c 1e |$="" =7.."....,.| 00001980 f1 22 43 6f 6d 6d 61 6e 64 20 63 75 72 72 65 6e |."Command curren| 00001990 74 6c 79 20 68 61 73 20 22 3b 0d 0b 36 2e e7 20 |tly has ";..6.. | 000019a0 ac 20 61 63 74 75 61 6c 63 6f 6d 6d 61 6e 64 25 |. actualcommand%| 000019b0 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 25 29 |(commandnumber%)| 000019c0 20 f1 22 6e 6f 20 22 3b 0d 0b 40 23 f1 22 72 75 | ."no ";..@#."ru| 000019d0 6e 2d 63 6f 64 65 20 61 73 73 6f 63 69 61 74 65 |n-code associate| 000019e0 64 20 77 69 74 68 20 69 74 2e 22 0d 0b 4a 24 f1 |d with it."..J$.| 000019f0 22 44 6f 20 79 6f 75 20 77 69 73 68 20 74 6f 20 |"Do you wish to | 00001a00 68 61 76 65 20 72 75 6e 2d 63 6f 64 65 3f 22 0d |have run-code?".| 00001a10 0b 54 07 f1 27 27 0d 0b 5e 39 f2 6d 65 6e 75 28 |.T..''..^9.menu(| 00001a20 22 59 65 73 3e 46 4e 72 75 6e 63 6f 64 65 2c 4e |"Yes>FNruncode,N| 00001a30 6f 3e 46 4e 6e 6f 72 75 6e 63 6f 64 65 2c 45 78 |o>FNnoruncode,Ex| 00001a40 69 74 3e 46 4e 6e 6f 72 65 73 75 6c 74 22 29 0d |it>FNnoresult").| 00001a50 0b 68 06 3d 30 0d 0b 72 0d dd a4 72 75 6e 63 6f |.h.=0..r...runco| 00001a60 64 65 0d 0b 7c 25 61 63 74 75 61 6c 63 6f 6d 6d |de..|%actualcomm| 00001a70 61 6e 64 25 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 |and%(commandnumb| 00001a80 65 72 25 29 3d 2d 31 0d 0b 86 06 3d 30 0d 0b 90 |er%)=-1....=0...| 00001a90 0f dd a4 6e 6f 72 75 6e 63 6f 64 65 0d 0b 9a 24 |...noruncode...$| 00001aa0 61 63 74 75 61 6c 63 6f 6d 6d 61 6e 64 25 28 63 |actualcommand%(c| 00001ab0 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 25 29 3d 30 |ommandnumber%)=0| 00001ac0 0d 0b a4 06 3d 30 0d 0b ae 05 20 0d 0b b8 10 dd |....=0.... .....| 00001ad0 a4 63 6f 6d 6d 61 6e 64 6d 69 6e 0d 0b c2 15 e7 |.commandmin.....| 00001ae0 20 63 6f 6d 6d 6e 61 6d 65 24 3d 22 22 20 3d 37 | commname$="" =7| 00001af0 0d 0b cc 05 db 0d 0b d6 57 f1 22 43 6f 6d 6d 61 |........W."Comma| 00001b00 6e 64 20 63 75 72 72 65 6e 74 6c 79 20 68 61 73 |nd currently has| 00001b10 20 61 20 6d 69 6e 69 6d 75 6d 20 6f 66 20 22 3b | a minimum of ";| 00001b20 c3 28 6d 69 6e 70 61 72 61 6d 73 25 28 63 6f 6d |.(minparams%(com| 00001b30 6d 61 6e 64 6e 75 6d 62 65 72 25 29 29 3b 22 20 |mandnumber%));" | 00001b40 70 61 72 61 6d 65 74 65 72 73 2e 22 0d 0b e0 32 |parameters."...2| 00001b50 e8 22 45 6e 74 65 72 20 6e 75 6d 62 65 72 20 6f |."Enter number o| 00001b60 66 20 6d 69 6e 69 6d 75 6d 20 70 61 72 61 6d 65 |f minimum parame| 00001b70 74 65 72 73 20 3a 20 22 70 61 72 61 6d 24 0d 0b |ters : "param$..| 00001b80 ea 21 e7 20 70 61 72 61 6d 24 3c 22 30 22 20 84 |.!. param$<"0" .| 00001b90 20 70 61 72 61 6d 24 3e 22 39 39 22 20 3d 37 0d | param$>"99" =7.| 00001ba0 0b f4 12 70 61 72 61 6d 25 3d bb 70 61 72 61 6d |...param%=.param| 00001bb0 24 0d 0b fe 1e e7 20 70 61 72 61 6d 25 3c 30 20 |$..... param%<0 | 00001bc0 84 20 70 61 72 61 6d 25 3e 32 35 35 20 3d 37 0d |. param%>255 =7.| 00001bd0 0c 08 25 6d 69 6e 70 61 72 61 6d 73 25 28 63 6f |..%minparams%(co| 00001be0 6d 6d 61 6e 64 6e 75 6d 62 65 72 25 29 3d 70 61 |mmandnumber%)=pa| 00001bf0 72 61 6d 25 0d 0c 12 06 3d 30 0d 0c 1c 10 dd a4 |ram%....=0......| 00001c00 63 6f 6d 6d 61 6e 64 6d 61 78 0d 0c 26 15 e7 20 |commandmax..&.. | 00001c10 63 6f 6d 6d 6e 61 6d 65 24 3d 22 22 20 3d 37 0d |commname$="" =7.| 00001c20 0c 30 05 db 0d 0c 3a 57 f1 22 43 6f 6d 6d 61 6e |.0....:W."Comman| 00001c30 64 20 63 75 72 72 65 6e 74 6c 79 20 68 61 73 20 |d currently has | 00001c40 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 22 3b c3 |a maximum of ";.| 00001c50 28 6d 61 78 70 61 72 61 6d 73 25 28 63 6f 6d 6d |(maxparams%(comm| 00001c60 61 6e 64 6e 75 6d 62 65 72 25 29 29 3b 22 20 70 |andnumber%));" p| 00001c70 61 72 61 6d 65 74 65 72 73 2e 22 0d 0c 44 32 e8 |arameters."..D2.| 00001c80 22 45 6e 74 65 72 20 6e 75 6d 62 65 72 20 6f 66 |"Enter number of| 00001c90 20 6d 61 78 69 6d 75 6d 20 70 61 72 61 6d 65 74 | maximum paramet| 00001ca0 65 72 73 20 3a 20 22 70 61 72 61 6d 24 0d 0c 4e |ers : "param$..N| 00001cb0 21 e7 20 70 61 72 61 6d 24 3c 22 30 22 20 84 20 |!. param$<"0" . | 00001cc0 70 61 72 61 6d 24 3e 22 39 39 22 20 3d 37 0d 0c |param$>"99" =7..| 00001cd0 58 12 70 61 72 61 6d 25 3d bb 70 61 72 61 6d 24 |X.param%=.param$| 00001ce0 0d 0c 62 37 e7 20 70 61 72 61 6d 25 3c 6d 69 6e |..b7. param%<min| 00001cf0 70 61 72 61 6d 73 25 28 63 6f 6d 6d 61 6e 64 6e |params%(commandn| 00001d00 75 6d 62 65 72 25 29 20 84 20 70 61 72 61 6d 25 |umber%) . param%| 00001d10 3e 32 35 35 20 3d 37 0d 0c 6c 25 6d 61 78 70 61 |>255 =7..l%maxpa| 00001d20 72 61 6d 73 25 28 63 6f 6d 6d 61 6e 64 6e 75 6d |rams%(commandnum| 00001d30 62 65 72 25 29 3d 70 61 72 61 6d 25 0d 0c 76 06 |ber%)=param%..v.| 00001d40 3d 30 0d 0c 80 0f dd a4 63 6f 6d 6d 61 6e 64 67 |=0......commandg| 00001d50 73 0d 0c 8a 15 e7 20 63 6f 6d 6d 6e 61 6d 65 24 |s..... commname$| 00001d60 3d 22 22 20 3d 37 0d 0c 94 05 db 0d 0c 9e 33 f1 |="" =7........3.| 00001d70 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |" | 00001d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001d90 20 20 20 20 20 37 36 35 34 33 32 31 30 22 0d 0c | 76543210"..| 00001da0 a8 2c f1 22 43 6f 6d 6d 61 6e 64 20 63 75 72 72 |.,."Command curr| 00001db0 65 6e 74 6c 79 20 68 61 73 20 61 20 47 53 20 6d |ently has a GS m| 00001dc0 61 70 20 6f 66 20 3a 20 22 3b 0d 0c b2 0b 62 69 |ap of : ";....bi| 00001dd0 6e 24 3d 22 22 0d 0c bc 3a c8 99 20 22 4f 53 5f |n$=""...:.. "OS_| 00001de0 43 6f 6e 76 65 72 74 42 69 6e 61 72 79 31 22 2c |ConvertBinary1",| 00001df0 67 73 6d 61 70 25 28 63 6f 6d 6d 61 6e 64 6e 75 |gsmap%(commandnu| 00001e00 6d 62 65 72 25 29 2c 62 69 6e 25 2c 32 35 35 0d |mber%),bin%,255.| 00001e10 0c c6 0c 63 6f 75 6e 74 25 3d 30 0d 0c d0 15 c8 |...count%=0.....| 00001e20 95 20 62 69 6e 25 3f 63 6f 75 6e 74 25 3e 33 31 |. bin%?count%>31| 00001e30 0d 0c da 18 62 69 6e 24 2b 3d bd 28 62 69 6e 25 |....bin$+=.(bin%| 00001e40 3f 63 6f 75 6e 74 25 29 0d 0c e4 0d 63 6f 75 6e |?count%)....coun| 00001e50 74 25 2b 3d 31 0d 0c ee 05 ce 0d 0c f8 09 f1 62 |t%+=1..........b| 00001e60 69 6e 24 0d 0d 02 31 e8 22 4e 65 77 20 47 53 20 |in$...1."New GS | 00001e70 6d 61 70 20 69 73 20 20 20 20 20 20 20 20 20 20 |map is | 00001e80 20 20 20 20 20 20 20 20 20 20 20 3a 20 22 67 73 | : "gs| 00001e90 6d 61 70 24 0d 0d 0c 2e e7 20 67 73 6d 61 70 24 |map$..... gsmap$| 00001ea0 3c 22 30 30 30 30 30 30 30 30 22 20 84 20 67 73 |<"00000000" . gs| 00001eb0 6d 61 70 24 3e 22 31 31 31 31 31 31 31 31 22 20 |map$>"11111111" | 00001ec0 3d 37 0d 0d 16 28 67 73 6d 61 70 25 28 63 6f 6d |=7...(gsmap%(com| 00001ed0 6d 61 6e 64 6e 75 6d 62 65 72 25 29 3d a0 28 22 |mandnumber%)=.("| 00001ee0 25 22 2b 67 73 6d 61 70 24 29 0d 0d 20 06 3d 30 |%"+gsmap$).. .=0| 00001ef0 0d 0d 2a 12 dd a4 63 6f 6d 6d 61 6e 64 66 6c 61 |..*...commandfla| 00001f00 67 73 0d 0d 34 15 e7 20 63 6f 6d 6d 6e 61 6d 65 |gs..4.. commname| 00001f10 24 3d 22 22 20 3d 37 0d 0d 3e 05 db 0d 0d 48 55 |$="" =7..>....HU| 00001f20 f2 6d 65 6e 75 28 22 46 69 6c 65 20 63 6f 6d 6d |.menu("File comm| 00001f30 61 6e 64 3e 46 4e 66 69 6c 65 63 6f 6d 6d 61 6e |and>FNfilecomman| 00001f40 64 2c 43 6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d |d,Configure comm| 00001f50 61 6e 64 3e 46 4e 63 6f 6e 66 69 67 75 72 65 2c |and>FNconfigure,| 00001f60 45 78 69 74 3e 46 4e 6e 6f 72 65 73 75 6c 74 22 |Exit>FNnoresult"| 00001f70 29 0d 0d 52 06 3d 30 0d 0d 5c 11 dd a4 66 69 6c |)..R.=0..\...fil| 00001f80 65 63 6f 6d 6d 61 6e 64 0d 0d 66 15 e7 20 63 6f |ecommand..f.. co| 00001f90 6d 6d 6e 61 6d 65 24 3d 22 22 20 3d 37 0d 0d 70 |mmname$="" =7..p| 00001fa0 05 db 0d 0d 7a 1d f1 22 43 6f 6d 6d 61 6e 64 20 |....z.."Command | 00001fb0 63 75 72 72 65 6e 74 6c 79 20 69 73 20 22 3b 0d |currently is ";.| 00001fc0 0d 84 31 e7 20 28 66 6c 61 67 73 25 28 63 6f 6d |..1. (flags%(com| 00001fd0 6d 61 6e 64 6e 75 6d 62 65 72 25 29 80 28 31 3c |mandnumber%).(1<| 00001fe0 3c 33 31 29 29 3d 30 20 f1 22 6e 6f 74 20 22 3b |<31))=0 ."not ";| 00001ff0 0d 0d 8e 16 f1 22 61 20 66 69 6c 65 20 63 6f 6d |....."a file com| 00002000 6d 61 6e 64 2e 22 0d 0d 98 2b f1 22 44 6f 20 79 |mand."...+."Do y| 00002010 6f 75 20 77 69 73 68 20 69 74 20 74 6f 20 62 65 |ou wish it to be| 00002020 20 61 20 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 3f | a file command?| 00002030 22 0d 0d a2 07 f1 27 27 0d 0d ac 3c f2 6d 65 6e |".....''...<.men| 00002040 75 28 22 59 65 73 3e 46 4e 66 69 6c 65 63 6f 6d |u("Yes>FNfilecom| 00002050 6d 2c 4e 6f 3e 46 4e 6e 6f 74 66 69 6c 65 63 6f |m,No>FNnotfileco| 00002060 6d 6d 2c 45 78 69 74 3e 46 4e 6e 6f 72 65 73 75 |mm,Exit>FNnoresu| 00002070 6c 74 22 29 0d 0d b6 06 3d 30 0d 0d c0 0e dd a4 |lt")....=0......| 00002080 66 69 6c 65 63 6f 6d 6d 0d 0d ca 39 66 6c 61 67 |filecomm...9flag| 00002090 73 25 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 |s%(commandnumber| 000020a0 25 29 3d 66 6c 61 67 73 25 28 63 6f 6d 6d 61 6e |%)=flags%(comman| 000020b0 64 6e 75 6d 62 65 72 25 29 84 28 31 3c 3c 33 31 |dnumber%).(1<<31| 000020c0 29 0d 0d d4 06 3d 30 0d 0d de 11 dd a4 6e 6f 74 |)....=0......not| 000020d0 66 69 6c 65 63 6f 6d 6d 0d 0d e8 3a 66 6c 61 67 |filecomm...:flag| 000020e0 73 25 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 72 |s%(commandnumber| 000020f0 25 29 3d 66 6c 61 67 73 25 28 63 6f 6d 6d 61 6e |%)=flags%(comman| 00002100 64 6e 75 6d 62 65 72 25 29 80 ac 28 31 3c 3c 33 |dnumber%)..(1<<3| 00002110 31 29 0d 0d f2 06 3d 30 0d 0d fc 0f dd a4 63 6f |1)....=0......co| 00002120 6e 66 69 67 75 72 65 0d 0e 06 15 e7 20 63 6f 6d |nfigure..... com| 00002130 6d 6e 61 6d 65 24 3d 22 22 20 3d 37 0d 0e 10 05 |mname$="" =7....| 00002140 db 0d 0e 1a 1d f1 22 43 6f 6d 6d 61 6e 64 20 63 |......"Command c| 00002150 75 72 72 65 6e 74 6c 79 20 69 73 20 22 3b 0d 0e |urrently is ";..| 00002160 24 31 e7 20 28 66 6c 61 67 73 25 28 63 6f 6d 6d |$1. (flags%(comm| 00002170 61 6e 64 6e 75 6d 62 65 72 25 29 80 28 31 3c 3c |andnumber%).(1<<| 00002180 33 30 29 29 3d 30 20 f1 22 6e 6f 74 20 22 3b 0d |30))=0 ."not ";.| 00002190 0e 2e 1b f1 22 61 20 63 6f 6e 66 69 67 75 72 65 |...."a configure| 000021a0 20 63 6f 6d 6d 61 6e 64 2e 22 0d 0e 38 30 f1 22 | command."..80."| 000021b0 44 6f 20 79 6f 75 20 77 69 73 68 20 69 74 20 74 |Do you wish it t| 000021c0 6f 20 62 65 20 61 20 63 6f 6e 66 69 67 75 72 65 |o be a configure| 000021d0 20 63 6f 6d 6d 61 6e 64 3f 22 0d 0e 42 07 f1 27 | command?"..B..'| 000021e0 27 0d 0e 4c 38 f2 6d 65 6e 75 28 22 59 65 73 3e |'..L8.menu("Yes>| 000021f0 46 4e 63 6f 6e 66 69 67 2c 4e 6f 3e 46 4e 6e 6f |FNconfig,No>FNno| 00002200 74 63 6f 6e 66 69 67 2c 45 78 69 74 3e 46 4e 6e |tconfig,Exit>FNn| 00002210 6f 72 65 73 75 6c 74 22 29 0d 0e 56 06 3d 30 0d |oresult")..V.=0.| 00002220 0e 60 0c dd a4 63 6f 6e 66 69 67 0d 0e 6a 39 66 |.`...config..j9f| 00002230 6c 61 67 73 25 28 63 6f 6d 6d 61 6e 64 6e 75 6d |lags%(commandnum| 00002240 62 65 72 25 29 3d 66 6c 61 67 73 25 28 63 6f 6d |ber%)=flags%(com| 00002250 6d 61 6e 64 6e 75 6d 62 65 72 25 29 84 28 31 3c |mandnumber%).(1<| 00002260 3c 33 30 29 0d 0e 74 06 3d 30 0d 0e 7e 0f dd a4 |<30)..t.=0..~...| 00002270 6e 6f 74 63 6f 6e 66 69 67 0d 0e 88 3a 66 6c 61 |notconfig...:fla| 00002280 67 73 25 28 63 6f 6d 6d 61 6e 64 6e 75 6d 62 65 |gs%(commandnumbe| 00002290 72 25 29 3d 66 6c 61 67 73 25 28 63 6f 6d 6d 61 |r%)=flags%(comma| 000022a0 6e 64 6e 75 6d 62 65 72 25 29 80 ac 28 31 3c 3c |ndnumber%)..(1<<| 000022b0 33 30 29 0d 0e 92 06 3d 30 0d 0e 9c 0a dd a4 73 |30)....=0......s| 000022c0 77 69 73 0d 0e a6 05 db 0d 0e b0 62 f2 6d 65 6e |wis........b.men| 000022d0 75 28 22 43 72 65 61 74 65 20 73 77 69 3e 46 4e |u("Create swi>FN| 000022e0 63 72 65 61 74 65 73 77 69 2c 44 65 66 69 6e 65 |createswi,Define| 000022f0 20 63 68 75 6e 6b 20 6e 75 6d 62 65 72 3e 46 4e | chunk number>FN| 00002300 63 68 75 6e 6b 2c 45 64 69 74 20 73 77 69 3e 46 |chunk,Edit swi>F| 00002310 4e 65 64 69 74 73 77 69 2c 45 78 69 74 3e 46 4e |Neditswi,Exit>FN| 00002320 6e 6f 72 65 73 75 6c 74 22 29 0d 0e ba 06 3d 30 |noresult")....=0| 00002330 0d 0e c4 0f dd a4 63 72 65 61 74 65 73 77 69 0d |......createswi.| 00002340 0e ce 15 e7 20 6e 6f 6f 66 73 77 69 73 25 3d 36 |.... noofswis%=6| 00002350 34 20 3d 37 0d 0e d8 05 db 0d 0e e2 21 e8 22 45 |4 =7........!."E| 00002360 6e 74 65 72 20 73 77 69 20 6e 61 6d 65 20 3a 20 |nter swi name : | 00002370 22 73 77 69 32 6e 61 6d 65 24 0d 0e ec 1a f2 74 |"swi2name$.....t| 00002380 65 73 74 66 6f 72 73 77 69 28 73 77 69 32 6e 61 |estforswi(swi2na| 00002390 6d 65 24 29 0d 0e f6 13 e7 20 73 77 69 6e 6f 25 |me$)..... swino%| 000023a0 3d 32 35 36 20 3d 37 0d 0f 00 16 73 77 69 6e 61 |=256 =7....swina| 000023b0 6d 65 24 3d 73 77 69 32 6e 61 6d 65 24 0d 0f 0a |me$=swi2name$...| 000023c0 20 73 77 69 6e 61 6d 65 24 28 6e 6f 6f 66 73 77 | swiname$(noofsw| 000023d0 69 73 25 29 3d 73 77 69 6e 61 6d 65 24 0d 0f 14 |is%)=swiname$...| 000023e0 1c 63 75 72 72 73 77 69 6e 75 6d 62 65 72 25 3d |.currswinumber%=| 000023f0 6e 6f 6f 66 73 77 69 73 25 0d 0f 1e 10 6e 6f 6f |noofswis%....noo| 00002400 66 73 77 69 73 25 2b 3d 31 0d 0f 28 0a 73 77 69 |fswis%+=1..(.swi| 00002410 25 3d b9 0d 0f 32 06 3d 30 0d 0f 3c 1a dd f2 74 |%=...2.=0..<...t| 00002420 65 73 74 66 6f 72 73 77 69 28 73 77 69 6e 61 6d |estforswi(swinam| 00002430 65 24 29 0d 0f 46 11 63 75 72 72 73 77 69 6e 6f |e$)..F.currswino| 00002440 25 3d 2d 31 0d 0f 50 0c 73 77 69 6e 6f 25 3d 30 |%=-1..P.swino%=0| 00002450 0d 0f 5a 05 f5 0d 0f 64 3c e7 20 73 77 69 6e 61 |..Z....d<. swina| 00002460 6d 65 24 3d 73 77 69 6e 61 6d 65 24 28 73 77 69 |me$=swiname$(swi| 00002470 6e 6f 25 29 20 63 75 72 72 73 77 69 6e 6f 25 3d |no%) currswino%=| 00002480 73 77 69 6e 6f 25 3a 73 77 69 6e 6f 25 3d 32 35 |swino%:swino%=25| 00002490 35 0d 0f 6e 0d 73 77 69 6e 6f 25 2b 3d 31 0d 0f |5..n.swino%+=1..| 000024a0 78 17 fd 20 73 77 69 6e 6f 25 3e 3d 6e 6f 6f 66 |x.. swino%>=noof| 000024b0 73 77 69 73 25 0d 0f 82 05 e1 0d 0f 8c 0d dd a4 |swis%...........| 000024c0 65 64 69 74 73 77 69 0d 0f 96 0d e7 20 73 77 69 |editswi..... swi| 000024d0 25 20 3d 37 0d 0f a0 05 db 0d 0f aa 3e f2 6d 65 |% =7........>.me| 000024e0 6e 75 28 22 4e 61 6d 65 3e 46 4e 73 77 69 6e 61 |nu("Name>FNswina| 000024f0 6d 65 2c 52 65 6e 61 6d 65 3e 46 4e 73 77 69 72 |me,Rename>FNswir| 00002500 65 6e 61 6d 65 2c 45 78 69 74 3e 46 4e 6e 6f 72 |ename,Exit>FNnor| 00002510 65 73 75 6c 74 22 29 0d 0f b4 06 3d 30 0d 0f be |esult")....=0...| 00002520 0d dd a4 73 77 69 6e 61 6d 65 0d 0f c8 05 db 0d |...swiname......| 00002530 0f d2 35 e7 20 73 77 69 6e 61 6d 65 24 3c 3e 22 |..5. swiname$<>"| 00002540 22 20 f1 22 43 75 72 72 65 6e 74 20 53 57 49 20 |" ."Current SWI | 00002550 6e 61 6d 65 20 69 73 20 3a 20 22 3b 73 77 69 6e |name is : ";swin| 00002560 61 6d 65 24 0d 0f dc 26 e8 22 45 6e 74 65 72 20 |ame$...&."Enter | 00002570 6e 65 77 20 53 57 49 20 6e 61 6d 65 20 20 3a 20 |new SWI name : | 00002580 22 73 77 69 32 6e 61 6d 65 24 0d 0f e6 15 e7 20 |"swi2name$..... | 00002590 73 77 69 32 6e 61 6d 65 24 3d 22 22 20 3d 37 0d |swi2name$="" =7.| 000025a0 0f f0 1a f2 74 65 73 74 66 6f 72 73 77 69 28 73 |....testforswi(s| 000025b0 77 69 32 6e 61 6d 65 24 29 0d 0f fa 16 e7 20 63 |wi2name$)..... c| 000025c0 75 72 72 73 77 69 6e 6f 25 3d 2d 31 20 3d 37 0d |urrswino%=-1 =7.| 000025d0 10 04 1d 63 75 72 72 73 77 69 6e 75 6d 62 65 72 |...currswinumber| 000025e0 25 3d 63 75 72 72 73 77 69 6e 6f 25 0d 10 0e 16 |%=currswino%....| 000025f0 73 77 69 6e 61 6d 65 24 3d 73 77 69 32 6e 61 6d |swiname$=swi2nam| 00002600 65 24 0d 10 18 06 3d 30 0d 10 22 0f dd a4 73 77 |e$....=0.."...sw| 00002610 69 72 65 6e 61 6d 65 0d 10 2c 14 e7 20 73 77 69 |irename..,.. swi| 00002620 6e 61 6d 65 24 3d 22 22 20 3d 37 0d 10 36 05 db |name$="" =7..6..| 00002630 0d 10 40 26 f1 22 43 75 72 72 65 6e 74 20 53 57 |..@&."Current SW| 00002640 49 20 6e 61 6d 65 20 69 73 20 3a 20 22 3b 73 77 |I name is : ";sw| 00002650 69 6e 61 6d 65 24 0d 10 4a 26 e8 22 45 6e 74 65 |iname$..J&."Ente| 00002660 72 20 6e 65 77 20 53 57 49 20 6e 61 6d 65 20 20 |r new SWI name | 00002670 3a 20 22 73 77 69 32 6e 61 6d 65 24 0d 10 54 15 |: "swi2name$..T.| 00002680 e7 20 73 77 69 32 6e 61 6d 65 24 3d 22 22 20 3d |. swi2name$="" =| 00002690 37 0d 10 5e 1a f2 74 65 73 74 66 6f 72 73 77 69 |7..^..testforswi| 000026a0 28 73 77 69 32 6e 61 6d 65 24 29 0d 10 68 16 e7 |(swi2name$)..h..| 000026b0 20 63 75 72 72 73 77 69 6e 6f 25 3e 2d 31 20 3d | currswino%>-1 =| 000026c0 37 0d 10 72 16 73 77 69 6e 61 6d 65 24 3d 73 77 |7..r.swiname$=sw| 000026d0 69 32 6e 61 6d 65 24 0d 10 7c 25 73 77 69 6e 61 |i2name$..|%swina| 000026e0 6d 65 24 28 63 75 72 72 73 77 69 6e 75 6d 62 65 |me$(currswinumbe| 000026f0 72 25 29 3d 73 77 69 6e 61 6d 65 24 0d 10 86 06 |r%)=swiname$....| 00002700 3d 30 0d 10 90 0b dd a4 63 68 75 6e 6b 0d 10 9a |=0......chunk...| 00002710 05 db 0d 10 a4 32 f1 22 43 75 72 72 65 6e 74 20 |.....2."Current | 00002720 53 57 49 20 63 68 75 6e 6b 20 6e 75 6d 62 65 72 |SWI chunk number| 00002730 20 69 73 20 3a 20 22 3b 63 68 75 6e 6b 6e 75 6d | is : ";chunknum| 00002740 62 65 72 24 0d 10 ae 32 e8 22 45 6e 74 65 72 20 |ber$...2."Enter | 00002750 6e 65 77 20 53 57 49 20 63 68 75 6e 6b 20 6e 75 |new SWI chunk nu| 00002760 6d 62 65 72 20 20 3a 20 22 63 68 75 6e 6b 32 6e |mber : "chunk2n| 00002770 75 6d 62 65 72 24 0d 10 b8 5b e7 20 63 68 75 6e |umber$...[. chun| 00002780 6b 32 6e 75 6d 62 65 72 24 3c 22 30 30 30 30 30 |k2number$<"00000| 00002790 30 30 30 30 30 30 31 22 20 84 20 63 68 75 6e 6b |0000001" . chunk| 000027a0 32 6e 75 6d 62 65 72 24 3e 22 31 31 31 31 31 31 |2number$>"111111| 000027b0 31 31 31 31 31 31 22 20 84 20 a9 28 63 68 75 6e |111111" . .(chun| 000027c0 6b 32 6e 75 6d 62 65 72 24 29 3c 3e 31 32 20 3d |k2number$)<>12 =| 000027d0 37 0d 10 c2 1e 63 68 75 6e 6b 6e 75 6d 62 65 72 |7....chunknumber| 000027e0 24 3d 63 68 75 6e 6b 32 6e 75 6d 62 65 72 24 0d |$=chunk2number$.| 000027f0 10 cc 06 3d 30 0d 10 d6 0a dd a4 63 6f 64 65 0d |...=0......code.| 00002800 10 e0 05 db 0d 10 ea 8c f2 6d 65 6e 75 28 22 53 |.........menu("S| 00002810 74 61 72 74 20 63 6f 64 65 3e 46 4e 73 74 61 72 |tart code>FNstar| 00002820 74 63 6f 64 65 2c 49 6e 69 74 69 61 6c 69 73 61 |tcode,Initialisa| 00002830 74 69 6f 6e 20 63 6f 64 65 3e 46 4e 69 6e 69 74 |tion code>FNinit| 00002840 63 6f 64 65 2c 46 69 6e 61 6c 69 73 61 74 69 6f |code,Finalisatio| 00002850 6e 20 63 6f 64 65 3e 46 4e 66 69 6e 69 73 68 63 |n code>FNfinishc| 00002860 6f 64 65 2c 53 65 72 76 69 63 65 20 63 6f 64 65 |ode,Service code| 00002870 3e 46 4e 73 65 72 76 69 63 65 63 6f 64 65 2c 45 |>FNservicecode,E| 00002880 78 69 74 3e 46 4e 6e 6f 72 65 73 75 6c 74 22 29 |xit>FNnoresult")| 00002890 0d 10 f4 06 3d 30 0d 10 fe 0f dd a4 73 74 61 72 |....=0......star| 000028a0 74 63 6f 64 65 0d 11 08 05 db 0d 11 12 1d f1 22 |tcode.........."| 000028b0 4d 6f 64 75 6c 65 20 63 75 72 72 65 6e 74 6c 79 |Module currently| 000028c0 20 68 61 73 20 22 3b 0d 11 1c 16 e7 20 ac 20 73 | has ";..... . s| 000028d0 74 61 72 74 25 20 f1 22 6e 6f 20 22 3b 0d 11 26 |tart% ."no ";..&| 000028e0 12 f1 22 73 74 61 72 74 20 63 6f 64 65 2e 22 0d |.."start code.".| 000028f0 11 30 2b f1 22 44 6f 20 79 6f 75 20 77 69 73 68 |.0+."Do you wish| 00002900 20 69 74 20 74 6f 20 68 61 76 65 20 61 20 73 74 | it to have a st| 00002910 61 72 74 20 63 6f 64 65 3f 22 0d 11 3a 07 f1 27 |art code?"..:..'| 00002920 27 0d 11 44 3d f2 6d 65 6e 75 28 22 59 65 73 3e |'..D=.menu("Yes>| 00002930 46 4e 63 28 73 74 61 72 74 25 29 2c 4e 6f 3e 46 |FNc(start%),No>F| 00002940 4e 6e 6f 63 28 73 74 61 72 74 25 29 2c 45 78 69 |Nnoc(start%),Exi| 00002950 74 3e 46 4e 6e 6f 72 65 73 75 6c 74 22 29 0d 11 |t>FNnoresult")..| 00002960 4e 06 3d 30 0d 11 58 0e dd a4 69 6e 69 74 63 6f |N.=0..X...initco| 00002970 64 65 0d 11 62 05 db 0d 11 6c 1d f1 22 4d 6f 64 |de..b....l.."Mod| 00002980 75 6c 65 20 63 75 72 72 65 6e 74 6c 79 20 68 61 |ule currently ha| 00002990 73 20 22 3b 0d 11 76 15 e7 20 ac 20 69 6e 69 74 |s ";..v.. . init| 000029a0 25 20 f1 22 6e 6f 20 22 3b 0d 11 80 1b f1 22 69 |% ."no ";....."i| 000029b0 6e 69 74 69 61 6c 69 73 61 74 69 6f 6e 20 63 6f |nitialisation co| 000029c0 64 65 2e 22 0d 11 8a 35 f1 22 44 6f 20 79 6f 75 |de."...5."Do you| 000029d0 20 77 69 73 68 20 69 74 20 74 6f 20 68 61 76 65 | wish it to have| 000029e0 20 61 6e 20 69 6e 69 74 69 61 6c 69 73 61 74 69 | an initialisati| 000029f0 6f 6e 20 63 6f 64 65 3f 22 0d 11 94 07 f1 27 27 |on code?".....''| 00002a00 0d 11 9e 3b f2 6d 65 6e 75 28 22 59 65 73 3e 46 |...;.menu("Yes>F| 00002a10 4e 63 28 69 6e 69 74 25 29 2c 4e 6f 3e 46 4e 6e |Nc(init%),No>FNn| 00002a20 6f 63 28 69 6e 69 74 25 29 2c 45 78 69 74 3e 46 |oc(init%),Exit>F| 00002a30 4e 6e 6f 72 65 73 75 6c 74 22 29 0d 11 a8 06 3d |Nnoresult")....=| 00002a40 30 0d 11 b2 10 dd a4 66 69 6e 69 73 68 63 6f 64 |0......finishcod| 00002a50 65 0d 11 bc 05 db 0d 11 c6 1d f1 22 4d 6f 64 75 |e.........."Modu| 00002a60 6c 65 20 63 75 72 72 65 6e 74 6c 79 20 68 61 73 |le currently has| 00002a70 20 22 3b 0d 11 d0 17 e7 20 ac 20 66 69 6e 69 73 | ";..... . finis| 00002a80 68 25 20 f1 22 6e 6f 20 22 3b 0d 11 da 19 f1 22 |h% ."no ";....."| 00002a90 66 69 6e 61 6c 69 73 61 74 69 6f 6e 20 63 6f 64 |finalisation cod| 00002aa0 65 2e 22 0d 11 e4 32 f1 22 44 6f 20 79 6f 75 20 |e."...2."Do you | 00002ab0 77 69 73 68 20 69 74 20 74 6f 20 68 61 76 65 20 |wish it to have | 00002ac0 61 20 66 69 6e 61 6c 69 73 61 74 69 6f 6e 20 63 |a finalisation c| 00002ad0 6f 64 65 3f 22 0d 11 ee 07 f1 27 27 0d 11 f8 3f |ode?".....''...?| 00002ae0 f2 6d 65 6e 75 28 22 59 65 73 3e 46 4e 63 28 66 |.menu("Yes>FNc(f| 00002af0 69 6e 69 73 68 25 29 2c 4e 6f 3e 46 4e 6e 6f 63 |inish%),No>FNnoc| 00002b00 28 66 69 6e 69 73 68 25 29 2c 45 78 69 74 3e 46 |(finish%),Exit>F| 00002b10 4e 6e 6f 72 65 73 75 6c 74 22 29 0d 12 02 06 3d |Nnoresult")....=| 00002b20 30 0d 12 0c 11 dd a4 73 65 72 76 69 63 65 63 6f |0......serviceco| 00002b30 64 65 0d 12 16 05 db 0d 12 20 1d f1 22 4d 6f 64 |de....... .."Mod| 00002b40 75 6c 65 20 63 75 72 72 65 6e 74 6c 79 20 68 61 |ule currently ha| 00002b50 73 20 22 3b 0d 12 2a 18 e7 20 ac 20 73 65 72 76 |s ";..*.. . serv| 00002b60 69 63 65 25 20 f1 22 6e 6f 20 22 3b 0d 12 34 14 |ice% ."no ";..4.| 00002b70 f1 22 73 65 72 76 69 63 65 20 63 6f 64 65 2e 22 |."service code."| 00002b80 0d 12 3e 2d f1 22 44 6f 20 79 6f 75 20 77 69 73 |..>-."Do you wis| 00002b90 68 20 69 74 20 74 6f 20 68 61 76 65 20 61 20 73 |h it to have a s| 00002ba0 65 72 76 69 63 65 20 63 6f 64 65 3f 22 0d 12 48 |ervice code?"..H| 00002bb0 07 f1 27 27 0d 12 52 41 f2 6d 65 6e 75 28 22 59 |..''..RA.menu("Y| 00002bc0 65 73 3e 46 4e 63 28 73 65 72 76 69 63 65 25 29 |es>FNc(service%)| 00002bd0 2c 4e 6f 3e 46 4e 6e 6f 63 28 73 65 72 76 69 63 |,No>FNnoc(servic| 00002be0 65 25 29 2c 45 78 69 74 3e 46 4e 6e 6f 72 65 73 |e%),Exit>FNnores| 00002bf0 75 6c 74 22 29 0d 12 5c 06 3d 30 0d 12 66 10 dd |ult")..\.=0..f..| 00002c00 a4 63 28 f8 20 63 6f 64 65 25 29 0d 12 70 0b 63 |.c(. code%)..p.c| 00002c10 6f 64 65 25 3d b9 0d 12 7a 06 3d 30 0d 12 84 12 |ode%=...z.=0....| 00002c20 dd a4 6e 6f 63 28 f8 20 63 6f 64 65 25 29 0d 12 |..noc(. code%)..| 00002c30 8e 0b 63 6f 64 65 25 3d a3 0d 12 98 06 3d 30 0d |..code%=.....=0.| 00002c40 12 a2 12 dd f2 6d 65 6e 75 28 6d 65 6e 75 31 24 |.....menu(menu1$| 00002c50 29 0d 12 ac 08 ea 20 71 25 0d 12 b6 05 f5 0d 12 |)..... q%.......| 00002c60 c0 08 71 25 3d b9 0d 12 ca 10 6d 65 6e 75 24 3d |..q%=.....menu$=| 00002c70 6d 65 6e 75 31 24 0d 12 d4 1b ef 32 33 2c 31 37 |menu1$.....23,17| 00002c80 2c 37 2c 25 31 31 30 2c 31 36 3b 31 36 3b 30 2c |,7,%110,16;16;0,| 00002c90 30 0d 12 de 0f 6d 65 6e 75 6e 24 28 29 3d 22 22 |0....menun$()=""| 00002ca0 0d 12 e8 0f 6d 65 6e 75 66 24 28 29 3d 22 22 0d |....menuf$()="".| 00002cb0 12 f2 10 6e 6f 6f 66 69 74 65 6d 73 25 3d 30 0d |...noofitems%=0.| 00002cc0 12 fc 05 f5 0d 13 06 2c 6d 65 6e 75 6e 24 28 6e |.......,menun$(n| 00002cd0 6f 6f 66 69 74 65 6d 73 25 29 3d c0 6d 65 6e 75 |oofitems%)=.menu| 00002ce0 24 2c a7 6d 65 6e 75 24 2c 22 3e 22 29 2d 31 29 |$,.menu$,">")-1)| 00002cf0 0d 13 10 1f 6d 65 6e 75 24 3d c1 6d 65 6e 75 24 |....menu$=.menu$| 00002d00 2c a7 6d 65 6e 75 24 2c 22 3e 22 29 2b 31 29 0d |,.menu$,">")+1).| 00002d10 13 1a 2c 6d 65 6e 75 66 24 28 6e 6f 6f 66 69 74 |..,menuf$(noofit| 00002d20 65 6d 73 25 29 3d c0 6d 65 6e 75 24 2c a7 6d 65 |ems%)=.menu$,.me| 00002d30 6e 75 24 2c 22 2c 22 29 2d 31 29 0d 13 24 3a e7 |nu$,",")-1)..$:.| 00002d40 20 a7 6d 65 6e 75 24 2c 22 2c 22 29 3d 30 20 6d | .menu$,",")=0 m| 00002d50 65 6e 75 24 3d 22 22 20 8b 20 6d 65 6e 75 24 3d |enu$="" . menu$=| 00002d60 c1 6d 65 6e 75 24 2c a7 6d 65 6e 75 24 2c 22 2c |.menu$,.menu$,",| 00002d70 22 29 2b 31 29 0d 13 2e 11 6e 6f 6f 66 69 74 65 |")+1)....noofite| 00002d80 6d 73 25 2b 3d 31 0d 13 38 0e fd 20 6d 65 6e 75 |ms%+=1..8.. menu| 00002d90 24 3d 22 22 0d 13 42 0a 74 6f 70 25 3d bc 0d 13 |$=""..B.top%=...| 00002da0 4c 18 62 6f 74 74 6f 6d 25 3d bc 2b 6e 6f 6f 66 |L.bottom%=.+noof| 00002db0 69 74 65 6d 73 25 0d 13 56 06 ef 35 0d 13 60 1b |items%..V..5..`.| 00002dc0 e3 20 63 6f 75 6e 74 25 3d 30 20 b8 20 6e 6f 6f |. count%=0 . noo| 00002dd0 66 69 74 65 6d 73 25 0d 13 6a 3b ec 20 28 31 32 |fitems%..j;. (12| 00002de0 38 30 2d a9 28 6d 65 6e 75 6e 24 28 63 6f 75 6e |80-.(menun$(coun| 00002df0 74 25 29 29 2a 33 32 29 2f 32 2c 31 30 32 34 2d |t%))*32)/2,1024-| 00002e00 28 28 63 6f 75 6e 74 25 2b 74 6f 70 25 29 2a 36 |((count%+top%)*6| 00002e10 34 29 0d 13 74 14 f1 20 6d 65 6e 75 6e 24 28 63 |4)..t.. menun$(c| 00002e20 6f 75 6e 74 25 29 0d 13 7e 05 ed 0d 13 88 06 ef |ount%)..~.......| 00002e30 34 0d 13 92 05 87 0d 13 9c 0e 2a 50 6f 69 6e 74 |4.........*Point| 00002e40 65 72 20 31 0d 13 a6 05 f5 0d 13 b0 05 f5 0d 13 |er 1............| 00002e50 ba 0b 2a 46 58 31 35 2c 30 0d 13 c4 0f c8 97 20 |..*FX15,0...... | 00002e60 78 25 2c 79 25 2c 7a 25 0d 13 ce 0a fd 20 7a 25 |x%,y%,z%..... z%| 00002e70 3e 30 0d 13 d8 0f e7 20 7a 25 3d 31 20 71 25 3d |>0..... z%=1 q%=| 00002e80 a3 0d 13 e2 2f fd 20 28 31 30 32 34 2d 79 25 29 |..../. (1024-y%)| 00002e90 81 36 34 3e 3d 74 6f 70 25 20 80 20 28 31 30 32 |.64>=top% . (102| 00002ea0 34 2d 79 25 29 81 36 34 3c 62 6f 74 74 6f 6d 25 |4-y%).64<bottom%| 00002eb0 0d 13 ec 1f 73 65 6c 65 63 74 25 3d 28 28 31 30 |....select%=((10| 00002ec0 32 34 2d 79 25 29 81 36 34 29 2d 74 6f 70 25 0d |24-y%).64)-top%.| 00002ed0 13 f6 0e 2a 50 6f 69 6e 74 65 72 20 30 0d 14 00 |...*Pointer 0...| 00002ee0 05 ee 0d 14 0a 18 ef 20 a0 28 6d 65 6e 75 66 24 |....... .(menuf$| 00002ef0 28 73 65 6c 65 63 74 25 29 29 0d 14 14 05 db 0d |(select%))......| 00002f00 14 1e 08 fd 20 71 25 0d 14 28 05 e1 0d 14 32 0f |.... q%..(....2.| 00002f10 dd a4 65 71 28 61 24 2c 62 24 29 0d 14 3c 10 e7 |..eq(a$,b$)..<..| 00002f20 20 a9 61 24 3c 3e a9 62 24 3d 30 0d 14 46 10 e3 | .a$<>.b$=0..F..| 00002f30 20 63 25 3d 31 20 b8 20 a9 61 24 0d 14 50 18 61 | c%=1 . .a$..P.a| 00002f40 25 3d 28 97 28 c1 61 24 2c 63 25 2c 31 29 29 29 |%=(.(.a$,c%,1)))| 00002f50 84 33 32 0d 14 5a 18 62 25 3d 28 97 28 c1 62 24 |.32..Z.b%=(.(.b$| 00002f60 2c 63 25 2c 31 29 29 29 84 33 32 0d 14 64 19 e7 |,c%,1))).32..d..| 00002f70 20 61 25 3c 3e 62 25 20 63 25 3d 31 30 30 30 3a | a%<>b% c%=1000:| 00002f80 ed 3a 3d 30 0d 14 6e 05 ed 0d 14 78 07 3d 2d 31 |.:=0..n....x.=-1| 00002f90 0d 14 82 12 dc 20 22 5b 4f 50 54 20 70 61 73 73 |..... "[OPT pass| 00002fa0 25 22 0d 14 8c 0d dc 20 22 73 74 61 72 74 22 0d |%"..... "start".| 00002fb0 14 96 0c dc 20 22 69 6e 69 74 22 0d 14 a0 0e dc |.... "init".....| 00002fc0 20 22 66 69 6e 69 73 68 22 0d 14 aa 0f dc 20 22 | "finish"..... "| 00002fd0 73 65 72 76 69 63 65 22 0d 14 b4 11 dc 20 22 44 |service"..... "D| 00002fe0 43 44 20 74 69 74 6c 65 22 0d 14 be 10 dc 20 22 |CD title"..... "| 00002ff0 44 43 44 20 68 65 6c 70 22 0d 14 c8 14 dc 20 22 |DCD help"..... "| 00003000 63 6f 6d 6d 61 6e 64 74 61 62 6c 65 22 0d 14 d2 |commandtable"...| 00003010 0a dc 20 22 30 30 22 0d 14 dc 0c dc 20 22 73 77 |.. "00"..... "sw| 00003020 69 68 22 0d 14 e6 0c dc 20 22 73 77 69 6e 22 0d |ih"..... "swin".| 00003030 14 f0 0d dc 20 22 44 43 44 20 30 22 0d 14 fa 0e |.... "DCD 0"....| 00003040 dc 20 22 2e 74 69 74 6c 65 22 0d 15 04 0a dc 20 |. ".title"..... | 00003050 22 30 31 22 0d 15 0e 0d dc 20 22 2e 68 65 6c 70 |"01"..... ".help| 00003060 22 0d 15 18 0a dc 20 22 30 32 22 0d 15 22 0a dc |"..... "02".."..| 00003070 20 22 30 33 22 0d 15 2c 0d dc 20 22 2e 73 77 69 | "03"..,.. ".swi| 00003080 6e 22 0d 15 36 0a dc 20 22 30 34 22 0d 15 40 0d |n"..6.. "04"..@.| 00003090 dc 20 22 2e 73 77 69 68 22 0d 15 4a 1f dc 20 22 |. ".swih"..J.. "| 000030a0 43 4d 50 20 52 31 31 2c 23 28 73 77 69 74 65 2d |CMP R11,#(swite-| 000030b0 73 77 69 74 29 2f 34 22 0d 15 54 1d dc 20 22 41 |swit)/4"..T.. "A| 000030c0 44 44 43 43 20 50 43 2c 50 43 2c 52 31 31 2c 4c |DDCC PC,PC,R11,L| 000030d0 53 4c 23 32 22 0d 15 5e 0e dc 20 22 42 20 73 77 |SL#2"..^.. "B sw| 000030e0 69 65 22 0d 15 68 0d dc 20 22 2e 73 77 69 74 22 |ie"..h.. ".swit"| 000030f0 0d 15 72 0a dc 20 22 30 35 22 0d 15 7c 0e dc 20 |..r.. "05"..|.. | 00003100 22 2e 73 77 69 74 65 22 0d 15 86 0d dc 20 22 2e |".swite"..... ".| 00003110 73 77 69 65 22 0d 15 90 17 dc 20 22 41 44 52 20 |swie"..... "ADR | 00003120 52 30 2c 73 77 69 65 72 72 6f 72 22 0d 15 9a 1e |R0,swierror"....| 00003130 dc 20 22 4f 52 52 53 20 50 43 2c 52 31 34 2c 23 |. "ORRS PC,R14,#| 00003140 32 36 38 34 33 35 34 35 36 22 0d 15 a4 11 dc 20 |268435456"..... | 00003150 22 2e 73 77 69 65 72 72 6f 72 22 0d 15 ae 10 dc |".swierror".....| 00003160 20 22 44 43 44 20 26 31 45 36 22 0d 15 b8 0a dc | "DCD &1E6".....| 00003170 20 22 30 36 22 0d 15 c2 0a dc 20 22 30 37 22 0d | "06"..... "07".| 00003180 ff |.| 00003181