|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6458 (0x193a) Types: COMAL_SAVE Names: »P3BY6 «
└─⟦3d9d2c4f1⟧ Bits:30001780 SG0000 Floppy └─⟦this⟧ »/P3BY6 «
SAVE filename: "P3BY6" 0020 REM «so» L B Y T 6«nul» 0022 REM PL 1.11.81 LAGERDUMP/KOLONNER: TAL/BYTE/TEXT JMP/JSR/PAGEZEROSYMB«nul»G 0030 LET HEAD = 1 0032 EXEC PRGSTART 0034 FOR SIDE = SIDE1 TO SIDE2 0036 EXEC NYSIDE 0038 FOR ADR1 = INT ( SIDE * PAGIN + 0.2 ) TO INT ( SIDE * PAGIN + LINIER - 0.8 ) 0040 GOTO 0044 0042 IF FIL$ <> "" THEN IF ADR1 MOD 16 = 0 THEN PRINT FILE ( 1 ) 0044 LET L$ = "" 0046 FOR ADR = ADR1 TO ADR1 + ( KOLON - 1 ) * LINIER STEP LINIER 0048 IF ADR > 32767 THEN GOTO 0140 0050 CALL "GMEM" , ADR , X 0052 LET XX = X JUMP = 0 UNDT = 0 0054 LET D$ = CHR ( 32 + ( ADR MOD 5 = 0 ) * ( 2 + ADR MOD 10 ) ) NUL$ = "" NO = 0 0056 REM ON ESC «nul» 0058 LET X1 = X DIV 256 X2 = X MOD 256 0060 IF X1 = 1 OR X1 = 4 OR X1 = 5 OR X1 > 11 AND X1 < 16 THEN 0062 IF TAL = 9 THEN LET L$ = L$ , D$ D$ = "" UNDT = 1 0064 IF X1 > 13 AND ( X2 < 59 OR X2 > 101 ) OR ADR < 311 THEN GOTO 0086 0065 LET UNDT = 0 0066 LET D$ = CHR ( 62 - 20 * ( X1 > 7 ) ) , CHR ( X1 MOD 8 + 48 ) , CHR ( 43 + 2 * ( X1 MOD 4 <> 0 AND X2 > 127 ) ) 0068 IF X1 <> 4 AND X1 <> 12 AND X2 > 127 THEN LET X2 = 256 - X2 0070 LET D$ = D$ , CHR ( 48 + X2 DIV 10 + 7 * ( X2 DIV 10 > 9 ) ) , CHR ( 48 + X2 MOD 10 ) , " " D$ = D$ ( 1 , 5 ) 0072 IF X1 MOD 8 = 4 THEN 0074 IF T$ ( X2 * 4 + 1 , X2 * 4 + 4 ) <> " " THEN LET D$ ( 2 , 5 ) = T$ ( X2 * 4 + 1 , X2 * 4 + 4 ) 0076 ENDIF 0078 LET L$ = L$ , D$ D$ = "" JUMP = 1 0080 REM ;D$«nul» 0082 IF TAL = 9 THEN GOTO 0086 0084 ELSE 0086 IF TAL AND NOT JUMP THEN 0088 LET D$ = D$ , " " 0090 FOR TT = 5 + ( TAL = 9 ) - UNDT TO 2 - ( X > 9999 ) + ( TAL = 9 ) - UNDT STEP - 1 0092 LET D$ ( TT ) = CHR ( X MOD 10 + 32 + 16 * ( X > 0 ) ) 0094 LET X = X DIV 10 0096 NEXT 0098 IF TAL = 9 THEN GOTO 0102 0100 ELSE 0102 IF TAL = 9 THEN LET D$ = D$ , CHR ( 32 + ( ADR MOD 5 = 0 ) * ( 2 + ADR MOD 10 = 0 ) ) 0104 LET X = XX 0106 LET B1 = X DIV 256 B2 = X MOD 256 0108 FOR I = 1 TO 2 0110 IF I = 2 THEN LET B1 = B2 0112 IF B1 = 0 OR B1 = 10 OR B1 = 13 OR B1 = 32 OR B1 > 47 AND B1 < 58 OR B1 > 64 AND B1 < 91 OR BETING AND B1 > 96 AND B1 < 123 THEN 0114 IF B1 < 32 THEN LET B1 = 96 - ( B1 > 1 ) - ( B1 = 10 ) 0116 IF I = 1 THEN LET D$ = D$ , CHR ( 32 + 15 * ( B1 <> 96 ) ) , CHR ( B1 ) 0118 IF I = 2 THEN LET D$ = D$ , CHR ( B1 ) , CHR ( 32 + 15 * ( B1 <> 96 ) ) 0120 ELSE 0122 GOTO 0126 0124 ON ESC THEN IF TAL < 2 THEN LET TAL = NOT TAL 0126 LET D$ = D$ , CHR ( 126 + ( B1 DIV 10 - 78 ) * ( B1 DIV 10 <> 0 ) + 39 * ( B1 > 99 ) ) , CHR ( B1 MOD 10 + 48 ) 0128 ENDIF 0130 NEXT 0132 IF HEAD THEN RETURN «nul» 0134 ENDIF 0136 LET L$ = L$ , D$ 0138 ENDIF 0140 NEXT 0142 IF FIL$ <> "" THEN IF ADR1 MOD 16 = 0 THEN LET L$ = L$ , "--" 0144 IF FIL$ <> "" THEN PRINT FILE ( 1 ) L$ 0146 PRINT L$ 0148 NEXT 0150 NEXT 0152 CLOSE 0154 GOTO 0032 0156 REM «so» .......«nul» 0158 PROC NYSIDE 0160 PAGE = 132 0162 TAB = 10 + ( TAL = 9 ) 0164 PRINT "<29>" 0166 IF FIL$ <> "" THEN PRINT FILE ( 1 ) "<12>" ; 0168 FOR I = SIDE * LINIER * KOLON TO ( SIDE + 1 ) * LINIER * KOLON - LINIER STEP 2 * LINIER 0170 IF FIL$ <> "" THEN PRINT FILE ( 1 ) I , 0172 IF FIL$ <> "" THEN IF TAL = 9 THEN PRINT FILE ( 1 ) I + LINIER , 0174 IF FIL$ = "" THEN PRINT I , 0176 IF FIL$ = "" THEN IF TAL = 9 THEN PRINT I + LINIER , 0178 NEXT 0180 PRINT 0182 IF FIL$ <> "" THEN PRINT FILE ( 1 ) "<13>" 0184 FOR X = SIDE * LINIER * KOLON TO ( SIDE + 1 ) * LINIER * KOLON - LINIER STEP LINIER 0186 LET HEAD = 1 D$ = "" 0188 GOSUB 0106 0190 IF FIL$ <> "" THEN PRINT FILE ( 1 ) D$ ; " " ; 0192 IF FIL$ = "" THEN PRINT D$ ; " " ; 0194 IF FIL$ <> "" AND TAL = 9 THEN PRINT FILE ( 1 ) " " ; 0195 IF FIL$ = "" AND TAL = 9 THEN PRINT " " ; 0196 NEXT 0198 PRINT 0200 PAGE = 0 0202 IF FIL$ <> "" THEN 0204 PRINT FILE ( 1 ) 0206 FOR I = 1 TO BRED * ( 1 + ( TAL = 9 ) ) 0208 PRINT FILE ( 1 ) "-" ; 0210 NEXT 0212 PRINT FILE ( 1 ) 0214 ENDIF 0216 LET HEAD = 0 BETING = ADR > UDA 0218 ENDPROC 0220 REM «so» .......«nul»- 0222 PROC PRGSTART 0224 RELEASE 0226 REM PL 1981: 7/3 DISKETTEPRG @.LBYTE 12/3 TALOPTION 14/9 INPUTJUSTERINGER«nul»6 0228 REM PL 1981: 4/10 OVERFØRT TIL DIABLO(LBYTE) 13/10 OVERSKR BYTE 16/10 LBYT6 ÆNDR REPR«nul»2 0230 REM PL 1981: 18/10 PAGEZEROSYMB 1/11 SMÅFEJL RETTET«nul»1 0231 IF HEAD THEN 0232 PRINT "* LBYT6 *" 0233 PRINT "* CORELAGERUDSKRIFT *" 0234 PRINT "* TAL/BYTE/TEXT *" 0235 PRINT "* JMP/JSR/PAGEZEROSYMB. *<10>" 0236 ENDIF 0238 REM ORIG REPR T.O.M. LBYT5:«nul» 0240 REM byte 0 = ü0 byte 33 = 33 byte 67 = C byte 97 = a«nul»B 0242 REM byte 17 = 17 byte 49 = 1 byte 95 = 95 byte 255 = p5 (p=25)«nul»«nul» 0244 REM ÆNDRET 16.10.81 VERSION LBYT6 SÅLEDES:«nul» 0246 REM BYTE=0,10,13 REPR VED `,^,_ OG NU KUN TAL OG BOGST FØR Æ SOM TEXT«nul»æ 0248 REM «nul»B 0250 LET TAL = 0 TAL = 9 TAL = 1 BETING = 0 0252 LET TAL = 0 0253 LET TAL = 9 0254 REM .........OPTION TAL= 0 / 1 / 9«nul» 0256 IF TAL = 9 THEN PRINT "BÅDE TAL & BYTE / BREDDE MAX 120/72" 0258 DIM NUL$ ( 1 ) 0260 PAGE = 132 0262 CLOSE 0264 DIM FIL$ ( 8 ) , L$ ( 170 ) , D$ ( 20 ) 0266 IF HEAD THEN INPUT "EVT UDKRIFT PÅ FIL " , FIL$ 0268 INPUT "BREDDE 132/80 ELLER 120/72 " , BRED , "<13><10>ADR I 1. KOLONNE " , ADR , "<13><10>ANTAL SIDER (MAX 45/25/20 VED 120/132) " , SIDE2 0270 IF TAL = 9 THEN LET BRED = BRED DIV 2 0272 LET KOLON = BRED DIV 5 TABUL = 5 LINIER = 64 - 44 * ( FIL$ = "" AND BRED < 81 ) 0274 LET PAGIN = LINIER * KOLON SIDE1 = ADR DIV LINIER / KOLON SIDE2 = SIDE1 + SIDE2 - 1 0276 IF FIL$ <> "" THEN OPEN FILE ( 1 , 11 ) FIL$ 0278 PRINT "<12>" 0280 PAGE = 0 0282 IF HEAD = 1 THEN 0284 DIM NUL$ ( 1 ) , T$ ( 1100 ) 0286 FOR I = 1 TO 9 0288 READ L$ 0290 LET L$ = L$ , " " T$ = T$ , L$ ( 3 , 122 ) 0292 NEXT 0294 PRINT T$ 0296 IF LEN ( T$ ) <> 9 * 120 THEN PRINT "<10><10>FEJL<10>" 0298 ENDIF 0300 CALL "GMEM" , 15 , UDA 0302 ENDPROC 0304 REM FLG ER LAVET AF FACILITET I PRG LDAT3 (SE DENNE)«nul» 0306 DATA " waitwintsmeswanswevesanssearclenbreastopstrtrech " 0308 DATA " " 0310 DATA " " 0312 DATA " noperanscldewope " 0314 DATA " setisetrsetcconbsetbputbmultdivigetrputrwtrareshtraninbloublinchfrshouspouchounlouenoutxouocsetpclosopenwzoninnmmoveintp " 0316 DATA " igiv ibre bidcdcbi ex: ret0ret1ret2*er " 0318 DATA " " 0320 DATA " nwccfrcacdelwsemwchacwanctstcprictousignsigccpascrenloenchenreenicatsetecomocallgotogtad " 0322 DATA " gtpo csmesiggwgenctop " 0324 DATA " " 0326 REM «so» PAGE ZERO UDSKRIFT«nul» 0328 PRINT "<12><14> PAGE ZERO" 0330 PAGE = 132 0332 TAB = 7 0334 REM PL 9.10.81 PRG START SKAL VÆRE KØRT!«nul» 0336 FOR J = 0 TO 63 0338 FOR I = 1 TO 4 0340 LET ADR = ( I - 1 ) * 64 + J 0342 PRINT " " ; 0344 CALL "GMEM" , ADR , D 0346 PRINT "!#### # (#####) #### ##### !" , ADR , CHR ( 32 + ( ADR > 32 AND ADR < 126 ) * ( ADR - 32 ) ) , ADR * 256 , T$ ( ADR * 4 + 1 , ADR * 4 + 4 ) , D ; 0348 NEXT 0350 LET L$ = " " , CHR ( J DIV 10 + 48 ) , CHR ( J MOD 10 + 48 ) , " " 0352 IF J = 0 OR J > 26 AND J < 33 OR J > 34 AND J MOD 2 = 1 OR J > 58 THEN 0354 LET L$ = L$ , CHR ( ( J + 64 ) DIV 10 + 48 + 39 * ( J > 35 ) ) , CHR ( ( J + 64 ) MOD 10 + 48 ) 0356 ELSE 0358 LET L$ = L$ , CHR ( J + 64 ) , "/" 0360 ENDIF 0362 FOR AAA = 8 TO 2 STEP - 6 0364 LET L$ = L$ , " " , CHR ( ( J + AAA ) DIV 10 + 99 + 7 * ( AAA = 2 ) ) , CHR ( ( J + AAA ) MOD 10 + 48 ) 0366 NEXT 0368 PRINT L$ 0370 NEXT
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] = 0x008c stack[1] = 0x0448 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 = 5.14756e-85 (0x00000001) Var# = 0x0001 Loop Top = 0x0000 To Val = 0 (0x00000000) Step Val = 0 (0x00000000) Var# = 0x0083 Loop Top = 0x0089 To Val = 23.4286 (0x42176db7) Step Val = 1 (0x41100000) Var# = 0x0087 Loop Top = 0x0091 To Val = 10559 (0x44293f00) Step Val = 1 (0x41100000) Var# = 0x008c Loop Top = 0x00bc To Val = 10943 (0x442abf00) Step Val = 64 (0x42400000) REPEAT-UNTIL stack pointer = 0x009b stack[0] = 0x02a7 stack[1] = 0x4120 stack[2] = 0x0000 stack[3] = 0x4110 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 0x00 HEAD 0x82 0xffff 0x00 PRGSTART 0x83 0xffff 0x00 SIDE 0x84 0xffff 0x00 SIDE1 0x85 0xffff 0x00 SIDE2 0x86 0xffff 0x00 NYSIDE 0x87 0xffff 0x00 ADR1 0x88 0xffff 0x00 PAGIN 0x89 0xffff 0x00 LINIER 0x8a 0xffff 0x02 FIL$ 0x8b 0xffff 0x02 L$ 0x8c 0xffff 0x00 ADR 0x8d 0xffff 0x00 KOLON 0x8e 0xffff 0x00 X 0x8f 0xffff 0x00 XX 0x90 0xffff 0x00 JUMP 0x91 0xffff 0x02 D$ 0x92 0xffff 0x02 NUL$ 0x93 0xffff 0x00 NO 0x94 0xffff 0x00 TAL 0x95 0xffff 0x00 X1 0x96 0xffff 0x00 X2 0x97 0xffff 0x02 T$ 0x98 0xffff 0x00 TT 0x99 0xffff 0x00 B1 0x9a 0xffff 0x00 B2 0x9b 0xffff 0x00 I 0x9c 0xffff 0x00 BRED 0x9d 0xffff 0x00 TABUL 0x9e 0xffff 0x00 UDA 0x9f 0xffff 0x00 J 0xa0 0xffff 0x00 D 0xa1 0xffff 0x00 LISY 0xa2 0xffff 0x00 LIAST 0xa3 0xffff 0x00 LIDT 0xa4 0xffff 0x00 BETING 0xa5 0xffff 0x00 CONNECFT 0xa6 0xffff 0x00 AAA 0xa7 0xffff 0x00 UNDT 0xa8 0xffff 0x00 FIR 0xa9 0xffff 0x00 UN
.magic = 0x4e32 .u_pas = 0x0b50 // Length of UPAS in words .u_das = 0x013a // Length of UDAS in words .u_dvs = 0x013a // 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 = 0x0084 // Page størrelse .u_tts = 0x000b // 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)