Jump to content
IGNORED

Santa Paravia and Fiumaccio


InfernalKeith

Recommended Posts

Anyone else as interested in really old code as me... here's a 1980 game called "Santa Paravia and Fiumaccio." It was originally released in TI BASIC by the Instant Software company, based on a 1978 magazine type-in program. The concept is a variation on the classic "Hammurabi" game, in which you grow crops, allocate land, feed peasants, and attempt to maintain rule over your kingdom.

 

SP&F introduces several other ideas, like building marketplaces, mills and palaces, collecting taxes, and training an army to protect your land. The object is to rise from a "sir" to a "baron" and through several other ranks to "king."

 

I'm writing up an article about this game for Retrogaming Times Monthly. It's the oldest piece of original software I own, dated 1980, its documentation only mentioning the 99/4 (the 4A wasn't released yet).

 

It'll work fine in Extended BASIC in Classic99, and will run faster and not give you MEMORY FULL errors. There are no graphics whatsoever - it's all text.

 

Talk about old school! :)

 

Keith

 

 

 

 

 

 

100 REM  SANTA PARAVIA AND FIUMACCIO VERSION 7.2 
110 REM    COPYRIGHT (C) 1980,INSTANT SOFTWARE,INC. (P)   
120 CALL CLEAR
135 OPTION BASE 0
140 DIM AA(6),BB(6),CC(6),D(6),GG(6),HH(6),II(6),JJ(6),K(6),LL(6),M(6),N$(6),N(6),O(6),P(6),Q(6),RR(6),SS(6)
145 DIM T$(6),T(6),U(6),V(6)
150 RANDOMIZE
160 YY=1400
165 NW=0
170 DATA "SIR","BARON","COUNT","MARQUIS","DUKE","GRAND DUKE","PRINCE","*H.R.H. KING"
180 DATA "LADY","BARONESS","COUNTESS","MARQUISE","DUCHESS","GRAND DUCHESS","PRINCESS","*H.R.H. QUEEN"
190 DATA "SANTA PARAVIA","FIUMACCIO","TORRICELLA","MOLINETTO","FONTANILE","ROMAGNA"
210 PRINT: : :"SANTA PARAVIA AND FIUMACCIO": : : : : : : : : : :
260 RESTORE 190
270 PRINT "HOW MANY PEOPLE WANT TO PLAY SANTA PARAVIA ? ";
280 GOSUB 5630
290 F=KV
300 IF F<1 THEN 315
310 IF F<=6 THEN 320
315 CALL CLEAR
317 GOTO 270
320 FOR A=1 TO F
325 CALL CLEAR
330 READ T$(A)
350 PRINT:"WHO IS THE RULER OF ";T$(A);
360 INPUT N$(A)
370 N$(A)=N$(A)&" OF "&T$(A)
380 PRINT: :"IS ";N$(A):
385 INPUT "A MAN OR A WOMAN ? ":K$
390 V(A)=0
410 IF(SEG$(K$,1,1)<>"W")*(SEG$(K$,1,1)<>"M")THEN 380
415 IF SEG$(K$,1,1)="M" THEN 420
417 V(A)=8
420 GG(A)=25
430 HH(A)=10
440 II(A)=5
450 JJ(A)=2
460 K(A)=1000
470 LL(A)=10000
480 RR(A)=5000
490 T(A)=1
500 U(A)=1
510 N(A)=4
520 P(A)=25
530 Q(A)=5
540 M(A)=25
550 SS(A)=2000
560 NEXT A
570 FOR A=1 TO F
580 RESTORE
590 B@=V(A)+T(A)
600 FOR C2=1 TO B@
610 READ T$(A)
620 NEXT C2
630 NEXT A
650 U(0)=9
660 GOSUB 1300
670 E=E+1
672 IF NW=F THEN 18690
675 IF E>F THEN 695
677 IF T(E)<8 THEN 680
679 GOTO 670
680 IF T(E)<>-1 THEN 690
685 E=E+1
690 IF E<=F THEN 730
695 E=0
700 YY=YY+1
710 GOSUB 1300
720 GOTO 670
730 GOSUB 1430
740 GOSUB 2040
750 GOSUB 2950
760 GOSUB 2420
780 GOSUB 4020
790 GOSUB 4550
800 GOTO 670
810 CALL CLEAR
815 CALL SCREEN(14)
820 PRINT TAB(9);"COMPARE NOBLES": : :
830 FOR A=1 TO F
834 PRINT:T$(A);" ";N$(A)
836 PRINT "HAS";N(A);"NOBLES":
850 NEXT A
854 PRINT: :
855 GOSUB 1110
856 CALL SCREEN(7)
860 PRINT TAB(;"COMPARE SOLDIERS": : :
870 FOR A=1 TO F
875 PRINT:T$(A);" ";N$(A)
880 PRINT "HAS";P(A);"SOLDIERS":
890 NEXT A
891 PRINT: :
895 GOSUB 1110
896 CALL SCREEN(16)
900 PRINT TAB(9);"COMPARE CLERGY": : :
910 FOR A=1 TO F
920 PRINT:T$(A);" ";N$(A)
925 PRINT "HAS";Q(A);"CLERGYMEN":
930 NEXT A
931 PRINT: :
935 GOSUB 1110
936 CALL SCREEN(11)
940 PRINT TAB(7);"COMPARE MERCHANTS": : :
950 FOR A=1 TO F
960 PRINT T$(A);" ";N$(A)
965 PRINT "HAS";M(A);"MERCHANTS": :
970 NEXT A
971 PRINT: :
975 GOSUB 1110
976 CALL SCREEN(5)
980 PRINT TAB(9);"COMPARE SERFS": : :
990 FOR A=1 TO F
1000 PRINT:T$(A);" ";N$(A)
1005 PRINT "HAS";SS(A);"SERFS":
1010 NEXT A
1011 PRINT: :
1015 GOSUB 1110
1016 CALL SCREEN(4)
1020 PRINT TAB(6);"COMPARE LAND OWNED": : :
1030 FOR A=1 TO F
1040 PRINT:T$(A);" ";N$(A)
1045 PRINT "HAS";LL(A);"HECTARES OF LAND":
1050 NEXT A
1051 PRINT: :
1055 GOSUB 1110
1056 CALL SCREEN(12)
1060 PRINT TAB(7);"COMPARE TREASURIES": : :
1070 FOR A=1 TO F
1080 PRINT:T$(A);" ";N$(A)
1085 PRINT "HAS";K(A);"GOLD FLORINS":
1090 NEXT A
1091 PRINT: :
1110 INPUT " (PRESS ENTER)":A$
1115 CALL CLEAR
1116 CALL SCREEN(4)
1120 RETURN
1130 I=INT(I)
1140 RETURN
1150 C2=INT(C2)
1160 RETURN
1170 S=INT(S)
1180 RETURN
1190 K(E)=INT(K(E))
1200 RETURN
1210 Z=INT((3+A*RND)*SS(E)/100)
1220 PRINT: : :Z;"SERFS BORN THIS YEAR"
1230 SS(E)=SS(E)+Z
1240 RETURN
1250 Z=INT((3+RND*A*SS(E))/100)
1260 Z@=Z
1270 PRINT Z;"SERFS DIED THIS YEAR"
1280 SS(E)=SS(E)-Z
1290 RETURN
1300 W=INT((RND*5+RND*6)/2)
1305 IF W<1 THEN 1300
1310 ON W GOTO 1320,1340,1360,1380,1400
1320 W$="DROUGHT - FAMINE THREATENS"
1330 GOTO 1410
1340 W$="BAD WEATHER - POOR HARVEST"
1350 GOTO 1410
1360 W$="NORMAL WEATHER AND HARVEST"
1370 GOTO 1410
1380 W$="GOOD WEATHER - FINE HARVEST"
1390 GOTO 1410
1400 W$="EXCELLENT WEATHER & HARVEST"
1410 R=INT(RND*50)
1420 RETURN
1430 RR(E)=RR(E)-RR(E)*R/100
1440 X=LL(E)
1450 Y=(SS(E)-D(E)*100)*5
1460 IF Y>=0 THEN 1470
1465 Y=0
1470 IF Y>=X THEN 1480
1475 X=Y
1480 Y=RR(E)*2
1490 IF Y>=X THEN 1500
1495 X=Y
1500 RR(E)=RR(E)-X/2
1510 Y=W-.5
1520 H@=X*Y
1530 RR(E)=INT(RR(E)+H@+5000)
1540 D@=N(E)*100+CC(E)*40+M(E)*30+P(E)*10+SS(E)*5
1545 D@=INT(D@)
1550 L=(3*W+RND*6+12)/10
1560 IF W<>1 THEN 1570
1565 L=L-1
1570 IF H@>=1 THEN 1580
1575 Y=2
1580 GOTO 1610
1590 Y=D@/H@
1600 IF Y<=2 THEN 1610
1605 Y=2
1610 IF Y>=8 THEN 1620
1615 Y=8
1620 L=L*Y
1630 L=INT(L*10/3)
1640 L=L/10
1650 Z=6-W
1660 G=INT((Z*3+3+RND*5)/5*Y*20)/10
1670 RETURN
1690 PRINT:"RATS ATE ";R;"%";"OF YOUR RESERVES"
1700 PRINT W$:TAB(11);"(";H@;" STERES)":
1720 IF K(E)>=32766 THEN 1730
1725 GOSUB 1190
1726 RR(E)=INT(RR(E))
1730 PRINT "GRAIN RESERVE =";RR(E);"STERES"
1740 PRINT "GRAIN  DEMAND =";D@;"STERES"
1750 PRINT "PRICE OF GRAIN=";G;"/1000ST"
1760 PRINT "PRICE OF LAND =";L;"/HECTARE"
1770 PRINT "(THE TREASURY CONTAINS ";K(E);" FLORINS.)"
1780 RETURN
1790 J=INT((JJ(E)*300-500)*T(E))
1800 ON JJ(E)GOTO 1810,1830,1850,1870
1810 J$="VERY FAIR"
1820 GOTO 1880
1830 J$="MODERATE"
1840 GOTO 1880
1850 J$="HARSH"
1860 GOTO 1880
1870 J$="OUTRAGEOUS"
1880 Y=150-GG(E)-HH(E)-II(E)
1890 IF Y>=1 THEN 1900
1895 Y=1
1900 C@=(N(E)*180+Q(E)+75+M(E)*20)*(Y/100)+U(E)*100
1910 S@=(N(E)*50+M(E)*75+U(E)*15)*(Y/100)*(5-JJ(E))/2
1920 I@=N(E)*250+U(E)*25+(10*JJ(E)*N(E))*(Y/100)
1930 C@=INT(C@*GG(E)/100)
1940 IF C@>=32760 THEN 1950
1945 GOSUB 1150
1950 S@=INT(S@*HH(E)/100)
1960 IF S@>=32760 THEN 1970
1965 GOSUB 1170
1970 I@=INT(I@*II(E)/100)
1980 IF I@>=32760 THEN 1990
1985 GOSUB 1130
1990 PRINT "STATE REVENUES ARE";J+C@+S@+I@;"GOLD FLORINS"
1995 PRINT:"TAX";TAB(14);"RATE";TAB(25);"AM'T"
2000 PRINT:"CUSTOMS DUTY";TAB(13);GG(E);"%";TAB(24);INT(C@)
2005 PRINT "SALES TAX";TAB(13);HH(E);"%";TAB(24);INT(S@)
2010 PRINT "INCOME TAX";TAB(13);II(E);"%";TAB(24);INT(I@)
2015 PRINT "JUSTICE";TAB(14);J$;TAB(24);J:
2030 RETURN
2040 CALL CLEAR
2060 PRINT TAB(10);YY;"A.D.":T$(E);" ";N$(E)
2070 GOSUB 1690
2080 PRINT:"0. CONTINUE GAME"
2090 PRINT "1. BUY GRAIN":"2. SELL GRAIN":"3. BUY LAND":"4. SELL LAND"
2100 PRINT "YOUR CHOICE ? ";
2110 GOSUB 5630
2120 I@=KV
2130 IF I@>4 THEN 2090
2140 IF I@>=1 THEN 2160
2150 RETURN
2156 CALL CLEAR
2157 GOSUB 1680
2160 ON I@ GOTO 2165,2235,2305,2345
2165 PRINT "HOW MUCH GRAIN DO YOU WANT"
2170 INPUT "TO BUY ? ":I@
2180 K(E)=K(E)-(I@*G/1000)
2190 RR(E)=RR(E)+I@
2200 CALL CLEAR
2210 PRINT:T$(E);" ";N$(E)
2220 GOSUB 1720
2230 GOTO 2080
2235 PRINT "HOW MUCH GRAIN DO YOU WANT"
2240 INPUT "TO SELL ? ":I@
2250 IF I@<=RR(E)THEN 2280
2260 PRINT "YOU DON'T HAVE IT":
2270 GOTO 2240
2280 K(E)=K(E)+(I@*G/1000)
2290 RR(E)=RR(E)-I@
2300 GOTO 2200
2305 PRINT "HOW MANY HECTARES DO YOU"
2310 INPUT "WANT TO BUY ? ":I@
2320 LL(E)=LL(E)+I@
2330 K(E)=K(E)-(I@*L)
2340 GOTO 2200
2345 PRINT "HOW MANY HECTARES DO YOU"
2350 INPUT "WANT TO SELL ? ":I@
2360 IF I@<=(LL(E)-5000)THEN 2390
2370 PRINT " YOU CAN'T SELL THAT MUCH !"
2380 GOTO 2345
2390 LL(E)=LL(E)-I@
2400 K(E)=K(E)+(I@*L)
2410 GOTO 2200
2420 CALL CLEAR
2440 PRINT TAB(10);YY;"A.D.":T$(E);" ";N$(E): :
2460 GOSUB 1790
2470 PRINT:"0.NO CHANGE IN TAXES"
2480 PRINT "1.CUSTOMS DUTY":"2.SALES TAX":"3.WEALTH TAX":"4.JUSTICE"
2490 PRINT:"YOUR CHOICE ? ";
2500 GOSUB 5630
2510 I=KV
2520 IF I<=4 THEN 2550
2540 GOTO 2500
2550 IF I<1 THEN 2870
2560 ON I GOTO 2570,2640,2710,2780
2570 INPUT "NEW CUSTOMS DUTY (0-100)":I
2580 IF I<=100 THEN 2600
2590 I=100
2600 IF I>=0 THEN 2620
2610 I=0
2620 GG(E)=I
2630 GOTO 2420
2640 INPUT "NEW SALES TAX(0 TO 50)":I
2650 IF(I>=0)+(I<=50)THEN 2690
2660 I=5
2690 HH(E)=I
2700 GOTO 2420
2710 INPUT "NEW WEALTH TAX (0 TO 25)":I
2720 IF(I<=25)+(I>=0)THEN 2760
2730 I=0
2760 II(E)=I
2770 GOTO 2420
2780 PRINT:"JUSTICE:":"1.VERY FAIR 2.MODERATE":"3.HARSH     4.OUTRAGEOUS"
2790 GOSUB 5630
2800 I=KV
2810 IF(I<=4)+(I>=1)THEN 2850
2820 I=1
2850 JJ(E)=I
2860 GOTO 2420
2870 K(E)=INT(K(E)+C@+S@+I@+J)
2880 IF K(E)>=0 THEN 2900
2890 K(E)=INT(K(E)*1.5)
2900 IF K(E)<(-1000*T(E))THEN 5020
2910 IF(GG(E)+HH(E)+II(E))>=20 THEN 2920
2920 IF JJ(E)<>0 THEN 2940
2930 U(E)=U(E)+.2
2940 RETURN
2950 PRINT "RELEASE HOW MUCH GRAIN"
2965 INPUT "TO THE PEOPLE?":G@
2970 IF G@>=RR(E)/5 THEN 3000
2980 PRINT "YOU MUST RELEASE AT LEAST 20% OF YOUR RESERVES."
2990 GOTO 2950
3000 IF G@<=(RR(E)-(RR(E)/5))THEN 3030
3010 PRINT "YOU MUST KEEP AT LEAST 20% OF YOUR RESERVES."
3020 GOTO 2950
3030 RR(E)=RR(E)-G@
3040 CALL CLEAR
3050 PRINT TAB(10);YY:T$(E);" ";N$(E)
3070 Z=G@/D@-1
3080 IF Z<=0 THEN 3100
3090 Z=Z/2
3100 IF Z<=.25 THEN 3120
3110 Z=Z/10+.25
3120 Z@=50-GG(E)-HH(E)-II(E)
3130 IF Z@>=0 THEN 3150
3140 Z@=Z@*JJ(E)
3150 Z@=Z@/10
3160 IF Z@<=0 THEN 3180
3170 Z@=Z@+3-JJ(E)
3180 Z=Z+(Z@/10)
3190 IF Z<=.5 THEN 3210
3200 Z=.5
3210 IF G@<(D@-1)THEN 3600
3220 A=3
3230 GOSUB 1210
3240 A=2
3250 GOSUB 1250
3260 IF GG(E)+HH(E)>=35 THEN 3280
3270 M(E)=INT(M(E)+4*RND)
3280 IF II(E)>=RND*20 THEN 3310
3290 Q(E)=INT(Q(E)+RND*3-1)
3300 N(E)=INT(N(E)+2*RND-1)
3310 IF G@<(D@+D@*.3)THEN 3490
3320 Z@=SS(E)/1000
3330 Z=(G@-D@)/D@*10
3340 Z=Z*Z@*15+RND*40
3350 IF Z<=32000 THEN 3370
3360 Z=32000
3370 Z@=Z
3380 Z=INT(Z/2+24*RND)
3390 PRINT Z;"SERFS MOVE TO THE CITY"
3400 SS(E)=SS(E)+Z
3410 U(E)=U(E)+.5
3420 Z@=Z/5
3430 Z=INT(RND*Z@)
3440 IF Z<=50 THEN 3460
3450 Z=50
3460 M(E)=M(E)+Z
3470 N(E)=N(E)+1
3480 Q(E)=Q(E)+2
3490 IF JJ(E)<3 THEN 3590
3500 J@=SS(E)/100*(JJ(E)-2)*(JJ(E)-2)
3510 IF J@>=4 THEN 3530
3520 J@=4
3530 IF U(E)<=2 THEN 3550
3540 U(E)=U(E)-JJ(E)/10
3550 J@=INT(J@/2)
3560 J@=INT(J@*RND+J@)
3570 SS(E)=SS(E)-J@
3580 PRINT J@;"SERFS FLEE HARSH JUSTICE"
3590 GOTO 3720
3600 X=(D@-G@)/D@*100-9
3610 X@=X
3620 IF X>=0 THEN 3650
3630 X@=0
3640 X=0
3650 A=2
3660 GOSUB 1210
3670 A=X@+5
3680 GOSUB 1250
3690 IF Z@<=1000 THEN 3710
3700 U(E)=U(E)/2
3710 GOTO 3490
3720 Z=AA(E)*75
3730 K(E)=K(E)+Z
3740 IF Z<=0 THEN 3760
3750 PRINT:"YOUR MARKET EARNED ";Z;" FLORINS RENT."
3760 IF SS(E)>=32766 THEN 3800
3770 S@=SS(E)
3780 GOSUB 1170
3790 SS(E)=S@
3800 Z=INT(D(E)*(55+RND*250))
3810 IF Z<=0 THEN 3840
3820 K(E)=K(E)+Z
3830 PRINT:"YOUR WOOLEN MILL EARNED ";Z;" FLORINS."
3840 Z=P(E)*3
3850 PRINT:"YOU PAID YOUR SOLDIERS";Z;"FLORINS": : : :
3860 K(E)=K(E)-Z
3870 IF(LL(E)/1000)>P(E)THEN 5170
3880 IF(LL(E)/500)<P(E)THEN 3960
3890 IF X<=65 THEN 3920
3900 X=65
3910 M(E)=INT(M(E))
3920 FOR A=1 TO F
3930 IF A=E THEN 3950
3940 IF P(A)>(P(E)*2.4)THEN 5170
3950 NEXT A
3960 INPUT "(PRESS ENTER)":A$
3970 RETURN
4020 CALL CLEAR
4040 PRINT TAB(10);YY;"A.D.":T$(E);" ";N$(E)
4050 PRINT: :"***** STATE  PURCHASES *****"
4055 PRINT "0.NO PURCHASES  0.00 FLORINS"
4060 PRINT "1.MARKETPLACE   1000 FLORINS"
4070 PRINT "2.WOOLEN MILL   2000 FLORINS"
4080 PRINT "3.PALACE        3000 FLORINS"
4090 PRINT "4.CATHEDRAL     5000 FLORINS"
4100 PRINT "5.EQUIP 20 SERFS":"  AS SOLDIERS   500 FLORINS"
4110 PRINT "6.COMPARE STANDINGS":
4120 PRINT:"YOU HAVE";INT(K(E));"GOLD FLORINS":
4130 IF K(E)<-30000 THEN 5020
4150 PRINT:"YOUR CHOICE ? ";
4160 GOSUB 5630
4170 I=KV
4175 IF I>=7 THEN 4160
4176 IF I=0 THEN 1120
4270 ON I GOSUB 4360,4320,4410,4460,4510,810
4310 GOTO 4020
4320 D(E)=D(E)+1
4330 K(E)=K(E)-2000
4340 U(E)=U(E)+.25
4350 RETURN
4360 AA(E)=AA(E)+1
4370 M(E)=M(E)+5
4380 K(E)=K(E)-1000
4390 U(E)=U(E)+.1
4400 RETURN
4410 BB(E)=BB(E)+1
4420 N(E)=INT(N(E)+RND*2)
4430 K(E)=K(E)-3000
4440 U(E)=U(E)+.5
4450 RETURN
4460 CC(E)=CC(E)+1
4470 Q(E)=INT(Q(E)+RND*6)
4480 K(E)=K(E)-5000
4490 U(E)=U(E)+1
4500 RETURN
4510 P(E)=P(E)+20
4520 SS(E)=SS(E)-20
4530 K(E)=K(E)-500
4540 RETURN
4550 Z=0
4551 TT=0
4560 A=AA(E)
4570 GOSUB 4910
4580 A=BB(E)
4590 GOSUB 4910
4600 A=CC(E)
4610 GOSUB 4910
4620 A=D(E)
4630 GOSUB 4910
4640 A=K(E)/5000
4650 GOSUB 4910
4660 A=LL(E)/6000
4670 GOSUB 4910
4680 A=M(E)/50
4690 GOSUB 4910
4700 A=N(E)/5
4710 GOSUB 4910
4720 A=P(E)/50
4730 GOSUB 4910
4740 A=Q(E)/10
4750 GOSUB 4910
4760 A=SS(E)/2000
4770 GOSUB 4910
4780 A=U(E)/5
4790 GOSUB 4910
4800 A=INT(Z/8-JJ(E)+1)
4805 IF A<=8 THEN 4810
4806 A=8
4810 IF(YY+2)<>O(E)THEN 4830
4820 T(E)=T(E)+1
4830 IF T(E)>=A THEN 4900
4840 T(E)=A
4850 RESTORE
4860 FOR B=1 TO(T(E)+V(E))
4870 READ T$(E)
4880 NEXT B
4890 IF T(E)>=8 THEN 4980
4900 RETURN
4910 TT=TT+A
4920 IF A<=10 THEN 4940
4930 A=10
4940 A=INT(A)
4950 Z=Z+A
4960 RETURN
4970 REM  KING OR QUEEN 
4980 CALL CLEAR
4985 PRINT: : : : :"LONG LIVE ";T$(E);" ";N$(E);"!!!!!": : : : : : : : : :
4990 FOR WAIT=1 TO 200
4995 NEXT WAIT
5000 GOSUB 810
5010 GOSUB 5510
5012 INPUT "PRESS ENTER TO CONTINUE":Z$
5015 GOTO 4960
5020 CALL CLEAR
5030 PRINT:T$(E);" ";N$(E);" IS BANKRUPT."
5040 PRINT:"CREDITORS HAVE SEIZED MUCH OF YOUR ASSETS":
5060 INPUT "(PRESS ENTER)":A$
5070 AA(E)=0
5080 BB(E)=0
5090 CC(E)=0
5100 D(E)=0
5110 LL(E)=6000
5120 U(E)=1
5130 K(E)=100
5140 M(E)=INT(M(E)/2)
5150 RR(E)=5000
5160 RETURN
5170 Z=0
5180 FOR A=1 TO F
5190 IF A=E THEN 5240
5200 IF P(A)<P(E)THEN 5240
5210 IF P(A)<(1.2*(LL(A)/1000))THEN 5240
5220 IF P(A)<=P(Z)THEN 5240
5230 Z=A
5240 NEXT A
5250 IF Z<>0 THEN 5300
5260 T$(0)="BARON"
5270 N$(0)="PEPPONE OF MONTERANA"
5280 A@=INT(9000*RND+1000)
5290 GOTO 5310
5300 A@=INT(P(Z)*1000-LL(Z)/3)
5310 IF A@<=(LL(E)-5000)THEN 5330
5320 A@=INT((LL(E)-5000)/2)
5330 PRINT T$(Z);" ";N$(Z);"INVADES AND SEIZES";A@;"HECTARES OF LAND"
5340 LL(Z)=LL(Z)+A@
5350 Z=INT(RND*41)
5360 IF Z<=(P(E)-15)THEN 5380
5370 Z=P(E)-15
5380 PRINT T$(E);" ";N$(E);" LOSES";Z;" SOLDIERS IN BATTLE"
5390 P(E)=P(E)-Z
5400 INPUT "(PRESS ENTER)":A$
5410 RETURN
5490 GOSUB 3980
5500 GOSUB 810
5510 TT=TT+F
5520 TY=YY-1400
5530 TZ=TT*10/TY
5540 CALL CLEAR
5550 PRINT: :"TOURNAMENT WINNER IS ";N$(E)
5560 PRINT "SCORE IS ";TZ:" YEAR IS";YY
5570 V$=STR$(U(E))&" "&SEG$(N$(E),1,6)&" 72"&STR$(TY-7)&STR$(TT)&STR$(T(E))
5590 PRINT:"TOURNAMENT VERIFICATION CODE"
5600 PRINT V$
5610 PRINT "(MUST BE REPORTED TO CERTIFY TOURNAMENT)"
5615 NW=NW+1
5620 RETURN
5630 CALL KEY(0,KV,KS)
5635 IF KS=0 THEN 5630
5640 K$=CHR$(KV)
5645 IF(KV<48)+(KV>57)THEN 5630
5650 KV=VAL(K$)
5667 PRINT KV
5668 FOR WAIT=1 TO 50
5669 NEXT WAIT
5670 RETURN
18690 END

Link to comment
Share on other sites

 

It'll work fine in Extended BASIC in Classic99, and will run faster and not give you MEMORY FULL errors. There are no graphics whatsoever - it's all text.

 

 

good, i would want to try but i can't do it, when i paste all copied in Classic99 it stops on first line and init to beep... :-( ... someone can help me in copy and paste with classic99 ? maybe i wrong something ?

 

thanks ;-)

Link to comment
Share on other sites

Hi! In the newer versions of the classic99 emulator a "CLIP" device got introduced.

The idea is that you can use it to copy something to and from the clipboard.

 

Suppose you already have a basic program loaded from a disk file, you can then copy it to the windows clipboard

by doing LIST "CLIP"

It allows you then to then easily copy it in for example windows notepad.

 

 

Now you can also do the reverse and import from the clipboard. I am certain that I did that a while ago, but somehow I keep getting I/O errors now, I also don't recall if I have to use MERGE CLIP or OLD CLIP.

 

I think Owen could know or we have to ask Tursi. Think it is about time to do a "tips & tricks" article on classic99.

 

EDIT: I have asked in the YAHOO online group about this. Waiting for feedback.

Edited by retroclouds
Link to comment
Share on other sites

Most versions I'm aware of had graphics. The Apple II version used Lo-Res, the TRS-80 Model I had it's primitive graphics, the Panasonic JR-200 used it's character graphics, etc...

All I saw on the Atari version was text.

I think the only version with fancy graphics was for the C64.

<edit>

I'm guessing they ran out of memory on the TI.

Edited by JamesD
Link to comment
Share on other sites

Most versions I'm aware of had graphics. The Apple II version used Lo-Res, the TRS-80 Model I had it's primitive graphics, the Panasonic JR-200 used it's character graphics, etc...

All I saw on the Atari version was text.

I think the only version with fancy graphics was for the C64.

<edit>

I'm guessing they ran out of memory on the TI.

 

Yeah, this one eats up all 16K and actually wouldn't run after loading if a disk drive was attached, because the drive eats up a few precious bytes. This would be another prime candidate for a modern-day update, if everyone's plates weren't full of other projects.

 

The TI versions of a lot of third-party houses seemed to have been afterthoughts, or first-time 'hey, let's try this out' projects. I reviewed the Avalon Hill game "Galaxy" on my website, and noted that the TI version was very limited and primitive compared to the versions described for other machines in the docs. The worst offender I've ever seen of this was Cosmi's "Aztec Challenge" -- a simple, but graphically interesting jump-and-duck game on the C64, with a really cool soundtrack. The TI version looks like a bad type-in program sent in to a magazine by a 5th grader.

Link to comment
Share on other sites

Just copy it and "Paste" into Classic99. Pasting does what MERGE or OLD used to do. Dropdown menu, "EDIT-->PASTE". Whatever is on the clip is now in your program. :). Booyakasha

 

 

Thanks to Retroclouds and opry99er for answer but i do not understand where i wrong... when i paste it does not wrap and it block to the first line... :-( ..Yet it should be simple :-( ...

 

help to understand please...

post-24673-126737324049_thumb.jpg

Link to comment
Share on other sites

Just copy it and "Paste" into Classic99. Pasting does what MERGE or OLD used to do. Dropdown menu, "EDIT-->PASTE". Whatever is on the clip is now in your program. :). Booyakasha

 

 

Thanks to Retroclouds and opry99er for answer but i do not understand where i wrong... when i paste it does not wrap and it block to the first line... :-( ..Yet it should be simple :-( ...

 

help to understand please...

 

 

Try this: paste it into Wordpad or Notepad first. Then copy it from there, and PASTE into Classic99. That has worked for me before. It seems to add a line break to each line.

Link to comment
Share on other sites

Yea... That's an easy fix--- paste the listing into notepad, go through and put each line on it's own line by hitting return repeatedly on each line. Re-copy, then paste into Classic99 and do the happy success dance

 

 

I didn't even have to do that, in WordPad. Just pasting it in, and then copying it back out, worked for me.

Link to comment
Share on other sites

 

Try this: paste it into Wordpad or Notepad first. Then copy it from there, and PASTE into Classic99. That has worked for me before. It seems to add a line break to each line.

 

 

wow !!! WordPad work fine... in notepad i have the same problem paste the code all in one line... finally i can check all lines on this forum and not only :-) just a bit slow (now at line 4000 :-D)... thanks all... I'm going to enjoy myself :-)

 

ciro.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...