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

⟦7805a4620⟧ COMAL_SAVE

    Length: 1774 (0x6ee)
    Types: COMAL_SAVE

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─ ⟦c4dbaba7e⟧ »/JAMO.TÆNDS« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "TEK"

 0001 REM  JENS, MÅ EJ SLETTES«nul»«nul»
 0010 PRINT "TÆNDSTIKSPIL. DEN SOM TAGER SIDSTE TÆNDSTIK HAR TABT!"
 0020 DIM A$ ( 2 )
 0030 INPUT "HVOR MANGE TÆNDSTIKKER SKAL VI SPILLE MED? " , N1
 0040 LET N = N1
 0050 IF N > 1 THEN GOTO 0080
 0060 PRINT "FOR FÅ - OM IGEN!"
 0070 GOTO 0030
 0080 INPUT "HVOR MANGE MÅ HØJST FJERNES AF GANGEN? " , K
 0090 IF K > 0 AND K < N THEN GOTO 0120
 0100 GOSUB 0390
 0110 GOTO 0080
 0120 PRINT
 0130 PRINT
 0140 LET N = N1 ; A = 0 ; B = 0
 0150 INPUT "VIL DU BEGYNDE? " , A$
 0160 PRINT
 0170 PRINT
 0180 IF A$ = "JA" THEN GOTO 0370
 0190 LET Y = N - 1 - INT ( ( N - 1 ) / ( K + 1 ) ) * ( K + 1 ) ; N = N - Y
 0200 IF N = 1 THEN GOTO 0430
 0210 PRINT
 0220 PRINT "JEG TAGER" ; Y ; " REST" ; N ; "   DIT TRÆK: " ;
 0230 INPUT X ;
 0240 IF X > 0 AND X <= K THEN GOTO 0270
 0250 GOSUB 0390
 0260 GOTO 0230
 0270 PRINT " REST" ; N - X
 0280 IF N - X = 1 THEN GOTO 0520
 0290 LET P = N - 1 - INT ( ( N - 1 ) / ( K + 1 ) ) * ( K + 1 )
 0300 IF X = P THEN GOSUB 0560
 0310 IF X <> P THEN GOSUB 0620
 0320 LET N = N - X
 0330 IF N <= 0 THEN GOTO 0450
 0340 IF X = P THEN LET Y = 1 ; N = N - 1
 0350 IF X = P THEN GOTO 0200
 0360 GOTO 0190
 0370 INPUT "HV0R MANGE TAGER DU? " , X ;
 0380 GOTO 0240
 0390 PRINT
 0400 PRINT
 0410 PRINT "    ULOVLIGT ANTAL! OM IGEN! " ;
 0420 RETURN  «nul»
 0430 PRINT
 0440 PRINT "JEG TAGER" ; Y ; "REST" ; N
 0450 PRINT
 0460 INPUT "JEG VANDT! SKAL VI PRØVE IGEN? " , A$
 0470 PRINT
 0480 IF A$ = "JA" THEN GOTO 0120
 0490 PRINT
 0500 PRINT "TAK FOR SPILLET. FARVEL."
 0510 STOP  «nul» 
 0520 PRINT
 0530 PRINT "DU VANDT - TIL LYKKE!!"
 0540 INPUT "SKAL VI PRØVE IGEN? " , A$
 0550 GOTO 0470
 0560 IF A = 1 THEN GOTO 0610
 0570 PRINT
 0580 PRINT "    DU KAN VINDE NU, HVIS DU SPILLER KLOGT!!"
 0590 PRINT
 0600 LET A = 1
 0610 RETURN  «nul»
 0620 IF B = 1 OR A = 0 THEN GOTO 0670
 0630 PRINT
 0640 INPUT "    DER DUMMEDE DU DIG!!  GIVER DU OP? " , A$
 0650 IF A$ = "JA" THEN GOTO 0450
 0660 LET B = 1
 0670 RETURN «nul»

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] = 0x018b
      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 = 0x0000
      stack[0] = 0x0000
      stack[1] = 0x0000
      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 = 0x0000
      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 0x0000 0x02 A$
    0x82 0x0004 0x00 N1
    0x83 0x0006 0x00 N
    0x84 0x0008 0x00 K
    0x85 0x000a 0x00 A
    0x86 0x000c 0x00 B
    0x87 0x000e 0x00 Y
    0x88 0x0010 0x00 X
    0x89 0x0012 0x00 P

Wrapper

.magic = 0x4e32
.u_pas = 0x02ba  // Length of UPAS in words
.u_das = 0x00ae  // Length of UDAS in words
.u_dvs = 0x009a  // Start på savede variabel indhold (word adr)
.u_nds = 0x0208  // 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 = 0x0001  // Random tal
.u_cdl = 0x0006  // Current DATA sætning ptr
.u_cdb = 0x0000  // Current DATA byte ptr
.u_esa = 0x0042  // ON ESE (word adr)
.u_era = 0x0000  // ON ERR (word adr)
.u_cas = 0xffff  // CASE dybde
.u_las = 0xffff  // last (-1)