> -----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$

Reply via email to