epbas.lgb.hu :: Enterprise-128 EXOS file analyzer, lister and disassembler

File name: /tmp/phpRjvVVE (6903 bytes) Options: bin=None cset='UK' html='' info='' out='/tmp/phpRjvVVE.out' EP-ASCII: UK EXOS header pos/serial: #0 at 0x0 EXOS type/header: 0x4 [00 04 D7 1A 02 00 00 00 00 00 00 00 00 00 00 00] EXOS type determined: IS-BASIC program (single)
Program: 0x2, size: 0x1ad7 bytes.
100 PROGRAM "3D_4row.bas" 110 ! programmeret af Erik Christensen 120 RANDOMIZE 130 SET STATUSOFF 140 DIM YY(4),ZZ(4),KOX(4,16),KOY(4,16),XR(4,16),YR(4,16),ZR(4,16) 150 DIM X6(4),Y6(4),CC(4,16),VV(4,16),RX(4,4),RY(4,4) 160 NUMERIC A,B,C,A1,B1,C1,BC,BC1 170 RESTORE 220 180 FOR I=0TO4 190 READ YY(I),ZZ(I) 200 LET YY(I)=YY(I)-4:LET ZZ(I)=ZZ(I)-3.8 210 NEXT 220 DATA 0,0,8,0,8,8,0,8,0,0 230 OPTION ANGLEDEGREES 240 LET RHO=60:LET TH=110:LET PH=90:LET D=4600:LET S1=SIN(TH):LET C3=COS(TH):LET S2=SIN(PH):LET C2=COS(PH) 250 LET EA=C3*C2:LET EB=S1*C2:LET EC=S2*C3:LET ED=S2*S1 260 LET CX=640:LET CY=360:LET SX=0:LET SY=0 270 TEXT 40 280 PRINT :PRINT "Velkommen til tredimensionalt fire p} stribe.":PRINT :PRINT " Programmeret af Erik Christensen":PRINT 290 CALL RAMMER:CALL INITPKT 300 LET G=1:LET M=0 310 FOR A=1TO4 320 FOR B=1TO4 330 FOR C=1TO4 340 LET V=0:LET BC=B*4-4+C 350 IF A=BANDA=CTHENLET V=10 360 IF A=CANDA=5-BTHENLET V=10 370 IF A=5-CANDB=CTHENLET V=10 380 IF A=BANDA=5-CTHENLET V=10 390 LET VV(A,BC)=V:LET CC(A,BC)=1 400 NEXT 410 NEXT 420 NEXT 430 GRAPHICS HIRES2 440 CALL PLRAM:CALL PLPKT 450 CALL TRAEK 460 END 470 DEF LV 480 NUMERIC F,T,Z,FL 490 LET A1=A:LET B1=B:LET C1=C:LET Z=0:LET FL=0 500 FOR F=1TO2 510 FOR T=1TO4 520 SELECT CASEV 530 CASE 1 540 LET A1=T 550 CASE 2 560 LET B1=T 570 CASE 3 580 LET C1=T 590 CASE 4 600 LET A1,B1=T 610 CASE 5 620 LET A1,C1=T 630 CASE 6 640 LET B1,C1=T 650 CASE 7 660 LET A1=T:LET B1=5-T 670 CASE 8 680 LET A1=T:LET C1=5-T 690 CASE 9 700 LET B1=T:LET C1=5-T 710 CASE 10 720 LET A1,B1=T:LET C1=5-T 730 CASE 11 740 LET A1,C1=T:LET B1=5-T 750 CASE 12 760 LET A1=T:LET B1,C1=5-T 770 CASE 13 780 LET A1,B1,C1=T 790 END SELECT 800 LET BC1=B1*4-4+C1 810 IF F=2THEN 820 LET VV(A1,BC1)=VV(A1,BC1)+Z 830 IF FL>0THENLET X6(T)=A1:LET Y6(T)=BC1 840 END IF 850 IF F=1THENLET G=G*CC(A1,BC1) 860 NEXT T 870 IF F=1THEN 880 CALL VALU(FL) 890 ELSE 900 IF FL>0THENCALL VIND 910 END IF 920 NEXT F 930 END DEF 940 DEF LC 950 NUMERIC V 960 FOR V=1TO3 970 CALL LV 980 NEXT 990 IF A=BTHEN 1000 LET V=4:CALL LV 1010 IF A=5-CTHENLET V=10:CALL LV 1020 IF B=CTHENLET V=13:CALL LV 1030 END IF 1040 IF A=CTHEN 1050 LET V=5:CALL LV 1060 IF A=5-BTHENLET V=11:CALL LV 1070 END IF 1080 IF B=CTHEN 1090 LET V=6:CALL LV 1100 IF A=5-CTHENLET V=12:CALL LV 1110 END IF 1120 IF A=5-BTHENLET V=7:CALL LV 1130 IF A=5-CTHENLET V=8:CALL LV 1140 IF B=5-CTHENLET V=9:CALL LV 1150 END DEF 1160 DEF VALU(REFFL) 1170 NUMERIC N 1180 LET BC=B*4-4+C 1190 SELECT CASEG 1200 CASE 2 1210 LET Z=14 1220 CASE 3 1230 LET Z=10 1240 CASE 4 1250 LET Z=100 1260 CASE 6 1270 LET Z=-14 1280 IF CC(A,BC)=2THENLET Z=-10 1290 CASE 8 1300 LET Z=1000 1310 CASE 9 1320 LET Z=98 1330 CASE 12 1340 LET Z=-100 1350 IF CC(A,BC)=2THENLET Z=0 1360 CASE 16 1370 LET FL=1 1380 CASE 18 1390 LET Z=-98 1400 IF CC(A,BC)=3THENLET Z=0 1410 CASE 27 1420 LET Z=900 1430 CASE 81 1440 LET FL=2 1450 CASE ELSE 1460 LET Z=0 1470 END SELECT 1480 LET G=1 1490 END DEF 1500 DEF MAXI 1510 NUMERIC H,J 1520 LET H=0 1530 FOR A=1TO4 1540 FOR B=1TO4 1550 FOR C=1TO4 1560 LET BC=B*4-4+C:LET J=VV(A,BC) 1570 IF CC(A,BC)=1ANDJ>=HTHEN 1580 IF J>HOR(J=HANDRND>.5)THENLET H=J:LET A1=A:LET B1=B:LET C1=C 1590 END IF 1600 NEXT 1610 NEXT 1620 NEXT 1630 LET A=A1:LET B=B1:LET C=C1:LET BC=B*4-4+C 1640 END DEF 1650 DEF RAMMER 1660 LET J=1 1670 FOR X=-6TO6STEP4 1680 FOR I=0TO4 1690 LET Y=YY(I):LET Z=ZZ(I):CALL CALC:LET RX(J,I)=SX:LET RY(J,I)=SY 1700 NEXT 1710 LET J=J+1 1720 NEXT 1730 END DEF 1740 DEF PLRAM 1750 FOR J=1TO4 1760 FOR I=0TO4 1770 PLOT RX(J,I),RY(J,I); 1780 NEXT 1790 SET BEAMOFF 1800 NEXT 1810 END DEF 1820 DEF PLPKT 1830 FOR I=1TO4 1840 FOR J=1TO16 1850 PLOT KOX(I,J),KOY(I,J) 1860 NEXT 1870 NEXT 1880 END DEF 1890 DEF INITPKT 1900 RESTORE 3160 1910 LET Z=-3 1920 FOR A=1TO4 1930 LET X=6 1940 FOR B=1TO4 1950 LET Y=3 1960 FOR C=1TO4 1970 LET BC=B*4-4+C:CALL CALC:LET XPL=INT(SX/2)*2:LET YPL=INT(SY/4)*4 1980 LET KOX(A,BC)=XPL:LET KOY(A,BC)=YPL:LET XR(A,BC)=X:LET YR(A,BC)=Y:LET ZR(A,BC)=Z 1990 LET Y=Y-2 2000 READ U$ 2010 PRINT U$&" "; 2020 NEXT 2030 LET X=X-4 2040 NEXT 2050 LET Z=Z+2 2060 NEXT 2070 END DEF 2080 DEF CALC 2090 LET XE=-X*S1+Y*C3:LET YE=-X*EA-Y*EB+Z*S2:LET ZE=-X*EC-Y*ED-Z*C2+RHO 2100 LET SX=D*XE/ZE+CX:LET SY=D*YE/ZE+CY 2110 END DEF 2120 DEF TAL(T) 2130 NUMERIC K,L,J 2140 LET K=LEN(STR$(T)) 2150 LET L=.2 2160 IF K=2THENLET L=.6 2170 FOR J=1TOK 2180 LET Y=YR(A,BC)+L:LET Z=ZR(A,BC)+1:CALL CALC 2190 PLOT SX,SY, 2200 PRINT #101:STR$(T)(J:J) 2210 LET L=L-.7 2220 NEXT 2230 END DEF 2240 DEF TEGN 2250 LET SX1=KOX(A,BC):LET SY1=KOY(A,BC) 2260 SET LINEMODE3 2270 PLOT SX1,SY1 2280 SET LINEMODE0 2290 LET X=XR(A,BC):LET Y=YR(A,BC):LET Z=ZR(A,BC)+.58 2300 CALL CALC 2310 LET SY2=SY:LET Y=Y+.58:LET Z=Z-.58 2320 CALL CALC 2330 PLOT ELLIPSEABS(SX1-SX),ABS(SY1-SY2), 2340 IF MOD(M,2)=1THENPLOT PAINT 2350 CALL TAL(M) 2360 END DEF 2370 DEF TRAEK 2380 NUMERIC X,Y,XI,YI,JY 2390 STRING I$ 2400 LET I$="" 2410 DO 2420 CLEAR TEXT 2430 PRINT "Din tur til at tr{kke !" 2440 SET LINEMODE3 2450 LET YI=2:LET XI=9 2460 LET X=KOX(YI,XI):LET Y=KOY(YI,XI) 2470 DO 2480 DO 2490 PLOT X-4,Y+16, 2500 PRINT #101:"*" 2510 LET I$=INKEY$ 2520 PLOT X-4,Y+16, 2530 PRINT #101:"*" 2540 IF I$=""THENLET I$=INKEY$ 2550 LOOP UNTILI$<>"" 2560 SELECT CASEORD(UCASE$(I$)) 2570 CASE 176 2580 LET YI=MOD(YI,4)+1 2590 CASE 180 2600 LET YI=MOD(YI-2,4)+1 2610 CASE 184 2620 LET XI=MOD(XI-2,16)+1 2630 CASE 188 2640 LET XI=MOD(XI,16)+1 2650 CASE ELSE 2660 LET FILL=0 2670 END SELECT 2680 LET X=KOX(YI,XI):LET Y=KOY(YI,XI) 2690 LOOP UNTILI$=CHR$(13) 2700 IF I$=CHR$(13)THEN 2710 SET LINEMODE0 2720 LET BC=XI:LET A=YI 2730 IF CC(A,BC)<>1THENPRINT "plads besat":GOTO 2830 2740 LET M=M+1:LET B=INT((XI-1)/4)+1:LET C=MOD((XI-1),4)+1:LET A=YI:LET CC(A,BC)=3 2750 CALL TEGN 2760 CLEAR TEXT 2770 PRINT "ENTERPRISE t{nker" 2780 CALL LC:CALL MAXI:LET CC(A,BC)=2:LET M=M+1 2790 PING 2800 CALL TEGN 2810 PRINT "ENTERPRISE har nu trukket" 2820 CALL LC 2830 PING 2840 END IF 2850 LOOP 2860 END DEF 2870 DEF VIND 2880 IF FL=2THENCALL VIND2 2890 IF FL=1THENCALL VIND1 2900 SET LINEMODE3 2910 DO UNTILI$=" " 2920 FOR J=1TO2 2930 FOR I=1TO4 2940 PLOT KOX(X6(I),Y6(I))-6,KOY(X6(I),Y6(I))+12, 2950 PRINT #101:"+" 2960 IF I$<>" "THENLET I$=INKEY$ 2970 NEXT 2980 NEXT 2990 IF I$<>" "THENLET I$=INKEY$ 3000 LOOP 3010 SET LINEMODE0 3020 CLEAR SCREEN 3030 PRINT :PRINT "Jeg lader lige op til n{ste spil. Det tager et |jeblik." 3040 GOTO 300 3050 END DEF 3060 DEF VIND2 3070 PRINT "BRAVO. Du vandt over ENTERPRISE." 3080 PRINT "Det var godt klaret." 3090 PRINT "tryk <space>" 3100 END DEF 3110 DEF VIND1 3120 PRINT "ENTERPRISE vandt over dig." 3130 PRINT "Tab ikke modet. Pr|v igen." 3140 PRINT "tryk <space>" 3150 END DEF 3160 DATA Dette,spil,g}r,ud,p},at,placere,fire,cirkler,p},en,ret,linie,d.v.s.,enten,vandret,lodret,eller,p},skr}.,Cirklerne,skal,placeres,i,en,terning,der,m}ler,fire,p},hver,led. 3170 DATA Du,placerer,curseren,p},det,sted,hvor,cirklen,skal,placeres,og,derefter,trykker,du,p},ENTER.,Du,og,computeren,skiftes,til,at,tr{kke.,Du,skal,spille,godt,for,at,sl},computeren.,God forn|jelse.
EXOS header pos/serial: #1 at 0x1ae7 EXOS type/header: 0xa [00 0A 00 00 02 00 00 00 00 00 00 00 00 00 00 00] EXOS type determined: End of module
End of FILE parsing, because: End-of-module header got (type=10)



Enterprise-128 EXOS file analyzer, lister and disassembler v0.5.8 ©2012,2013 "LGB" Gábor Lénárt (lgb at-sign lgb dot hu)