Reverse Engineering Programmable Logic


Despite what the cool kids are doing over on Hackaday Projects, the vast majority of vintage computers used some form of programmable logic for memory control, address decoding, and all that other stuff that can be done with just a few logic chips. It’s a great way to design a product for production, but what happens when the programmable chips go bad after 30 years?

[Clockmeister] got his hands on a Dick Smith VZ300 computer (a clone of the VTech Laser 310) with two broken 40-pin custom chips. After going through the schematics and theory of operation for this compy, he recreated the custom chips in 74 series logic.

The Dick Smith VZ300 is a fairly standard piece of equipment from 1985 – a Z80 CPU, 16k RAM, upgradable to 64k, a tape drive, and 32×16 character, 8 color display. Inside this computer are two 40-pin chips that are responsable for video buffering and VRAM control, keyboard and cassette I/O, video timing, and the monophonic speaker decoding. Both of these chips failed, and spares are unavailable, apart from scavenging them from another working unit.

After careful study, [Clockmeister] recreated the circuits inside these chip with 74 series logic chips. The new circuit was built on a board that plugs directly into the empty 40-pin sockets. Everything in this rehabbed computer works, so we’re just chalking this up as another reason why designing new retrocomputers with programmable logic is a dumb idea. Great for a product, but not for a one-off.

Image source


34 thoughts on “Reverse Engineering Programmable Logic

      1. Dick Smith (the bloke) sold Dick Smith (the store) about 30 years ago. Part of the conditions of sale was they didn’t change the name or logo.

        They were very hobbyist orientated, but ditched all that about 10 years ago.

        Amusingly I recently worked with a woman who spent 5 years at DSE, and didn’t know the difference between a resistor and LED. They really are a long way from where they started.

        Even the locals don’t know (or care) what a Dick Smith is these days.

        1. Dick Smith isn’t that bad. I have a DSE branded DVD player that I bought a while back (just a small cheap unit) and it works great. But yeah its not as cool as it used to be (my first forays into electronics were the old Funway kits, never went very far though because computer programming ended up taking over)

          1. But when your DVD dies due to capacitor plague, you won’t get new caps at DSE. Good thing Jaycar exists.

            I wonder where all the Funway stuff ended up, I’ve got some of that stuff.

          2. Yes – Jaycar is awesome. You can go in there, buy some no-name capacitors for more than what radio spares charges for nichi and then still not have the unit work because the capacitors (the whole draw at Jaycar) are not even close to spec.

        2. Sort of like Radio Shack in the US….
          Sort of, but Radio Shack did make an attempt to get the hobbyist back by
          First, asking people what they wanted,
          Second, actually stocking some of the stuff (Arduinos, Propeller boards, shields, sensors, servos, and kits)
          Alas, it wasn’t enough, they plan to close 100 stores this year. (I think their business model didn’t take into consideration that hobbyists want very low prices). I paid full price for my first Arduino from Radio Shack, but I’ve since scooped up other stuff at closeout prices. And they still have a couple drawer cabinets with switches, connectors, LED’s, IC’s, battery holders, etc.

          P.S. last week the local one had the (a?) Propeller development board for $20, half the their original asking price.

          1. Australia had Radio Shack as well, known as Tandy. Over-priced and fairly useless, just like the USA.

            Oddly enough both Tandy & Dick Smith were owned by the same company. Tandy vanished about 5 years ago, merged with Dick Smith and then sold off.

            There was never an attempt to get the hobbyist electronics stuff back, it’s a very small niche market here.

            Dick Smith himself was the nerd’s nerd, complete with thick-rimmed glasses. He’d be rolling in his grave at what’s happened if he wasn’t still alive.

          2. Tried? No they didn’t. They’ve been officially focused on cell phone sales since about 2009. This was a stupid move on their part, even though a lot of stores have found it to be a cash cow. They abandoned their older clientele in the hopes they could do other stores were already doing in. Unfortunately every store in the u.s. now has ecll phones, as well as specialty stores, carrier stores, etc. It was a doomed decision from the start.

    1. I know, it’s my pet hate here. If you can get a link to something better than the ‘tube, please do. If someone submits it on the tipline, maybe ask them if they’ve got a better link? There’s very little to learn from a video, compared to just a few lines of text.

    2. Whatever happened to tagging video-only submissions with some easy-to-filter-out tag?
      No matter what it is on, unless it comes with text, a submission is of no interest to me, unless you find a youtube video where people talk as fast as I can read and supports “Ctrl+F” for said speech


    3. Entirely aside from whether there could be anything informative in the video, there wasn’t.

      All I learned was that he replaced two 40-pin 0.6″ DIP ASICs with four 0.3″ DIP ICs: two 16-pin and two 20-pin, and a lot of wiring.

    1. They nearly always don’t fail. Blame this one on the aliens, but out of all the old computers and stuff I and others collected, most stuff from back then still works fine. For the few that do fail, usually it’s the discrete components to blame.

    2. All of the above, and electromigration. I do a lot of repairs on retro equipment and discrete components are unlikely to fail, in fact it’s an exception for discretes to fail. The most common failures are those chips that run hot, and that includes old DRAM, mask ROMs and custom chips. Thermal cycling plays a huge role, and it ties in with electromigration. For instance, on a Commodore 64, the PLA runs very hot, and it is the most common failure, the memory chips, very common failure point – SID is another.. On the Commodore 16, it’s the TED that always dies first. On the VZ300 it’s always the voltage regulator or the GA003 and GA004 chips that fail, closely followed by DRAM.

    1. I was about to say the same. What in world is wrong with programmable logic? I would think that it allows for remapping I/O pins and timing as necessary for dealing with different monitors in different countries.

      1. PLDs in a lot of these console type home computers were more about ‘copyright protection’ than trying to save silicon, They were trying to make it harder to clone.

        Now in us here in the far future lament these decisions as the cells in these devices are fragile and tend to die more frequently than others devices. Don’t get me started on the Faichild ICs commonly found in arcade PCBs from the mid-80’s, all of those are dead or dying, not sure why, they just are :(

        Point is, the original comment was “they were dumb to use a PLD/GAL/ETC” – well, no, it served their purpose, either they had no real estate left, wanted to stop yet another clone of their clone or whatever goal they had. They certainly had no idea that people wanted to use their devices 15,20+ years in the future. In those days, 12 months would have been great.

    2. I’m more confused by the next statement. Great for a product, not for a one off. Don’t all hardware start life as a one off? What happens if the project is canceled after the initial prototype? Does it become a one off then? Don’t some circuits become so complex that to build and test the entire thing using discrete logic become unwieldy?

  1. The VZ300 is not a clone- it’s just a rebranded VTech Laser 310. It wasn’t uncommon for VTech to design ASICS or PLDs to consolidate logic chips in their products.

  2. Brian says: “designing new retrocomputers with programmable logic is a dumb idea”

    To be fair Brian qualified that by adding: “Great for a product, but not for a one-off”

    I have been wanting to make a Z80 based retro style computer for some time.

    The hardest part of doing this is the video. In Brian’s build he chose (from memory) a 99×7 video chip and as far as I can tell this chip is no longer in production. All I could find were “new” old stock on ebay and some ‘rare spares’ like retailers.

    I was looking for a programmer last week for the old 28xx eproms and stumbled on what looked like a good ‘universal’ programmer. To my surprise the ‘universal’ programmer would also program 22V10’s which I have a stick of in the back room that has been there for many decades.

    I am also fixing an old Amstrad CPC 6128 from the 1980’s. It has a large ASIC for video that works in conjunction with a 6845 video generator. It also has a smaller HAL16L08 for switched memory bank addressing. I can still buy the PAL16L08 and program it. I could probably work out some VHLD to replace the ASIC with FPGA but I didn’t need to as I found some ‘new’ old stock. The ‘universal’ programmer would also do the PAL16L08.

    Now getting back to Brian’s comment I will first start with the ‘progression’ of the 1980’s era retro home computers.

    Almost all of them used 680x, 650x or Z80 CPU’s because they were cheep and relatively easy to interface with minimal ‘glue’ logic.

    During the time from the beginning to almost a decade later there was only a doubling of CPU speeds (for home market computers).

    The big changes came with RAM and extended peripherals like floppy drives instead of tape drives. The marketing make or break feature that determined if it sold well was the video so that is where the design focus was. A 0.25MIPS to 0.5MIPS CPU just can’t do video to any quality by it’s self.

    They all turned to ASIC to achieve this. For a self build, FPGA is the alternative.

    So when Brian says: “Great for a product, but not for a one-off” –
    I believe this is mostly just preference and I would like to be corrected if I am wrong because it would be my preference to use at least CPLD for glue logic or go the whole bang for buck and put everything except RAM and perhaps the CPU in a large FPGA like the Spartan 3E / 500K. In any case I would want the Video in FPGA as I can’t find a suitable alternative that is in current production.

    I personally would like to see a retro computer project that is economical to build that may be sold in kit form or fully assembled. And by the feedback Brian is getting there is ‘some’ demand for such a project.

    For anyone that is frightened of VHDL you should know two things –
    1) The Design Environment software is even worse than you expect. Nothing can be done about this as the IDE’s are made by the manufacturers but this is not an insurmountable hurdle. If you pay money you can get better quality third party front ends.
    2) Just about all the IDE’s support several design input levels. The two you probably have head of and fear are VHDL and Verilog. But guess what the most common third input level is … schematic entry. So if your an ‘old hand’ then you can use the FPGA IDE’s without having to learn VHDL or Verilog.

    So while I am here Brian, can I ask the question that you probably have been asked too many times … Would HAD consider a retro home computer project that can be built economically and be open source? Is there much demand?

    I would be a willing contributor although I would prefer something that is Z80 based.

    1. > So while I am here Brian, can I ask the question that you probably have been asked too many times … Would HAD consider a retro home computer project that can be built economically and be open source? Is there much demand?

      I would be a willing contributor although I would prefer something that is Z80 based.

      To answer your question, fuck yes we would be interested. The problem is demand, though.

      What follows is only my opinion.

      I see an ‘open source retrocomputer project’ selling for no more than about $150. *Maybe* $200. Beyond that, I don’t think there will be any demand, and I’m probably being optimistic. There are a few modern 8-bit systems out there available for that much, and they sell. Moving up to a 16-bit CPU like the 68000 or 65816 would be a better move – especially since the 65816 *is* a 6502. You could get a lot of retrocomputer goodness out of something like that.

      The problem with this is that a collaboration between a whole bunch of people is going to have the ‘too many cooks’ problem. Some people are going to want FPGAs, SCSI interfaces, MIDI ports, and other cool but weird stuff. You can’t do an ‘ultimate retrocomputer’ project with the targeted price point above, and a lot of contributors will be disheartened.

      I’m really not feeling turning the Hackaday 68k into a kit or product would be a success because of that limitation. There are a few things I could do to make the design cheaper, but trying to please everybody is an exercise in misery.

    2. I plan on putting this together ( ) where you’re looking at something $80-$90 tops, and running something like CamelForth ( ). May just let it go if I can’t get the system requirements and put the Forth on another computer. I won’t be satisfied there though lol; like that guy on the site I want to design my own processor (very small one of course).

      I think Brian’s right about the “too many cooks in the kitchen”; look at the Novena, I liked it (can’t afford one) but everyone had their own ideas about what they want to do. That’s going to be a problem w/ a homebrew project w/ a bunch of people. For instance, I’m currently trying to go *very* minimalist to get a better grip on computing; that’ll be very boring for a lot of other people.

      Lately it’s been a lot of fun blowing the dust off all the 10-15 year old computers around the house and booting them up. Old harvested CD-ROM’s still work (!) perfect. Couldn’t get the Cassiopeia E-115 to though, either a faulty charge circuit or maybe something worse… :( Which would be cool b/c it has an IR port and I want to get linux on it too; just for the hell of it. It’s a lot of fun.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.