It's a utility I wrote for use with a Pen and Paper sci-fi RPG I run for
some friends.

On Mon, May 4, 2020, 1:17 PM James Zeun <james.z...@gmail.com> wrote:

> I think I must have missed this thread somehow, a starship manager? Is
> this a game or some sort of utility to let me keep track of how many red
> shirts I have left :-P
>
> On Mon, 4 May 2020 at 04:18, D10D3 Data <jason.benson...@gmail.com> wrote:
>
>> Can you attach or link to your amended M100 version?
>>
>> On Sat, May 2, 2020 at 3:01 AM Jim Anderson <jim.ander...@kpu.ca> wrote:
>>
>>> > -----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$
>>>
>>>
>
> --
> My retro tech blog and general ramblings
> http://bytemyvdu.wordpress.com/
>

Reply via email to