Control a Macintosh Classic CRT with a BeagleBone Black – Part 3

Introduction

This is the final part of my series discussing my Macintosh Classic CRT project. In this article I want to give you a summary of my future ideas for the macdisplay project.

After I (finally) found the time to fix the display bugs that bothered me (the article discussing the software was updated), I was more or less done with my macdisplay project. My actual goal was to display black/white images on the CRT, which was a success after all. Now I want to take the project to the next step and I have some ideas to make it even better:

Display linux console/desktop

I want to display the BBB’s console and desktop output on the display. At this point I do not really know how to do this, but I have an idea that has to do with the X window server. After this is done, I would love to emulate the Macintosh Classic’s original OS on the BBB and display the output on the CRT.

Apple_Macintosh_Desktop
Figure 1: Macintosh Classic OS

Link to the article (This was done with a Raspberry Pi 4, not the BBB)

Connect the old Keyboard/Mouse and make it work

I probably could just buy a cheap ADB to USB converter for that one, but of course I want to build my own solution for this. I have the original mouse and keyboard the computer came with, which are both in good condition.

5-Unboxing-Macintosh-Classic
Figure 2: Macintosh Classic’s Mouse and Keyboard

Update: Unfortunately the mouse broke while I tried to work on an ADB to USB converter and I guess this is cancelled for now.

Refresh the colors

The plastics on the computer itself and the keyboard and mouse got pretty yellow over the years. I want to fix this and get the default metallic grey/platinum look back.

Link to the article (will be available soon).

3D-printed case for the BBB

I want to mount the BBB into the Macintosh Classic’s case. I plan to remove the HDD (which is obviously not needed any more) and to design a case for the BBB that replaces it. I will then manufacture that case with the help of a 3D printer and I will rework the internal wiring of the Macintosh to feed the BBB.

Link to the article (will be available soon).

A new floppy disk drive

The Macintosh used a 3.5″ floppy disk drive to read data that was stored externally. Even though this format is more or less outdated (and useless) today, I absolutely love the look of floppy disks. I therefore decided to modify the FDD and some floppy disks to work as an USB or SD-card reader.

Link to the article (will be available soon).

Table of contents

Part 0 – The story behind the project
Part 1 – The CRT
Part 2 – The Software
Part 3 – Additional Thoughts (You are here)

An alternative version of this project using a Raspberry Pi 4.

comment-banner

14 thoughts on “Control a Macintosh Classic CRT with a BeagleBone Black – Part 3

  1. Why not use the raspberry pis DPI with a resistor ladder on the first 8 bits, a custom video mode, and run xorg with 8bpp grayscale? It should work fine I think…

    Liked by 1 person

    1. Thanks for the suggestion, that sounds like a great alternative way, and I’ll definitely look into it. I chose the BBB for that project because I didn’t have that much experience back in 2016, and everyone, who I had asked back then, pointed me toward it. The only viable alternative back then seemed to be an FPGA.

      Like

    2. Hi again!
      I just tried what you suggested, and from a first quick test I can confirm that the method, you suggested, is indeed working quite well with the newest Raspberry Pi. Thanks again for your comment, it’s highly appreciated!

      Like

  2. Hey! Cool project. Now in 2019, the BBB seems a little overpriced for what it actually delivers. Has there been any alternative in the meantime?
    There are one or two other approaches in the web but neither are really well-documented and both creaters are not responding mails.
    Were you ever able to put a console and/or X11 to the CRT?
    Best wishes!

    Liked by 1 person

    1. Hi! Thanks for the question because it’s an interesting one. To be honest I’m not really up to date when it comes to current development boards like the BBB. However, when I think about this project I also think about how easy it would have been to realize this with an FPGA. The result would probably be even better. So that’s always an alternative to the BBB. However, usually FPGAs are even more expensive.

      Another thing I can come up with is using a Raspberry Pi but with a much lower resolution. I managed to create exact waveforms for the sync signals with a Pi before (https://nerdhut.de/2016/05/09/exact-timings-raspberry-pi/) but it wasn’t fast enough for the full resolution. However, if you’re good with 1/4 of that, the Pi might be sufficient (However, I didn’t calculate that, I just suspect it’ll work). But the results might not be that good.

      As for the console output: I experimented with the Linux Framebuffer and unfortunately didn’t have any luck at all when using the BBB. Many online boards suggest it’s because of the BBB’s HDMI driver. However, using Raspbian (Debian on the BBB didn’t work either) I was able to read the framebuffer pixels and store them like I did with the image of the cat. So in theory it should be possible. However, I more or less abandoned this project by now. I still think about it from time to time but currently I’m working on a more elaborate alternative.

      I hope you don’t mind the long answer 😀
      TL;DR: An FPGA is my best guess for an alternative, the Pi might work with a lower resolution. Reading the framebuffer and sending it should work but I didn’t have luck on the BBB only when using a Raspberry Pi.

      -Cheers!

      Like

  3. Hi, I’m trying to do the same thing with a classic Macintosh.

    Did you directly connect the BeagleBone to the Mac?
    I’m hesitant to do that so I’ve been looking at some high speed line buffers, but I wondered what you had done.

    Liked by 1 person

    1. I directly connected the beaglebone to the signal lines of the monitor back then, mainly because I didn’t know a whole lot about digital electronics by the time I made this project. So a buffer would make a lot of sense in this case and it might fix some of the glitches that are visible in my final version.

      Like

Leave your two cents, comment here!

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