8-Bit Software Online Conversion
Elite Cheat Editor - Listing
100 MODE 7
110 PROCscreen
120 PROCinit
130 PROCassemble
140 PROCload
150 ON ERROR GOTO 1730
160 REPEAT
170 ON FNMENU(1) GOSUB 880,950,1140,11
60,1220,1250,1280,1430,1670
180 UNTIL FALSE
190 DEFPROCscreen
200 FOR A%=0 TO 1:VDU 31,0,A%,134,157,
129,141,31,15,A%:PRINT"Elite Cheat":NEXT
A%
210 VDU 28,0,24,39,2
220 VDU 23,1;0;0;0;0
230 ENDPROC
240 DEFPROCinit
250 @%=0
260 *FX 4,1
270DIM memory% 40,file% &100,check% 10
0
280DIM entries%(8),menu$(8,9),details$
(8,9),lazer%(6),rating%(9),status%(3),mi
ssion%(5),cargo$(17)
290X%=&70:Y%=0:A%=0:filesystem%=USR(&F
FDA) AND &F
310FOR A%=0 TO &FF STEP 4:A%!file%=0:N
EXT A%
320!&70=1E3:file%!&B=&446E803:file%?&1
0=&F:file%?&16=&16:file%?&33=3
330file%!1=&5A4AD14:file%!5=&B7530248
340lock%=FALSE
360FOR A%=1 TO 6:READ lazer%(A%):NEXT
A%
370DATA 0,&F,&8F,&32,&97,&FF
380FOR A%=1 TO 9:READ rating%(A%):NEXT
A%
390DATA 0,8,&10,&20,&40,&80,&200,&A00,
&1900
400FOR A%=1 TO 3:READ status%(A%):NEXT
A%
410DATA 0,1,50
420FOR A%=1 TO 5:READ mission%(A%):NEX
T A%
430DATA 0,1,2,&A,&E
440FOR A%=1 TO 8
450READ entries%(A%),details$
460FOR B%=0 TO entries%(A%)
470READ menu$(A%,B%)
480IF details$="I" AND B% READ details
$(A%,B%) ELSE IF details$="N" THEN detai
ls$(A%,B%)="N" ELSE details$(A%,B%)=deta
ils$
490NEXT B%,A%
500IF filesystem%<>4 THEN entries%(1)=
7
510FOR A%=1 TO 17:READ cargo$(A%),file
s%?(A%+&34):NEXT A%
520ENDPROC
530DATA 9,I,MAIN MENU,SET MONEY,!&70/1
0,ALTER EQUIPMENT,N,ALTER LASERS,N,SET N
UMBER OF MISSILES,file%?&33,SET RATING,F
NRATING,SET STATUS,FNSTATUS,SET GALAXY,f
ile%?&F+1,ALTER CARGO,N,SET MISSION,FNMI
SSION
540DATA 9,I,ALTER EQUIPMENT,FUEL,(file
%?&D)/10,CARGO BAY SIZE,(file%?&16)-2,EC
M SYSTEM,FNGOT(file%?&28),FUEL SCOOPS,FN
GOT(file%?&29),ESCAPE CAPSULE,FNGOT(file
%?&2E),ENERGY BOMB,FNGOT(file%?&2A),ENER
GY UNIT,FNENERGY
550DATA DOCKING COMPUTER,FNGOT(file%?&
2C),GALACTIC HYPERSPACE,FNGOT(file%?&2D)
560DATA 4,N,ENERGY UNIT,NOT PRESENT,NO
RMAL,NAVAL,CHEAT
570DATA 6,N,LASER TYPE,NONE,PULSE,BEAM
,MINING,MILITARY,CHEAT
580DATA 4,FNLASER,LASER POSITION,FRONT
,REAR,LEFT,RIGHT
590DATA 9,N,COMBAT RATING,HARMLESS,MOS
TLY HARMLESS,POOR,AVERAGE,ABOVE AVERAGE,
COMPETENT,DANGEROUS,DEADLY,E L I T E
600DATA 3,N,LEGAL STATUS,CLEAN,OFFENDE
R,FUGITIVE
610DATA 5,N,MISSION MENU,BEFORE MISSIO
N 1,DURING MISSION 1,AFTER MISSION 1,DUR
ING MISSION 2,AFTER MISSION 2
620DATA FOOD,&10,TEXTILES,&F,RADIOACTI
VES,&11,SLAVES,0,LIQUOR/WINES,3,LUXURIES
,&1C,NARCOTICS,&E,COMPUTERS,0,MACHINERY,
0,ALLOYS,&A,FIREARMS,0,FURS,&11,MINERALS
,&3A,GOLD,7,PLATINUM,9,GEMS,8,ALIEN ITEM
S,0
630DEFPROCassemble
640FOR PASS%=0TO2 STEP2
650P%=check%
660[OPT PASS%
670LDX #&49
680LDA #&49
690CLC
700.checkloop
710ADC file%-1,X
720EOR file%,X
730DEX
740BNE checkloop
750STA file%+&4B:EOR #&A9:STA file%+&4
A:RTS
760]
770NEXT PASS%
780ENDPROC
790DEFPROCload
800PRINTTAB(9,9)"DO YOU WANT TO LOAD A
"
810PRINTTAB(7,12)"PREVIOUS COMMANDER?"
;
820IF NOT(FNYESNO) ENDPROC
830PROCoscli("LOAD "+FNFILENAME+" "+ST
R$÷(file%))
840FOR A%=0TO3:A%?&70=file%?(&C-A%):NE
XTA%
850IF ?file%=1 OR ?file%=6 OR ?file%=&
A THEN lock%=TRUE
860ENDPROC
880CLS
890PRINTTAB(9,9)"ENTER AMOUNT OF MONEY
"
910!&70=FNINPUT(14,15,10,&CCCCCCC,TRUE
)*10
920FOR A%=0 TO 3:file%?(&C-A%)=A%?&70:
NEXT A%
930RETURN
950REPEAT
960ON FNMENU(2) GOSUB 980,1020,1060,10
70,1080,1090,1100,1110,1120
970UNTIL FALSE
980CLS:PRINTTAB(7,9)"AMOUNT HYPER FUEL
?"
1000file%?&D=FNINPUT(17,15,4,25.5,TRUE)
*10
1010RETURN
1020CLS:PRINTTAB(10,9)"ENTER C.BAY SIZE
"
1030file%?&16=FNINPUT(18,11,3,253,FALSE
)+2
1040RETURN
1060file%?&28=NOT file%?&28:RETURN
1070file%?&29=NOT file%?&29:RETURN
1080file%?&2E=NOT file%?&2E:RETURN
1090file%?&2A=file%?&2A EOR &7F:RETURN
1100file%?&2B=FNMENU(3)-1:RETURN
1110file%?&2C=NOT file%?&2C:RETURN
1120file%?&2D=NOT file%?&2D:RETURN
1140REPEAT file%?(FNMENU(5)+&F)=lazer%(
FNMENU(4)):UNTIL FALSE
1160CLS
1170PRINTTAB(8,9)"ENTER AMOUNT MISSILES
"
1190file%?&33=FNINPUT(19,15,3,255,FALSE
)
1200RETURN
1220 file%!&47=rating%(FNMENU(6)) OR (f
ile%!&74 AND &FFFF0000)
1230RETURN
1250file%?&34=status%(FNMENU(7))
1260RETURN
1280CLS
1290RESTORE 1340
1300PRINTTAB(10,8)"ENTER GALAXY NO."
1310file%?&F=FNINPUT(19,11,1,8,FALSE)-1
1320FOR A%=1 TO file%?&F+1:READ file%!1
,file%!5:NEXTA%
1330RETURN
1340DATA &5A4AAD14,&B7530248
1350DATA &B4945F60,&6FA60490
1360DATA &69296F5A,&DE4D0821
1370DATA &D2526763,&BD9A1042
1380DATA &A5A45D69,&7B352084
1390 DATA &4B496663,&F66A4009
1400DATA &96925F6A,&EDD48012
1410DATA &2D25605E,&DBA90124
1430CLS
1440PRINTTAB(22)"QUANTITY QUANTITY"
1450PRINT" NO. PRODUCT UNIT AS CARG
O FOR SALE"
1460FOR A%=1TO17
1470PRINTTAB(1);A%;".";TAB(5);cargo$(A%
);TAB(18);FNUNIT;TAB(24);(file%?(A%+&16)
);TAB(33);(file%?(A%+&34))
1480NEXT A%
1490VDU &86,&9D,&81:PRINT" ESCAPE TO
MAIN MENU"
1500REPEAT
1510PRINTTAB(1,20)"ENTER NO. OF PRODUCT
TO ALTER"
1520number%=FNINPUT(34,20,2,17,FALSE)
1530PRINTTAB(1,20)"ENTER AMOUNT ";cargo
$(number%);SPC13;TAB(1,21)"IN CARGO BAY.
";SPC(19)
1540PRINTTAB(23,number%+1);CHR$(&88);TA
B(28,number%+1);CHR$(&89)
1550file%?(number%+&16)=FNINPUT(14,21,3
,255,FALSE)
1560PRINTTAB(23,number%+1);" ";(file%?(
number%+&16));" "
1570IF number%=17 THEN 1620
1580PRINTTAB(32,number%+1);CHR$(&88);TA
B(36,number%+1);CHR$(&89)
1590PRINTTAB(1,21)"FOR SALE AT PLANET"
1600file%?(number%+&34)=FNINPUT(20,21,3
,255,FALSE)
1610PRINTTAB(32,number%+1);" ";(file%?(
number%+&34));" "
1620PRINTTAB(0,20);SPC(119);
1630UNTIL 0
1640DEFFNUNIT
1650IF A%<14 THEN ="t" ELSE IF A%<16 TH
EN ="kg" ELSE IF A%=16 THEN ="g" ELSE="t
"
1670?file%=mission%(FNMENU(8))
1680 IF?file%=1THENfile%!1=&B4942190:fi
le%!5=&6FA60490:file%?&F=1
1690IF?file%=&ATHENfile%!1=&692954D7:fi
le%!5=&DE4D0821:file%?&F=2
1700lock%=(?file%=1 OR ?file%=&A)
1710RETURN
1730IF INKEY(-1)OR ERR<>17 REPORT:PRINT
"AT LINE";ERL:GOTO1800
1740IF mainmenu%=FALSE THEN160
1750CLS
1760mainmenu%=FALSE
1770 PRINT TAB(5,5)"ESCAPE TO RE-EDIT C
OMMANDER"
1780FOR A%=10 TO11:PRINT TAB(11,A%)CHR$
(&8D);"SAVE COMMANDER.":NEXTA%
1790CALL check%:PROCoscli("SAVE "+FNFIL
ENAME+" "+STR$÷(file%)+" +100 00")
1800*FX4,0
1810END
1820DEFFNYESNO
1830PRINT"? (Y/N)";CHR$(&88);
1840REPEAT get%=GET AND &DF:UNTIL get%=
&59 OR get%=&4E
1850VDU get%
1860REPEAT get2%=GET AND &DF:UNTIL get2
%=&59 OR get2%=&4E OR get2%=&D
1870IF get2%<>&D THEN get%=get2%:VDU &7
F:GOTO1850
1880VDU8,8,32
1890=get%=&59
1900DEFFNFILENAME
1910PRINTTAB(4,15)"ENTER FILENAME ";
1920VDU23,1,1;0;0;0;
1930input$=""
1940REPEAT
1950 REPEAT get%=GET : UNTIL(get%>&1F A
ND get%<&80) OR get%=&D
1960IF get%<>&7F THEN 1990
1970IF LEN(input$) input$=LEFT$(input$,
LEN(input$)-1):VDU&7F
1980GOTO2000
1990IF(LEN(input$)<10 +(3*(filesystem%=
4))) AND (get%<>&D)THEN input$=input$+CH
R$(get%):VDUget%
2000UNTIL get%=&D AND input$<>""
2010VDU23,1;0;0;0;0
2020IF filesystem%=4THEN PRINTTAB(9,19)
"ENTER DRIVE NUMBER ":=":"+STR$(FNINPUT(
28,19,1,3,FALSE))+".E."+input$
2030=input$
2040 DEFPROCoscli($memory%)
2050PRINT
2060 X%=memory% MOD &100
2070Y%=memory% DIV &100
2080CALL &FFF7
2090ENDPROC
2100 DEFFNMENU(number%)
2110VDU23,1;0;0;0;0
2120CLS
2130FORA%=0TO1:PRINTTAB((39-LEN(menu$(n
umber%,0)))DIV2,A%)CHR$&8D;menu$(number%
,0):NEXTA%
2140FOR A%=1 TO entries%(number%)
2150PRINTTAB(3,(A%*2)+1);CHR$(129);A%;"
.";CHR$(124);menu$(number%,A%);
2160IF details$(number%,A%)<>"N" PRINTC
HR$&82;"(";EVAL(details$(number%,A%));")
"
2170NEXT A%
2180PRINT TAB(0,21)"ENTER FUNCTION REQU
IRED (1-";entries%(number%);")"
2190PRINT TAB(3,22)"OR ESCAPE TO ";
2200IF number%=1 PRINT"RE-SAVE COMMANDE
R";:mainmenu%=TRUE ELSE PRINT"RETURN TO
MAIN MENU";
2210REPEAT get%=GET-&30:UNTIL get%>0 AN
D get%<(entries%(number%)+1)AND NOT((get
%=7)AND(number%=1)AND lock%)
2220PRINTTAB(0,(get%*2)+1);CHR$&88
2230REPEAT get2%=GET:UNTIL (get2%>&30 A
ND get2%<(entries%(number%)+&31)AND NOT(
(get2%=&37)AND (number%=1)AND lock%)) OR
(get2%=&D)
2240IF get2%<>&D THEN PRINT TAB(0,(get%
*2)+1);" ":get%=get2%-&30:GOTO 2220
2250mainmenu%=FALSE
2260=get%
2270DEFFNSTATUS
2280Z%=4
2290REPEAT Z%=Z%-1:UNTIL file%?&34>=sta
tus%(Z%)
2300=menu$(7,Z%)
2310DEFFNRATING
2320Z%=10
2330REPEAT Z%=Z%-1:UNTIL (file%!&47 AND
&FFFF)>=rating%(Z%)
2340=menu$(6,Z%)
2350DEFFNMISSION
2360IF ?file%=6 THEN =menu$(8,4)
2370Z%=0
2380REPEAT Z%=Z%+1:UNTIL ?file%=mission
%(Z%)
2390=menu$(8,Z%)
2410DEFFNENERGY
2420Z%=file%?&2B
2430IF Z%>3 THEN Z%=3
2440IF Z%=0 THEN ="NOT PRESENT" ELSE =m
enu$(3,Z%+1)
2450DEFFNLASER
2460Z%=0
2470REPEAT Z%=Z%+1:UNTIL file%?(A%+&F)=
lazer%(Z%)
2480=menu$(4,Z%)
2490DEFFNGOT(A%)
2500IF A% THEN ="PRESENT" ELSE ="NOT PR
ESENT"
2510DEFFNINPUT(X%,Y%,L%,max,point%)
2520LOCAL input$
2530VDU 23,1,1;0;0;0;
2540PRINT TAB(X%,Y%);SPC(L%);TAB(X%,Y%)
;
2550input$=""
2560REPEAT get%=GET:UNTIL(get%>&2F AND
get%<&3A)OR (get%=&2E AND point%)OR (get
%=&7F)OR (get%=&D) OR (get%=&15)
2570IF get%=&15 THEN 2540
2580IF get%<>&7F THEN 2610
2590IF input$<>"" input$=LEFT$(input$,L
EN(input$)-1):VDU &7F
2600GOTO 2560
2610IF LEN (input$) THEN P%=INSTR(input
$,".") ELSE P%=0
2620IF get%=&2E AND P% THEN 2560
2630IF P% AND (P%<LEN(input$)) AND get%
<>&D THEN 2560
2640IF get%<>&D AND LEN(input$)<L% THEN
input$=input$+CHR$(get%):VDU get%
2650IF get%<>&D OR input$="" THEN 2560
2660IF VAL(input$)<=max VDU 23,1;0;0;0;
0:=VAL(input$)
2670PRINT '"MAX POSSIBLE VAL. = ";max;
2680get%=INKEY(100)
2690GOTO 2540