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