User Tools

Site Tools


basic_programs

Basic Programs

A collection of basic programs for running on new and old hardware. Feel free to add your own programs and platforms.

TOPS-20 Programs

The following programs run on TOPS-20 Basic (BASIC-10)

Multi

This is a simple multiplication table, altering line 5's data statement lets you change the length of the table. Give it a try, and put some crazy numbers in to see how it goes!

TOPS-20-simple_multiplication_table.txt
      00001 REM Multi by epl692
      00002 REM Change line 5 to alter the length of the table, try 24, or even 240.
      00005 DATA 12
      00100 READ T
      00110 A$ = "#### "
      00120 FOR X=1 TO T
      00130 FOR Y=1 TO 12
      00140 PRINT USING A$,X*Y;
      00150 IF Y=12 THEN  00160 ELSE 00170
      00160 PRINT ""
      00170 REM NOTHING HERE
      00180 NEXT Y
      00190 NEXT X
      00200 END

Here is a example of the output from a run

TOPS-20 simple multiplication table output
    MULTI.B20
    Sunday, October 16, 2016 08:58:02
 
    1    2    3    4    5    6    7    8    9   10   11   12
    2    4    6    8   10   12   14   16   18   20   22   24
    3    6    9   12   15   18   21   24   27   30   33   36
    4    8   12   16   20   24   28   32   36   40   44   48
    5   10   15   20   25   30   35   40   45   50   55   60
    6   12   18   24   30   36   42   48   54   60   66   72
    7   14   21   28   35   42   49   56   63   70   77   84
    8   16   24   32   40   48   56   64   72   80   88   96
    9   18   27   36   45   54   63   72   81   90   99  108
    10   20   30   40   50   60   70   80   90  100  110  120
    11   22   33   44   55   66   77   88   99  110  121  132
    12   24   36   48   60   72   84   96  108  120  132  144
 
 
    Compile time: 0.005 secs
    Run time: 0.026 secs            Elapsed time: 0:00:00

CDC6500 Programs

The following programs run on CDC6500 Basic

Multi

This is a simple multiplication table, altering line 5's data statement lets you change the length of the table. Give it a try, and put some crazy numbers in to see how it goes!

CDC6500-simple_multiplication_table.txt
      1 REM Multi by epl692
      2 REM Change line 5 to alter the length of the table, try 24, or even 240.
      5 DATA 12
      100 READ T
      110 A$ = "#### "
      120 FOR X=1 TO T
      130 FOR Y=1 TO 12
      140 PRINT USING A$,X*Y;
      150 IF Y=12 THEN  160 ELSE 170
      160 PRINT ""
      170 REM NOTHING HERE
      180 NEXT Y
      190 NEXT X
      200 END

Here is a example of the output from a run

CDC6500 simple multiplication table output
 17/01/06. 16.25.32.
PROGRAM   MULTI
 
   1    2    3    4    5    6    7    8    9   10   11   12
   2    4    6    8   10   12   14   16   18   20   22   24
   3    6    9   12   15   18   21   24   27   30   33   36
   4    8   12   16   20   24   28   32   36   40   44   48
   5   10   15   20   25   30   35   40   45   50   55   60
   6   12   18   24   30   36   42   48   54   60   66   72
   7   14   21   28   35   42   49   56   63   70   77   84
   8   16   24   32   40   48   56   64   72   80   88   96
   9   18   27   36   45   54   63   72   81   90   99  108
  10   20   30   40   50   60   70   80   90  100  110  120
  11   22   33   44   55   66   77   88   99  110  121  132
  12   24   36   48   60   72   84   96  108  120  132  144
 
SRU      0.366 UNTS.
 
RUN COMPLETE.

Jefferson Disk Cipher

Some Simple Encryption by tfurrows

CDC6500-jefferson_disk_cipher.txt
  001 REM Jefferson Disk Cipher, tfurrows@sdf.org
  100 REM Setup the disks
  101
  104 DIM A$(16)
  105 A$(1)="PDN HCAUBKQXEOZVRMGYJSFTWIL"
  106 A$(2)="ECSGFONUHMR YXDZPTLQAJBWVKI"
  107 A$(3)="TYFPZJS UNBWLXQREACDIOHMVKG"
  108 A$(4)="XHTNOZSFUJKREDQAC MGPBLYWIV"
  109 A$(5)="CPOMQZA TRFBGIWDLVHESJUKNXY"
  110 A$(6)="SXCOFRKJZVEG BAPWDNIHLQMUTY"
  111 A$(7)="H CLKIOZFSUPGREDBNVTYMAJWQX"
  112 A$(8)="NTAJULBWZYCPDSR HVMIFGKOXEQ"
  113 A$(9)="MHWNPZVLXCYJRKUSOEFADI TBGQ"
  114 A$(10)="UVEZHPSDNAYLJQTXWFBG CKIROM"
  115 A$(11)="ICNTHWZE LRMSQFGDAKXYJBOVUP"
  116 A$(12)="SEMB QTFLPIOZCUKYVRDWXJHGNA"
  117 A$(13)="RFTJWUZV HIYQOSLCMEXGDKPNAB"
  118 A$(14)="EM FNZPGUQROYVXCBAHTISWDLKJ"
  119 A$(15)="QPSGZDLNCIOUJK EXRAYHWFMTVB"
  120 A$(16)="GSFYRQBDI ALKXPVUTZJONEWCHM"
  121
  150 PRINT "Enter message to encode/decode"
  151 INPUT M$
  152
  200 REM Loop through message and set the jefferson disks
  205
  210 FOR I = 1 to LEN(M$)
  215 C=C+1
  220 IF C>16 THEN C=1
  225 L = POS(A$(C),SUBSTR(M$,I,1),1)
  230 IF L < LEN(A$(C)) THEN PRINT SUBSTR(A$(C),L+1,LEN(A$(C))-L);
  235 IF L > 1 THEN PRINT SUBSTR(A$(C),1,L) ELSE PRINT SUBSTR(A$(C),1,1)
  240 NEXT i

Here is a example of the output from a run

CDC6500 Jefferson Disk Cipher output
 17/01/06. 16.50.11.
PROGRAM   JDC
 
ENTER MESSAGE TO ENCODE/DECODE
? THE CAKE IS A LIE
WILPDN HCAUBKQXEOZVRMGYJSFT
MR YXDZPTLQAJBWVKIECSGFONUH
ACDIOHMVKGTYFPZJS UNBWLXQRE
MGPBLYWIVXHTNOZSFUJKREDQAC
POMQZA TRFBGIWDLVHESJUKNXYC
PWDNIHLQMUTYSXCOFRKJZVEG BA
IOZFSUPGREDBNVTYMAJWQXH CLK
QNTAJULBWZYCPDSR HVMIFGKOXE
TBGQMHWNPZVLXCYJRKUSOEFADI
ROMUVEZHPSDNAYLJQTXWFBG CKI
QFGDAKXYJBOVUPICNTHWZE LRMS
QTFLPIOZCUKYVRDWXJHGNASEMB
BRFTJWUZV HIYQOSLCMEXGDKPNA
FNZPGUQROYVXCBAHTISWDLKJEM
NCIOUJK EXRAYHWFMTVBQPSGZDL
 ALKXPVUTZJONEWCHMGSFYRQBDI
OZVRMGYJSFTWILPDN HCAUBKQXE
 
SRU      0.308 UNTS.
 
RUN COMPLETE. 

Try running the program with FURCYBLXIKMBNMDDX.

$Id: basic_programs.html,v 1.5 2017/01/07 01:00:12 epl692 Exp $ Basic Programs - traditional link (using RCS)

basic_programs.txt · Last modified: 2021/03/13 08:04 by hc9