Has anyone ever seen a copy of this?
The old TRS80 Model 1 trading game it was advertised in early Popular Computing Weeklies... a google will turn it up. It doesn't seem to be on any of the software lists, perhaps because Jaysoft didn't advertise in the kosher Dragon Press?
I had a (probably hooky) copy as a kid, never seen a .CAS file of it, inlay scan or anything in modern times.
Jaysoft  Taipan
Re: Jaysoft  Taipan
I found a Portuguese translation (hack) which i have put on a CAS file for you.
If you /anyone knows how to save the BASIC as a TXT/ASC file, i will edit and translate it back to English using the Spectrum Tape (TZX).
If you /anyone knows how to save the BASIC as a TXT/ASC file, i will edit and translate it back to English using the Spectrum Tape (TZX).
Last edited by .mad. on Wed Dec 23, 2020 3:17 pm, edited 1 time in total.
I am, you are, we are, they're not...
Re: Jaysoft  Taipan
The easiest way with XRoar is to run with "lpfile filename" and then LLIST after loading.
Done that for you here:
http://www.6809.org.uk/tmp/da/taipan.bas
Re: Jaysoft  Taipan
here's my first attempt.
The WIN /game over code is from Spectrum version and still needs to be worked on.
the game does seems to working ok.
The WIN /game over code is from Spectrum version and still needs to be worked on.
the game does seems to working ok.
 Attachments

 Taipan (Jaysoft)[dragon32][x1].zip
 (6.17 KiB) Downloaded 81 times
I am, you are, we are, they're not...
Re: Jaysoft  Taipan
Wow, that is some cool reverse engineering! I'd seen the Portuguese variant existed, but using the Spectrum versions from Jaysoft to allow it to be translated back has produced something that's exactly as I remember it.
Winning is broken though and the Debt collectors definitely aren't active yet... so you are merging stuff from the Spectrum or ZX81 code in to replace the Portuguese meddling? Have had a look at the Spectrum download, it's a little different  haven't located a ZX81 one yet.
Winning is broken though and the Debt collectors definitely aren't active yet... so you are merging stuff from the Spectrum or ZX81 code in to replace the Portuguese meddling? Have had a look at the Spectrum download, it's a little different  haven't located a ZX81 one yet.
Re: Jaysoft  Taipan
The PT translation has many missing lines compared to the Spectrum.
the TRS80 version has pirate ship graphics and many more routines.
the TRS80 version has pirate ship graphics and many more routines.
Code: Select all
1 'TAIPAN _ A GAME BY J.K.MOODY
2 'DRAGON32 EDIT BY .MAD. 2020.
3 'THANKS TO SIXXIE.
1000 DIM P(5)
1010 CLS
1030 GOSUB 2435
1040 PRINT @5*32+4,"WITH WHOM AM I PLAYING?"
1050 INPUT N$
1060 CLS
1070 N=INT((31(LEN(N$)+9))/2)
1080 PRINT @N,"HOUSE OF ";N$
1090 PRINT @32,"":PRINT@7*32,""
1100 PRINT@2*32,"BANK $ ":PRINT@3*32,"SUM YAN $ ":PRINT@4*32,"UNITS : ":PRINT@5*32,"LOCATION : "
1110 PRINT@2*32+17,"GENERAL":PRINT@3*32+17,"ARMS":PRINT@4*32+17,"SILK":PRINT@5*32+17,"WOMEN":PRINT@6*32+17,"OPIUM"
1120 T=0
1130 WIN=0
1140 B=500 'bank balance
1150 Y=5000 'money owed to Yan
1160 U=500 'free space (units)
1170 G=0 'general goods
1180 A=0 'arms / weapons
1190 S=0 'silk
1200 W=0 'women / slaves
1210 O=0 'opium / drugs
1220 L=1
1230 GOSUB 2900
1240 GOSUB 2780
1250 PRINT@2*32,"BANK $ ";B;TAB(17);"GENERAL ";G:PRINT@3*32,"SUM YAN $";Y;TAB(17);"ARMS ";A:PRINT@4*32,"UNITS :";U;TAB(17);"SILK ";S,"LOCATION:";TAB(17);"WOMEN ";W:PRINT@6*32,L$;TAB(17);"OPIUM ";O;
1260 IF WIN=1 THEN 2370
1270 PRINT@8*32,"OPTIONS:","PRICES:",,,"1.BUY","GENERAL $";P(1),"2.SELL","ARMS $";P(2),"3.QUIT","SILK $";P(3),,"WOMEN $";P(4),,"OPIUM $";P(5)
1280 IF L=1 THEN PRINT@13*32,"4.VISIT SUM YAN";:PRINT@14*32,"(MONEY LENDER)";
1290 C$=INKEY$
1300 IF C$="" THEN 1290
1310 C=VAL(C$)
1320 IF C<1 OR C>5 THEN 1290
1330 IF L<>1 AND C>3 THEN 1290
1340 ON C GOTO 1360,1660,1970,2120
1350 GOTO 1290
1360 'BUY ROUTINE
1370 GOSUB 3060
1380 PRINT@8*32,"WHAT DO YOU WISH TO BUY?","(G/A/S/W/O)"
1390 P$=INKEY$
1400 IF P$="" THEN 1390
1410 IF P$<>"G" AND P$<>"A" AND P$<>"S" AND P$<>"W" AND P$<>"O" THEN 1390
1420 IF P$="G" THEN P=P(1)
1430 IF P$="A" THEN P=P(2)
1440 IF P$="S" THEN P=P(3)
1450 IF P$="W" THEN P=P(4)
1460 IF P$="O" THEN P=P(5)
1470 GOSUB 3060
1480 PRINT@8*32,"YOU CAN AFFORD";INT(B/P)
1490 PRINT@10*32,"HOW MANY YOU WISH TO BUY?"
1500 INPUT Q
1510 IF Q>U THEN GOSUB 1630
1520 IF Q>INT(B/P) THEN 1490
1530 U=UQ
1540 B=B(Q*P)
1550 IF P$="G" THEN G=G+Q
1560 IF P$="A" THEN A=A+Q
1570 IF P$="S" THEN S=S+Q
1580 IF P$="W" THEN W=W+Q
1590 IF P$="O" THEN O=O+Q
1600 GOSUB 3060
1610 GOTO 1250
1620 STOP
1630 PRINT@12*32,"YOU ONLY HAVE SPACE FOR";U;
1640 GOTO 1490
1650 RETURN
1660 'SELL ROUTINE
1670 GOSUB 3060
1680 PRINT@8*32,"WHAT YOU WISH TO SELL","(G/A/S/W/O)"
1690 P$=INKEY$
1700 IF P$="" THEN 1690
1710 IF P$<>"G" AND P$<>"A" AND P$<>"S" AND P$<>"W" AND P$<>"O" THEN GOTO 1690
1720 IF P$="G" THEN P=P(1)
1730 IF P$="A" THEN P=P(2)
1740 IF P$="S" THEN P=P(3)
1750 IF P$="W" THEN P=P(4)
1760 IF P$="O" THEN P=P(5)
1770 GOSUB 3060
1780 PRINT@8*32,"HOW MANY DO YOU WISH TO SELL?"
1790 INPUT Q
1800 IF P$="G" AND Q>G THEN1780
1810 IF P$="A" AND Q>A THEN1780
1820 IF P$="S" AND Q>S THEN1780
1830 IF P$="W" AND Q>W THEN1780
1840 IF P$="O" AND Q>O THEN1780
1850 B=B+P*Q
1860 U=U+Q
1870 IF P$="G" THEN G=GQ
1880 IF P$="A" THEN A=AQ
1890 IF P$="S" THEN S=SQ
1900 IF P$="W" THEN W=WQ
1910 IF P$="O" THEN O=OQ
1920 IF B>100000 AND Y=0 THEN WIN=1 'you win if money is $100000 and free from debt to yan
1921 'you can edit the above to goto the zx spectrum routine, so he collects the debt.
1930 GOTO 1250
1940 GOSUB 3060
1950 GOTO 1250
1960 STOP
1970 'TRAVEL
1980 T=T+1
1990 GOSUB 3060
2000 PRINT@8*32,"DESTINATION?","1.HONG KONG",,"2.SINGAPORE",,"3.MACAO",,"4.BANGKOK",,"5.SHANGHAI"
2010 L$=INKEY$
2020 IF L$="" THEN GOTO 2010
2030 L=VAL(L$)
2040 IF L<1 OR L>5 THEN 2010
2050 GOSUB 2900
2060 IF RND(0)<.25 GOSUB 2560
2070 N=INT((31((LEN(N$)+9)))/2)
2080 PRINT@N,"BALANCE ";N$
2090 PRINT@32,STRING$(32,"");:PRINT@7*32,STRING$(32,"");
2100 Y=INT(1.12*Y)
2110 GOTO 1240
2120 'SUM YAN ROUTINE
2130 GOSUB 3060
2140 PRINT@8*32,"DO YOU WISH TO BORROW OR REPAY","(B/R)"
2150 C$=INKEY$
2160 IF C$="" THEN 2150
2170 IF C$<>"B" AND C$<>"R" THEN2150
2180 IF C$="B" THEN GOTO 2270
2190 GOSUB 3060
2200 PRINT@8*32,;
2210 INPUT"HOW MUCH DO YOU WISH TO REPAY?";M
2220 IF M<>INT(M)OR M>Y OR M>B THEN 2200
2230 Y=YM
2240 B=BM
2250 GOSUB 3060
2260 GOTO 1250
2270 'SUM YAN ROUTINE
2280 GOSUB 3060
2290 PRINT@8*32,;
2300 INPUT "HOW MUCH DO YOU WISH TO BORROW?";M
2310 IF M=0 THEN GOTO 2350
2320 IF M+B>50000 THEN GOTO 2290
2330 Y=Y+M
2340 B=B+M
2350 GOSUB 3060
2360 GOTO 1250
2370 'WIN ROUTINE
2371 GOSUB 3060
2372 PRINT@8*32,"CONGRATULATIONS TAIPAN"
2373 PRINT"YOU HAVE $100000 AND CAN NOW RETIRE.";"YOU MADE";T;"TRIPS."
2374 STOP
2375 'zx spectrum basic extra lines
2376 '
2410 'SUM YAN SENDS THE BOYS ROUND
2411 PRINT"SUM YAN IS CONCERNED ABOUT";"YOUR OUTSTANDING DEBT TAIPAN!"
2412 PRINT"HE HAS THEREFORE SENT SOME";"FRIENDS TO COLLECT IT"
2413 IF B>Y THEN 2417
2414 PRINT"UNFORTUNATELY,YOU HAVE NO";"CHOICE BUT TO PAY THEM"
2415 B=BY
2416 Y=YY:RETURN
2417 PRINT"UNFORTUNATELY YOU HAVE NOT";"GOT ENOUGH MONEY"
2418 IF W=0 THEN 2422
2419 PRINT "HOWEVER IF YOU BRIBE THEM WITH";"YOUR WOMEN,THEY WILL LET YOU";"ESCAPE"
2420 U=U+W:W=0
2421 RETURN
2422 IF O=0 THEN 2426
2423 PRINT"HOWEVER,IF YOU BRIBE THEM WITH";"HALF YOUR OPIUM,THEY WILL LET";"YOU ESCAPE"
2424 U=U+(OINT (O/2))
2425 O=INT (O/2):RETURN
2426 PRINT"THEY HAVE THEREFORE CONFISCATED";"YOUR JUNK AND FED YOU TO";"THE SHARKS"
2427 PRINT"DO YOU WISH TO PLAY AGAIN TAIPAN?(Y/N)"
2428 IF INKEY$="" THEN 2428
2429 IF INKEY$="Y" THEN RUN
2430 STOP
2433 '
2435 PRINT@13,"TAIPAN":PRINT@98,"A GAME BASED ON TRADE IN":PRINT@163,"THE CHINA SEAS IN THE EARLY":PRINT@227,"19TH CENTURY."
2440 PRINT@11*32+5,"THE AIM IS TO ACCUMULATE":PRINT@13*32+5,"$100000."
2450 FOR X=1 TO 1650:IF INKEY$<>"" THEN 2460 ELSE NEXT
2460 CLS
2470 PRINT@13,"TAIPAN"
2480 PRINT@2*32+3,"AT THE START OF THE GAME YOU HAVE $500 AND OWE SUM YAN (THE MONEY LENDER), $5000."
2490 PRINT@7*32+3,"SUM YAN CHARGES INTEREST OF 12 PERCENT ON EACH JOURNEY MADE."
2500 PRINT@11*32+8," GOOD LUCK ... BEWARE OF STORMS."
2510 PRINT@14*32+2,"YOUR HOME PORT IS HONG KONG";
2520 FOR X=1 TO 2000:IF INKEY$<>"" THEN 2530 ELSE NEXT
2530 CLS
2540 PRINT@12," TAIPAN"
2550 RETURN
2560 'STORM ROUTINE
2570 CLS
2580 FOR F=1 TO 120
2590 PRINT@324,"**STORM,TAIPAN**"
2600 PRINT@324,"**storm,tiapan**"
2610 NEXT F
2620 CLS
2630 IF RND(0)<.5 THEN 2740
2640 PRINT@326,"WE WILL HAVE TO JETTISON":PRINT@12*32+6,"HALF THE CARGO"
2650 U=INT(.5+U+(INT(500U))/2)
2660 FOR F=1 TO 2000:NEXT
2670 G=INT(G/2)
2680 A=INT(A/2)
2690 S=INT(S/2)
2700 W=INT(W/2)
2710 O=INT(O/2)
2720 CLS
2730 RETURN
2740 PRINT@326,"STORM OVER,":PRINT@12*32+12,"ALL O.K."
2750 FOR F=1 TO 2000:NEXT
2760 CLS
2770 RETURN
2780 'PRICE FIXING ROUTINE
2790 P(1)=RND(16)
2800 IF P(1)<1 THEN 2790
2810 P(2)=10*RND(19)
2820 IF P(2)<50 THEN 2810
2830 P(3)=10*RND(100)
2840 IF P(3)<300 THEN 2830
2850 P(4)=100*RND(31)
2860 IF P(4)<500 THEN 2850
2870 P(5)=100*RND(101)
2880 IF P(5)<1000 THEN 2870
2890 RETURN
2900 'LOCATION TABLE
2910 IF L=1 THEN L$="HONG KONG"
2920 IF L=2 THEN L$="SINGAPORE"
2930 IF L=3 THEN L$="MACAO "
2940 IF L=4 THEN L$="BANGKOK "
2950 IF L=5 THEN L$="SHANGHAI "
2960 RETURN
2999 'SUM YAN
3060 FOR X=8 TO 14
3070 PRINT@X*32,STRING$(32," ");
3080 NEXT X
3090 RETURN
I am, you are, we are, they're not...
Re: Jaysoft  Taipan
Right, have done some trawling through some old disks with the aid of my greaseweazle over the last few days and have managed to find a copy of the game on an old disk which may well be the Dragon version shipped by Jaysoft.
It's attached below.
It's attached below.