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

⟦e3a552643⟧ COMAL_SAVE

    Length: 1802 (0x70a)
    Types: COMAL_SAVE
    Notes: LIB::SINCOS, SINCOS  
    Names: »SINCOS«

Derivation

└─⟦43f2224a3⟧ Bits:30007878 (Demostrations diskette af 1981 Frederikshavn Gymnasium Område : LIB Nøgle : 1)
    └─⟦this⟧ »LIB::SINCOS« 

UPAS Segment

SAVE filename: "SINCOS"

 0010 REM  PROGRAM NAME : SINCOS   77.08.10 «nul»«nul»
 0020 ON ERR THEN EXEC ERROR
 0030 REM  PROGRAMMET VISER, HVORDAN MAN KAN POSITIONERE CURSOREN«nul»
 0040 REM  PAA EN SKAERMTERMINAL AF TYPEN RC823.«nul»T
 0050 DIM NAME$ ( 10 )
 0060 REM  CURSOREN ADRESSERES VED AT MAN SKRIVER TRE ASCII«nul»
 0070 REM  KARAKTERER PAA TERMINALEN : 6,X,Y   , HVOR KARAKTEREN«nul»«nul»
 0080 REM  MED TEGNVAERDI '6' ANGIVER, AT DE TO NAESTE KARAKTERER«nul»
 0090 REM  SKAL FORTOLKES SOM EN X- OG EN Y-ADRESSE.«nul»E
 0100 REM  **** BEMAERK *****«nul»
 0110 REM  HVIS TERMINALEN SIDDER SOM KONSOL (NR 32), SKAL«nul»K
 0120 REM  KARAKTEREN '6' ERSTATTES AF KARAKTEREN '134'«nul»
 0130 REM  ****         *****«nul»
 0140 PROC XYPOS
 0150   PRINT "<134>" ; XY$ ( X ) ; XY$ ( Y ) ; TEXT$ ;
 0160 ENDPROC
 0170 DIM XY$ ( 80 )
 0180 LET XY$ = "`abcdefghij"
 0190 LET XY$ = XY$ , "klmnopqrst"
 0200 LET XY$ = XY$ , "uvwxyzæøå~"
 0210 LET XY$ = XY$ , "<127>"
 0220 LET XY$ = XY$ , "@ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ^_"
 0230 REM  LAST CHARACTER IN PRECEDING LINE IS <95>«nul»
 0240 LET XY$ = XY$ , " !<34>#$%&'()*+,-./"
 0250 DIM TEXT$ ( 20 )
 0260 PAGE = 0
 0270 PRINT "<140> 1^ Y" ;
 0280 LET Y = 18 X = 7 TEXT$ = "* : Y=SIN(X)"
 0290 EXEC XYPOS
 0300 LET Y = 20 X = 7 TEXT$ = "+ : Y=COS(X)"
 0310 EXEC XYPOS
 0320 LET TEXT$ = "!" X = 3
 0330 FOR Y = 2 TO 23
 0340   EXEC XYPOS
 0350 NEXT 
 0360 LET TEXT$ = "-1" X = 1 Y = 23
 0370 EXEC XYPOS
 0380 LET TEXT$ = " 0" X = 1 Y = 12
 0390 PRINT
 0400 EXEC XYPOS
 0410 FOR X = 4 TO 74
 0420   PRINT "-" ;
 0430 NEXT 
 0440 PRINT "> X"
 0450 LET Y = 13 X = 37 TEXT$ = "180"
 0460 EXEC XYPOS
 0470 LET X = 73 TEXT$ = "360"
 0480 EXEC XYPOS
 0490 DEF FNG ( VAR98 ) = [LVAR]  * SYS ( 14 ) / 180
 0500 FOR GRAD = 0 TO 360 STEP 20
 0510   LET Y = 12 - 11 * SIN ( FNG ( GRAD ) )
 0520   LET X = GRAD / 5 + 3
 0530   LET TEXT$ = "*"
 0540   EXEC XYPOS
 0550   LET Y = 12 - 11 * COS ( FNG ( GRAD ) )
 0560   LET TEXT$ = "+"
 0570   EXEC XYPOS
 0580 NEXT 
 0590 DELAY = 2
 0600 GOTO 0270
 0610 CHAIN "LOOKUP"

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 0xffff 0x00 
    0x81 0xffff 0x00 ERROR
    0x82 0xffff 0x02 NAME$
    0x83 0xffff 0x00 XYPOS
    0x84 0xffff 0x02 XY$
    0x85 0xffff 0x00 X
    0x86 0xffff 0x00 Y
    0x87 0xffff 0x02 TEXT$
    0x88 0xffff 0x00 GRAD

Wrapper

.magic = 0x5356
.u_pas = 0x02e1  // Length of UPAS in words
.u_das = 0x0095  // Length of UDAS in words
.u_dvs = 0x0095  // 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 = 0x0048  // 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)