Return to Home

Plan Ada - Babbage demo
this is a "working document" to be superceeded 'shortly'

Table of contents
     - What started it off From: Paul Laughton < paul.laughton@gmail.com >
     - What is a correct name for the lady often called "Ada Lovelace"? or "Ada Byron"?
     - For Babbage machine print format emails (including Tim R.) ask Ed Thelen
     - A possible control and printout format
     - Michael Albaugh' code will probably be used


What started it off From: Paul Laughton < paul.laughton@gmail.com > Date: Fri, Nov 20, 2015 2:41 pm
Subject: Ada Day, 1401 Stuff
From: Paul Laughton < paul.laughton@gmail.com >
Date: Fri, Nov 20, 2015 2:41 pm
To: 1401 Software Team <1401_software@computerhistory.org>, 1401 Restoration <1401_restoration@computerhistory.org>, 1401 Restoration Team <1401_team@computerhistory.org>, 1401 Demonstrations <1401_demonstrations@computerhistory.org>

CHM is having a special celebration of Ada Lovelace on Sunday, December 13. This will be an all day event. We are looking for ways to give 1401 Demos that sync up with event. Any ideas?

Stan is working on a 1403 portrait of Ada.

Ada, known at the Prophet of the Computer age, created the idea of subroutines and loops as part of her algorithm to calculate Bernoulli numbers. Maybe someone (Ken?) could come up 1401 program that demonstrates some aspect of Bernoulli numbers.

We will also be running Babbage demos all day long. Maybe someone could create a 1401 program emulates the Babbage calculations to the same precision?

Any other idea for an Ada/1401 tie in?

Paul

What is a correct name for the lady often called "Ada Lovelace"? or "Ada Byron"?
from
http://ed-thelen.org/bab/bab-Ada-King.html

What is a correct name for the lady often called
"Ada Lovelace"? or "Ada Byron"?

Her correct name was Ada King, Countess of Lovelace

Michael Williams, author of "A History of Computing Technology" and contributor to numerous publications such as "Computing Before Computers", Head Curator of the Computer History Museum, (and a proud Canadian) wishes to state:
You mention ":Ada Byron". How about calling here something else? He father was George Gordon, the Lord Byron (ie "Byron is a title not a name - although he would have signed his checks as simply "Byron") Thus she was actually Ada Gordon - and had a title something like "little daughter of lord Byron" (I can't rmember what it was actually.)

She late married William King, and thus became Ada King.

King was later enobled, and given the title "Earl of Lovelace", so she became Ada King, Countess of Lovelace.

Thus her name was never "Byron" neither was it ever "Lovelace"

(William, like George Gordon, would have signed his checks simply "Lovelace" - and today the Bishop of London - like any British Bishop - would simply sign his checks "London" or "Bath" or "New Castle" or where ever he is bishop of).

(sorry for the rant - this is a pet peeve of mine)


A possible control and printout format
- Ed Thelen - revised Nov 24, 2015

potential questions from viewers
  a) whats with all those nines ??
  b) why no decimal point ??
  c) 

proposed input,
    Switch options
      Sw A - program hangs until this switch is raised then lowered,
              when lowered, switches are read and processing continues
      Sw B -  Down Print Registers Only, Up Print Table formatted 
      Sw C -  Powers of three -   
      Sw D -  Current Babbage log Demo -
      Sw E - sin 0.0 to 22.5 in 1/4 degree steps -  
      Sw F -    currently default, powers of three ??
      Sw G - reserved, for read card inputs to be implemented "later"

if Switches C-G are not set, default program - powers of three ??
   Switch priority are C (highest) to G (lowest)



--------------------------------------------------------------------------------------------

Proposed output
   Input conditions
   
   The basic control of the program is from switches
     SW A 


  the user might be interested in seeing the 
     input conditions and the resulting register initialization

   Conventions, 
            a) digits 1-5  hold argument,  for printing & viewing convenience
            b) digit  6    is zeroed for overflow and printed blank
            c) digits 7-31 are computational
   Initial conditions stored internally (1401) as 
           a) 8 fields of values on a per step basis
                  (some external computing necessary for computing polynomials) 
           b) starting argument, (5 digit), increment step size (5 digit), 
           c) number of increments to perform,

as initial conditions are converted to register configuration
   the registers are shown forming into pipeline configurations

Columns
         1         2         3         4         5         6         7         8         9   
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234

  INITIAL REG      nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC0  DC1   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn   
                   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC2  DC3   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC4  DC5   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC6  DC7   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn 


  


   Initialized Registers - printed presentation

  REGISTERS SET UP FOR PIPE LINE OPERATION

  INITIAL REG      nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC0  DC1   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn   
                   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC2  DC3   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC4  DC5   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn  DC6  DC7   nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn 
nnnnn nnnnnnnnnnnnnnnnnnnnnnnnn                      print DC0


----------------------------------------------------------------------------------------


Proposed output
   Registers Only    
0        1         2         3         4         5         6         7         8         9     
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn          

(line feed)
NEGATIVE NUMBERS ARE IN 9S COMPLEMENT FORM,  -1 SHOWN AS 9999999999999999999999999999999


       31 N'S                 31 N'S               OPERATION             31 N'S 

  1ST HALF CYCLE   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC0+=DC1   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn   
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC2+=DC3   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC4+=DC5   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC6+=DC7   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 

  2ND HALF CYCLE   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC1+=DC2   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn   
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC3+=DC4   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC5+=DC6   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn                     print DC0            

  1ST HALF CYCLE   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC0+=DC1   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn   
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC2+=DC3   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC4+=DC5   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC6+=DC7   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 

  2ND HALF CYCLE   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC1+=DC2   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn   
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC3+=DC4   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
                   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  DC5+=DC6   nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn                     print DC0            





Proposed output
   Table format 

  x          f(x)

  nn.nnnnn   n.nnnnnnnnnnnn




Possible handling of trig w/o special modulo 6 equipment

  decimal fraction of degrees
  radians
  
  - seemingly nice fractions of degrees
         0.025 increments (  1.5 minutes )
         0.05  increments (  3   minutes )
         0.10  increments (  6   minutes )
         0.25  increments ( 15   minutes )
         0.50  increments ( 30   minutes )
       deg
        nn.nnnnn
    
   or reset the x every degree, and giving decimal minute fractions, 
          (fake the missing modulo 60 minutes)
       deg  min
        nn  nn.nnnnn

Michael Albaugh's code will probably be used < m.e.albaugh@gmail.com >
source code
               JOB   DIFFERENCE ENGINE SIMULATION
     * ASSEMBLE WITH COMMAND
     * AUTOCODER -L DESIM.LIS -O DESIM.OBJ -BV DESIM.AC
               CTL  6111
               ORG  333                                          
     REGLN     EQU  27     *  REGISTER LENGTH               
     REGLT     EQU  26     *  REGISTER LSD                              
     NOZN      DCW  0     *   SRC FOR ZONE TO CLEAR OVERFLOW    
     SETUP     CS   99                               
     CLR       CS   332                              
               CS                               
               B    BOL                              
     * FIRST DO ODD TO EVEN ADDS
     ADDLP     A    D7,D6                                      
               A              CHAIN TO ADD D5 TO D4      
               A              CHAIN TO ADD D3 TO D2      
               A              CHAIN TO ADD D1 TO D0       
     * NOW THE EVEN TO ODD ADDS
               A    D6,D5                                 
               A              CHAIN TO ADD D4 TO D3        
               A              CHAIN TO ADD D2 TO D1         
     * CLEAR ZONE BITS TO IGNORE OVERFLOW, FOR 10S COMPL.
     * APPARENTLY OVFL IS HARMLESS, SO JUST CLEAR ON RESULT
               MLZS NOZN,D0M                         
     *          MLZS NOZN,D2M
     *          MLZS NOZN,D4M
     *          MLZS NOZN,D6M
     *          MLZS NOZN,D1M
     *          MLZS NOZN,D3M
     *          MLZS NOZN,D5M
     *          MLZS NOZN,D7M
     *  ADD STARTING INDEX TO LEFT OF LINE IF NEW LINE
               BCE  BOL,205,                            
               B    COL                                  
     BOL       MLC  INDEX,205  SHOW INDEX OF FIRST RESULT ON LINE   
     *  CALC DESTINATION INDEX, MOVE RESULT TO PRINT BUFFER
     COL       MLNS INDEX,88                                     
               MLC  D0M&6,214&X1                                 
               MLC  @.@         PREPEND DECIMAL POINT        
               A    EPS,INDEX                      
               BCE  EOL,INDEX,0                   
               B    ADDLP                         
     EOL       W                                    
               CS   332                             
               CS                                    
               S    EPS,ROW                         
               BM   DONE,ROW                           
               B    ADDLP                                  
     DONE      CC   1                                       
               H                                               
               MLC  @049@,ROW                                  
               B    ADDLP                                      
     * VALUES BELOW WERE DERIVED FROM SETUP SHEET FOR INDEX 3003
     * COMMON LOG. THEY WERE RUN BACKWARD FROM THAT SET TO MAKE
     * FIRST LINE OF TABLE COMPLETE.
     D0        DCW  113943402306836769206505159                  
     D0M       EQU  D0-26                                         
     D2        DCW  999999997430225615124445365                    
     D2M       EQU  D2-26                                             
     D4        DCW  999999999999999909126518924                         
     D4M       EQU  D4-26                                                 
     D6        DCW  999999999999999999999991341                        
     D6M       EQU  D6-26                                               
     D1        DCW  000033405981459210881310630                      
     D1M       EQU  D1-26                                             
     D3        DCW  000000000000395216998178831                       
     D3M       EQU  D3-26                                          
     D5        DCW  000000000000000000027024145                    
     D5M       EQU  D5-26                                        
     D7        DCW  000000000000000000000000002                   
     D7M       EQU  D7-26                                             
     INDEX     DCW  3000   4LSD OF ARGUMENT                        
     EPS       DCW  1      ADDED TO INDEX FOR EACH RESULT            
     ROW       DCW  49                                           
               DCW  @.@                                           
               DCW  @049@                                        
               END  CLR                                         
Printout
3000 .1139434  .1139768  .1140102  .1140436  .1140770  .1141104  .1141437  .1141771  .1142105  .1142439 
3010 .1142773  .1143107  .1143441  .1143774  .1144108  .1144442  .1144775  .1145109  .1145443  .1145776 
3020 .1146110  .1146443  .1146777  .1147110  .1147444  .1147777  .1148111  .1148444  .1148777  .1149111
3030 .1149444  .1149777  .1150111  .1150444  .1150777  .1151110  .1151444  .1151777  .1152110  .1152443
3040 .1152776  .1153109  .1153442  .1153775  .1154108  .1154441  .1154774  .1155107  .1155439  .1155772
3050 .1156105  .1156438  .1156771  .1157103  .1157436  .1157769  .1158101  .1158434  .1158767  .1159099
3060 .1159432  .1159764  .1160097  .1160429  .1160762  .1161094  .1161427  .1161759  .1162091  .1162424
3070 .1162756  .1163088  .1163420  .1163753  .1164085  .1164417  .1164749  .1165081  .1165413  .1165745
3080 .1166077  .1166409  .1166741  .1167073  .1167405  .1167737  .1168069  .1168401  .1168733  .1169065
3090 .1169396  .1169728  .1170060  .1170392  .1170723  .1171055  .1171387  .1171718  .1172050  .1172381
3100 .1172713  .1173044  .1173376  .1173707  .1174039  .1174370  .1174702  .1175033  .1175364  .1175696
3110 .1176027  .1176358  .1176689  .1177021  .1177352  .1177683  .1178014  .1178345  .1178676  .1179007
3120 .1179338  .1179669  .1180000  .1180331  .1180662  .1180993  .1181324  .1181655  .1181986  .1182316
3130 .1182647  .1182978  .1183309  .1183639  .1183970  .1184301  .1184631  .1184962  .1185293  .1185623
3140 .1185954  .1186284  .1186615  .1186945  .1187276  .1187606  .1187936  .1188267  .1188597  .1188927
3150 .1189258  .1189588  .1189918  .1190248  .1190578  .1190909  .1191239  .1191569  .1191899  .1192229
3160 .1192559  .1192889  .1193219  .1193549  .1193879  .1194209  .1194539  .1194868  .1195198  .1195528
3170 .1195858  .1196187  .1196517  .1196847  .1197177  .1197506  .1197836  .1198165  .1198495  .1198825
3180 .1199154  .1199484  .1199813  .1200143  .1200472  .1200801  .1201131  .1201460  .1201789  .1202119
3190 .1202448  .1202777  .1203106  .1203436  .1203765  .1204094  .1204423  .1204752  .1205081  .1205410
3200 .1205739  .1206068  .1206397  .1206726  .1207055  .1207384  .1207713  .1208042  .1208371  .1208699
...