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

⟦920951a7a⟧ COMAL_SAVE

    Length: 1710 (0x6ae)
    Types: COMAL_SAVE
    Notes: LIB::LUFTVÆRN, LUFTVÆRN
    Names: »LUFTVÆRN«

Derivation

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

UPAS Segment

SAVE filename: "LUFTVÆRN"

 0010 PRINT "<140>             LUFTVÆRN"
 0020 PRINT
 0030 PRINT "     DU SKYDER VED AT TRYKKE PÅ ESC EEN GANG."
 0040 PRINT "                                    ---"
 0050 DELAY = 2
 0060 DIM XY$ ( 80 )
 0070 LET XY$ = "`abcdefghij"
 0080 LET XY$ = XY$ , "klmnopqrst"
 0090 LET XY$ = XY$ , "uvwxyzæøå~"
 0100 LET XY$ = XY$ , "<127>"
 0110 LET XY$ = XY$ , "@ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ^_"
 0120 LET XY$ = XY$ , " !<34>#$%&'()*+,-./"
 0130 LET FORS\G = 0 PLET = 0
 0140 REPEAT 
 0150   RANDOMIZE 
 0160   LET H\JDE = INT ( 18 * RND ( 0 ) ) + 2
 0170   PRINT "<140>"
 0180   PRINT "<134>" ; XY$ ( 40 ) ; XY$ ( 21 ) ;
 0190   PRINT " I"
 0200   PRINT "<134>" ; XY$ ( 40 ) ; XY$ ( 22 ) ;
 0210   PRINT "(#)"
 0220   LET RETNING = - 1 POSITION = 80
 0230   IF RND ( 0 ) > 0.5 THEN LET RETNING = 1 POSITION = 1
 0240   LET RAMT = 0 FORBI = 0 SKUD = 0 GRANAT = 20
 0250   ON ESC THEN EXEC SKUD
 0260   LET SKUD = 0
 0270   REPEAT 
 0280     LET POSITION = POSITION + RETNING
 0290     PRINT "<134>" ; XY$ ( POSITION ) ; XY$ ( H\JDE ) ;
 0300     IF RETNING = 1 THEN
 0310       PRINT " :->"
 0320     ELSE 
 0330       PRINT " <60>-:"
 0340     ENDIF 
 0350     IF SKUD THEN
 0360       LET GRANAT = GRANAT - 1
 0370       PRINT "<134>" ; XY$ ( 40 ) ; XY$ ( GRANAT ) ;
 0380       PRINT "^<31>"
 0390     ENDIF 
 0400     IF ABS ( POSITION - 38 ) < 3 AND GRANAT = H\JDE THEN
 0410       PRINT "<134>" ; XY$ ( 37 ) ; XY$ ( H\JDE ) ;
 0420       PRINT "<7><12>** BOOM! **<7>"
 0430       LET RAMT = 1 PLET = PLET + 1
 0440     ENDIF 
 0450     IF GRANAT = 1 OR ( GRANAT - H\JDE ) < - 4 THEN
 0460       PRINT "<140>FORBIER!!!!"
 0470       LET FORBI = 1
 0480     ENDIF 
 0490   UNTIL RAMT OR FORBI
 0500   DELAY = 2
 0510   PROC SKUD
 0520     PRINT "<7>"
 0530     LET SKUD = 1
 0540   ENDPROC KUD«nul»
 0550   LET FORS\G = FORS\G + 1
 0560 UNTIL FORS\G = 10
 0570 PRINT "<140> DU FIK" ; PLET ; "TRÆFFERE UD AF 10 MULIGE."
 0580 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] = 0x0181
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      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)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
    REPEAT-UNTIL stack pointer = 0x0002
      stack[0] = 0x00e6
      stack[1] = 0x015c
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    WHILE-ENDWHILE stack pointer = 0x0000
      stack[0] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    IF-ELSE stack pointer = 0x0001
      stack[0] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
Variables:
    0x80 0xffff 0x00 
    0x81 0xffff 0x00 XYPOS
    0x82 0xffff 0x02 POS$
    0x83 0x0000 0x02 XY$
    0x84 0xffff 0x00 X
    0x85 0xffff 0x00 Y
    0x86 0xffff 0x02 TEXT$
    0x87 0x002b 0x00 FORS\G
    0x88 0x002d 0x00 PLET
    0x89 0x002f 0x00 H\JDE
    0x8a 0x0031 0x00 RETNING
    0x8b 0x0033 0x00 POSITION
    0x8c 0x0035 0x00 RAMT
    0x8d 0x0037 0x00 FORBI
    0x8e 0x0039 0x00 SKUD
    0x8f 0x003b 0x00 GRANAT
    0x90 0xffff 0x00 TR[F
    0x91 0xffff 0x00 TR[FFER
    0x92 0xffff 0x00 TR[FFERE

Wrapper

.magic = 0x5356
.u_pas = 0x0244  // Length of UPAS in words
.u_das = 0x0104  // Length of UDAS in words
.u_dvs = 0x00c7  // Start på savede variabel indhold (word adr)
.u_nds = 0x01a1  // Address på næste prog.sætning (word adr)
.u_cps = 0x0000  // Address på curr prog.sætning (word adr)
.u_tll = 0x0048  // Page størrelse
.u_tts = 0x000e  // TAP størrelse
.u_ran = 0x59bd  // 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)