====== 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|TOPS-20 Programs]]
    * [[#B10-MULTI|MULTI]]
  * [[#CDC6500|CDC6500 Programs]]
    * [[#6500-MULTI|MULTI]]
    * [[#6500-JDC|Jeferson Disk Cipher]]

===== 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!

    "
      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

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!

    "
      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

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

  "
  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&gt;16 THEN C=1
  225 L = POS(A$(C),SUBSTR(M$,I,1),1)
  230 IF L &lt; LEN(A$(C)) THEN PRINT SUBSTR(A$(C),L+1,LEN(A$(C))-L);
  235 IF L &gt; 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

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 $