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

⟦c76ea4050⟧ COMAL_SAVE

    Length: 4402 (0x1132)
    Types: COMAL_SAVE

Derivation

└─⟦3d9d2c4f1⟧ Bits:30001780 SG0000 Floppy
    └─ ⟦acbd9c241⟧ »/INDTA « 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "INDTA"

 0010 REM  13.11.81 lk Torben Tambo total redefinition af indtastnings og rette program pr dags dato«nul»«nul»
 0020 REM  anvender FINDTEGN i editeringsfaciliteten«nul»n
 0030 REM  komandoer der bør kunnes for god nyttevirkning ::::::::::::::::«nul»e
 0040 REM  E,I,T,G# i hovedtrækkene hvilket betyder editer,indtast,type,get sht med filer«nul»
 0050 REM  E/I faciliteten har som subprocedurer  ::::::::::::::::«nul»t
 0060 REM  de så almindelig C change R retype K slet I (igen) indsæt«nul»p
 0070 REM  G' komandoernes brug ::::::::::::::«nul» 
 0080 REM  'C close all 'I connect 'K slet 'W lav «nul»t
 0090 DIM SAVEPAGE$ ( 10000 ) , IND$ ( 256 ) , IN$ ( 256 ) , FIL$ ( 5 ) , COM$ ( 5 ) , [$ ( 10 ) , S$ ( 132 ) , E$ ( 132 )
 0100 PRINT "<12>"
 0110 LET OK = 0 ; CP = LEN ( SAVEPAGE$ )
 0130 ON ESC THEN GOTO 0130
 0140 INPUT "<29><10><10><9>Select function<9><9>" , COM$
 0145 CLOSE
 0150 PRINT "<12><9><9><9><9><9>Last comand " ; COM$ ; "<31><10><10><13>"
 0160 CASE COM$ OF
 0170   PRINT "<12><6><10>æFacility excluded, facility " ; COM$ ; "<6>"
 0180   DELAY = 3
 0190   PRINT "<27><12>"
 0200   DELAY = 1
 0210 WHEN "GC" , "GI" , "GK" , "GW"
 0220   ON ERR THEN EXEC ERRSELEC
 0230   IF COM$ ( 2 ) = "I" THEN
 0240     PRINT " Subcatalog " ;
 0250     GOSUB 1430
 0260     INPUT " Subcatalog code " , CODE
 0270     CONNECT FIL$ , CODE
 0280   ENDIF 
 0290   IF COM$ ( 2 ) = "K" OR COM$ ( 2 ) = "W" THEN
 0300     PRINT "  Text work " ;
 0310     GOSUB 1430
 0320     IF COM$ ( 2 ) = "K" THEN
 0330       DELETE FIL$
 0340     ELSE 
 0350       CREATE FIL$ , 0
 0360     ENDIF 
 0370   ENDIF 
 0380   IF COM$ ( 2 ) = "C" THEN CLOSE
 0390   RESET ERR
 0400 WHEN "T" , "LIST" , "TYPE" , "L"
 0410   PRINT " List of " ;
 0420   GOSUB 1430
 0430   OPEN FILE ( 1 , 1 ) FIL$
 0440   WHILE NOT EOF ( 1 ) DO
 0450     INPUT FILE ( 1 ) IND$
 0460     PRINT IND$
 0470   ENDWHILE
 0480 WHEN "INWRITE" , "WRITE" , "IND" , "IN" , "I" , "INDTAST" , "INDT" , "EDIT" , "EDI" , "ED" , "E"
 0490   LET MLPFL]BS = 0
 0500   IF COM$ ( 1 ) = "E" THEN
 0510     PRINT " Output " ;
 0520     GOSUB 1430
 0530     OPEN FILE ( 3 , 3 ) FIL$
 0540     LET MLPFL]BS = 1
 0550   ENDIF 
 0560   PRINT " Input " ;
 0570   GOSUB 1430
 0580   OPEN FILE ( 1 , 1 ) FIL$
 0590   WHILE NOT EOF ( 1 ) DO
 0600     INPUT FILE ( 1 ) IND$
 0610     IF COM$ ( 1 ) = "E" THEN
 0620       REM «nul»
 0630       REM «nul»
 0640       REM «nul»
 0650       REM «nul»
 0660       REM «nul»
 0670       REM «nul»
 0680       REM «nul»
 0690       REM «nul»
 0700       REM «nul»
 0710       REM «nul»
 0720       REM «nul»
 0730       REM «nul»
 0740       REM             HER SKAL TEXT RETTE PROCEDURER LIGGE«nul»
 0750       REM             ALLE DISSE LINIER GIVER LÆSEBAR HAST«nul»
 0760       REM «nul» 
 0770       REM «nul» 
 0780       REM «nul» 
 0790     ELSE 
 0800       PRINT "    " ; IND$
 0810     ENDIF 
 0820   ENDWHILE
 0830   IF COM$ ( 1 ) = "I" THEN
 0840     CLOSE FILE ( 1 )
 0850     OPEN FILE ( 3 , 2 ) FIL$
 0860   ENDIF 
 0870   REPEAT 
 0880     LET CT = CT + 1 ; SLUTCOND = 0 ; GFCONDIT = SLUTCOND
 0890     PRINT "### " , CT ;
 0900     INPUT "" , IND$
 0910     LET SAVEPAGE$ = SAVEPAGE$ , "<13><10>" , IND$
 0930     CASE IND$ OF
 0940       PRINT FILE ( 3 ) IND$
 0942     WHEN "GDFIX" , "FLAPD" , "MACRO"
 0946       EXEC MACRO
 0950     WHEN "GF"
 0960       PRINT " New input " ;
 0970       GOSUB 1430
 0980       LET GFCONDIT = 1
 0990     WHEN "OVER" , "END" , "SLUT" , "STOP" , "HALT" , "HOLDT" , "FINIS" , "UD" , "HJEM" , "HJEM OG UD" , "FÆRDIG" , "UEH" , "H"
 1000       LET SLUTCOND = 1
 1010     ENDCASE «nul» 
 1020   UNTIL SLUTCOND = 1 OR GFCONDIT = 1
 1030   REM  IF GETFILECONDITION GOTO NOGET«nul»
 1040   REM  «nul»
 1050 ENDCASE «nul»«nul» 
 1055 GOTO 0140
 1060 INPUT " Next step " , [$
 1070 PRINT "<12>"
 1080 IF [$ <> "" THEN GOTO 0140
 1090 REM            «so»MACRO DEFINITIONER«nul»
 1100 REM  FLAPD«nul» 
 1110 DATA " Macro defined 01.11.81 , macro: flapd float and put double"
 1120 DATA " AC0: 1.word, AC1: 2.word, AC2: 1.word address, AC3: irrel"
 1130 DATA "FLAPD: STA    2,APD00"
 1140 DATA "       LDA    3,USER"
 1150 DATA "       BCALL  FLOAT"
 1160 DATA "       LDA    2,CUR"
 1170 DATA "       A.PDOUBLE"
 1180 DATA "       1"
 1190 DATA "APD00: 0"
 1200 DATA "       RET1                ; end flapd"
 1210 DATA "%"
 1220 DATA " Macro defined 01.11.81 , macro: gdfix get dpuble and fix"
 1230 DATA " Call : ac1: 1.word address"
 1240 DATA " Return : ac0 : 1.word, ac1 : 2.word, ac2 : undef'd, ac3: user"
 1250 DATA "GDFIX: LDA    2,CUR"
 1260 DATA "       LO     0,0"
 1270 DATA "       A.GDOUBLE"
 1280 DATA "       BCALL  FIX"
 1290 DATA "       RET1                ; end get double and fix"
 1300 DATA "%"
 1310 PROC MACRO
 1320   IF IND$ = "GDFIX" THEN RESTORE 1220
 1330   IF IND$ = "FLAPD" THEN RESTORE 1090
 1340   READ IND$
 1350   WHILE IND$ <> "%" DO
 1360     PRINT IND$
 1370     PRINT FILE ( 3 ) IND$
 1380     READ IND$
 1390   ENDWHILE
 1400   LET OK = 0
 1410 ENDPROC
 1420 STOP  «nul» 
 1430 INPUT "file " , FIL$
 1440 RETURN «nul»
 1450 PROC ERRSELEC
 1460   IF SYS ( 7 ) > 99 THEN
 1470     RESTORE 1580
 1480     FOR ERRCOUNT = 1 TO SYS ( 7 ) - 100
 1490       ON ERR THEN IF SYS ( 7 ) = 15 THEN LET ERRCOUNT = 1e+72
 1500       READ IND$
 1510       IF IND$ = "" THEN LET IND$ ( 1 ) = CHR ( 48 + ( SYS ( 7 ) DIV 100 ) ) , [FAIL RENDER FUNC LET f27f42300000f9f2f26cf27f41700000f6fe7f4141a00000f6fd7f0041a00000f6f6f16ef27f42300000f9f26cf27f4e41700000f6fd7ff141a00000f6f6e246][f27f42300000f9f2f26cf27f41700000f6fe7f4141a00000f6fd7f0041a00000f6f6f16ef27f42300000f9f26cf27f4e41700000f6fd7ff141a00000f6f6e246]
 1520     NEXT 
 1530   NEXT 
 1540   PRINT "<12><9><9><9><9>File error occurred, error " ; IND$ ; "<10><10><13>"
 1550 ENDIF ØR SENERE ERSTATTES MED ELSE OG EN FEJL TEXT PROCEDURE FOR OPERATIONER < 100«nul»R 
 1560 DELAY = 5
 1570 ENDPROC
 1580 DATA "FIL UKENDT" , "" , "FIL I BRUG" , "" , "" , "" , "ULOVLIG OPERATION PÅ SUBCATALOG" , "" , "ULOVLIG OPERATION PÅ FIL" , "END OF FILE"
 1590 DATA "" , "" , ""
 1600 PROC KATASTRO
 1610 PRINT " Subcatalog " ;
 1620 GOSUB 1430
 1630 INPUT " Subcatalog code " , CODE
 1640 CONNECT FIL$ , CODE
 1650 PRINT "         Back-up " ;
 1660 GOSUB 1430
 1670 CREATE FIL$ , 0
 1680 OPEN FILE ( 1 , 1 ) FIL$
 1690 WRITE FILE ( 1 ) SAVEPAGE$
 1700 CLOSE
 1710 PRINT "<12><9><9>Written data saved<10><10><13>"
 1720 STOP «nul» 
 1730 ENDPROC

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] = 0x02f1
      stack[1] = 0x026b
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x03a5
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 1.01907e-75   (0x02760000)
      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# = 0x0095
      Loop Top = 0x0790
      To Val = 30000   (0x44753000)
      Step Val = 1   (0x41100000)
      Var# = 0x0097
      Loop Top = 0x07c1
      To Val = 4   (0x41400000)
      Step Val = 1   (0x41100000)
      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 0xffff 0x02 SAVEPAGE$
    0x82 0xffff 0x02 IND$
    0x83 0xffff 0x02 IN$
    0x84 0xffff 0x02 FIL$
    0x85 0xffff 0x00 OK
    0x86 0xffff 0x00 CP
    0x87 0xffff 0x02 COM$
    0x88 0xffff 0x02 ERROR$
    0x89 0xffff 0x02 [$
    0x8a 0xffff 0x02 S$
    0x8b 0xffff 0x02 E$
    0x8c 0xffff 0x00 MACRO
    0x8d 0xffff 0x00 CODE
    0x8e 0xffff 0x00 MLPFL]BS
    0x8f 0xffff 0x00 RE
    0x90 0xffff 0x00 CT
    0x91 0xffff 0x00 GFCONDIT
    0x92 0xffff 0x00 SLUTCOND
    0x93 0xffff 0x00 ERRSELEC
    0x94 0xffff 0x00 ERRCOUNT
    0x95 0xffff 0x00 I
    0x96 0xffff 0x00 KATASTRO
    0x97 0xffff 0x00 J
    0x98 0xffff 0x00 K
    0x99 0xffff 0x00 K1
    0x9a 0xffff 0x00 K3
    0x9b 0xffff 0x00 K4
    0x9c 0xffff 0x00 K2

Wrapper

.magic = 0x4e32
.u_pas = 0x0791  // Length of UPAS in words
.u_das = 0x00f9  // Length of UDAS in words
.u_dvs = 0x00f9  // Start på savede variabel indhold (word adr)
.u_nds = 0x0042  // Address på næste prog.sætning (word adr)
.u_cps = 0x0000  // Address på curr prog.sætning (word adr)
.u_tll = 0x0000  // 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)