Shop OBEX P1 Docs P2 Docs Learn Events
Dr. Jim videos - a conversation about machine intelligence - Page 4 — Parallax Forums

Dr. Jim videos - a conversation about machine intelligence

124

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2009-08-02 02:53
    localroger said...
    Yeah Phil, but you werent' selling people shares in your eventual success on the Netflix thing.
    Oh, geez. I'm so sorry. You didn't get a prospectus? The contest may have just ended, but it's not too late to get in on the, uh ... top floor. Yeah, that's it: top floor! That's the ticket! smile.gif

    -Phil
  • RossHRossH Posts: 5,512
    edited 2009-08-02 03:04
    Rsadeika said...
    As far as I can tell we have had a lot of posturing, but nobody has shown me any real proof, there own personal theories, and beliefs, but no proof.
    Ray,

    A very neat summation. We have had a lot of posturing from Mark (in these forums) and Dr Jim (in his videos), but no real proof. We have heard their own personal theories and beliefs - but again, no proof.

    To quote Carl Sagan (amongst others) "Extraordinary claims require extraordinary evidence". Mark and Dr Jim are the ones making the extraordinary claims here.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • RossHRossH Posts: 5,512
    edited 2009-08-02 03:49
    @Tracey Allen,

    Thanks for doing this research - the articles you have pointed us to contain more real information than anything Mark or Dr Jim have yet given us.
    James O. Gouge, Sally B. Gouge, and Peter Krueger said...
    In the junctives technology, the first step is the extraction and encoding of image pixel-pattern components to form determinants that are then fed into a synaptic generator (see Fig. 1). In a manner similar to the way the human brain forms synapses or junctions during learning, the machine also forms synapses as it is taught to recognize features and objects. This formation is displayed on the computer screen as a report of the number of new synapses formed based on the training on the region-of-interest window in the current image. These synapses become a part of the synaptic network that makes up the basal interconnective paths to the knowledge elements or "knixels." The knixels become the basic element learned by the computer and are taken from the "knixel pool" and assigned via the synapses generated as a basis for their interconnection. Knixels can be associated together to form themes. These can be linked to external databases.

    On the basis of this, and also of the patent extracts you quoted, one would have to conclude that Dr Jim's solution for machine intelligence is based on a fairly traditional neural network model - but renamed to appear sufficently novel to justify a patent application.

    To those who have played with neural networks in the past, it will come as no surprise to find yet another person trying to make the leap from visual processing to cognitive processing - it's a well trodden path. All attempts to do this have so far been unsuccessful (at least to my knowledge - I'll admit to being a few decades out of date now, but then this approach was already a few decades old when Dr Jim published his article).

    While Dr Jim is not the only one who still believes that this is a valid approach (I do myself) it simply doesn't work on the scale Dr Jim is trying to achieve it - a couple of Propeller chips and 16Mb or RAM is MANY orders of magnitude too small for the task.

    Ross.

    P.S. I agree about "knixels" - what a neat buzzword!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • RaymanRayman Posts: 14,845
    edited 2009-08-02 05:21
    Just to throw in my wrench:

    If I were to look into AI (and who knows), I think I'd use my video card!

    My video card has >100 cores, runs at about 1 GHz, and has tons of memory!

    I think GPU with CUDA is the easy way to go for AI...

    But, looks like someone's already doing something like this:

    http://code.google.com/p/lissom/

    http://www.nvidia.com/object/cuda_app_tesla.html

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • RossHRossH Posts: 5,512
    edited 2009-08-02 05:53
    @Rayman,

    Nice link. NOW we're talking!

    Given that there are ~100 billion neurons in the brain, you'd probably only need a million or so of those GPUs to be able to simulate it - if you could figure out how to connect them all together (there are 100 TRILLION synaptic connections between these 100 billion neurons).

    But one single GPU might be enough to simulate an insect brain, given that they have only about 100,000 neurons.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-08-02 06:07
    GPU power seems to double every year or so

    ~100 billion = 25 * 2^32, a bit less than 2^37

    1M gpu ~= 2^20 GPU's of current generation

    --> in approx 20 years (if current trends continue) a GPU may be able to simulate a human brain
    RossH said...
    @Rayman,

    Nice link. NOW we're talking!

    Given that there are ~100 billion neurons in the brain, you'd probably only need a million or so of those GPUs to be able to simulate it - if you could figure out how to connect them all together (there are 100 TRILLION synaptic connections between these 100 billion neurons).

    But one single GPU might be enough to simulate an insect brain, given that they have only about 100,000 neurons.

    Ross.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheus & Mem+ Advanced dual Propeller SBC with XMM and 256 Color VGA - PCB, kit, A&T available!
    www.mikronauts.com - my site 6.250MHz custom Crystals for running Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • RossHRossH Posts: 5,512
    edited 2009-08-02 06:35
    Bill Henning said...
    GPU power seems to double every year or so

    ~100 billion = 25 * 2^32, a bit less than 2^37

    1M gpu ~= 2^20 GPU's of current generation

    --> in approx 20 years (if current trends continue) a GPU may be able to simulate a human brain


    And we'll know we're there when you try to install Windows 2029 on your computer, and it responds with "Not on your life, meatball!"

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina

    Post Edited (RossH) : 8/2/2009 9:25:41 AM GMT
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-08-02 11:09
    A few days ago I reposted some specifications that mallread had previously posted. I had already commented on this in a previous thread. No response to either. They are not doing anything special with the hardware, especially when they can only achieve half the throughput from hub to cog that a number of us are already achieving.

    Mainframes: Mallread said there were only a few (Univac, IBM & CDC) but in fact there were many... including ICL,·Sperry, Unisys (I think from a merger of Univac and ?),·Fujitsu. It was certainly my understanding that the DEC VAX was represented as a mainframe even though the mini I worked on sold against it. I also believe Burroughs made a mainframe.

    And just to correct localrogers' interpretation about Windows NT, 2000 etc. They do not have their roots in mainframe operating systems. We are still waiting for Windows to remove the missunderstanding of mainframe operating systems used by·the original writers of Windows - and it's IBM predecessor variant - was it called OS/2???

    Just to offer an olive branch... In the 90's it was said that based on current computer increases in performance, it would take >100 years to map the human genome. However, in 5-10 years it was mapped using a new algorithm. So indeed, mallred and Dr Jim could be onto something.

    However, given their refusal to answer anything technical, I remain skeptical and believe they are "gouging" (pun intended)·the market with their overpriced product.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • StefanL38StefanL38 Posts: 2,292
    edited 2009-08-02 11:54
    Hello Cluso,

    I second what you posted above. Especially
    Cluso said...

    However, given their refusal to answer anything technical, I remain skeptical and believe they are "gouging" (pun intended) the market with their overpriced product.

    best regards

    Stefan

    Post Edited (StefanL38) : 8/2/2009 3:07:21 PM GMT
  • Beanie2kBeanie2k Posts: 83
    edited 2009-08-02 13:04
    Cluso

    You left out the Xerox Sigma 7 and the Honeywell CP-V. The 2 mainframes at the University I went to. (Yes it was THAT long ago tongue.gif .)
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-08-03 03:47
    Beanie2K - yes forgot about Honeywell. I did't know Xerox had mainframes but it doesn't surprise me given their other work in Xeorx Park. My wife and I were trying to recall the other brands of the 70's & 80's. My wife worked on ICL mainframes.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2009-08-03 04:42
    Don't fprget Amdahl who, in fairness to Cluso99, was acquired by Fujitsu, which he has already mentioned.

    Oddly enough, my first IBM-compatible PC was a Sperry. At 8MHz it was smokin'!

    -Phil

    Post Edited (Phil Pilgrim (PhiPi)) : 8/3/2009 4:47:46 AM GMT
  • LeonLeon Posts: 7,620
    edited 2009-08-03 10:05
    Xerox actually bought Sigma and renamed it as Xerox Data Systems. They paid far more than the company was worth, not that it mattered as they were making vast profits from their photocopier business. I was working for Xerox-Research (UK) at the time, and used an XDS Sigma-7 in the USA via a terminal. It was a very good machine with some unusual software on it, like SNOBOL.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-08-03 11:47
    Amdahl - yes I recall the name. I know there were others.

    Another question... How old is Dr Jim ??? I figure the Apollo Telemetry code must have been written at least by 1967 and surely NASA would have required a university qualification plus some years experience. So my estimate is that Dr Jim must be 65++

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Nick MuellerNick Mueller Posts: 815
    edited 2009-08-03 12:01
    If you watch this series about the LEM on YouTube, you'll get some insights about "software engineering" at that time. smile.gif
    < (part 1 of 5, all worth watching!)


    Nick

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Never use force, just go for a bigger hammer!

    The DIY Digital-Readout for mills, lathes etc.:
    YADRO
  • heaterheater Posts: 3,370
    edited 2009-08-03 12:50
    Nick: If you really want to get into software engineering circa 1968 you can get all the original Apollo command module software from the Virtual AGC project web site www.ibiblio.org/apollo/download.html#Source_Highlighting complete with an AGC assembler simulator and a lot more.

    For example here is the download telemetry program as designed by Dr Jim I guess:

    I like the comment about totally rewriting it to save 150 bytes of memory !

    Now to get that AGC simulator compiled with Catalina and running on a Prop....

    # Copyright:    Public domain.
    # Filename:    DOWN_TELEMETRY_PROGRAM.agc
    # Purpose:    Part of the source code for Colossus, build 249.
    #        It is part of the source code for the Command Module's (CM)
    #        Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9.
    # Assembler:    yaYUL
    # Reference:    Starts on p. 1075 of 1701.pdf.
    # Contact:    Ron Burkey <info@sandroid.org>.
    # Website:    www.ibiblio.org/apollo.
    # Mod history:    08/28/04 RSB.    Adapted from corresponding Luminary 131 file.
    #
    # The contents of the "Colossus249" files, in general, are transcribed 
    # from a scanned document obtained from MIT's website,
    # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf.  Notations on this
    # document read, in part:
    #
    #    Assemble revision 249 of AGC program Colossus by NASA
    #    2021111-041.  October 28, 1968.  
    #
    #    This AGC program shall also be referred to as
    #                Colossus 1A
    #
    #    Prepared by
    #            Massachussets Institute of Technology
    #            75 Cambridge Parkway
    #            Cambridge, Massachusetts
    #    under NASA contract NAS 9-4065.
    #
    # Refer directly to the online document mentioned above for further information.
    # Please report any errors (relative to 1701.pdf) to info@sandroid.org.
    #
    # In some cases, where the source code for Luminary 131 overlaps that of 
    # Colossus 249, this code is instead copied from the corresponding Luminary 131
    # source file, and then is proofed to incorporate any changes.
    
    # Page 1075
    # PROGRAM NAME -- DOWN TELEMETRY PROGRAM
    # MOD NO. -- 0        TO COMPLETELY REWRITE THE DOWN TELEMETRY PROGRAM AND DOWNLINK ERASABLE DUMP PROGRAM FOR THE
    #            PURPOSE OF SAVING APPROXIMATELY 150 WORDS OF CORE STORAGE.
    #            THIS CHANGE REQUIRES AN ENTIRELY NEW METHOD OF SPECIFYING DOWNLINK LISTS.  REFER TO DOWNLINK
    #            LISTS LOG SECTION FOR MORE DETAILS.  HOWEVER THIS CHANGES WILL NOT AFFECT THE GROUND PROCESSING
    #            OF DOWN TELEMETRY DATA.
    # MOD BY -- KILROY, SMITH, DEWITT
    # DATE -- 02 OCT 67
    # AUTHORS -- KILROY, SMITH, DWWITT, DEWOLF, FAGIN
    # LOG SECTION -- DOWN-TELEMETRY PROGRAM
    #
    # FUNCTIONAL DESCRIPTION -- THIS ROUTINE IS INITIATED BY TELEMETRY END
    #    PULSE FROM THE DOWNLINK TELEMETRY CONVERTER.  THIS PULSE OCCURS
    #    AT 50 TIMES PER SEC (EVERY 20 MS) THEREFORE DODOWNTM IS
    #    EXECUTED AT THESE RATES.  THIS ROUTINE SELECTS THE APPROPRIATE
    #    AGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT
    #    CHANNELS 34 AND 35.  THE INFORMATION IS THEN GATED OUT FROM THE
    #    LGC IN SERIAL FASHION.
    #
    #    THIS PROGRAM IS CODED FOR A 2 SECOND DOWNLIST.  SINCE DOWNRUPTS
    #    OCCUR EVERY 20 MS AND 2 AGC COMPUTER WORDS CAN BE PLACED IN
    #    CHANNELS 34 AND 35 DURING EACH DOWNRUPT THE PROGRAM IS CAPABLE
    #     OF SENDING 200 AGC WORDS EVERY 2 SECONDS.
    #
    # CALLING SEQUENCE -- NONE
    #    PROGRAM IS ENTERED VIA TCF DODOWNTM WHICH IS EXECUTED AS A
    #    RESULT OF A DOWNRUPT.  CONTROL IS RETURNED VIA TCF RESUME WHICH
    #    IN EFFECT IS A RESUME.
    #
    # SUBROUTINES CALLED -- NONE
    #
    # NORMAL EXIT MODE -- TCF RESUME
    #
    # ALARM OR ABORT EXIT MODE -- NONE
    #
    # RESTART PROTECTION:
    #    ON A FRESH START AND RESTART THE `STARTSUB' SUBROUTINE WILL INITIALIZE THE DOWNLIST POINTER (ACTUALLY
    #    DNTMGOTO) TO THE BEGINNING OF THE CURRENT DOWNLIST (I.E., CURRENT CONTENTS OF DNLSTADR).  THIS HAS THE
    #    EFFECT OF IGNORING THE REMAINDER OF THE DOWNLIST WHICH THE DOWN-TELEMETRY PROGRAM WAS WORKING ON WHEN
    #    THE RESTART (OR FRESH START) OCCURRED AND RESUME DOWN TELEMETRY FROM THE BEGINNING OF THE CURRENT
    #    DOWNLIST.
    #
    #    ALSO OF INTEREST IS THE FACT THAT ON A RESTART THE AGC WILL ZERO DOWNLINK CHANNELS 13, 34 AND 35.
    #
    # DOWNLINK LIST SELECTION:
    #    THE APPROPRIATE DOWNLINK LISTS ARE SELECTED BY THE FOLLOWING:
    #    1.    FRESH START
    #    2.    V37EXXE WHERE XX = THE MAJOR MODE BEING SELECTED.
    #    3.    UPDATE PROGRAM (P27)
    #    4.    NON-V37 SELECTABLE TYPE PROGRAMS (E.G., AGS INITIALIZATION (SUNDANCE, LUMINARY) AND P61-P62
    #        TRANSITIONS (COLOSSUS) ETC.).
    #
    # DOWNLINK LIST RULES AND LIMITATIONS:
    #    READ SECTION(S) WHICH FOLLOW `DEBRIS' WRITEUP.
    #
    # OUTPUT -- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS (I.E., 200 LGC
    #    COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK.
    #
    # ERASABLE INITIALIZATION REQUIRED -- NONE
    #    `DNTMGOTO' AND `DNLSTADR' ARE INITIALIZED BY THE FRESH START PROGRAM.
    #
    # DEBRIS (ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM) --
    #    LDATALST, DNTMBUFF TO DNTMBUFF +21D, TMINDEX, DNQ.
    # Page 1076
    # (No source on this page of the original assembly listing.)
    
    # Page 1077
    # DODOWNTM IS ENTERED EVERY 20 MS BY AN INTERRUPT TRIGGERED BY THE
    # RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
    #
    # NOTES REGARDING DOWNLINK LISTS ASSOCIATED WITH THIS PROGRAM:
    # 1.    DOWNLISTS.  DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE
    #    DOWN-TELEMETRY PROGRAM.  THIS IS DONE FOR EASE OF CODING, FASTER
    #    EXECUTION.
    # 2.    EACH DOWNLINK LIST CONSISTES OF A CONTROL LIST AND A NUMBER OF
    #    SUBLISTS.
    # 3.    A SUBLIST REFERS TO A SNAPSHOT OR DATA COMMON TO THE SAME OR OTHER
    #    DOWNLINK LISTS.  ANY SUBLIST CONTAINING COMMON DATA NEEDS TO BE
    #    CODED ONLY ONCE FOR THE APPLICABLE DOWNLINK LISTS.
    # 4.    SNAPSHOT SUBLISTS REFER SPECIFICALLY TO HOMOGENEOUS DATA WHICH MUST BE
    #    SAVED IN A BUFFER DURING ONE DOWNRUPT.
    # 5.    THE 1DNADR FOR THE 1ST WORD OF SNAPSHOT DATA IS FOUND AT THE END
    #    OF EACH SNAPSHOT SUBLIST, SINCE THE PROGRAM CODING SENDS THIS DP WORD
    #    IMMEDIATELY AFTER STORING THE OTHERS IN THE SNAPSHOT BUFFER.
    # 6.    ALL LISTS ARE COMBINATIONS OF CODED ERASABLE ADDRESS CONSTANTS
    #    CREATED FOR THE DOWNLIST PROGRAM.
    #    A.    1DNADR            1-WORD DOWNLIST ADDRESS.
    #        SAME AS ECADR, BUT USED WHEN THE WORD ADDRESSED IS THE LEFT
    #        HALF OF A DOUBLE-PRECISION WORD FOR DOWN TELEMETRY.
    #    B.    2DNADR - 6DNADR        N-WORD DOWNLIST ADDRESS, N = 2 - 6.
    #        SAME AS 1DNADR, BUT WTIH THE 4 UNUSED BITS OF THE ECADR FORMAT
    #        FILLED IN WITH 0001-0101.  USED TO POINT TO A LIST OF N DOUBLE-
    #        PRECISION WORDS, STORED CONSECUTIVELY, FOR DOWN TELEMETRY.
    #    C.    DNCHAN            DOWNLIST CHANNEL ADDRESS.
    #        SAME AS 1DNADR, BUT WITH PREFIX BITS 0111.  USED TO POINT TO
    #        A PAIR OF CHANNELS FOR DOWN TELEMETRY.
    #    D.    DNPTR            DOWN-TELEMETRY SUBLIST POINTER.
    #        SAME AS CAF BUT TAGGES AS A CONSTANT.  USED IN CONTROL LIST TO POINT TO A SUBLIST.
    #        CAUTION --- A DNPTR CANNOT BE USED IN A SUBLIST.
    # 7.    THE WORD ORDER CODE IS SET TO ZERO AT THE BEGINNING OF EACH DOWNLIST (I.E., CONTROL LIST) AND WHEN
    #    A `1DNADR TIME2' IS DETECTED IN THE CONTROL LIST (ONLY).
    # 8.    IN THE SNAPSHOT SUBLIST ONLY, THE DNADR'S CANNOT POINT TO THE FIRST WORD OF ANY EBANK.
    #
    # DOWNLIST LIST RESTRICTIONS:
    # (THE FOLLOWING POINTS MAY BE LISTED ELSEWHERE BUT ARE LISTED HERE SO IT IS CLEAR THAT THESE THINGS CANNOT BE
    # DONE)
    # 1.    SNAPSHOT DOWNLIST:
    #    (A) CANNOT CONTAIN THE FOLLOWING ECADRS (I.E., 1DNADR'S): Q, 400, 1000, 1400, 2000, 2400, 3000, 3400.
    #    (B) CAN CONTAIN ONLY 1DNADR'S
    # 2.    ALL DOWNLINKED DATA (EXCEPT CHANNELS) IS PICKED UP BY A DCA SO DOWNLINK LISTS CANNOT CONTAIN THE
    #    EQUIVALENT OF THE FOLLOWING ECADRS (I.E., IDNADRS): 377, 777, 1377, 1777, 2377, 2777, 3377, 3777.
    #     (NOTE: TE TERM `EQUIVALENT' MEANT THAT THE IDNADR TO 6DNADR WILL BE PROCESSED LIKE 1 TO 6 ECADRS)
    # 3.    CONTROL LISTS AND SUBLISTS CANNOT HAVE ENTRIES = OCTAL 00000 OR OCTAL 77777
    # Page 1078
    # 4.    THE `1DNADR TIME2' WHICH WILL CAUSE THE DOWNLINT PROGRAM TO SET THE WORDER CODE TO 3 MUST APPEAR IN THE
    #    CONTROL SECTION OF THE DOWNLIST.
    # 5.    `DNCHAN 0' CANNOT BE USED.
    # 6.    `DNPTR 0' CANNOT BE USED.
    # 7.    DNPTR CANNOT APPEAR IN A SUBLIST.
    #
    # EBANK SETTINGS
    #    IN THE PROCESS OF SETTING THE EBANK (WHEN PICKING UP DOWNLINK DATA) THE DOWN TELEMETRY PROGRAM PUTS
    #    `GARBAGE' INTO BITS15-12 OF EBANK.  HUGH BLAIR-SMITH WARNS US THAT BITS15-12 OF EBANK MAY BECOME
    #    SIGNIFICANT SOMEDAY IN THE FUTURE.  IF/WHEN THAT HAPPENS, THE PROGRAM SHOULD INSURE (BY MASKING ETC.)
    #    THAT BITS 15-12 OF EBANK ARE ZERO.
    #
    # INITIALIZATION REQUIRED -- TO INTERRUPT CURRENT LIST AND START A NEW ONE.
    #    1. ADRES OF DOWNLINK LIST INTO DNLSTADR
    #    2. NEGONE INTO SUBLIST
    #    3. NEGONE INTO DNECADR
    
            BANK    22
            SETLOC    DOWNTELM
            BANK
    
            EBANK=    DNTMBUFF
            
            COUNT    05/DPROG
            
    DODOWNTM    TS    BANKRUPT
            EXTEND
            QXCH    QRUPT        # SAVE Q
            CA    BIT7        # SET WORD ORDER CODE TO 1.  EXCEPTION: AT
            EXTEND            # THE BEGINNING OF EACH LIST THE WORD
            WOR    CHAN13        # CODE WILL BE SET BACK TO 0.
            TC    DNTMGOTO    # GOTO APPROPRIATE PHASE OF PROGRAM
    
    DNPHASE1    CA    NEGONE        # INITIALIZE ALL CONTROL WORDS
            TS    SUBLIST        # WORDS TO MINUS ONE
            TS    DNECADR
            CA    LDNPHAS2    # SET DNTMGOTO = 0 ALL SUSEQUENT DOWRUPTS
            TS    DNTMGOTO    # GO TO DNPHASE2
            TCF    NEWLIST
    DNPHASE2    CCS    DNECADR        # SENDING OF DATA IN PROGRESS
    DODNADR        TC    FETCH2WD    # YES -- THEN FETCH THE NEXT 2 SP WORDS
    MINTIME2    -1DNADR    TIME2        # NEGATIVE OF TIME2 1DNADR
            TCF    +1        # (ECADR OF 3776 + 74001 = 77777)
    
            CCS    SUBLIST        # IS THE SUBLIST IN CONTROL
    # Page 1079
            TCF    NEXTINSL    # YES
    DNADRDCR    OCT    74001        # DNADR COUNT AND ECADR DECREMENTER
    
    CHKLIST        CA    CTLIST
            EXTEND
            BZMF    NEWLIST        # IT WILL BE NEGATIVE AT END OF LIST
            TCF    NEXTINCL
    NEWLIST        INDEX    DNLSTCOD
            CA    DNTABLE        # INITIALIZE CTLIST WITH
            TS    CTLIST        #    STARTING ADDRESS OF NEW LIST
            CS    DNLSTCOD
            TCF    SENDID +3
    NEXTINCL    INDEX    CTLIST
            CA    0
            CCS    A
            INCR    CTLIST        # SET POINTER TO PICK UP NEXT CTLIST WORD
            TCF    +4        # ON NEXT ENTRY TO PROG.  (A SHOULD NOT =0)
            XCH    CTLIST        # SET CTLIST TO NEGATIVE AND PLACE(CODING)
            COM            # UNCOMPLEMENTED DNADR INTO A.    (FOR LA)
            XCH    CTLIST        #                                 (ST IN )
        +4    INCR    A        #                                 (CTLIST)
             TS    DNECADR        # SAVE DNADR
            AD    MINTIME2    # TEST FOR TIME2 (NEG. OF ECADR)
            CCS    A
            TCF    SETWO +1    # DON'T SET WORD ORDER CODE
    MINB1314    OCT    47777        # MINUS BIT 13 AND 14 (CAN'T GET HERE)
            TCF    SETWO +1    # DON'T SET WORD ORDER CODE
    SETWO        TC    WOZERO        # GO SET WORD ORDER CODE TO ZERO.
         +1    CA    DNECADR        # RELOAD A WITH THE DNADR.
         +2    AD    MINB1314    # IS THIS A REGULAR DNADR?
             EXTEND
            BZMF    FETCH2WD    # YES.  (A MUST NEVER BE ZERO)
            AD    MINB12        # NO.  IS IT A POINTER (DNPTR) OR A
            EXTEND            #    CHANNEL(DNCHAN)
            BZMF    DODNPTR        # IT'S A POINTER.  (A MUST NEVER BE ZERO)
    
    DODNCHAN    TC    6        # (EXECUTED AS EXTEND)  IT'S A CHANNEL
            INDEX    DNECADR
            INDEX    0 -4000        # (EXECUTED AS READ)
            TS    L
            TC    6        # (EXECUTED AS EXTEND)
            INDEX    DNECADR
            INDEX    0 -4001        # (EXECUTED AS READ)
            TS    DNECADR        # SET DNECADR
            CA    NEGONE        #    TO MINUS
            XCH    DNECADR        #        WHILE PRESERVING A.
            TCF    DNTMEXIT    # GO SEND CHANNELS
    
    WOZERO        CS    BIT7
            EXTEND
    # Page 1080
            WAND    CHAN13        # SET WORD ORDER CODE TO ZERO
            TC    Q        # RETURN TO CALLER
    
    DODNPTR        INDEX    DNECADR        # DNECADR CONTAINS ADRES OF SUBLIST
            0    0        # CLEAR AND ADD LIST ENTRY INTO A.
            CCS    A        # IS THIS A SNAPSHOT SUBLIST
            CA    DNECADR        # NO, IT IS A REGULAR SUBLIST.
            TCF    DOSUBLST    # A MUST NOT BE ZERO.
    
            XCH    DNECADR        # YES.  IT IS A SNAPSHOT SUBLIST.
            TS    SUBLIST        # C(DNECADR) INTO SUBLIST
            CAF    ZERO        #    A    INTO     A
            XCH    TMINDEX        # (NOTE:  TMINDEX = DNECADR)
    
    # THE FOLLOWING CODING (FROM SNAPLOOP TO SNAPEND) IS FOR THE PURPOSE OF TAKING A SNAPSHOT OF 12 DP REGISTERS.
    # THIS IS DONE BY SAVING 11 DP REGISTERS IN DNTMBUFF AND SENDING THE FIRST DP WORD IMMEDIATELY.
    # THE SNAPSHOT PROCESSING IS THE MOST TIME CONSUMING AND THEREFORE THE CODING AND LIST STRUCTURE WERE DESIGNED
    # TO MINIMIZE TIME.  THE TIME OPTIMIZATION RESULTS IN RULES UNIQUE TO THE SNAPSHOT PORTION OF THE DOWNLIST.
    # THESE RULES ARE ......
    #    1.    ONLY 1DNADR'S CAN APPEAR IN THE SNAPSHOT SUBLIST
    #    2.    THE 1DNADR'S CANNOT REFER TO THE FIRST LOCATION IN ANY BANK.
    
    SNAPLOOP    TS    EBANK        # SET EBANK
            MASK    LOW8        # ISOLATE RELATIVE ADDRESS
            EXTEND
            INDEX    A
            EBANK=    1401
            DCA    1401        # PICK UP 2 SNAPSHOT WORDS.
            EBANK=    DNTMBUFF
            INDEX    TMINDEX
            DXCH    DNTMBUFF    # STORE 2 SNAPSHOT WORDS IN BUFFER
            INCR    TMINDEX        # SET BUFFER INDEX FOR NEXT 2 WORDS.
            INCR    TMINDEX
    SNAPAGN        INCR    SUBLIST        # SET POINTER TO NEXT 2 WORDS OF SNAPSHOT
            INDEX    SUBLIST
            0    0        # = CA SSSS (SSSS = NEXT ENTRY IN SUBLIST)
            CCS    A        # TEST FOR LAST TWO WORDS OF SNAPSHOT.
            TCF    SNAPLOOP    # NOT LAST TWO.
    LDNPHAS2    GENADR    DNPHASE2
            TS    SUBLIST        # YES, LAST.  SAVE A.
            CA    NEGONE        # SET DNECADR AND
            TS    DNECADR        #    SUBLIST POINTERS
            XCH    SUBLIST        #        TO NEGATIVE VALUES
            TS    EBANK
            MASK    LOW8
            EXTEND
            INDEX    A
            EBANK=    1401
    # Page 1081
            DCA    1401        # PICK UP FIRST 2 WORDS OF SNAPSHOT.
            EBANK=    DNTMBUFF
    SNAPEND        TCF    DNTMEXIT    # NOW TO SEND THEM.
    
    FETCH2WD    CA    DNECADR
            TS    EBANK        # SET EBANK
            MASK    LOW8        # ISOLATE RELATIVE ADDRESS
            TS    L
            CA    DNADRDCR    # DECREMENT COUNT AND ECADR
            ADS    DNECADR
            EXTEND
            INDEX    L
            EBANK=    1400
            DCA    1400        # PICK UP 2 DATA WORDS
            EBANK=    DNTMBUFF
            TCF    DNTMEXIT    # NOW GO SEND THEM.
    
    DOSUBLST    TS    SUBLIST        # SET SUBLIST POINTER
    NEXTINSL    INDEX    SUBLIST
            0    0        # = CA SSSS (SSSS = NEXT ENTRY IN SUBLIST)
            CCS    A        # IS IT THE END OF THE SUBLIST
            INCR    SUBLIST        # NO --
            TCF    +4
            TS    SUBLIST        # SAVE A.
            CA    NEGONE        # SET SUBLIST TO MINUS
            XCH    SUBLIST        # RETRIEVE A.
        +4    INCR    A
             TS    DNECADR        # SAVE DNADR
            TCF    SETWO +2    # GO USE COMMON CODING (PROLEMS WOULD
                        # OCCUR IF THE PROGRAM ENCOUNTERED A
                        # DNPTR NOW)
    
    DNTMEXIT    EXTEND            # DOWN-TELEMETRY EXIT
            WRITE    DNTM1        # TO SEND A + L TO CHANNELS 34 + 35
            CA    L        # RESPECTIVELY
    TMEXITL        EXTEND
            WRITE    DNTM2
    TMRESUME    TCF    RESUME        # EXIT TELEMTRY PROGRAM VIA RESUME.
    
    MINB12        EQUALS    -1/8
    DNECADR        EQUALS    TMINDEX
    CTLIST        EQUALS    LDATALST
    SUBLIST        EQUALS     DNQ
    
    # Page 1082
    # SUBROUTINE NAME -- DNDUMP
    #
    # FUNCTIONAL DESCRIPTION -- TO SEND (DUMP) ALL 8 BANKS OF ERASABLE STORAGE TWICE.  BANKS ARE SENT ONE AT A TIME
    #    EACH BANK IS PRECEDED BY AN ID WORD, SYNCH BITS, ECADR AND TIME1 FOLLOWED BY THE 256D WORDS OF EACH
    #    EBANK.  EBANKS ARE DUMPED IN ORDER (I.E., EBANK 0 FIRST, THEN EBANK1 ETC.)
    #
    # CALLING SEQUENCE -- THE GROUND OR ASTRONAUT BY KEYING V74E CAN INITIALIZE THE DUMP.
    #    AFTER KEYING IN V74E THE CURRENT DOWNLIST WILL BE IMMEDIATELY TERMINATED AND THE DOWNLINK ERASABLE DUMP
    #    WILL BEGIN.
    #
    #    ONCE INITITIATED THE DOWNLINK ERASABLE DUMP CAN BE TERMINATED (AND INTERRUPTED DOWNLIST REINSTATED) ONLY
    #    BY THE FOLLOWING:
    #
    #    1.    A FRESH START
    #    2.    COMPLETION OF ALL DOWNLINK DUMPS REQUESTED (ACCORDING TO BITS SET IN DUMPCNT).  NOTE THAT DUMPCNT
    #        CAN BE ALTERED BY A V21N01.
    #    3.    AND INVOLUNTARILY BY A RESTART.
    #
    # NORMAL EXIT MODE -- TCF DNPHASE1
    #
    # ALARM OR ABORT MODE -- NONE
    #
    # *SUBROUTINES CALLED -- NONE
    #
    # ERASABLE INITIALIZATION REQUIRED --
    #    DUMPCNT    OCT 20000    IF 4 COMPLETE ERASABLE DUMPS ARE DESIRED
    #    DUMPCNT OCT 10000    IF 2 COMPLETE ERASABLE DUMPS ARE DESIRED
    #    DUMPCNT    OCT 04000    IF 1 COMPLETE ERASABLE DUMP  IS  DESIRED
    #
    # DEBRIS -- DUMPLOC, DUMPSW, DNTMGOTO, EBANK, AND CENTRAL REGISTERS
    #
    # TIMING --    TIME (IN SECS) = ((NO.DUMPS)*(NO.EBANKS)*(WDSPEREBANK + NO.IDWDS)) / NO.WDSPERSEC
    #        TIME (IN SECS) =  (   4    )*(    8    )*(    256     +     4   )  /     100
    #       THUS TIME (IN SECS TO SEND DUMP OF ERASABLE 4 TIMES VIA DOWNLINK) = 83.2 SECONDS
    #
    # STRUCTURE OF ONE EBANK AS IT IS SENT BY DOWNLINK PROGRAM --
    #    (REMINDER -- THIS ONLY DESCRIBES ONE OF THE 8 EBANKS X 4 (DUMPS) = 32 EBANKS WHICH WILL BE SENT BY DNDUMP)
    #
    #    DOWNLIST                W
    #      WORD    TAKEN FROM CONTENTS OF    EXAMPLE    O    COMMENTS
    #        1    ERASID             0177X    0    DOWNLIST I.D. FOR DOWNLINK ERASABLE DUMP (X=7 CSM, 6 LM)
    #        2    LOWIDCOD         77340     1    DOWNLINK SYNCH BITS.  (SAME ONE USED IN ALL OTHER DOWNLISTS)
    #        3    DUMPLOC             13400    1    (SEE NOTES ON DUMPLOC) 1 = 3RD ERAS DUMP, 3400=ECADR OF 5TH WD
    #        4    TIME1             14120    1    TIME IN CENTISECONDS
    #        5    FIRST WORD OF EBANK X     03400    1    IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1400 (ECADR 3400)
    #        6    2ND   WORD OF EBANK X     00142    1    IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1401 (ECADR 3401)
    #        7.  3RD   WORD OF EBANK X     00142    1    IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1402 (ECADR 3402)
    #        .
    #        .
    #        .
    #     260D    256TH WORD OF EBANK X     03777    1    IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1777 (ECADR 3777)
    #
    # NOTE --    DUMPLOC CONTAINS THE COUNTER AND ECADR FOR EACH WORD BEING SENT.
    #        THE BIT STRUCTURE OF DUMPLOC IS FOLLOW --
    #                        X = NOT USED
    #        X ABC EEE RRRRRRRR          ABC = ERASABLE DUMP COUNTER (I.E. ABC = 0,1,2, OR 3 WHICH MEANS THAT
    #                            COMPLETE ERASABLE DUMP NUMBER 1,2,3, OR 4 RESPECTIVELY IS IN PROGRESS)
    #                          EEE = EBANK BITS
    #                     RRRRRRRR = RELATIVE ADDRESS WITHIN AN EBANK
    
    # Page 1083
    DNDUMPI        CA    ZERO        # INITIALIZE DOWNLINK
            TS    DUMPLOC        # ERASABLE DUMP
        +2    TC    SENDID        # GO SEND ID AND SYNCH BITS
            CA    LDNDUMP1    # SET DNTMGOTO
            TS    DNTMGOTO    # TO LOCATION FOR NEXT PASS
            CA    TIME1        # PLACE TIME1
            XCH    L        # INTO L
            CA    DUMPLOC        # AND ECADR OF THIS EBANK INTO A
            TCF    DNTMEXIT    # SEND DUMPLOC AND TIME1
    
    LDNDUMP        ADRES    DNDUMP
    LDNDUMP1    ADRES    DNDUMP1
    
    DNDUMP        CA    TWO        # INCREMENT ECADR IN DUMPLOC
            ADS    DUMPLOC        # TO NEXT DP WORD TO BE
            MASK    LOW8        # DUMPED AND SAVE IT.
            CCS    A        # IS THIS THE BEGINNING OF A NEW EBANK
            TCF    DNDUMP2        # NO -- THEN CONTINUE DUMPING
            CA    DUMPLOC        # YES -- IS THIS THE END OF THE
            MASK    DUMPCNT        # N-TH(N = 1 TO 4) COMPLETE ERASABLE
            MASK    PRIO34        # DUMP(BIT14 FOR 4, BIT13 FOR 2 OR BIT12
            CCS    A        # FOR 1 COMPLETE ERASABLE DUMP(S)).
            TCF    DNPHASE1    # YES -- SEND DOWNLIST AGAIN
                        # AGAIN
            TCF    DNDUMPI +2    # NO -- GO BACK AND INITIALZE NEXT BANK
            
    DNDUMP1        CA    LDNDUMP        # SET DNTMGOTO
            TS    DNTMGOTO    # FOR WORDS 3 TO 256D OF CURRENT EBANK
    
    DNDUMP2        CA    DUMPLOC
            TS    EBANK        # SET EBANK
            MASK    LOW8        # ISOLATE RELATIVE ADDRESS.
            TS    Q        # (NOTE: MASK INSTRUCTION IS USED TO PICK
            CA    NEG0        # UP ERASABLE REGISTERS TO THAT EDITING
            TS    L        # REGISTERS 20-23 WILL NOT BE ALTERED.)
            INDEX    Q
            EBANK=    1400        # PICK UP LOW ORDER REGISTER OF PAIR
            MASK    1401        # OF ERASABLE REGISTERS.
            XCH    L
            INDEX    Q        # PICK UP HIGH ORDER REGISTER OF PAIR
            MASK    1400        # OF ERASABLE REGISTERS.
            EBANK=    DNTMBUFF
            TCF    DNTMEXIT    # GO SEND THEM
    
    SENDID        EXTEND            # ** ENTRANCE USED BY ERASABLE DUMP PROG. **
            QXCH    DNTMGOTO    # SET DNTMGOTO SO NEXT TIME PROG WILL GO
            CAF    ERASID        # TO LOCATION FOLLOWING `TC SENDID'
    
            TS    L        # ** ENTRANCE USED BY REGULAR DOWNLINK PG **
    # Page 1084
            TC    WOZERO        # GO SET WORD ORDER CODE TO ZERO
            CAF    LOWIDCOD    # PLACE SPECIAL ID CODE INTO L
            XCH    L        # AND ID BACK INTO A
            TCF    DNTMEXIT    # SEND DOWNLIST ID CODE(S).
    
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2009-08-03 14:24
    These machines are a little before my time... smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Toys are microcontroled.
    Robots are microcontroled.
    I am microcontroled.



    If it's not Parallax then don't even bother. :-)
    ·

    Mini-Din/PS2 connectors are for sale! 5 for $1! PM me if you wish to make an order.
    Cheap·shipping unless specified!··········150 left!!··


  • mctriviamctrivia Posts: 3,772
    edited 2009-08-03 15:05
    A little is an understatement. I am almost double your age and they are before my time.

    My first computer was a 286 at age of 5 had a 20meg hard drive.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5

    Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.

    Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
  • heaterheater Posts: 3,370
    edited 2009-08-03 15:09
    mctrivia: That was a rough start, lucky you stuck with it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • BradCBradC Posts: 2,601
    edited 2009-08-03 15:11
    mctrivia said...
    A little is an understatement. I am almost double your age and they are before my time.

    C'mon. The CD player is before his time!

    For the record my first computer was a cheap Asian knock off of an Apple ][noparse][[/noparse]+. I still have the photocopy of the ][noparse][[/noparse]+ manual that came with it, including fold out schematic. I learned all I know about logic by analysing that schematic. (well, that and the schematic from the Disk ][noparse][[/noparse] and Z80 soft card)

    Woz rates as one of my all time heroes.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lt's not particularly silly, is it?
  • mctriviamctrivia Posts: 3,772
    edited 2009-08-03 15:15
    I was lucky. That was a huge hard drive and super fast computer back then. My mom is an accountant and worked for herself.
    .by grade 4 I had 9600 baud internet connection which I was allowed to use 1 day a week. Was shared amongst all the staff at my moms work.
    Much improvement over bbs

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5

    Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.

    Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
  • mctriviamctrivia Posts: 3,772
    edited 2009-08-03 15:23
    True. I bought my first mp3 player in 2000

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5

    Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.

    Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
  • jazzedjazzed Posts: 11,803
    edited 2009-08-03 15:39
    My first computer was a VIC-20 (had an Atari game console before that). Got lots of finger fatigue before getting that serial cassette wink.gif

    BTW, Amdahl's campus stretched for a mile or more on either side of Central Expressway in Sunnyvale.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • Mike GreenMike Green Posts: 23,101
    edited 2009-08-03 15:44
    The university where I did some of my undergraduate work had a working Univac I (working as in generating income doing data processing). They had a transistorized Univac 1107 as well for students and faculty to use. One of the stories that illustrates the people savvy of the engineers there goes as follows:

    The Univac 1107 had a "job" status monitor made with one of those really big display tubes (a "charactron") that produced a shaped beam of electrons for each character to be displayed (by running the beam through one of a bunch of shaped holes in a mask). Anyway, the display didn't have a buffered controller, so it had to be refreshed by the operating system from a buffer in main memory and that used about 10% of the CPU throughput when it was active. The display was useful, but expensive to use, so the engineers drilled a hole on the front panel and installed a small pushbutton with a stiff spring set up so you had to use a finger to push it. As long as you could hold down the pushbutton, the operating system would refresh the display. When you let go of the button, the operating system would stop refreshing. Most people could hold down the button for maybe 10 seconds before it became painful to do so, long enough to find what they wanted on the screen, but not enough to significantly impact the system throughput.
  • LeonLeon Posts: 7,620
    edited 2009-08-03 16:00
    LEO (Lyons Electronic Office) built the world's first commercial computer, the LEO I. I spent a few months working at the LEO factory just as they were starting manufacture of the LEO III, which used transistors instead of valves. I designed an audible monitor circuit for it, which enabled an engineer to listen to the noise made by a CPU address line. It was basically a diode pump circuit and UJT made from a PNP and NPN transistor which divided the pulses by 100. I couldn't use an actual UJT as they had just been invented and we couldn't buy any. I also made a logic probe by modifying a "staticiser" board (I think it had two flip-flops on it with neons on the outputs). I then spent several weeks testing microcode units - lots of ferrite cores wired as pulse transformers and performing logic functions. I was supposed to reject them if they were faulty but I fixed any problems myself as I couldn't face all the paperwork involved with returning them to the factory where they were made.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle

    Post Edited (Leon) : 8/3/2009 4:07:22 PM GMT
  • John AbshierJohn Abshier Posts: 1,116
    edited 2009-08-03 16:01
    When I was in college, "Happy Hour' was 3 hours at night restricted to short programs (I think 1 minute) with fairly rapid turn around. On a good night with a little luck you could get 4 runs of your program. You loaded your program in a card reader and waited for one the the graduate students who worked as an operator at night to bring your printout to a set of shelves. A friend of mine was working on a nude line art program using a Texas Transportation Institute account. The night operators were waiting for him to finish so they could rerun the program to get their copies. The computer went down. But all jobs remained in the queue. The next day his program ran and offended the woman who was the day shift operator. He almost lost his part time job with Texas Transportation Institute. All of this was on an IBM 7090 or 7094. At the same time the university decided to sell its IBM 650. The only bidder was a scrap metal dealer.

    John Abshier
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-08-04 11:07
    My first computer (yes it was mine) was an 18 month old Singer (later ICL) System Ten mini-computer. I bought it in 1977. It was housed in my lined air-conditioned garage - and it was the length of the garage!!! 110KB core memory (maximum) 2.2uS cycle time, and 3 x 10MB Disk Drives (washing machine size) - maximum 100MB, 45mS average access time. Absolute minimum read time for the whole 10MB was 105 seconds using interlaced reading. I wrote this code to verify all sectors were readable - no processing was possible. Also had a 9 track tape drive and a VDU (video terminal). No printer as they cost a cheap $15,000 at the time.

    I guess the cat's out of the bag - at least I have·hair but unfortunately it's grey.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • LeonLeon Posts: 7,620
    edited 2009-08-04 11:57
    I once knew someone who programmed those Singer machines. He mentioned that the assembly language was so complex that programs were usually put through a SNOBOL program acting as a macro-processor.

    leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-08-04 12:45
    No Leon. True, it was assembler, but it also had an extremely powerful macro assembler. In fact there was no high level language really ever used. At one stage there was a Cobol release but it was about 1 cobol to 2.2 assembler instructions and didn't really work as the System Ten was an online transaction machine. In fact, there were only 16 instructions until the 1981 release.

    In fact, it was very much like a prop.

    It was a RISC type computer with A & B operands and no registers (except 3 index registers per partition). An instruction was 60 bits (10 characters of 6 bits which was a subset of ASCII). For instance, the multiply instruction was multiply A x B and place the result in B for a total length of A + B (no overflow possible) where A and B were each 1-10 digits. The divide was effectively the reverse of a multiply. The move character instruction could move from 1-100 bytes. The branch instructions were just like the prop, where the call variant stored the return address in memory just like the prop (and was often itself a jmp instruction). The computer was decimal, and so was memory addressing. It had up to 20 partitions (like cogs) each with their own memory, and a common memory shared between all partitions (like hub memory). The operating system lived in common memory and was accessed with a call instruction. The partitions each ran their own programs and were hardware time sliced. Each partition could have up to 10 peripherals (video terminals, teleprinter type terminals, printers, etc). It stood the test of time, being first released in 1969 as the Friden System Ten, then Singer, then ICL in 1976. There was one major redesign release in 1981, and it was manufactured until 1993 and maintained by ICL until 2000 (later in some countries). Marks & Spence had them connected to their POS terminals in the UK and BBC had them in AUstralia.

    Now you can see why I like the prop smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • LeonLeon Posts: 7,620
    edited 2009-08-04 12:52
    SNOBOL is a string-processing language that was often used as a macro-processor. It's quite a small interpreted language. I'm fairly sure that it was used to process the assembler macros for the Singer machines.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
Sign In or Register to comment.