> -----Original Message----- > I wrote a utility on my NEC 8201A to aid the players in a scifi RPG I > run. If anyone is curious I've posted the code > here: https://pastebin.com/9EJ7JbDN > It's NEC basic, so it won't run on an M100 without a bit of porting, but > if you have a NEC or run Virtual-T in NEC mode you can try it out. It's > janky and far from optimized but it works.
Catching up on old posts still. Hey, that's pretty cool! I've pasted in a diff (below my signature) for the mods I made to make it run in M100 mode in VirtualT (including a couple of edits, and fixing a logic error where editing any cargo item's quantity changes your fuel quantity). One thing: it doesn't seem happy unless CARGO.DO is present and populated with at least dummy data, and it wasn't obvious until I read the code that the first item in the cargo needs to be fuel. jim $ diff SHPSYS.NEC.txt SHPSYS.txt 2c2,3 < 20 SCREEN 0,0:CLS:LOCATE 10,3:PRINT"INITIALIZING"; --- > 15 REM ADAPTED TO THE M100 -JRA > 20 SCREEN 0,0:CLS:PRINT@130,"INITIALIZING"; 44,47c45,48 < 700 LOCATE 0,0:PRINT"SYSTEMS ONLINE" < 710 LOCATE 0,4:PRINT"N: NAVIGATION"; < 720 LOCATE 0,5:PRINT"C: CARGO MANAGER"; < 730 LOCATE 0,6:PRINT"Q: QUIT"; --- > 700 PRINT@0,"SYSTEMS ONLINE" > 710 PRINT@200,"N: NAVIGATION"; > 720 PRINT@240,"C: CARGO MANAGER"; > 730 PRINT@280,"Q: QUIT"; 82,83c83 < 1370 LOCATE 0,0 < 1380 PRINT"1.Abbadon 7.Chelsea 13.Lungold" --- > 1380 PRINT@0,"1.Abbadon 7.Chelsea 13.Lungold" 91,92c91 < 1460 LOCATE 0,0 < 1470 PRINT"14.Medusa 20.Shiva" --- > 1470 PRINT@0,"14.Medusa 20.Shiva" 117c116 < 1720 LOCATE 20,0:PRINT"DISTANCE:"; --- > 1720 PRINT@20,"DISTANCE:"; 119c118 < 1740 LOCATE 20,1:PRINT"DAYS:";:PRINT USING A$; DIST; --- > 1740 PRINT@60,"DAYS:";:PRINT USING A$; DIST; 121,122c120,121 < 1760 LOCATE 20,2:PRINT"FUEL USED:";:PRINT USING A$; DIST*2; < 1762 LOCATE 20,4:PRINT"Execute Flight";:LOCATE 20,5:INPUT"Plan?(Y/N)";B$ --- > 1760 PRINT@100,"FUEL USED:";:PRINT USING A$; DIST*2; > 1762 PRINT@180,"Execute Flight";:PRINT@220,"";:INPUT"Plan?(Y/N)";B$ 124c123 < 1770 LOCATE 20,5:INPUT"ANOTHER(Y/N) ";B$ --- > 1770 PRINT@220,"";:INPUT"ANOTHER(Y/N) ";B$ 153c152 < 2210 LOCATE 0,0:PRINT"NAME TON COST" --- > 2210 PRINT@0,"NAME TON COST" 155,157c154,156 < 2230 LOCATE 1,L:PRINT CN$(I);: < 2240 LOCATE 30,L:PRINT CT%(I); < 2250 LOCATE 35,L:PRINT CC%(I); --- > 2230 PRINT@1+(L*40),CN$(I);: > 2240 PRINT@30+(L*40),CT%(I); > 2250 PRINT@35+(L*40),CC%(I); 160c159 < 2280 LOCATE 0,7:PRINT"SELECT:U/D PAGE:L/R EDIT:ENT QUIT:ESC"; --- > 2280 PRINT@280,"SELECT:U/D PAGE:L/R EDIT:ENT QUIT:ESC"; 173c172 < 2410 GOSUB 2480:INPUT"TONS:";A$:CT%(SE)=VAL(A$):FUEL%=VAL(A$) --- > 2410 GOSUB 2480:INPUT"TONS:";A$:CT%(SE)=VAL(A$):IF SE=1 THEN FUEL%=VAL(A$) 175c174 < 2430 IF SE>30 THEN SE=30!SLE IF SE<1 THE SE=1 --- > 2430 IF SE>30 THEN SE=30 ELSE IF SE<1 THEN SE=1 180,181c179,180 < 2480 LOCATE 0,7:PRINT" "; < 2490 LOCATE 0,7:RETURN --- > 2480 PRINT@280," "; > 2490 PRINT@280,"";:RETURN 183c182 < 2510 IF DIST*2 > FUEL% THEN LOCATE 20,4:PRINT"INSUFFICIENT FUEL";:LOCATE 20,5:INPUT"<PRESS A KEY>";B$ --- > 2510 IF DIST*2 > FUEL% THEN PRINT@180,"INSUFFICIENT > FUEL";:PRINT@220,"";:INPUT"<PRESS A KEY>";B$