DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦29dc80d3c⟧ COMAL_SAVE

    Length: 7874 (0x1ec2)
    Types: COMAL_SAVE
    Notes: LIB::SPACEWAR, SPACEWAR
    Names: »SPACEWAR«

Derivation

└─⟦43f2224a3⟧ Bits:30007878 (Demostrations diskette af 1981 Frederikshavn Gymnasium Område : LIB Nøgle : 1)
    └─⟦this⟧ 

UPAS Segment

SAVE filename: "SPACEWAR"

 0010 REM  PROGRAM NAVN :  SPACE-WAR«nul»N
 0020 REM  PROGRAM NR.  :  260181-2«nul»
 0030 REM  ------------------------------------------------------------------------- STRING VARIABLER«nul»
 0040 DIM PLANE$ ( 4 , 4 ) , HIT$ ( 4 , 4 ) , NOYES$ ( 5 ) , PLOT$ ( 80 ) , XY$ ( 80 )
 0050 REM  ------------------------------------------------------------------------- NUMERISKE VARIABLER«nul»«nul»
 0060 DIM SURFACE ( 5 , 80 ) , POSITION ( 80 ) , AIRCRAFT ( 2 , 6 )
 0070 REM  ------------------------------------------------------------------------- TILDELING AF STRING VARIABLER«nul»«nul»
 0080 LET PLANE$ ( 1 ) = " OO " PLANE$ ( 2 ) = "^**^" PLANE$ ( 3 ) = "****" PLANE$ ( 4 ) = "A  A"
 0090 LET HIT$ ( 1 ) = "    " HIT$ ( 2 ) = "    " HIT$ ( 3 ) = "    " HIT$ ( 4 ) = "    "
 0100 REM  -------------------------------------------------------------------------«nul»T
 0110 LET XY$ = "`abcdefghij"
 0120 LET XY$ = XY$ , "klmnopqrst"
 0130 LET XY$ = XY$ , "uvwxyzæøå~"
 0140 LET XY$ = XY$ , "<127>"
 0150 LET XY$ = XY$ , "@ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ^_"
 0160 LET XY$ = XY$ , " !<34>#$%&'()*+,-./"
 0170 REM  ------------------------------------------------------------------------- DATA FOR READ«nul»T
 0180 DATA "<134>`q****************************************"
 0190 DATA "<134>Hr****************************************"
 0200 DATA "<134>Åp*******************" , "<134>%n***********"
 0210 DATA "<134>`n*****" , "<134>ro**********************"
 0220 DATA "<134>`r****************************************"
 0230 DATA "<134>Hq****************************************"
 0240 DATA "<134>sn********************" , "<134>`o*****"
 0250 DATA "<134>`p**************************************************"
 0260 DATA "<134>$o************"
 0270 DATA 6 19 41 69 6 18 42 68 51 61 0 0
 0280 DATA 11 25 7 38 5 68 4 15 8 46 0 0
 0290 DATA 2 20 7 50 8 75 6 22 5 5 0 0
 0300 REM  ------------------------------------------------------------------------- HOVED PROGRAM«nul»«nul»
 0310 PROC CUPE
 0320   PAGE = 0
 0330   RESTORE 0000
 0340   PRINT "<140>"
 0350   LET COUNTER = 1 LINE = 1
 0360   WHILE COUNTER MOD 13 DO
 0370     READ PLOT$
 0380     PRINT PLOT$ ;
 0390     LET COUNTER = COUNTER + 1
 0400   ENDWHILE
 0410   READ FROM , TOO
 0420   MAT SURFACE = CON
 0430   WHILE FROM AND TOO DO
 0440     WHILE FROM MOD TOO DO
 0450       LET SURFACE ( LINE , FROM ) = 0 FROM = FROM + 1
 0460     ENDWHILE
 0470     READ FROM , TOO
 0480     IF FROM = 6 OR FROM = 51 THEN
 0490       LET LINE = LINE + 1
 0500     ENDIF 
 0510   ENDWHILE
 0520   LET NUMBER = 1
 0530   READ POINTY , POINTX
 0540   WHILE POINTY AND POINTX DO
 0550     LET COUNTER = 1 POSITION ( POINTX ) = 1
 0560     LET AIRCRAFT ( 1 , NUMBER ) = POINTX AIRCRAFT ( 2 , NUMBER ) = POINTY
 0570     REPEAT 
 0580       PRINT "<134>" ; XY$ ( POINTX ) ; XY$ ( POINTY ) ; PLANE$ ( COUNTER ) ;
 0590       LET POINTY = POINTY + 1 COUNTER = COUNTER + 1
 0600     UNTIL COUNTER = 5
 0610     LET NUMBER = NUMBER + 1
 0620     READ POINTY , POINTX
 0630   ENDWHILE
 0640   READ POINTY , POINTX
 0650   WHILE POINTY AND POINTX DO
 0660     PRINT "<134>" ; XY$ ( POINTX ) ; XY$ ( POINTY ) ; "."
 0670     READ POINTY , POINTX
 0680   ENDWHILE
 0690 ENDPROC UPE«nul»
 0700 REM  -------------------------------------------------------------------------«nul»H
 0710 PROC START
 0720   PRINT "<140><134>y`--------- SPACE-WAR ---------"
 0730   PRINT "<134>sdDETTE ER PROGRAMMET SPACE-WAR."
 0740   REPEAT 
 0750     INPUT "<134>sfØNSKES FORKLARING  (JA/NEJ) : " , NOYES$
 0760   UNTIL NOYES$ = "JA" OR NOYES$ = "NEJ"
 0770   IF LEN ( NOYES$ ) MOD 3 THEN
 0780     PRINT "<134>siDU ER DEN ENESTE OVERLEVENDE PÅ JORDEN EFTER"
 0790     PRINT "<134>sjUFO-MÆNDENES ANGREB. DU TROR ALT ER OVERSTÅET,"
 0800     PRINT "<134>skMEN PLUDSELIG ANGRIBER MARS-TYRANNERNE."
 0810     PRINT "<134>smDIN UNDERJORDISKE LASERKANON AFFYRES VED TRYK PÅ 'ESC'."
 0820     PRINT "<134>snDEN BEVÆGER SIG AUTOMATISK UD- OG DU TRYKKER BARE,"
 0830     PRINT "<134>soMEN FØRST MÅ DU LAVE HUL I JORDOVERFLADEN."
 0840     REPEAT 
 0850       INPUT "<134>xqTAST 'RETURN' NÅR DU ER KLAR. " , NOYES$
 0860     UNTIL NOT LEN ( NOYES$ )
 0870   ENDIF 
 0880   LET SPEED = 50
 0890   REPEAT 
 0900     EXEC CUPE
 0910     EXEC GUNPOS
 0920     EXEC SPEEDSEL
 0930   UNTIL NOYES$ = "NEJ"
 0940 ENDPROC TART«nul»S
 0950 REM  -------------------------------------------------------------------------«nul»H
 0960 PROC GUNPOS
 0970   LET SHOT = 1 CONTRE = 1 SHIP = 1 RETURNED = 0 TEST = 2 BREAK = 0
 0980   WHILE SHOT MOD 80 DO
 0990     LET CONT = 1
 1000     WHILE CONT DO
 1010       LET COUNTER = 1
 1020       WHILE COUNTER MOD 81 AND CONT AND NOT RETURNED AND BREAK < 5 DO
 1030         ON ESC THEN EXEC FIRE
 1040         PRINT "<134>" ; XY$ ( COUNTER ) ; "u^" ;
 1050         FOR I = 1 TO SPEED
 1060         NEXT 
 1070         LET COUNTER = COUNTER + 1
 1080       ENDWHILE
 1090       PRINT "<134>`u<30>"
 1100       LET SHOT = SHOT + 1 RETURNED = 0
 1110       IF SHOT MOD TEST THEN
 1120         LET SEARCH = 0
 1130         REPEAT 
 1140           LET SEARCH = SEARCH + 1
 1150         UNTIL SURFACE ( SEARCH , AIRCRAFT ( 1 , SHIP ) + 1 ) = 1 OR SEARCH = 5
 1160         IF SEARCH <= 5 AND SURFACE ( SEARCH , AIRCRAFT ( 1 , SHIP ) + 1 ) = 1 THEN
 1170           LET SURFACE ( CONTRE , AIRCRAFT ( 1 , SHIP ) + 1 ) = 0
 1180           PRINT "<134>" ; XY$ ( AIRCRAFT ( 1 , SHIP ) + 1 ) ; XY$ ( CONTRE + 14 ) ; " " ;
 1190           LET CONTRE = CONTRE + 1
 1200         ELSE 
 1210           PRINT "<134>`t<31>" ; "<134>åu<7>- DU ER OVERVUNDET -"
 1220           PRINT "<134>åv- AF MARS TYRANNERNE -<7>" ;
 1230           LET CONT = 0 SHOOTED = SHOT SHOT = 80 EXPOINT = 10000
 1240         ENDIF 
 1250       ENDIF 
 1260     ENDWHILE
 1270   ENDWHILE
 1280 ENDPROC UNPOS«nul»
 1290 REM  -------------------------------------------------------------------------«nul»H
 1300 PROC FIRE
 1310   IF COUNTER >= AIRCRAFT ( 1 , SHIP ) AND COUNTER <= AIRCRAFT ( 1 , SHIP ) + 3 THEN
 1320     LET CLEAR = 0
 1330     REPEAT 
 1340       LET CLEAR = CLEAR + 1
 1350     UNTIL SURFACE ( CLEAR , COUNTER ) = 1 OR CLEAR = 5
 1360     IF CLEAR = 5 AND SURFACE ( CLEAR , COUNTER ) = 0 THEN
 1370       LET NUMBER = 1
 1380       PRINT "<7>"
 1390       REPEAT 
 1400         PRINT "<134>" ; XY$ ( AIRCRAFT ( 1 , SHIP ) ) ; XY$ ( AIRCRAFT ( 2 , SHIP ) ) ; HIT$ ( NUMBER ) ;
 1410         LET NUMBER = NUMBER + 1 AIRCRAFT ( 2 , SHIP ) = AIRCRAFT ( 2 , SHIP ) + 1
 1420       UNTIL NUMBER = 5
 1430       LET BREAK = BREAK + 1
 1440       LET POSITION ( AIRCRAFT ( 1 , SHIP ) ) = 0 AIRCRAFT ( 1 , SHIP ) = 1 AIRCRAFT ( 2 , SHIP ) = 11
 1450       LET POSITION ( AIRCRAFT ( 1 , SHIP + 1 ) ) = 0
 1460       IF AIRCRAFT ( 1 , SHIP + 1 ) = 0 THEN
 1470         LET SHIP = SHIP + 2
 1480       ELSE 
 1490         LET SHIP = SHIP + 1
 1500       ENDIF 
 1510       PRINT "<29>" ; BREAK
 1520       IF SHIP <= 6 THEN
 1530         RANDOMIZE 
 1540         CASE INT ( RND ( 7 ) * 10 ) OF
 1550           LET AIRCRAFT ( 1 , SHIP - 1 ) = 10 AIRCRAFT ( 2 , SHIP - 1 ) = 13
 1560         WHEN 3 , 4 , 5
 1570           LET AIRCRAFT ( 1 , SHIP - 1 ) = 30 AIRCRAFT ( 2 , SHIP - 1 ) = 11
 1580         WHEN 6 , 7 , 8
 1590           LET AIRCRAFT ( 1 , SHIP - 1 ) = 72 AIRCRAFT ( 2 , SHIP - 1 ) = 11
 1600         WHEN 9
 1610           LET AIRCRAFT ( 1 , SHIP - 1 ) = 55 AIRCRAFT ( 2 , SHIP - 1 ) = 14
 1620         ENDCASE «nul» 
 1630         LET NUMBER = 1
 1640         PRINT "<7>"
 1650         REPEAT 
 1660           PRINT "<134>" ; XY$ ( AIRCRAFT ( 1 , SHIP ) ) ; XY$ ( AIRCRAFT ( 2 , SHIP ) ) ; HIT$ ( NUMBER ) ;
 1670           LET NUMBER = NUMBER + 1 AIRCRAFT ( 2 , SHIP ) = AIRCRAFT ( 2 , SHIP ) + 1
 1680         UNTIL NUMBER = 5
 1690         LET AIRCRAFT ( 1 , SHIP ) = AIRCRAFT ( 1 , SHIP - 1 ) AIRCRAFT ( 2 , SHIP ) = AIRCRAFT ( 2 , SHIP - 1 )
 1700         LET POSITION ( AIRCRAFT ( 1 , SHIP ) ) = 1
 1710         LET NUMBER = 1 CONTRE = AIRCRAFT ( 2 , SHIP ) - 10
 1720         PRINT "<7>"
 1730         REPEAT 
 1740           PRINT "<134>" ; XY$ ( AIRCRAFT ( 1 , SHIP - 1 ) ) ; XY$ ( AIRCRAFT ( 2 , SHIP - 1 ) ) ; PLANE$ ( NUMBER ) ;
 1750           LET NUMBER = NUMBER + 1 AIRCRAFT ( 2 , SHIP - 1 ) = AIRCRAFT ( 2 , SHIP - 1 ) + 1
 1760         UNTIL NUMBER = 5
 1770       ELSE 
 1780         LET CONT = 0 SHOT = 80
 1790       ENDIF 
 1800     ELSE 
 1810       LET NUMBER = 6
 1820       REPEAT 
 1830         LET NUMBER = NUMBER - 1
 1840       UNTIL SURFACE ( NUMBER , COUNTER ) = 1 OR NUMBER = 1
 1850       LET SURFACE ( NUMBER , COUNTER ) = 0
 1860       PRINT "<134>" ; XY$ ( COUNTER ) ; XY$ ( 14 + NUMBER ) ; " " ;
 1870     ENDIF 
 1880   ELSE 
 1890     LET CLEAR = 6
 1900     REPEAT 
 1910       LET CLEAR = CLEAR - 1
 1920     UNTIL SURFACE ( CLEAR , COUNTER ) = 1 OR CLEAR = 1
 1930     IF CLEAR = 1 AND SURFACE ( CLEAR , COUNTER ) = 0 THEN
 1940       LET NUMBER = - 1
 1950       REPEAT 
 1960         LET NUMBER = NUMBER + 1
 1970       UNTIL POSITION ( COUNTER + NUMBER - 3 ) = 1 OR NUMBER = 4
 1980       IF NUMBER <= 3 OR POSITION ( COUNTER + NUMBER ) = 1 THEN
 1990         LET DESTROY = 0
 2000         REPEAT 
 2010           LET DESTROY = DESTROY + 1
 2020         UNTIL AIRCRAFT ( 1 , DESTROY ) = COUNTER + NUMBER - 3
 2030         LET SEARCH = 1
 2040         PRINT "<7>"
 2050         REPEAT 
 2060           PRINT "<134>" ; XY$ ( AIRCRAFT ( 1 , DESTROY ) ) ; XY$ ( AIRCRAFT ( 2 , DESTROY ) ) ; HIT$ ( SEARCH ) ;
 2070           LET SEARCH = SEARCH + 1 AIRCRAFT ( 2 , DESTROY ) = AIRCRAFT ( 2 , DESTROY ) + 1
 2080         UNTIL SEARCH = 5
 2090         LET AIRCRAFT ( 1 , DESTROY ) = 1 AIRCRAFT ( 2 , DESTROY ) = 11 POSITION ( COUNTER + NUMBER ) = 0
 2100         LET BREAK = BREAK + 1
 2110       ENDIF 
 2120     ELSE 
 2130       PRINT "<134>" ; XY$ ( COUNTER ) ; XY$ ( 14 + CLEAR ) ; " " ;
 2140       LET SURFACE ( CLEAR , COUNTER ) = 0
 2150     ENDIF 
 2160   ENDIF 
 2170   LET RETURNED = 1
 2180   IF BREAK = 5 THEN LET EXPOINT = 1e+06 CONT = 0
 2190 ENDPROC IRE«nul»
 2200 REM  -------------------------------------------------------------------------«nul»H
 2210 PROC CHECK
 2220   IF SYS ( 4 ) = 33 THEN
 2230     PRINT "SPACE-WAR BØR KUN BENYTTES PÅ SKÆRMTERMINALEN !!!"
 2240   ELSE 
 2250     EXEC START
 2260   ENDIF 
 2270 ENDPROC HECK«nul»-
 2280 REM  -------------------------------------------------------------------------«nul»H
 2290 PROC SPEEDSEL
 2300   LET LINE = 1
 2310   WHILE LINE MOD 15 DO
 2320     PRINT "<134>`" ; XY$ ( LINE ) ; "<30>" ;
 2330     LET LINE = LINE + 1
 2340   ENDWHILE
 2350   PRINT "<134>sdTYRAN-BESKED :"
 2360   PRINT "<134>re-----------------------------------"
 2370   PRINT "<134>sgANTAL AFFYREDE SKUD          :" ; SHOOTED
 2380   PRINT "<134>shANTAL NEDSKUDTE RUMSKIBE     :" ; BREAK
 2390   PRINT "<134>siPOINT SCORE                  :" ; EXPOINT DIV SHOOTED
 2400   IF SHOOTED <= 20 AND BREAK = 5 THEN
 2410     LET SPEED = 10 TEST = 1 PLOT$ = "MEGET SVÆRT"
 2420   ELSE 
 2430     IF SHOOTED <= 30 AND BREAK > 3 THEN
 2440       LET SPEED = 20 TEST = 2 PLOT$ = "SVÆRRE END FØR"
 2450     ELSE 
 2460       IF SHOOTED <= 40 OR EXPOINT = 10000 THEN
 2470         LET SPEED = 30 TEST = 2 PLOT$ = "AF SAMME SVÆRHEDSGRAD SOM FØR"
 2480       ELSE 
 2490         LET SPEED = 70 TEST = 3 PLOT$ = "LETTERE END FØR"
 2500       ENDIF 
 2510     ENDIF 
 2520   ENDIF 
 2530   PRINT "<134>sjNÆSTE SPIL BLIVER " ; PLOT$
 2540   REPEAT 
 2550     INPUT "<134>vlHAR DU MOD PÅ ET NYT SPIL (JA/NEJ) : " , NOYES$
 2560   UNTIL NOYES$ = "JA" OR NOYES$ = "NEJ"
 2570 ENDPROC PEEDSEL«nul»
 2580 REM  -------------------------------------------------------------------------«nul»H
 2590 EXEC CHECK
 2600 CHAIN "LOOKUP"

UDAS Segment

    FNA definition = 0xffff
    FNB definition = 0xffff
    FNC definition = 0xffff
    FND definition = 0xffff
    FNE definition = 0xffff
    FNF definition = 0xffff
    FNG definition = 0xffff
    FNH definition = 0xffff
    FNI definition = 0xffff
    FNJ definition = 0xffff
    FNK definition = 0xffff
    FNL definition = 0xffff
    FNM definition = 0xffff
    FNN definition = 0xffff
    FNO definition = 0xffff
    FNP definition = 0xffff
    FNQ definition = 0xffff
    FNR definition = 0xffff
    FNS definition = 0xffff
    FNT definition = 0xffff
    FNU definition = 0xffff
    FNV definition = 0xffff
    FNW definition = 0xffff
    FNX definition = 0xffff
    FNY definition = 0xffff
    FNZ definition = 0xffff
    FN[ definition = 0xffff
    FN\ definition = 0xffff
    FN] definition = 0xffff
    GOSUB-RETURN stack pointer = 0x0000
      stack[0] = 0x0d17
      stack[1] = 0x0b64
      stack[2] = 0x05cd
      stack[3] = 0x065a
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x00d4
      Loop Top = 0x065a
      To Val = 30   (0x421e0000)
      Step Val = 1   (0x41100000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
    REPEAT-UNTIL stack pointer = 0x0000
      stack[0] = 0x04cd
      stack[1] = 0x0cb8
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    WHILE-ENDWHILE stack pointer = 0x0000
      stack[0] = 0x0b9c
      stack[1] = 0x062a
      stack[2] = 0x0635
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    IF-ELSE stack pointer = 0x0000
      stack[0] = 0x0001
      stack[1] = 0x0001
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
Variables:
    0x80 0xffff 0x00 
    0x81 0xffff 0x02 CPR$
    0x82 0xffff 0x02 ENAVN$
    0x83 0xffff 0x02 NAVN$
    0x84 0xffff 0x02 FNAVN$
    0x85 0xffff 0x02 MNAVN$
    0x86 0xffff 0x02 EADR$
    0x87 0xffff 0x02 POGBY$
    0x88 0xffff 0x02 ETLF$
    0x89 0xffff 0x02 FENAVN$
    0x8a 0xffff 0x02 FFNAVN$
    0x8b 0xffff 0x02 STILLING$
    0x8c 0xffff 0x02 FADR$
    0x8d 0xffff 0x02 FPOGBY$
    0x8e 0xffff 0x02 FTLF$
    0x8f 0xffff 0x02 SPROGET$
    0x90 0xffff 0x02 SPROGFR$
    0x91 0xffff 0x02 FUNKVALG$
    0x92 0xffff 0x02 CHECKL$
    0x93 0xffff 0x02 KLTRIN$
    0x94 0xffff 0x02 KLKODE$
    0x95 0xffff 0x02 NYKL$
    0x96 0xffff 0x02 FLNAVNE$
    0x97 0xffff 0x00 MATRIKS
    0x98 0xffff 0x02 KLASSE$
    0x99 0xffff 0x02 OMR]DE$
    0x9a 0xffff 0x02 GREN$
    0x9b 0xffff 0x02 FORMUS$
    0x9c 0xffff 0x02 VALGFAG$
    0x9d 0xffff 0x02 XY$
    0x9e 0xffff 0x00 ENRRNR
    0x9f 0xffff 0x02 K\N$
    0xa0 0xffff 0x02 TEKST$
    0xa1 0xffff 0x02 PROCEDUR$
    0xa2 0xffff 0x02 LINIE$
    0xa3 0xffff 0x00 XYTEKST
    0xa4 0xffff 0x02 VALG$
    0xa5 0xffff 0x02 CCPR$
    0xa6 0xffff 0x02 CENAVN$
    0xa7 0xffff 0x02 CFNAVN$
    0xa8 0xffff 0x02 CMNAVN$
    0xa9 0xffff 0x02 ELRET$
    0xaa 0xffff 0x02 SPRING$
    0xab 0xffff 0x00 RNRKONTL
    0xac 0xffff 0x00 FLYT
    0xad 0xffff 0x00 BREV
    0xae 0xffff 0x00 TAL
    0xaf 0xffff 0x00 FORS\MME
    0xb0 0xffff 0x00 BESKYT
    0xb1 0xffff 0x00 ]R
    0xb2 0xffff 0x00 M]NED
    0xb3 0xffff 0x00 DATO
    0xb4 0xffff 0x00 INDSKRIV
    0xb5 0xffff 0x02 PLANE$
    0xb6 0xffff 0x02 HIT$
    0xb7 0xffff 0x02 NOYES$
    0xb8 0xffff 0x02 PLOT$
    0xb9 0xffff 0x00 SURFACE
    0xba 0xffff 0x00 POSITION
    0xbb 0xffff 0x00 AIRCRAFT
    0xbc 0xffff 0x00 CUPE
    0xbd 0xffff 0x00 COUNTER
    0xbe 0xffff 0x00 LINE
    0xbf 0xffff 0x00 FROM
    0xc0 0xffff 0x00 TOO
    0xc1 0xffff 0x00 NUMBER
    0xc2 0xffff 0x00 POINTY
    0xc3 0xffff 0x00 POINTX
    0xc4 0xffff 0x00 START
    0xc5 0xffff 0x00 GUNPOS
    0xc6 0xffff 0x00 SHOT
    0xc7 0xffff 0x00 CONT
    0xc8 0xffff 0x00 FIRE
    0xc9 0xffff 0x00 CONTRE
    0xca 0xffff 0x00 SHIP
    0xcb 0xffff 0x00 SEARCH
    0xcc 0xffff 0x00 SERCH
    0xcd 0xffff 0x00 CLEAR
    0xce 0xffff 0x00 DESTROY
    0xcf 0xffff 0x00 NUMNER
    0xd0 0xffff 0x00 RETURNED
    0xd1 0xffff 0x00 CONTER
    0xd2 0xffff 0x00 SPEED
    0xd3 0xffff 0x00 SPEEDSEL
    0xd4 0xffff 0x00 I
    0xd5 0xffff 0x00 LISTL
    0xd6 0xffff 0x00 TEST
    0xd7 0xffff 0x00 CHECK
    0xd8 0xffff 0x00 POSITIO
    0xd9 0xffff 0x00 SHOOTED
    0xda 0xffff 0x00 EXPOINT
    0xdb 0xffff 0x00 LIST480
    0xdc 0xffff 0x00 DETROY
    0xdd 0xffff 0x00 BREAK

Wrapper

.magic = 0x5356
.u_pas = 0x0d14  // Length of UPAS in words
.u_das = 0x023e  // Length of UDAS in words
.u_dvs = 0x023e  // Start på savede variabel indhold (word adr)
.u_nds = 0x0042  // Address på næste prog.sætning (word adr)
.u_cps = 0x0042  // Address på curr prog.sætning (word adr)
.u_tll = 0x0000  // Page størrelse
.u_tts = 0x0001  // TAP størrelse
.u_ran = 0x0000  // Random tal
.u_cdl = 0x0042  // Current DATA sætning ptr
.u_cdb = 0x0000  // Current DATA byte ptr
.u_esa = 0xffff  // ON ESE (word adr)
.u_era = 0xffff  // ON ERR (word adr)
.u_cas = 0x0000  // CASE dybde
.u_las = 0xffff  // last (-1)