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

⟦feda8fc81⟧ COMAL_SAVE

    Length: 6656 (0x1a00)
    Types: COMAL_SAVE
    Names: »AKAI«

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─⟦this⟧ »/KUBUS.AKAI« 

UPAS Segment

SAVE filename: "AKAI"

 0010 REM                 MICHAEL HENRIKSEN «nul»«nul»
 0020 REM                        2Z«nul»
 0030 REM                     7-5-'81«nul»
 0040 PAGE = 125
 0050 DIM CPRNR$ ( 10 ) , A$ ( 10 )
 0060 DIM EFNAVN$ ( 40 )
 0070 DIM FNAVN$ ( 46 )
 0080 DIM N$ ( 30 ) , FON$ ( 30 )
 0090 DIM BUFF1$ ( 46 ) , BUFF2$ ( 46 ) , AD1$ ( 46 ) , AD$ ( 46 ) , BUFF3$ ( 46 ) , BUFF4$ ( 46 ) , AD2$ ( 46 )
 0100 DIM FONAVN$ ( 46 )
 0110 DIM FAG$ ( 20 )
 0120 OPEN FILE ( 5 , 0 ) "LMJ"
 0130 DIM NAVN$ ( 40 ) , NAME$ ( 40 ) , AD$ ( 40 )
 0140 READ FILE ( 5 , 100 ) MAXNR
 0150 PRINT
 0160 PRINT
 0170 INPUT "STOP=0/ OPRET=1/ UDSKRIFT=2/ SLETNING=3/ ALFASORT=4/ SØGNING=5/ HOLDUD=6 " , SVAR
 0180 PRINT
 0190 PRINT
 0200 CASE SVAR OF
 0210   PRINT "ULOVLIGT SVAR!"
 0220   GOTO 0170
 0230 WHEN 0
 0240   WRITE FILE ( 5 , 25 ) MAXNR
 0250   CLOSE
 0260   STOP «nul» 
 0270 WHEN 1
 0280   EXEC OPRET
 0290 WHEN 2
 0300   PRINT "<12><14>"
 0310   PRINT "NR." ;
 0320   PRINT TAB ( 10 ) ; "NAVN" ;
 0330   PRINT TAB ( 24 ) ; "ADRESSE" ;
 0340   PRINT TAB ( 39 ) ; "TLF" ;
 0350   PRINT TAB ( 49 ) ; "DATO"
 0360   PRINT
 0370   EXEC UDSKRIFT
 0380 WHEN 3
 0390   EXEC SLET
 0400 WHEN 4
 0410   EXEC ALFASORT
 0420 WHEN 5
 0430   EXEC SOGNING
 0440 WHEN 6
 0450   EXEC HOLDUD
 0460 ENDCASE «nul» 
 0470 GOTO 0000
 0480 PROC OPRET
 0490   REM  -----------------------------------------------------------------OPRETTELSE-----«nul»
 0500   WHILE NAVN$ <> "SLUT" DO
 0510     INPUT "EFTER-NAVN: " , NAVN$
 0520     IF NAVN$ = "SLUT" THEN GOTO 0720
 0530     INPUT "FOR-NAVN(E): " , FNAVN$
 0540     INPUT "DIT CPRNR. " , CPRNR$
 0550     LET A$ = "4327654321"
 0560     FOR X = 1 TO 10
 0570       LET SUM = SUM + ( ORD ( CPRNR$ ( X ) ) - 48 ) * ( ORD ( A$ ( X ) ) - 48 )
 0580     NEXT 
 0590     IF SUM MOD 11 <> 0 THEN
 0600       PRINT "FALSK CPRNR."
 0610       GOTO 0540
 0620     ELSE 
 0630       INPUT "ADRESSE MED HUSNR. OG BY  " , AD$
 0640       INPUT " TELEFON-NUMMER UDEN OMRÅDENR.  " , TLF
 0650       INPUT " ELEVNUMMER " , ELEVNR
 0660       INPUT "FYSISK GREN(1) ELLER BIOLOGISK GREN(2) " , A
 0670       INPUT "DATALOGI(3) ELLER OLDTIDSKUNDSKAB(4) " , B
 0680       INPUT "MUSIK(5) ELLER FORMNING(6) " , C
 0690       INPUT "DATO/ MAANED/ AAR " , DATO , MAANED , AAR
 0700       LET MAXNR = MAXNR + 1
 0710       WRITE FILE ( 5 , MAXNR ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 0720     ENDWHILE
 0730     LET NAVN$ = ""
 0740   ENDPROC PRET«nul»«nul»
 0750   PROC UDSKRIFT
 0760     REM  -----------------------------------------------------------------UDSKRIFT«nul»E
 0770     FOR T[L = 1 TO MAXNR
 0780       READ FILE ( 5 , T[L ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 0790       PRINT
 0800       PRINT
 0810       PRINT ELEVNR ; TAB ( 5 ) ; NAVN$ ; TAB ( 20 ) ; FNAVN$ ; TAB ( 34 ) ; AD$ ; TAB ( 60 ) ; TLF ; TAB ( 70 ) ;
 0820       PRINT "##/##/##" , DATO , MAANED , AAR
 0830       PRINT
 0840       IF A = 1 THEN PRINT "FYSISK GREN" ; TAB ( 20 ) ;
 0850       IF A = 2 THEN PRINT "BIOLOGISK GREN" ; TAB ( 20 ) ;
 0860       IF B = 3 THEN PRINT "DATALOGI" ; TAB ( 35 ) ;
 0870       IF B = 4 THEN PRINT "FORMNING" ; TAB ( 35 ) ;
 0880       IF C = 5 THEN PRINT "MUSIK"
 0890       IF C = 6 THEN PRINT "FORMNING"
 0900     NEXT 
 0910   ENDPROC DSKRIFT«nul»
 0920   PROC SLET
 0930     REM ------------------------------------------------------------------SLETTE----«nul»-
 0940     INPUT " NUMMER TIL SLETNING ? " , SLETNR
 0950     IF SLETNR = 0 THEN
 0960       INPUT "SLETNING PÅ EF-NAVN1 EL. PÅ FULD NAVN2 ? " , SLETMODE
 0970       IF SLETMODE <> 1 AND SLETMODE <> 2 THEN GOTO 0960
 0980       IF SLETMODE = 1 THEN
 0990         INPUT "NAVN TIL SLETNING ? " , NAME$
 1000       ELSE LETMODE=2«nul» 
 1010         INPUT "EF-NAVN ? " , NAME$
 1020         INPUT "FOR-NAVN ? " , BUFF1$
 1030       ENDIF 
 1040     ENDIF 
 1050     FOR T[L = 1 TO MAXNR
 1060       READ FILE ( 5 , T[L ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 1070       IF SLETNR = 0 THEN GOTO 1100
 1080       IF SLETNR <> ELEVNR THEN GOTO 1170
 1090       GOTO 1120
 1100       IF SLETMODE = 1 AND NAVN$ <> NAME$ THEN GOTO 1170
 1110       IF SLETMODE = 2 AND ( NAVN$ <> NAME$ OR FNAVN$ <> BUFF1$ ) THEN GOTO 1170
 1120       FOR T = T[L TO MAXNR - 1
 1130         READ FILE ( 5 , T + 1 ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 1140         WRITE FILE ( 5 , T ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 1150       NEXT 
 1160       LET MAXNR = MAXNR - 1
 1170     NEXT 
 1180   ENDPROC LET«nul»
 1190   PROC ALFASORT
 1200     REM  ----------------------------------------------------------------SORTERING«nul»-
 1210     FOR TAL1 = 1 TO MAXNR - 1
 1220       READ FILE ( 5 , TAL1 ) BU1 , BUFF1$ , BUFF3$ , AD1$ , TLF1 , DATO1 , MAANED1 , AAR1 , A1 , B1 , C1
 1230       FOR TAL2 = TAL1 + 1 TO MAXNR
 1240         READ FILE ( 5 , TAL2 ) BU2 , BUFF2$ , BUFF4$ , AD2$ , TLF2 , DATO2 , MAANED2 , AAR2 , A2 , B2 , C2
 1250         IF BUFF1$ > BUFF2$ AND BUFF3$ <> BUFF4$ THEN
 1260           WRITE FILE ( 5 , TAL2 ) BU1 , BUFF1$ , BUFF3$ , AD1$ , TLF1 , DATO1 , MAANED1 , AAR1 , A1 , B1 , C1
 1270           WRITE FILE ( 5 , TAL1 ) BU2 , BUFF2$ , BUFF4$ , AD2$ , TLF2 , DATO2 , MAANED2 , AAR2 , A2 , B2 , C2
 1280           LET BUFF1$ = BUFF2$ AD1$ = AD2$ TLF1 = TLF2 DATO1 = DATO2 MAANED1 = MAANED2 AAR1 = AAR2
 1290           LET BUFF3$ = BUFF4$
 1300           LET BU1 = BU2 A1 = A2 B1 = B2 C1 = C2
 1310         ENDIF 
 1320       NEXT 
 1330     NEXT 
 1340   ENDPROC LFASORT«nul»
 1350   PROC SOGNING
 1360     REM  ----------------------------------------------------------------SQGNING---«nul»
 1370     INPUT "ØNSKES SØGNING PÅ EFTERNAVN=1/ FORNAVN=2/ FULDNAVN=3/ ELEVNR=4/ ADRESSE=5/ DATO,MÅNED,ÅR=6/ TLFNR=7 " , ANSWER
 1380     CASE ANSWER OF
 1390       GOTO 1280
 1400     WHEN 0
 1410     WHEN 1
 1420       EXEC EFNNAVN
 1430     WHEN 2
 1440       EXEC FORNAVN
 1450     WHEN 3
 1460       EXEC FULDNAVN
 1470     WHEN 4
 1480       EXEC ELEVNR
 1490     WHEN 5
 1500       EXEC ADRESSE
 1510     WHEN 6
 1520       EXEC DMA
 1530     WHEN 7
 1540       EXEC TLFNR
 1550     ENDCASE «nul» 
 1560     GOTO 1370
 1570     PROC EFNAVN
 1580       LET SW = 0
 1590       INPUT "EFTERNAVN " , EFNAVN$
 1600       FOR TAL = 1 TO MAXNR
 1610         READ FILE ( 5 , TAL ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 1620         IF NAVN$ <> EFNAVN$ THEN GOTO 1650
 1630         EXEC UDSKRIFT
 1640         LET SW = 1
 1650       NEXT 
 1660     ENDPROC FNAVN«nul»
 1670     PROC FORNAVN
 1680       LET SW = 0
 1690       INPUT "FORNAVN " , FORNAVN$
 1700       FOR TAL = 1 TO MAXNR
 1710         READ FILE ( 5 , TAL ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 1720         IF FNAVN$ <> FORNAVN$ THEN GOTO 1750
 1730         EXEC UDSKRIFT
 1740         LET SW = 1
 1750       NEXT 
 1760     ENDPROC ORNAVN«nul»
 1770     PROC FULDNAVN
 1780       LET SW = 0
 1790       INPUT "EFTERNAVN " , EFNAVN$
 1800       INPUT "FORNAVN " , FORNAVN$
 1810       FOR TAL = 1 TO MAXNR
 1820         READ FILE ( 5 , TAL ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 1830         IF FORNAVN$ <> FNAVN$ OR EFNAVN$ <> NAVN$ THEN GOTO 1860
 1840         EXEC UDSKRIFT
 1850         LET SW = 1
 1860       NEXT 
 1870     ENDPROC ULDNAVN«nul»
 1880     IF BOKS = 1 AND NAME$ <> NAVN$ THEN GOTO 2020
 1890     IF BOKS = 2 AND FONAVN$ <> FNAVN$ THEN GOTO 2020
 1900     IF BOKS = 3 AND ( NAVN$ <> NAME$ OR FNAVN$ <> FONAVN$ ) THEN GOTO 2020
 1910     LET SW = 1
 1920     PRINT
 1930     PRINT ELEVNR ; TAB ( 10 ) ; NAVN$ ; TAB ( 27 ) ; FNAVN$ ; TAB ( 39 ) ; AD$ ; TAB ( 75 ) ; TLF ; TAB ( 83 ) ;
 1940     PRINT "##/##/##" , DATO , MAANED , AAR
 1950     PRINT
 1960     IF A = 1 THEN PRINT "FYSISK GREN" ; TAB ( 20 ) ;
 1970     IF A = 2 THEN PRINT "BIOLOGISK GREN" ; TAB ( 20 ) ;
 1980     IF B = 3 THEN PRINT "DATALOGI" ; TAB ( 35 ) ;
 1990     IF B = 4 THEN PRINT "OLDTIDSKUNDSKAB" ; TAB ( 35 ) ;
 2000     IF C = 5 THEN PRINT "MUSIK"
 2010     IF C = 6 THEN PRINT "FORMNING"
 2020   NEXT 
 2030   IF SW = 0 THEN PRINT "DER ER IKKE NOGEN ELEV MED DETTE NAVN"
 2040 ENDPROC OGNING«nul»E
 2050 PROC HOLDUD
 2060   REM  ----------------------------------------------------------------HOLDUDSKRIFT«nul»
 2070   INPUT "FOR HVILKET FAG/GREN QNSKES HOLDLISTEN UDSKREVET? " , FAG$
 2080   PRINT
 2090   FOR TELLER = 1 TO MAXNR
 2100     READ FILE ( 5 , TELLER ) ELEVNR , NAVN$ , FNAVN$ , AD$ , TLF , DATO , MAANED , AAR , A , B , C
 2110     IF FAG$ = "FYSISK GREN" AND A <> 1 THEN GOTO 2180
 2120     IF FAG$ = "BIOLOGISK GREN" AND A <> 2 THEN GOTO 2180
 2130     IF FAG$ = "DATALOGI" AND B <> 3 THEN GOTO 2180
 2140     IF FAG$ = "OLDTIDSKUNDSKAB" AND B <> 4 THEN GOTO 2180
 2150     IF FAG$ = "MUSIK" AND C <> 5 THEN GOTO 2180
 2160     IF FAG$ = "FORMNING" AND C <> 6 THEN GOTO 2180
 2170     PRINT ELEVNR ; TAB ( 10 ) ; NAVN$ ; TAB ( 27 ) ; FNAVN$
 2180   NEXT 
 2190 ENDPROC OLDUD«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] = 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] = 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 0x0000 0x00 
    0x81 0xffff 0x02 FNAVN$
    0x82 0xffff 0x02 N$
    0x83 0xffff 0x02 FON$
    0x84 0xffff 0x02 BUFF1$
    0x85 0xffff 0x02 BUFF2$
    0x86 0xffff 0x02 AD1$
    0x87 0xffff 0x02 AD$
    0x88 0xffff 0x02 BUFF3$
    0x89 0xffff 0x02 BUFF4$
    0x8a 0xffff 0x02 AD2$
    0x8b 0xffff 0x02 FONAVN$
    0x8c 0xffff 0x02 FAG$
    0x8d 0xffff 0x02 NAVN$
    0x8e 0xffff 0x02 NAME$
    0x8f 0xffff 0x00 MAXNR
    0x90 0xffff 0x00 SVAR
    0x91 0xffff 0x00 OPRET
    0x92 0xffff 0x00 UDSKRIFT
    0x93 0xffff 0x00 SLET
    0x94 0xffff 0x00 ALFASORT
    0x95 0xffff 0x00 SOGNING
    0x96 0xffff 0x00 HOLDUD
    0x97 0xffff 0x00 SKEMA
    0x98 0xffff 0x00 TLF
    0x99 0xffff 0x00 ELEVNR
    0x9a 0xffff 0x00 A
    0x9b 0xffff 0x00 B
    0x9c 0xffff 0x00 C
    0x9d 0xffff 0x00 KQN
    0x9e 0xffff 0x00 DATO
    0x9f 0xffff 0x00 MAANED
    0xa0 0xffff 0x00 AAR
    0xa1 0xffff 0x00 T[L
    0xa2 0xffff 0x00 SLETNR
    0xa3 0xffff 0x00 SLETMODE
    0xa4 0xffff 0x00 T
    0xa5 0xffff 0x00 TAL1
    0xa6 0xffff 0x00 BU1
    0xa7 0xffff 0x00 TLF1
    0xa8 0xffff 0x00 DATO1
    0xa9 0xffff 0x00 MAANED1
    0xaa 0xffff 0x00 AAR1
    0xab 0xffff 0x00 A1
    0xac 0xffff 0x00 B1
    0xad 0xffff 0x00 C1
    0xae 0xffff 0x00 TAL2
    0xaf 0xffff 0x00 BU2
    0xb0 0xffff 0x00 TLF2
    0xb1 0xffff 0x00 DATO2
    0xb2 0xffff 0x00 MAANED2
    0xb3 0xffff 0x00 AAR2
    0xb4 0xffff 0x00 A2
    0xb5 0xffff 0x00 B2
    0xb6 0xffff 0x00 C2
    0xb7 0xffff 0x00 SW
    0xb8 0xffff 0x00 BOKS
    0xb9 0xffff 0x00 TELLER
    0xba 0xffff 0x02 CPRNR$
    0xbb 0xffff 0x02 A$
    0xbc 0xffff 0x00 X
    0xbd 0xffff 0x00 SUM
    0xbe 0xffff 0x00 GOT
    0xbf 0xffff 0x02 EFNAVN$
    0xc0 0xffff 0x00 ANSWER
    0xc1 0xffff 0x00 EFNNAVN
    0xc2 0xffff 0x00 FORNAVN
    0xc3 0xffff 0x00 FULDNAVN
    0xc4 0xffff 0x00 ADRESSE
    0xc5 0xffff 0x00 DMA
    0xc6 0xffff 0x00 TLFNR
    0xc7 0xffff 0x00 EFNAVN
    0xc8 0xffff 0x00 TAL
    0xc9 0xffff 0x02 FORNAVN$

Wrapper

.magic = 0x4e32
.u_pas = 0x0952  // Length of UPAS in words
.u_das = 0x01da  // Length of UDAS in words
.u_dvs = 0x01da  // Start på savede variabel indhold (word adr)
.u_nds = 0x0000  // 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)