Dump of existing HTML tutorials into docuwiki format by the HTML::WikiConverter::DokuWiki Perl module. Useful for moving things from HTML tutes to the wiki at the SDF wiki. Convert script and source HTML also provided.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tutes-dump/dump/basic_programs.html.docuwiki

111 lines
4.7 KiB

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