• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Color Macintosh Plus

Mu0n

Well-known member
Phenomenal job! That's a lot of skills and equipment in many different areas to make this a reality.

How do you find the emulation on a pi4? I notice the smoothness of the mouse cursor moving around is noticeably less than in real hardware. In many games, it's not a big issue, but for stuff like Shufflepuck café, it starts to show. I wonder if your emulator can tweak its values to improve upon it.

 

sam256

Member
The emulation is fine.  I haven't played Shufflepuck on it, but crystal quest runs just fine.  I'm using the SDL version of basilisk ii -- this is my config, but its pretty standard:

Code:
displaycolordepth 8
rom /home/pi/mac/PERFORMA.ROM
disk /home/pi/mac/HD20Sys75.dsk
disk /home/pi/mac/HDStorage.dsk
disk /home/pi/mac/Classic.dsk
screen dga/640/480
bootdrive 0
bootdriver 0
ramsize 8388608
frameskip 8
modelid 5
cpu 3
fpu true
nocdrom true
nosound false
noclipconversion false
nogui false
jit false
jitfpu false
jitdebug false
jitcachesize 0
jitlazyflush false
jitinline false
keyboardtype 5
keycodes false
keycodefile /home/pi/.basilisk_keycodes
mousewheelmode 1
mousewheellines 3
dsp 
mixer 
ignoresegv false
idlewait true
swap_opt_cmd false
 

joshc

Well-known member
This is awesome, so much nicer than the bodge jobs you often see when compacts are converted with newer internals but at the detriment of the original case. Very impressive indeed and the result looks great!

 

aeberbach

Well-known member
Nice job! how do you find 640x480 on that size screen, does that sharpness of the LCD make up for smaller text?
 

If you want to have the Mac splash on the screen earlier even a very cheap FPGA could do this. You don’t need to care about memory for a screen buffer because you could generate the screen image algorithmically rather than reading pixels from memory. Once you have some signal from the Pi that it is up and ready to take over, just mirror some inputs to the video outputs and stop generating the image. VGA video output is nothing to even the cheapest MAX10 chip, $10 or so. Breakout boards for this chip are freely available on GitHub etc. Not trivial, but not a very hard project either.

 

Trash80toHP_Mini

NIGHT STALKER
Fabulous project, turned out amazingly well, great work! :approve:

to make it more realistic, you could use a spray-on rear projection screen material, and then use a small LED pico projector. 


Aside from the annoying small jet engine sound effects emanating from the 10+ year old projector I've played with, you'd need to correct for focus and distortion complications induced by the curved surface of the CRT.

 

nickpunt

Well-known member
Great project!! Very elegantly done.

One thing I've been hoping for is the price of OLED screens to go down, so that we could potentially get a flexible OLED display and push it up against a curved CRT to replicate the slight curve of the screen. The non-emissive blacks would also be very CRT like. Unfortunately it doesn't seem like OLEDs are mainstream outside of smartphones with very high resolution or very large TVs with low/moderate resolution. Nothing in the tablet size at low resolution. 

Something like this is just about ideal, but rather expensive ($1200) and a bit too small (7.8in). Still, the 1920x1440 resolution is exactly three times 640x480 so pixel tripling would make it super crisp and authentic looking.

 Artboard.jpg

Another wacky idea is to go b&w/greyscale and use an eInk display. This 9.7 in display & pi hat is $169 and does 1200x825. Since the display is slightly too big, you could render only the center 1024x768 area and just pixel double for an effective resolution of the compact mac res of 512x342. The effective size would be around 8.2-8.5", roughly the compact Mac's, and you'd just put a black border around the rest of the screen & borders to cover it up. Here's what an emulator looks like on an eInk display.

71jCVwG-6jL._AC_SL1440_.jpg

 
Last edited by a moderator:

sam256

Member
All interesting ideas on the screen.  The truth is 640x480 scaled on this 1024x768 LCD is pretty good looking.  The biggest issue with it (and it isn't a huge one) is the stippling on the original CRT glass.  If I had a wish it would probably be for a smooth, clear glass front.  That said, it's not a huge deal and mostly noticeable only on white backgrounds.

I like the instant frame buffer idea--though at this point I'm not inclined to re-work the project to include as  I managed to get the boot to flash screen time down using the info in this thread: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=251746&start=100 (look near the end of the thread).  Also, I'm using HDMI, not VGA, but presumably that could be handled.

If I ever crack the case open again, I'd consider converting one of the unused back ports to wire into a usb port on the Pi and then make a a USB to whatever-port-i-used cable for plugging in eternal USB devices.  But for now, its getting pretty regular use by my kids for lemmings and prince of persia ;)  so I'm unlikely to put it back in the shop for a while.

 
Top