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 - metrics - download

⟦42e83f60f⟧ COMAL_SAVE

    Length: 1368 (0x558)
    Types: COMAL_SAVE
    Notes: BASIC::DOMUSCOM, DOMUSCOM
    Names: »DOMUSCOM«

Derivation

└─⟦714f3848e⟧ Bits:30006597 ALM Copy 24.9.79
    └─⟦this⟧ »BASIC::DOMUSCOM« 

UPAS Segment

SAVE filename: "DOMUSCOM"

 0010 REM  DOMUS COM. UD TTY   CB.2.11.79«nul»
 0020 DIM A$ ( 1000 ) , AA$ ( 1000 ) , B$ ( 80 ) , C$ ( 80 ) , D$ ( 8 )
 0030 PAGE = 0
 0040 LET D$ = "<127><127><127><127><127><127><127><127>" A$ = "<18>" , D$ , D$ , D$ , D$
 0050 LET B$ = "#" T = 0
 0060 ON ESC THEN GOTO 0220
 0070 WHILE B$ <> "" DO
 0080   LET T = T + ( B$ = "BEGIN" ) * 2 - ( B$ = "END" ) * 2
 0085   IF B$ ( LEN ( B$ ) ) = "@" THEN LET A$ = A$ , B$ ( 1 , LEN ( B$ ) - 1 - ( B$ ( LEN ( B$ ) - 1 ) = "@" ) ) , "<27><127><127><127>"
 0086   IF B$ ( LEN ( B$ ) - 1 ) = "@" THEN LET A$ = A$ , "<27><127><127><127>"
 0090   IF B$ ( LEN ( B$ ) ) <> "@" AND B$ <> "#" THEN LET A$ = A$ , B$ , "<13><10><127><127><127>"
 0100   PRINT "<9><9><9><9><9><9><9><9><9><9><9><9><9><9><9><9><26>"
 0110   PRINT TAB ( 1 + T ) ;
 0120   INPUT "" , B$
 0130 ENDWHILE
 0140 ON ESC THEN STOP «nul» 
 0150 INPUT "<13><10>UD(0) / RET(1) / SKRIV(2) / MER(3) / START(4) : " , R
 0160 ON R THEN GOTO 0250 , 0320 , 0050 , 0040
 0170 INPUT "<13><10><10>>UD<13><10>ER DER STRIMMEL I TTY-PUNCH ??" , B$
 0180 OPEN FILE ( 1 , 3 ) "$TTY"
 0190 WRITE FILE ( 1 ) A$
 0200 CLOSE
 0210 GOTO 0150
 0220 ON ESC THEN GOTO 0220
 0230 LET A$ = A$ , "<27><127><127><127><127>"
 0240 GOTO 0120
 0250 INPUT "<13><10><10>>RET<13><10>SØG EFTER : " , B$ , "<13><10>RET TIL   : " , C$
 0260 LET R = 0
 0270 REPEAT 
 0280   LET R = R + 1
 0290 UNTIL A$ ( R , R + LEN ( B$ ) - 1 ) = B$ OR R + LEN ( B$ ) - 1 = LEN ( A$ )
 0300 IF A$ ( R , R + LEN ( B$ ) - 1 ) = B$ THEN LET AA$ = A$ ( 1 , R - 1 ) , C$ , A$ ( R + LEN ( B$ ) , LEN ( A$ ) ) A$ = AA$
 0310 GOTO 0150
 0320 PRINT "<13><10><10>>SKRIV<13><10><10>" ; A$
 0330 GOTO 0150

UDAS Segment

    FNA definition = 0x0000
    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] = 0x0000
      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] = 0x01a3
      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] = 0x0091
      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 0xffff 0x02 A$
    0x82 0xffff 0x02 AA$
    0x83 0xffff 0x02 B$
    0x84 0xffff 0x02 C$
    0x85 0xffff 0x02 D$
    0x86 0xffff 0x00 T
    0x87 0xffff 0x00 R
    0x88 0xffff 0x00 LISY
    0x89 0xffff 0x00 [OST
    0x8a 0xffff 0x00 RYB
    0x8b 0xffff 0x00 RUN1
    0x8c 0xffff 0x00 LIWT

Wrapper

.magic = 0x5356
.u_pas = 0x01f4  // Length of UPAS in words
.u_das = 0x00a9  // Length of UDAS in words
.u_dvs = 0x00a9  // 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 = 0x000e  // 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)