back to article Chaps make working 6502 CPU by hand. Because why not?

The 6502 CPU is a fondly-remembered CPU* for good reason: along with chips from Motorola, Intel and Zilog, it helped create the personal computer business in the 1980s. However, this project is affection on a grand scale: some US enthusiasts are creating a transistor-for-transistor replica of the chip's design using discrete …

  1. Pascal Monett Silver badge
    Thumb Up

    Because why not indeed

    I salute the dedication and sheer obsessiveness that went into this project. It's harmless, it's useless, it might not even run BASIC.

    In a word : it's art. Geek art.

    Well done, chaps.

    1. Michael Strorm

      Re: Because why not indeed

      Pffffffft.... newfangled surface-mount components. Lightweights. (*)

      Let me know when they implement it using valves.

      Actually, no, don't bother. Let me know when they implement a two billion transistor Core i7 processor using valves. I'd like to see that :-)

      FWIW, I did try to work out how much space would be required for that many valves, and the ballpark figure was ludicrous. Having thought it out again, I realised that if each valve took up 4 x 4 x 5 cm (including spacing), and there were just 1 billion (10^9) of them, that'd take a total volume of 40 x 40 x 50 *metres*, something like 3 tightly-packed 50m high office blocks. Double that for two billion.

      (*) No, not really, actually it's quite impressive (even if it's not the first time I've seen something like this done).

      1. Named coward

        Re: Because why not indeed

        40x40x50 is almost 32 olympic-sized swimming pools. I bet you'd need even more space to cool things down (unless you submerge it in said swimming pools)

      2. Arthur the cat Silver badge

        Re: Because why not indeed

        I did try to work out how much space would be required for that many valves ... that'd take a total volume of 40 x 40 x 50 *metres*, something like 3 tightly-packed 50m high office blocks

        That's Asimov's Multivac, or at least an early prototype.

      3. khjohansen

        Re: Michael Strorm & herman (thermionic valves)

        "The Manchester Mk.1 ... contained 4,050 valves and had a power consumption of 25 kilowatts." (!!11!)

        If this is not troubling enough, ask nearest greybeard about MTBF for valves.

        1. Voyna i Mor Silver badge

          Re: Michael Strorm & herman (thermionic valves)

          The MTBF for valves can be pretty good if the heater current can be ramped up and down rather than 6.3 volts hitting a cold, low resistance filament. This is one reason why recent cars have a single headlamp bulb filament and a little motor to switch between main and dip; the avoidance of on and off switching increases bulb life and reduces warranty costs.

          The discovery that lots of valves could be reliable if the heaters were treated gently was made by Tommy Flowers, and helped make Colossus possible. the Americans made the same discovery more or less independently.

        2. Trevor Gale

          Re: Michael Strorm & herman (thermionic valves)

          25kW seems a bit much - if it was this then it equates to around 6.172W per valves, and typically that'll be 1.89W for the heaters (filaments) and 4.282W for the logic per valve. So it'd be 7.654kW total for heaters, and 17.346kW for logic. Assuming +170V as +ve rail for valve anodes, that'd make around 25mA anode current for a triode (and I'm assuming heaters/filaments at 6.3V, 0.3A for the rest) all as averages.

          You could do logic switching using triode valves with a lot less than 25mA anode current - 2.5mA would be more typical. Remember, a power output valve might handle 6 - 9W in a typical valved radio of the time, and for the logic levels we don't need that power. So we'd be looking at, say, 0.43W for logic and 1.89W for heaters giving a total of 2.32W per valve total, requiring 9.4kW for all the valves...

          Admittedly I'm looking at more recent technology here, like double-triodes on a B9A base such as the ECC83 and its data from around 1953, but even the earlier (double-)triodes in octal bases (physically larger devices) would fall in a similar ball-park.

          1. Loud Speaker

            Re: Michael Strorm & herman (thermionic valves)

            While you are mostly correct, there are several losses you forget: the power supplies were all linear, and were probably less than 50% efficient after you consider the use of rectifier diodes (probably also thermionic) the smoothing done with RC networks, and the fact that there would need to be numerous RC decoupling networks in the HT lines. Bias chains can't be totally neglected. AC into RC circuits swinging >60V for fast logic signals eats a fair bit of power.

            Also, many early valves were not 300mA heater current, and some were not 6.3V either. Quite a lot of the logic was done with pentodes, and there would have been significant screen current in some of them.

            Don't forget the peripherals: I suspect the mercury delay line drivers needed significant power, and there would have been other power circuits too - how much power does a high speed paper tape punch draw?

            Presumably "das blinken lights" were all neons, and probably only 1 mA each, but if they were incandescent, thats another story.

            Incidentally, the EDSAC circuit shown on Youtube has wired-or logic - this may be the first example of it.

            I doubt that efficiency was the highest priority.

      4. Dr Patrick J R Harkin

        Re: Because why not indeed

        Valves? I spit on valves.

        I want to see it done using dominoes.

        https://www.youtube.com/watch?v=OpLU__bhu2w

      5. PNGuinn
        Coat

        Re: Because why not indeed @ Michael Strorm

        I presume you specced that using 6SN7s not those nasty all glass B9A based thingies?

        OK, I'm a bit rusty with all this new technology. 6SN7 = ECC32?? And I've no idea off hand what the Septic is for B9A. Bit before my time .....

      6. JulieM Silver badge

        Re: Because why not indeed

        That number of valves is in the region of the total lifetime output of the Mullard works in Blackburn ..... Remember, there were just 5 (or maybe 8*) valves in most MW / LW radios.

        * The frequency changer actually has two electrode structures -- a triode and a hexode -- in the same envelope; and the detector / preamp has two diodes and a triode. Adding FM introduces another double triode, and replaces the double-diode triode with a triple-diode triode.

  2. Tchou

    Might be enough to run Pong however or a simple PacMan.

    1. Steve Crook

      There's probably someone already porting

      DOOM.

    2. Charles 9 Silver badge

      I don't think Pong needed a CPU to run. As for Pac-Man, I think it's just a touch out of reach unless someone perhaps made a tigher-coded version that ran on a B&W monitor. A better target I think would be Space Invaders.

      1. elaar

        Wozniak designed Pong to run on just 30 TTL chips, so it's "easily" possible. Pacman uses a Z80@2mhz, but needs quite a bit of RAM.

        Space Invaders would still be incredibly hard (unless it was dumbed down a lot). The game needed more juice than a 8080 could deliver, so required further bitshifter ICs on the daughterboard.

        Breakout runs just on TTLs, infact I'm sure someone has already replicated that game with transistors.

  3. A Non e-mouse Silver badge

    It's not that big...

    This guy's going even bigger: The CPU takes up his entire living room!

    1. Mike 125

      Re: It's not that big...

      >>takes up his entire living room!

      ...not to mention life.

      >>just over 11 transistors per RAM bit

      Discrete - that is seriously impressive.

      Good Luck to all obsessive hobbyists - that's how the ball gets rolling.

      1. energystar
        Terminator

        Re: It's not that big...

        People like James Newman are the real McCoy.

        We are just f_(*!ng pretenders...

  4. Haku
    Coat

    Stupid masochists.

    *goes back to cutting his 1/2 acre lawn with the nail clippers in his coat pocket*

    1. Dave 126 Silver badge

      Re: Stupid masochists.

      Oooh, you don't want to have a good idea. My grandfather had a good idea once and his toes fell off.

      ?

      Yeah, he thought it would be a good idea to trim his toenails with a scythe.

      - Mr Ploppy, Blackadder II

      1. Roo
        Headmaster

        Re: Stupid masochists.

        "Oooh, you don't want to have a good idea. My grandfather had a good idea once and his toes fell off."

        Love the quote...

        However, my inner pedant can't help but observe that you are more likely to cut off your fingers while sharpening the scythe or someone else's feet when you are using it. The shape & balance of a usable scythe makes it pretty tricky to get anywhere near your toenails. :)

        1. Anonymous Coward
          Anonymous Coward

          Re: Stupid masochists.

          "that you are more likely to cut off your fingers while sharpening the scythe"

          Too true. After moving to the country my grandfather observed some men in the adjacent field using scythes. They didn't seem to be getting on too well so he asked them if he could have a look and told them the blades needed sharpening. Which he proceeded to do with a grinder and whetsone. One of them promptly cut his finger on the blade and I noticed they were proceeding with somewhat more care than before.

          1. Roo
            Windows

            Re: Stupid masochists.

            "After moving to the country my grandfather observed some men in the adjacent field using scythes. They didn't seem to be getting on too well so he asked them if he could have a look and told them the blades needed sharpening"

            Soldiering on with a blunt scythe is pointless. I found that stopping every 3-4 metres (or more when doing something like brambles), giving the (rusty) blade a wipe down with a drop of oil and a whetstone worked a treat - nothing intensive, just four or so careful swipes with the stone and move on making sure to count your fingers each time. ;)

            If you are selecting a scythe you should be looking to have the thing feel pretty much balanced (ie: NOT twisting in your grip) with the blade level with the ground along it's whole length, a bit of momentum and good balance goes a long way with a scythe, so don't be tempted to choose a lightweight poorly balanced scythe if you want to do real work with it. Quality scythes will have adjustable handles, once you've got them set correctly the scythe will feel like a natural extension of your arms.

            In terms of the action most of the power should come from your arms & shoulders, so it should be a fairly smooth dragging motion keeping the blade level over the ground through the whole stroke, with just enough momentum to keep the scythe moving but not enough to cause you to strain to slow it down and bring it back for the next stroke. Take care not to "swing" the scythe because you won't cut evenly (if at all) and the chances are you'll do yourself an injury in the process.

            Everything I know about scything stuff I discovered from trial, error and talking to an old geezer who used to mow hayfields with them - if folks know better I'd be interested to hear. :)

            1. allthecoolshortnamesweretaken Silver badge

              Re: Stupid masochists / @Roo

              Yep, that's the way to do it. My granddad used to do it that way, but despite all his efforts I never got the hang of it.

              And you really have to be very, very carefull with a scythe, especially when sharpening it, I've seen some nasty scars on several guys. Slices through tendons like butter.

              Heck, why do you think DEATH carries a scythe?

      2. EddieD

        Re: Stupid masochists.

        Double pedant alert: It was Nursy, talking to the queen. Series 2, episode 5 "Beer"

        1. Dave 126 Silver badge

          Re: Stupid masochists.

          I think you may be right, EddieD. My confusion may stem from Mr Ploppy featuring in the episode 'Head', in which other body parts were lopped off.

        2. Wilseus
          Headmaster

          Re: Stupid masochists.

          Triple pedant alert: It was his foot that fell off, not just his toes :)

          1. EddieD

            Re: Stupid masochists.

            Pendants rule OK: Or, to be more precise, exhibit certain characteristics normally observed in those in authority.

            1. Anonymous Coward
              Anonymous Coward

              Re: Stupid masochists.

              pe(n)dants also spot extra N's .....

  5. Ian Emery Silver badge
    Windows

    [Runs to get 6502 machine code book from shelf and start compiling programs]

    yes, I do still own the book

    yes, I am that old.

    1. maffski

      To keep to scale you'll need to finder a printer that can produce your listing at 10CPM (Characters Per Mile).

    2. Sorry that handle is already taken. Silver badge

      I'm not old enough to have programmed for the 650x family but I do still have my Atari 2600 (6507).

    3. Anonymous Coward
      Anonymous Coward

      Hah, I still have a device with a 6302 and it still works, although I would have to refresh my memory to program it in machine language (usually snippets to access my own electronics in the interface slot, because I was in the habit of cooking up all sorts of stuff).

      You may have guessed it: it's a PSION Organiser II - the last one I still have. I used to have a bunch of them, but I gave them away to musea. Due to some ill advised packing during a move I lost the comms link, but I no longer own anything with a serial port so I'd be hard pressed to use it (leaving aside that I'd have to install DOS on a VM that is hardened enough to withstand the way PSION wrote DOS code - it's the only code I recall busting out of protected mode and hang multitaskers).

      Anyway, the silly thing still works quite happily. And I may even have the 6302 data book. When I started coding on it I had no idea what machine language was, but I worked it out myself, that was part of the fun of it all. An update in those days meant physically cutting the ROMs off the board and soldering ones with new firmware in place, something I have done many, many times :).

      Those were the days (etc etc).

      1. MacroRodent Silver badge

        serials

        but I no longer own anything with a serial port so I'd be hard pressed to use it

        There are USB to serial adapters, they don't cost too much.

      2. Esme

        @AC - I'm very jealous - easily my favourite piece of portable computing tech ever, the Psion II. I've never been so organised as when I had one o'them. Hmm.. might see if I can find a working one next payday...

      3. energystar
        Windows

        "...An update in those days meant physically cutting the ROMs off the board and soldering ones with new firmware in place, something I have done many, many times :).

        Those were the days (etc etc)."

        Miserable state of the [ACTUAL] firmware.

        1. Anonymous Coward
          Anonymous Coward

          Miserable state of the [ACTUAL] firmware.

          Ah, but you're used to current tech - you'd lob a flash chip on the board and be done with it. In the 1980's (can't believe that's already some good 30 years ago), updating of especially portable firmware based devices was actually not something you did very often - a patch was a rare and momentous event because it meant the company in question had something wrong. It was not the occasionally rather shameful routine it now is for some companies.

          On the PSION Organiser II, the extra issue was that EPROMS (at the time the only persistent reprogrammable chip) were typically a lot bigger and needed extra support circuitry to program so that wouldn't fit in the case.

          Basically, the whole PDA idea (which is now part of what you carry around in your smartphone) started with that silly device, and it was (and is) fantastically functional for its simplicity. I actually came across a Palm pilot too a few days ago as well when I was digging for some electronics, but to me that was better done by Sony with the Sony Clie NX70, also because that was pretty much the first time a PDA and WiFi were combined.

    4. DrBobK

      Me too - I can still probably write the stuff (6502 ASM) without a manual.

      1. Anonymous Coward
        Anonymous Coward

        I can still probably write the stuff (6502 ASM) without a manual

        Assembler? Luxury! (thanks for setting that one up :) ).

        I only learned later about assembler - I was hand-assembling opcodes and getting them to work which is hard work if you start from a position of not knowing much about how CPUs actually work.

        But, as I said, that was the fun of it - it's the kind of puzzle that the analytical part of my brain seems to live for. That, and shredding marketing guff with facts (I don't get invited to product launches much anymore :) ).

        1. jeffdyer

          I wrote quite a few little programs for my C64 and VIC20 using DATA statements, you converted all your OP codes into decimal and put them in a data array, then had a mini BASIC program that called SYS something which ran your data as machine code. The speed difference between a character bouncing around the screen in assembler compared with C= BASIC was amazing.

          1. Charles 9 Silver badge

            I was actually dabbling in 6510 assembler using the C-128's ML Monitor. It was perhaps my first real trip into machine language and assembler and I actually did some pretty decent things with it. It was something I didn't think I would use again when I then went to Intel 80486 assembler in the mid 90's and actually got the hang of it pretty quickly after skimming an x86 assembler guide.

        2. Trevor Gale

          Hand-assembled Code

          Some 35 years ago I had two (yes, 2!) PDP-8/e computers with a tape drive, disk drive (cabinet one, all of 10 MEGAwords!), printer (line), and a couple serial lines - one a VDU terminal and the other an ASR33 teletype - as a home system!

          I already knew assembler, for the 6502 and the 6800-series processors, but I had no OS or anything for the PDP's. So I set about writing one, so that I could end up using these machines for processing radio propagation data from regular observations. No development tools, just the PDP-8/e manuals and codes.

          Fisrt I had to write a bit of code that would take serial characters as octal input (it is a 12-bit machine) and write this word into successive memory locations - this was done using the front-panel switches, word by word.

          Then it was time to write some code that would allow me to write whole segments of octal from the keyboard of the serial device I chose, usually the VDU terminal. The next bit of octal 'code' was a routing that would take that segment and write it to the magtape as a record, skipping till after a 'long gap' on the tape so I could eventually load back these segments one at a time how I wanted.

          Once that was done the 'semi-serious' work began - first of this was actually to *write an assembler*, which for this machines' instruction set and layout was not too complicated. This assembler, a 'program', was written to a new magtape and also to two copies (play safe here!) of punched-paper-tape.

          After that, the assembler was the main tool to write I/O routines for the magtape (proper, better), the disk (elementary), and the printer. Once that was completed the 'really serious' work began, I wrote an executive, then a filing system of my own, then an operating system on top of those.

          Finally I had a running system with storage volumes (floppy disk never got added but all principles were in place and it didn't make any difference anyway), and with interfaces to assignable peripherals (e.g. equivalents of mount and unmount and different peripheral classes and parameters) - and I did go on to write some of the programs I ran to do the original work I wanted to do.

          Eventually the "common" P.C. came along and was easy to interface with the radio hardware I used, plus it used a LOT less A.C. power than the roomfull of computer gear that was the PDP's, so eventually I got rid of most all of that equipment as there's a limit to how much one can keep, at least in the 'sane' world.

          Still, even as I look back all those years, I'm sure that I learned quite a lot and gained a valuable insight into what certain colleagues of mine have to do in their work and where the 'trip-up-points' can be lying around; in any event it was definitely a memorable experience at the raw end!!!

      2. Steve Graham

        I can still write the stuff without an assembler.

    5. Haku

      I dabbled in programming on my BBC Micro back in the 80s, mostly BASIC but did get into some of assembly for its speed, and the best book I ever owned for it was I think 'Advanced Programming For The BBC Micro' (going by memory but I do still have it in a drawer with the BBC Master Compact), which I bought for £2.49 from Toys'R'Us.

    6. Anonymous Coward
      Anonymous Coward

      I can remember the pain of 6502 machine code programming whilst doing my BTEC Engineering back in 1988

      1. Mark York 3 Silver badge
        Boffin

        BTEC Engineering

        That takes me back to Swindon College 1988 & the tutor we dubbed "Chernobyl" with his two fixations 6800 processors & wibbly wobbly timey wimey flashback............

        About 1 hour doing labwork on a Wednesday morning & 1pm - 4pm with him lecturing (us trying to stay awake with various degrees of success, we quickly learned that the afternoons (invariably pissing down outside & lulling our senses further toward 40 winks) were a write off) & then somehow he would be triggered by a question\scenario (heaven help us if it was before mid afternoon break) & fixate for the rest of the afternoon on partial address decoding moving us further towards the land of nod or wishing for death.

        I have no idea what I really learned or how I managed to pass that subject (Along with "Dangermouse" & his version of teaching analogue electronics IV by throwing extremely advanced mathematics at us from 9am - 12pm for 3 hours Friday mornings).

      2. John 48

        I remember writing the processor!

        Finishing my engineering course at university in '88, we had to team up and produce a "project" that represented a chunk of the final grade. The girl who would one day become SWMBO and I, decided that a software emulation of a 6502 might be fun. Managed to do that, plus a small machine language monitor program with inline assembly and disassembly, and a small set of emulated system calls for IO etc. It was quite fun keying in some 6502 assembler, and having it run on a Prime multi user mini computer or on an early PC. ISTR even running it on an emulated DOS machine on my Amiga once just to see how many layers of emulation one could run (at an effective clock speed of some 10kHz probably!)

        1. David Nash Silver badge

          Re: I remember writing the processor!

          Hey we did that too, for a final year project, would have been 1990. Ran on a Macintosh and had simulated IO and interrupts. In the real world I was a Z80 man though.

          Those were the days. The closest I get to assembler now is watching OpenSSL build in a cmd window.

    7. BongoJoe

      [Runs to get 6502 machine code book from shelf and start compiling programs]

      yes, I do still own the book

      yes, I am that old.

      The 6502 cookbook was one of my best thumbed tomes when at polytechnic (before the days when it became a CostaMacDonaldPseudoUniversity) as I my thesis was written entirely in 6502 machine code (no assembler available, let alone BASIC).

    8. VeganVegan

      Yup, check,

      All 5 of my 6502 assembly language books are still up there on my top shelf.

  6. glen waverley
    Mushroom

    Vacuum tube (aka valve)

    "one of the designers, Eric Schlaepfer, a vacuum tube enthusiast".

    I know what I want to see. A combined valve 6502 and bbq!

    1. Anonymous Coward
      Anonymous Coward

      Re: Vacuum tube (aka valve)

      > I know what I want to see. A combined valve 6502 and bbq!

      I want to see a complete Commodore PET built out of discrete transistors!

      The CRT and cassette deck can remain as-is.

      If I remember rightly, the base model had 4K RAM and 8K ROM, so it should be doable. I used to type in about 3KB of BASIC interpreter in hex to a Hewart Microelectronics 6800. Hand-positioning jumper links would be a bit more tedious (but perhaps could be automated with a pick-and-place robot?)

      1. Lee D Silver badge

        Re: Vacuum tube (aka valve)

        The problem is speed.

        Links and PCB's this big will have enormous capacitance issues when running at higher frequencies. You'd be lucky to get more than a couple of hundred KHz out of it before things started going weird.

        1. This post has been deleted by its author

        2. Wommit

          Re: Vacuum tube (aka valve)

          My first experience with a microprocessor was in the mid 80s. The motherboard was about 2ft square, and covered with components. As for the "couple of hundred KHz" I can't remember it topping 100kHz.

          We used to program it in machine code, when we ran our first BASIC program it took so long we thought the ROM was broke.

        3. Hey Nonny Nonny Mouse

          Re: Vacuum tube (aka valve)

          Given that the original 'thing' only ran at 1MHz I'd consider a couple of hundred KHz an impressive achievement but I have a sneaky suspicion it could be possible to persuade it to run full pelt, if they've given the layout some thought it may well work.

      2. Rich 11 Silver badge

        Re: Vacuum tube (aka valve)

        Hand-positioning jumper links would be a bit more tedious (but perhaps could be automated with a pick-and-place robot?)

        That would be cheating (unless you programmed the robot with Jacquard-loom cards).

      3. MacroRodent Silver badge

        Re: Vacuum tube (aka valve)

        If I remember rightly, the base model had 4K RAM and 8K ROM, so it should be doable.

        Wouldn't the RAM alone require 8192 transitors? (each bit in a bistable transitor circuit).

        The whole device would fill a warehouse.

        1. Anonymous Coward
          Anonymous Coward

          Re: Vacuum tube (aka valve)

          > Wouldn't the RAM alone require 8192 transitors? (each bit in a bistable transitor circuit).

          4KiB is 32,768 bits, so it will be that times the number of transistors per SRAM cell ( a small number)

          Given that the single PCB in the photograph has 3,218 transistors, that's hardly going to "fill a warehouse". Maybe a 4U rack box.

    2. Steve 114
      Happy

      Re: Vacuum tube (aka valve)

      Our mechanical 'Comptometers' (and a few 'Marchants' for the really expert girls who were qualified to multiply) were noisy on steel desks, so they sat on thick hairy felt pads. When the first big 'electronic' calculators came in, same size, the felt pads were retained by habit, and blocked the ventilation. If you put pies on top at coffee time, they'd be piping hot by lunch. Met a few nice girls that way, who warmed my pies. Down in the PCB shop they had Paxolin ovens which were much better, but only run by blokes.

  7. Neil Barnes Silver badge
    Pint

    Hat off. Beer raised.

    It turns out I can still remember 6502 assembly op-codes...

    1. Warm Braw Silver badge

      Re: Hat off. Beer raised.

      Yep. A9 01 is burned into my brain through frequent use.

      He now needs to start work on a 6522!

    2. Frumious Bandersnatch Silver badge

      Re: Hat off. Beer raised.

      It turns out I can still remember 6502 assembly op-codes...

      I think I can only remember A9 (LDA, immediate mode?) and EA (NOP).

      For shits and giggles, I tried to write a Hello World program without looking stuff up. Can't remember exact instructions and addressing modes, but I think it might go something like ...

      SCREENBASE EQU XXX

      TEXT DB "Qbrf vg jbex?"

      DB 0

      CLX ; (clear X?)

      loop: LDA (TEXT,X) ; (do loads set flags? does this need Y-index addressing?)

      JZ done

      TAY ; (Y <- A?)

      AND 0x20

      PUSHA ; (remember case)

      TYA

      OR 0x20 ; (make lower-case)

      CMPA 'a'

      JLT fix_case ; (A < 'a'?)

      CMPA 'z'

      JLE rot

      fix_case: POPY ; get back case bit

      ORY ; (A <- A or Y?)

      STA (SCREENBASE,X)

      INX

      JMP loop

      rot: ADDA 13 ; (or just ADD 13?)

      CMP A, 'z'

      JLE fix_case

      SUBA 26

      JMP fix_case

      1. anonymous boring coward Silver badge

        Re: Hat off. Beer raised.

        I find this sort of stuff relatively easy to remember.

        The hard things to remember are things like where I put my pants yesterday.

  8. The Vociferous Time Waster

    Oh bravo

    Bravo

    That is all.

  9. Herby Silver badge

    I'll really be impressed when..

    They do a 6809 that runs at full speed. That was a proper 8 bit micro.

    My first micro was a 6800 when you got the kit of parts in a $300 (1975) and a nice big applications book. Did LOTS of things with it!

    1. Anonymous Coward
      Anonymous Coward

      Re: I'll really be impressed when..

      In the UK that 6800 evaluation kit cost over £160 in 1976 - with its full complement of 1KB of static RAM. That's the equivalent of a couple of thousand pounds now. Dwarfed by my Apple II from New Bear three years later at £1780 (circa £6K now).

      The 6800 kit was a DIY soldering job. It came with the circuit board and the Motorola large chips like CPU, RAM, UART with pre-production "XC" markings. You then had to go and buy the discrete components.

      Having had bad experiences with early MOS transistors and static - I built it in the office one evening stripped down to my cotton underpants. It was only later I realised that tantalum capacitors were polarised. Fortunately I had soldered them in aesthetically - so getting the first one the right way round was fortuitous. Even the couple at right-angles were the right way round.

      Lackingt a 'scope to set it up - the two clock pots were adjusted until it ran. Not having the necessary Teletype handy at that instant - the voltages on the bus were measured to show the expected idle loop activity. A check with a 'scope later showed it was over-clocking - which explained why one instruction was always giving a one bit error.

      As Herby says the applications manual was enormous with simple circuits for bar code readers, keyboards etc - all driven at low level to do things like key de-bounce. Our first application was to hook it up to one of the mainframe terminal room Teletypes. Watching an unsuspecting colleague being refused a login was not only puerile amusement - but also impressed us to microprocessors' capabilities - if only they had a lot more RAM.

      The 6800, 68000, and 6502 were logical orthogonal instruction sets like the IBM 360. The Intel instruction sets always seemed far more arbitrary - so I never learned to program the 8080 etc at assembler level.

      I still have a brand new "wide-bodied" Motorola UART chip in my boxes of 74' TTL etc components.

      1. I Am Spartacus

        Re: I'll really be impressed when..

        " if only they had a lot more RAM"

        How many times did I say that????

      2. Wilseus

        Re: I'll really be impressed when..

        "The 6800, 68000, and 6502 were logical orthogonal instruction sets like the IBM 360. The Intel instruction sets always seemed far more arbitrary - so I never learned to program the 8080 etc at assembler level."

        The 6502 wasn't that orthogonal, certainly not when compared to the 68000 or the ARM for example (IIRC you had to use different registers, either X or Y, for different addressing modes etc)

        1. Nick Ryan Silver badge

          Re: I'll really be impressed when..

          From memory, yes: the X and Y registers had different capabilities when it came to the indirect/offset addressing modes.

          I remember when I first figured out what one of the more obscure ones actually did, and then wondered if there was ever a useful use for it. Like you do I searched the entirety of both of the C64 ROM chips and couldn't find the instruction in use. Not a definitive use case, but it was what I had available at the time...

          1. Solmyr ibn Wali Barad

            Re: I'll really be impressed when..

            "From memory, yes: the X and Y registers had different capabilities when it came to the indirect/offset addressing modes."

            Wasn't only Y usable for offset addressing? Load base address in Y, and then use one-byte offset as an argument for a command. Much faster than using two-byte addresses. Also, there were some register ops available to work with contents of Y - that had no counterparts for X.

            1. Simon Harris Silver badge

              Re: I'll really be impressed when..

              If I remember correctly, X and Y were used differently for indirect addressing thus

              LDA (aa,X) added X to the operand aa, and the contents of memory at (aa+X) and (aa+1+x) were used as the address from which A was loaded.

              LDA (aa),Y took the data from (aa) and (aa+1) as an address and then added Y to that. A was then loaded from that total address.

              The first was useful if you had a list of pointers to objects, the second was useful if you had one pointer to an object, but wanted to access data from a particular offset into that object.

              1. Nick Ryan Silver badge

                Re: I'll really be impressed when..

                @Simon Harris

                That sounds right. I suppose we could lookup the 6502 instruction set but it's quite interesting how well the instruction set comes back to memory despite so many years of not using it. I remember reading through it all in detail when teaching myself 6502 (6510) assembler as the C64 came with great manuals, particularly the Programmers Reference Guide(?).

    2. Anonymous Coward
      Anonymous Coward

      Re: I'll really be impressed when..

      now for the fun .. build an Intersil 6100 .. and then try to get Java running on a 12 bit CPU ...

      1. Simon Harris Silver badge

        Re: I'll really be impressed when.. Intersil 6100

        Well, the 6100 was based on the PDP8, so you could copy the PDP8s design (that one used discrete transistors).

        The next step would be to recreate your discrete version of the 6100 as a FPGA. Then you'd have an integrated version of a discrete version of an integrated version of a discrete transistor CPU.

    3. Down not across Silver badge

      Re: I'll really be impressed when..

      They do a 6809 that runs at full speed. That was a proper 8 bit micro.

      And it ran OS-9. Had much fun with that.

    4. PhilBack

      Re: I'll really be impressed when..

      6809, what a nice processor. Too bad the 6847 VDU in my CoCo was such a piece of crap and didn't do justice to it.

  10. Admiral Grace Hopper

    A happy thought

    I've still got the listing for a B-Tree database that I wrote in 6502 assembler at college somewhere. And the screenscraper that I used to capture the passwords to the course tutors' accounts.

  11. Anonymous Coward
    Coat

    Yes, but can it...

    ...and I'll stop there.

    1. jake Silver badge

      Re: Yes, but can it...

      No. It can't. And that joke (or, rather, variations of it) was old before the IBM PC was an itch in Don Estridge's pants.

    2. Tony Haines

      Re: Yes, but can it...

      ...

      just imagine a beowolf cluster of 'em.

    3. Anon

      Re: Yes, but can it...

      ...play Elite?

      Yes, it can.

      Well, it might need a few extra transistors to turn it into a BBC Micro first.

  12. John Savard Silver badge

    Why So Slow?

    While capacitance and distance issues are certainly real, computers made from discrete transistors achieved speeds high enough to allow them to do useful work back when computers were made from discrete transistors.

    Thus, the original PDP-8 ran at 666.67 Kilohertz, the SDS 9300 ran at 571.43 Kilohertz, the KA-10 chassis version of the PDP-10 ran at 1 Megahertz, and the CDC 6600 ran at 10 Megahertz.

    1. Tromos

      Re: Why So Slow?

      The high capacitance is probably due to the packing density putting relatively large chunks of conductors in close proximity to each other. I don't think distance (within reason) is too much of an issue for 1 MHz operation, spreading things out with a single layer board and classical discrete components might have been a better option. Open up a CDC6600 and you would find 4 large bays loosely packed with modules interconnected with wiring (usually twisted pairs) up to a couple of metres long. Use of emitter coupled logic and finely crafted tuning were critical to achieving the speed.

      1. Anonymous Coward
        Anonymous Coward

        Re: Why So Slow?

        "[...] packed with modules interconnected with wiring (usually twisted pairs) up to a couple of metres long"

        On the prototype English Electric 4-70 it was not unusual to see a long twisted pair wire that had been added during testing to give an extra signal delay. A calculated so many nanoseconds per length.

    2. Simon Harris Silver badge

      Re: Why So Slow?

      I was wondering this first when I realised that the original AT motherboard ran at 5MHz and was not much smaller (13.8" x 12").

      I think the PCB size itself does not necessary limit the speed so much. However, if the CPU is simply a transistor for transistor substitution from the die to the PCB without any redesign, simply scaling things up might well scale up parasitic capacitances and time constants. Also, the 6502 used some dynamic registers (essentially single byte DRAMs) to reduce transistor count - scaling up the storage capacitor might also limit the clock speed by increasing the charge/discharge time constant.

      I presume the 1960s transistor based computers running in the MHz range were designed on the macro-scale to control these capacitances in the first place.

      1. Roo
        Windows

        Re: Why So Slow?

        "I presume the 1960s transistor based computers running in the MHz range were designed on the macro-scale to control these capacitances in the first place."

        That and bigger power supplies pushing a lot more current. :)

  13. Aristotles slow and dimwitted horse Silver badge

    Because retro is the new future...

    Well done those lads.

  14. Andy00ff00

    WHERE do you find the time?

    Can you download free time from an ftp site or something?

    1. Stoneshop Silver badge
      Go

      Download from an ftp site?

      ITYM 'ntp server'.

  15. I Am Spartacus
    Flame

    1980's?? EXCUSE ME

    I was using a 6502 on a KIM-1 in 1977.

    Do keep up, El Reg.

  16. James Dore
    Meh

    808?

    How about an 808 chip? Maybe they could then go for a Proper 80's icon, and make the world's biggest operational Ibanez TubeScreamer.

  17. Anonymous Coward
    Anonymous Coward

    But... it's using that newfangled electricity thing

    I'd rather like to have a Babbage version of it, if that's all the same to you.

    1. Anonymous Coward
      Anonymous Coward

      Re: But... it's using that newfangled electricity thing

      In Babbage's day there were probably those who thought his machine should be driven by a plodding donkey chasing a carrot on a stick.

  18. Dabooka Silver badge
    Go

    Largely useless it may be

    but it is a thing of beauty. It has LEDs FFS!

    1. Anonymous Coward
      Anonymous Coward

      Re: Largely useless it may be

      LEDs?

      Luxury!

      Incandescent mini-light bulbs is what we had to use in my youth!

  19. jake Silver badge

    Does anyone have a link to ...

    ... the MCS-4 collection discrete components schematic?

    I built one once, with my daughter, about 25 years ago ... A couple of my nieces & nephews are showing signs of interest in this field.

  20. MJI Silver badge

    Giant Vic 20 next

    Please make the rest of the computer

  21. herman Silver badge

    Trannies vs Valves

    I'll only be impressed once someone builds a 6502 processor from thermionic valves.

    1. DropBear Silver badge
      Joke

      Re: Trannies vs Valves

      ...and then you'll demand the electromagnetic relay version, huh?!? We're onto you, you know...

      1. Anonymous Coward
        Anonymous Coward

        Re: Trannies vs Valves

        EMC testing would be a b*tch .... i know a testhouse I'd like to screw with though ....

        :-)

  22. John Tserkezis

    I did some assembler for the 6502, but it was for a college class, so I had to. And it was obsolete even then.

    Today however, I can't help but think: Can't they have done this with an FPGA or something? Or do I not get the point of creating a sub-standard copy of a CPU that doesn't count anymore?

    1. Nick L

      Missing the point

      Yes, of course they could do it with an FPGA. They've taken the netlist for this from a javascript simulator, so building the FPGA would be trivial.

      I think someone above summed it up nicely when they said "art". The 6502 was a wonderful thing (disclosure: I am a Chuck Peddle fan) and this homage to it is fantastic geekery in the extreme. Things don't have to have a point or a purpose.

      1. DropBear Silver badge

        Re: Missing the point

        Actually, I'd like to do that in an FPGA. But not the CPU (and not the 6502) - but the equivalent of the discrete TTL-based version my old Spectrum clone had for a "ULA"; then hook it up to an honest-to-goodness physical Z80 CPU (that unsuspecting one over there snoozing in my drawer) and some RAM and take it from there... I reckon even a really small FPGA (or a really large CPLD) would suffice for that... :)

        1. Chemist

          Re: Missing the point

          "Actually, I'd like to do that in an FPGA"

          Pretty certain there's a 6502 & 6809 FPGA implementation and I think there's a 68000.

          I've just noticed for Z80 fans that someone seems to have implemented a ZX81 in FPGA.

          1. Anonymous Coward
            Anonymous Coward

            Re: Missing the point

            http://www.cs.columbia.edu/~sedwards/apple2fpga/

            Apple II on FPGA. From back when Apple was a computer company :-)

          2. David Nash Silver badge

            Re: Missing the point

            Wasn't the ZX81 mostly in FPGA anyway? Or some custom chip anyway. IIRC 21 discrete 74xx chips in the old ZX80 were replaced with one.

            Getting a bit OT here but that was the best thing about the ZX80, together with the fact that the kit was supplied with a circuit diagram, thereby enabling those of an inquiring mind to see exactly how it all worked.

    2. jake Silver badge

      @John Tserkezis

      It's about the journey, not the destination.

  23. fearnothing

    That's nice

    but will it run Cry... oh, wait.

    1. MJI Silver badge

      Re: Will it run

      My favourite 6502 game

      Omega Race

  24. Missing Semicolon Silver badge
    Boffin

    741

    Those of us old enough to have done an Electronics degree in the 80's might remember making a 741 out of discrete bits as an analogue lab project.....

    Gotta match those current mirror pairs!

  25. Anonymous Coward
    Anonymous Coward

    It is only about 100 years since the thermionic valve was discovered - a spin-off from a method of stopping black deposits in new-fangled electric light bulbs. That is only a bit longer than an average person's expected life-time of three score and ten.

  26. SImon Hobson Silver badge

    I think this could be a wonderful teaching aid

    I recall when I was at Uni back in the 80s, one evening at the computer club we found an old PDP-8 stood on a landing with a notice - "free, please take away". One of my friends followed that request and had it in his bedroom. It turned out that they'd wanted to get rid of it years earlier, but the prof in charge of it refused to let it go because of the teaching utility of being able to single step it and see directly from the lights what was going on.

    Said prof was away on holiday when it "disappeared" from his lab.

    I do recall that whenever I visited my friend, I'd end up sat manually rewinding punched tapes while we talked. I suppose it was the nerd version of the vision of a group of women sat clicking away with their knitting needles while chatting :-)

    And the hard disks were truly impressive looking beasts !

    From what I recall of the 6502 (it was the first thing I programmed - hand assembly and all that) it was a static chip, meaning it can run down to standstill and have the clock single cycled. With all those LEDs, that should make quite a useful tool for visualising what's going on. Personally I don't think some video on a screen can ever replace that.

    1. Mike 16 Silver badge

      Static?

      I do not believe the 6502 was static. Oddly, when I referred to the hardware manual I bought with my 6501 from Chuck Peddle, there was no fMin spec'd. OTOH, the chips were intended as more-or-less drop in replacements for the Moto 6800, which had tcyc max of 10uS, so fMin of 100kHz. Those of us using the 6502 back in the day were well aware that one could not "underclock" them, or any other contemporary microprocessor, other than the Signetics 2650 and slightly later RCA 1801.

      You could "pause" the 6502 with the "ready" line, but only for read cycles. This made me use a dummy read to the data register of the Floppy Disk controller (during write operations) to pace the data transfer. 8-inch floppy, so a loop with explicit testing for "data available" would be too slow.

      Later CMOS 65xx processors may have been static, but I was on to things like the 68000 by then. BTW: that 68K "Orthogonal" hype was a lie. There were a dozen or more "classes" of instructions with distinct sets of supported address modes. I learned them pretty well at the time, but have mercifully forgotten by now.

      Good times. (in the sense of a sudden storm in a small boat that one can now fondly remember surviving)

      1. Solmyr ibn Wali Barad

        Re: Static?

        Funnily though, it was possible to underclock AMD 386 - down to a couple of Hz. Whereas Intel 386's did not appreciate underclocking them for more than 10-15%. Probably due to the fact that AMD implementation was fully static CMOS.

      2. Simon Harris Silver badge

        Re: Static?

        Real 6502s were dynamic. The CMOS 65C02 (at least the WDC version) was (and still is) static. The WDC 65C02 also has extra addressing modes on some instructions and a few extra instructions. I can't remember whether they fixed the indirect jump wraparound bug from the original 6502, or left it as-is.

      3. energystar
        Linux

        Re: Static?

        "...but have mercifully forgotten by now.

        Good times."

        Wise words... But those were empowering times, and that I will not forget. That's the purpose of technology.

        1. TAJW

          Re: Static?

          Yes they were. The Apple, TRS-80, Sorcerer, Commodore 64 and Vic-20, etc. Being able to drive around Silicon Valley and see Apple, Sun, and others, including the video game companies. Going to the Stanford book store second floor computer book area. Just the air was electric there, the mood was that anything was possible, and knowing the world was about to change in a big way.

          What an awesome time!

  27. HPCJohn

    Kane HAwkins and Levinthal

    Oh I soooooo want one of these.

    And I could program it too! We did 6502 programming labs at Uni in the 1980s.

    I still have a copy of "6502 Assembly Language Programming"

    by Kane, Hawkins and Levinthal

    1. VeganVegan

      Re: Kane HAwkins and Levinthal

      I don't have that book, but Levinthal was prolific: I still have his 1979 sole-authored book ("6502 Assembly Language Programming" ), as well as the 1982 Leventhal and Saville "6502 Assembly Language Subroutines".

      1. paulll Bronze badge

        Re: Kane HAwkins and Levinthal

        Don't have anything 6502 but I do have Lance Leventhal's,"Z80 Assembly Language Programming." Essential book.

  28. Dr. G. Freeman
    Coat

    Got the circuit diagrams

    http://mdfs.net/Info/Comp/BBC/Circuits/

    Can someone cover for me ? I'm wandering down to Maplins.

    Ok, I'll bring back chocolate biscuits from the supermarket.

    1. Simon Harris Silver badge
      Unhappy

      I wish you luck finding anything you actually need in Maplins.

      1. paulll Bronze badge

        "I wish you luck finding anything you actually need in Maplins."

        Now *there's* a retro idea.

  29. Nigel 11

    What's even slower than retro?

    Alt-History.

    Specifically, could there have been an alternative Victorian England in which someone invented the electromechanical relay ahead of its time and then Babbage, Ada Lovelace and a watchmaker acquaintance (for the miniaturisation) managed to come up with a working binary computer clocking at a few Hertz? Which would have been faster than a Babbage engine, easier to build and probably a lot more reliable.

    They sell relays like that these days. Not cheap, mind you. But just imagine the sound of it working!

    1. J.G.Harston Silver badge

      Re: What's even slower than retro?

      "They sell relays like that these days. Not cheap, mind you. But just imagine the sound of it working!"

      I had a tour of a Strowger exchange as a child.

    2. Mike 16 Silver badge

      Re: What's even slower than retro?

      Relays were roughly contemporary with Difference Engine I, and predate Difference Engine 2. One digit of DE2 (with addition, restore, and carry propogation) would probably be more complex in relays than the actual design. And it's hard to imagine that the miniature versions would have sufficient reliability without even greater complexity.

      One could argue that the greater speed of the relays would allow a single ALU to be shared across all the columns, but doing that sort of thing would require at least an order of magnitude speed advantage, and relays didn't get near that area until Babbage was dead.

      Konrad Zuse did built a fully mechanical computer in 1936 that _would_ have been possible in Babbage's time, had Babbage not been as abrasive as he was, or had Peel and Co. not replaced Wellington (who had immense patience with that particular bit of project overrun).

  30. Inventor of the Marmite Laser Silver badge

    Absolutely completely and totally bloody stupid

    And utterly, utterly brilliant because of it.

    Well done!

  31. FIA

    TUBE

    Next step... a Tube interface?

  32. energystar
    Headmaster

    Teaching at the best....

    "Why do it? You could take a hint from the interests of one of the designers, Eric Schlaepfer, a vacuum tube enthusiast. He worked with Windell Oskay of Evil Mad Scientist Laboratories to design the MOnSter 6502."

    Why haven't Harvard called them for an Art Exposition?

    Congratulating the Team. Real Engineering Teachers.

    1. energystar

      Re: Teaching at the best....

      Hand selecting the components for precision they can go up in the clock.

      They could better go DOWN the clock...

      And add micro-leds showing the thing 'flowing', in slow motion...

      This is not after hours, this is important in the arts and education field.

  33. Anonymous Coward
    Anonymous Coward

    6502? Popular?

    It was a processor for hairdressers who drove X 1/5s and wore paisley shirts.

  34. martinusher Silver badge

    Its Art, but really what's the point?

    Back in those good old days processors were made from transistors or small scale integrated circuits. Although they're a bit of a pain to make they're architecture is in many ways quite advanced compared to many modern processors because their design had to take into account the relatively long delays in the wiring. You didn't do the bus architecture like these micros had -- this was a relatively recent innovation, something that I associate with a PDP-11 -- but rather used data highways to circulate information. ("Reinvented by Rambus"). It was OK for the year but when the LSI parts turned up I for one went straight for them -- wire wrap is tedious.

    These days if you want a retro processor you've got a couple of options. One is just the software simulator, accurate but not very interesting. The other is to use an inexpensive FPGA.. FPGAs host soft processors like the Microblaze or Micos; these are quite fast 32 bit machines so there would be plenty for room for an 8 bit device. In fact with all the other bits and pieces in a modern FPGA you'd have no problem building the rest of the computer -- peripherals, memory and so on -- inside it..

    BTW --

    1) I dragged out an old (1985) PC-XT clone out the attic recently and ran it up. They're not as interesting as they sound -- my (cheap) phone is many hundreds of times larger and more powerful.

    2) I am familiar with valves because I have valve audio equipment. It sounds nice but you look at something like its FM tuner and think "Is this all it does?". I pair mine up with an Internet tuner; I think I should change that source for an Alexa enabled 'dot' (plus an IoT enabled switch to power the thing on and off). Now that's what I call 'art'.

  35. TAJW

    Awesome

    Absolutely awesome! As an Old Guy who used to work on discrete component computers from the 70's and 80's, and was in love with my Apple ][+ and it's 6502, these guys deserve a "Well Done" and a handshake, along with a wish that I had one of these buggers!

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019