DIY 6502 Laptop Computer Looks And Works Great

Over the years, we’ve seen a lot of DIY retro computers, but [Dirk Grappendorf] has created one of the most polished looking 6502 systems to date. His battery-powered portable machine utilizes a 4 line by 40 character LCD, and a modified USB keyboard. Cover all that in a slick 3D printed case, and you have a machine that reminds us quite a bit of the venerable TRS-80 Model 100.

homecomputer-6502-v8-via-bread[Dirk] has some great documentation to go with his computer. He started with a classic MOS 6502 processor. He surrounded the processor with a number of support chips correct for the early 80’s period. RAM is easy-to -use static RAM, while ROM is handled by UV erasable EPROM. A pair of MOS 6522 Versatile Interface Adapter (VIA) chips connect the keyboard, LCD, and any other peripherals to the CPU. Sound is of course provided by the 6581 SID chip.  All this made for a heck of a lot of wires when built up on a breadboard. The only thing missing from this build is a way to store software written on the machine. [Dirk] already is looking into ways to add an SD card interface to the machine.

homecomputer-6502-final-4The home building didn’t stop there though. [Dirk] designed and etched his own printed circuit board (PCB) for his computer. DIY PCBs with surface mount components are easy these days, but things are a heck of a lot harder with older through hole components. Every through hole pin and via had to be drilled, and soldered to the top and bottom layers of the board. Not to mention the fact that both layers had to line up perfectly to avoid missing holes! To say this was a lot of work would be an understatement.

homecomputer-6502-final-5[Dirk] designed a custom 3D printed case for his computer and printed it out on his Ultimaker. To make things fit, he created his design in halves, and glued the case once printing was complete.

If awesome hardware and a case weren’t enough, [Dirk] also spent time designing software for the machine. He wrote his own abbreviated BASIC interpreter along with several BASIC programs. You can find everything over on his GitHub repository.

We always love writing up well-documented, and just generally awesome projects like [Dirk’s]. If you know of any retro computers like this one, drop us a tip!

[Thanks MicroHex!]

48 thoughts on “DIY 6502 Laptop Computer Looks And Works Great

  1. SD is probably beyond the bounds of 6502 era hardware to control (minimum of an 800KHz serial stream to start with), but that doesn’t mean he can’t use something more modern to interface between it and the machine.

    It brings the old Sinclair Z88 to mind for me. Shame there is nothing in that class these days.

      1. There have been localbus options for MMC/SDcards on 6502’s for a while. Mmc64 for example is an old one that’s no longer produced, using the system clock at 1mhz and a tiny bit of logic in a PLD to initialize the card. As I remember, the logic also allows the mmc clock to be switched to the system’s pixel clock at approximately 8mhz for faster access.

  2. How About 3.5″ Floppy? shouldn’t be too difficult for someone like him :>
    I just think about all these slim-line USB-Floppy Drives, they are Small enough that they might fit into the form-factor (with a new designed Housing) and the USB Interface may be discarded and swapped against an home brew interface

    1. Something tells me a USB stack to get to a floppy is out of the question.

      Check out some of the slim laptop-style FDDs with a “PC floppy” interface. They’re not much bigger than the disk itself.

    2. It is a bit involved to make a floppy interface on a slow microprocessor. Even with a floppy controller, you would still need to transfer the RAW data in real time as the drive do not have any intelligence/buffering.

      Better off interfacing with a CF or SD (with a $10 PATA adapter board). M-System (now San Disk) make overpriced DiskonChip that is simple to interface to.

    3. Floppy disks are a total PITA, well into ASIC/FPGA/fast dedicated microcontroller range. For just reading off a 720K density floppy, you need something that can continuously measure clock edges with 2µs precision. Writing requires the ability to generate either a whole track’s data (for a 720KiB floppy, 12500 bytes for a whole track of pregenerated MFM) or react within 100µs to the incoming read stream to enable writing.

      On the other hand, he might be able to just find an old 8271 floppy drive controller instead. That’d hurt less.

  3. No EPROM in that picture… And the project page says he decided to use EEPROM.

    Ah, the good old days with an EPROM eraser in the office (smellily) erasing tray after tray in the rush up to ROM tapeouts…

    1. Ah!
      Acorn Atom, I have had one, but it got broken long time ago. Saved all the ICs somewhere, but can’t find them anymore :(. Even lost the ROMs. Does anyone have them, and make a copy to me?

      It was a favorite, I really liked the BASIC with its ? operator for peek or poke. Worked like the * in C.

  4. anyone else even slightly worried by the lips battery capable of dumping 64 amps connected directly to those tiny wires without so much as a fuse?

    Great project, I’d just hate to see it destroyed if there was ever a short somewhere.

  5. This is truly amazing. Very well done, and very impressive.

    That being said, I must also say that I have no idea what drives the whole retro computing thing. I have lived through the entire lifetime of the home computer, and I can say without reservation that the last thing I want to do is go back to the way things were in 1982!

    1. Three different possibles. One nostalgia, person grew up with them, and like the simplicity, repairability, and security better. Two, a person didn’t grow up with them and what’s to see what one was like, or likes retro objects, like the NES or whatever. Three, learning a system from the ground up, sometimes the best way to learn is to perform the sames processes as history, so you learn the knowledge and wisdom of each choice, action, and mistake.

  6. How would someone take something like this and make it so you hit button and spit everything in open document out onto whatever the keyboard is plugged into?

    Basically how would I use this basic design as a DiY alphasmart?

    I am impressed by this guy’s work. Very polished looking and can work on it’s own. Thank you for sharing and I’m sorry I don’t have anything technical to add to the discussion.

      1. Wouldn’t USB be a better/more widely recognized protocol? Example being one of alphasmart’s uses is plugging it into a tablet and hitting send to autotype file contents out.

        On the other hand is the PS/2 protocol used in USB keyboard/mice?

        1. Given that even the AVR need to be running at 12MHz to bitbang USB at 1.5Mbps, you would need a USB host controller. The software host stack is going to be fun to write.

          PS/2 is a completely different protocol than USB. Just a engineering/marketing decision that the same chips are programmed to do both to sell to a bigger market.

          PS/2 protocol on the other hand is quite simple. Just a matter of reading in a serial clock stream when you see a clock edge. Get the key packet and use a translation table to look up the key modifier/key code.

          1. Sounds better, but how would you hook something like this to something that only has USB?

            In case it isn’t already easy to tell. I have no idea about any of this stuff other than ‘oh hey that looks like a neat use for a CPU chip that was in EVERYTHING EVER IN THE 80s (that wasn’t using a z80.)’ I mean seriously. The nes, apple ii, commodore 64….

Leave a Reply

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