Categories
Apple Gadgets

Juicy Crumb DockLite G4

Last year, I purchased a DockLite G4 board from Juicy Crumb Systems. It’s a drop-in solution that repurposes the iconic iMac G4 into an HDMI display.

Installation

There are more affordable ways to achieve the same goal if you’ve got the time, but no one else makes it this simple.

In the box I got:

  • the main board
  • an installation manual
  • an HDMI cable
  • a minijack stereo cable
  • a USB-C cable
  • a sticker
  • a legit Australian Tim Tam

Overall, the instructions make sense – pull out the old PPC logic board, pop in the DockLite G4 board, connect power and the display, and you’re kinda done.

The board also features a USB hub, a speaker amplifier, and brightness-adjustment buttons. They all line up nicely with the back of the chassis, even if it’s not airtight, Apple-level industrial design.

Software control

If you’re running a Mac you can install Juicy-Link and connect to the USB hub to set the display brightness and upgrade firmware. It’s simple to install and seems to work well (as long as it’s a Mac).

Things to consider

Limitations

Their software is currently only available on macOS although their website claims Windows support is coming soon. Software control is better than nothing, but still not as nice as DDC/CI. If you find yourself on something other than macOS you’ll need to reach around the back and press the buttons to adjust the brightness.

More disappointing is that the display doesn’t support sleep mode, so turning off the backlight requires pressing the physical power button in the back. This makes the challenge of preserving an old backlight even harder.

The good news is that I think much of this can be fixed with software and firmware updates, so I’d love to see that happen.

It’s still an old LCD

Modern macOS looks great on this design (round all the borders!), but your eyes won’t be fooled coming from HiDPI Retina displays. LCDs have come a long way with higher resolutions and greater pixel densities, uniform and bright LED backlights, wider viewing angles, and higher refresh rates to name a few. This display has none of that. It’s not a suitable daily driver for my eyes, but it works great as a toy.

The drives can go

Juicy Crumb recommends that you leave the CD-ROM and HDD installed so the base retains a proper weight for stability. Interestingly their instructions don’t have you unplug the power from these drives even though they aren’t in use.

I understand keeping things simple, but the type of user who is disassembling an iMac G4 can surely unplug a couple cables to reduce unnecessary power consumption and strain on an old PSU.

I removed both from my 17″ system and I have no concerns about its stability. I recommend doing the same. Plus, you’ll get better airflow with the system fan (although I question if that’s really necessary, too).

Old PSU is old

Although Apple is known for high quality hardware, installing this board doesn’t really lower the risk that the 20+ year old power supply will fail and burn something up. It’d be nice to have an alternative DC input like a barrel pin connector.

The original fan is audible

Do yourself a favor and replace the factory fan with something modern and quiet. Without a hard drive and CD-ROM spinning away, the fan becomes more noticeable. The replacement should be a standard size, though you may want to match the color—anything non-white might be distracting.

Final thoughts

I’m really happy with the purchase and have had a blast playing around with different systems. If you’ve got a compatible iMac G4 and want to do more than Mac OS 9, this is a great solution. Just promise that if you order one and don’t want your Tim Tam biscuit, you’ll send it my way.

Categories
Apple Projects Retro Computing

OpenBSD + iMac G4

Fun fact: You can put the latest version of OpenBSD on a PPC 32-bit processor like the G4. Fun to dual boot with Mac OS 9 if you want a modern, secure computer!

Some notes

The OpenBSD docs are really good and thorough. Open Firmware needs some tweaking if you want to boot directly into OpenBSD, so this is what I did after booting into it with command+option+o+f:

setenv auto-boot? True
setenv boot-device hd:,ofwboot
reset-all

I failed to get a USB install working

Initially I didn’t want to mess with the internal drive of the iMac since I had both Mac OS 9 and Mac OS X installed, so I tried to install to a USB drive. Although the installation succeeded (albeit extremely slowly due to USB 1.1), the boot into the system failed due to the following error:

panic: rootfilesystem has size 0

Looking at the trace of the kernel boot process it was evident why: Even though we installed the OS to sd0 (the mounted USB device), the kernel kept trying to mount wd0 which is the internal IDE drive.

I tried what I knew:

  1. Tweaking the boot-device variable in Open Firmware
  2. Using a different USB slot
  3. Booting into the recovery kernel (bsd.rd) and mounting the USB to see if I could tweak fstab

Supposedly if we get to the boot prompt we can pass a -a flag for the root device (docs), but I couldn’t figure out how to get there.

Ultimately I decided to install OpenBSD to the main internal drive for now. If I get a hankering for Mac OS 9 I still have the trusty Power Mac G4.

The best setup will eventually be a dual or triple-boot. Trying to make the super-slow USB drive work is probably a terrible idea unless we plan to run it in a ramdisk mode the entire time.

The graphics driver kinda works

As you can see from the glxgears output above graphics are not accelerated. I’ve mostly played with the machine over SSH in a headless state so this hasn’t bothered me too much. I did glance at dmesg and saw that the expected driver, nv, was loaded and detected the card so I’m not totally sure what’s happening. I’m having flashbacks of when I used to spend hours tweaking xorg.conf and that may be on the horizon again.

If just running the console we still want the screen to sleep and I found I needed to make a couple tweaks for that to work.

First I needed to shut down X Windows:

rcctl stop xenodm

Then I needed to disable output activity from waking the screen:

display.outact=off

After that the screen would shut off after however many milliseconds were set for display.screen_off.

Copying over /etc/examples/wsconsctl.conf to /etc/ is a great starter config.

Turn-key graphics support depends on the model

If you’re running a G4 iMac 15″ that’s less than 1GHz, you have the GeForce2 MX which doesn’t have support out of the box via the nouveau driver. This means an unaccelerated graphics environment, low framerates, and sometimes a console that has inverted colors making it really hard to use.

The GeForce4 MX integrated on the 1GHz 15″ model and most of the 17″ iMacs is supported.

My 17″ iMac with the GeForce4 MX running glxgears at a blazing 12FPS.

Oh yeah, it runs DOOM

(Very poorly, presumably until the graphics driver is tweaked)

Running Chocolate Doom was painful. Even the setup utility had a good second or so input lag!

Categories
Apple Coding Fun Nerd Sniped Retro Computing

DOOM on the Apple Watch

I know this has been done, but I hadn’t done it, so it was my weekend nerd snipe. (no game audio)

This was a lot easier thanks to doomgeneric!

Basic breakdown

Since doomgeneric exposes the framebuffer, I throw that into an SKTexture and that gets added to a node in the SpriteKit scene, which is subclassed to override the update method to call doomgeneric_Tick(). Objective-C is used for interop between C and Swift, and fulfills most of the functions listed here. SwiftUI ultimately outputs the scene.

Very few tweaks needed to be made in doomgeneric itself.

They were basically:

  • Conditional compilation for a few calls that watchOS didn’t support (and we didn’t need).
  • Tweaking the 32-bit color bit offsets.
  • Handling a crash related to passing in arguments.
    • On watchOS we pass the absolute path of the WAD file in the main bundle to the engine.
  • Adjusting some SDL2 includes so headers could be found.

GitHub repo: https://github.com/twstokes/AppleGenericDoom

Categories
Apple Retro Computing Video

It’s the little things

Since restoring a couple Mac OS 9 machines and playing with them, I’ve noticed some nice touches in various places.

One is that when you have the Platinum Sounds enabled and drag a window, the sound effect will pan in stereo with the window’s horizontal location.

I probably didn’t pick it up very well by recording with my iPhone, but just imagine it gets louder on the speaker the window is closest to. Pretty cool!

Categories
Apple Projects Retro Computing

Power Mac G4 + SFX Power Supply

The Power Mac G4 didn’t get the “windtunnel” nickname for nothing – its power supply is quite loud. Thankfully with the help of an adapter, a standard ATX (or SFX) power supply can replace it. I love putting “modern” power supplies into my retro machines to get less noise and clean power.

I went with a Corsair SF600 from my previously built Mini-ITX machine and it’s worked really well due to its small form factor. Although it’s rigged in place with two wire ties it’s not going anywhere. 😀

Power Mac G4 with original power supply
Corsair SF600 installed

Resources:

Categories
Apple Retro Computing Tutorials

Power Mac G4 + PC Radeon 9000

I’ve acquired yet another retro machine – this one a Power Mac G4 MDD. There are a few reasons I find it appealing:

  • It’s one of the last machines that natively supported Mac OS 9
  • It has the benefits of a modular tower, which makes repairs much easier (I’m looking at you iMac G4)
  • It’s cool

Surprisingly it started on the first boot attempt! The PRAM battery was dead, which was expected, but other than that it seemed perfect… for a while. The next day when I tried to boot it I saw only a black screen, so the troubleshooting started.

Troubleshooting

To keep things brief it all came down to two components in my case (literally) – either the power supply or the video card, which is an ATI Radeon 9000 Pro Mac Edition 64MB.

Dead Radeon 9000 Pro Mac Edition with ADC connector

After trying some spare PC AGP cards I was able to boot consistently with a PNY GeForce 2, telling me the power supply is probably OK. I could’ve stopped here but the graphics performance was terrible with the GeForce 2 and I never got hardware acceleration to work.

I attempted to flash a new ROM to the card but kept getting rejected, so I decided to go in another direction.

Replacement research

There are a few sites that were extremely helpful in this quest to determine what cards could be used in the Power Mac:

If going with a PC version of a video card some will need to be re-flashed with Mac firmware and some also need pins disabled.

I decided to go with another Radeon 9000 but not a Mac Edition – one for PCs only. This would mean higher availability in the used hardware market, a lower cost, and no work to disable pins. It also meant double the VRAM – 128 MB instead of 64.

I wouldn’t be utilizing the extra ADC power port in the AGP slot nor would the card supply an ADC connector, but for me that’s OK.

Initial state

When I ordered the card from eBay the description mentioned a failed fan so I needed to address that first.

The board’s connector outputs 5V DC and most of my other cards do 12V, but I found a spare fan I’d used for a Raspberry Pi that would work. It’s a bit of a rig at the moment, but a wire tie holds the fan tightly to the original heat sink.

Testing the replacement 5V fan

Once I was sure the new fan setup was working I popped the card into the Mac just to see what would happen. Turns out, nothing. Just a black screen. I don’t think Mac OS 9 even booted.

Fixed in a flash

I pulled the card out of the Mac and inserted it into one of my trusty Gateway Slot-1 machines with an AGP port to flash it with the Mac firmware.

Gateway tower with the Radeon 9000 inserted

The PC needed two files:

After transferring the files I booted into DOS and followed this sequence in the directory where I’d stored the files:

  1. atiflash -i to make sure the adapter was detected and learn the adapter ID (0 in my case).
  2. atiflash -s 0 backup.rom to make a backup of the PC ROM.
  3. atiflash -f -p 0 [mac_rom_filename.rom] to force-write the Mac ROM firmware.
Writing the Mac firmware to the video card

I then removed the card from the PC.

Flip the switch

The last step to prepare the card for the Mac was to remove the protective tape at the top left and flip switch 2 (the top one pictured) from MF to SF.

Success!

With the card reinserted into the Power Mac we boot right up! Until the ATI drivers are installed there will be no hardware acceleration. The ones I’m currently using are the drivers supplied with Mac OS 9 Lives 9.2.2 and they are working great. 🚀

Power Mac G4 running a Radeon 9000 Pro PC version
Categories
Apple Fun iOS Retro Computing

iPadOS on a CRT

I have lots to post about related to my recent vintage / retro computing adventures, but in the meantime here’s iPadOS on a CRT.

It’s actually kind of nice! The biggest downside, however, is that the CRT only ran at 1280×1024@60Hz. The resolution is fine, but the refresh rate is quite low for a CRT – my eyes wouldn’t be able to handle it very long. I’ve always been sensitive to rates lower than 85Hz on CRTs.

The hardware to make it work:

  1. A CRT.
  2. An iPad.
  3. An Apple Digital AV adapter which has HDMI output, such as this USB-C one.
  4. An active HDMI -> VGA adapter such as this one (it has to have external power).
  5. A USB hub is nice for wired peripherals, but optional. I have a wired Microsoft Optical mouse with a Keychron C1 (reds) connected in this video.
Categories
Apple Scripts

A dog timer Shortcut

Shortcuts User Guide - Apple Support

I’ve played with the Shortcuts app a few times and although their power is impressive, I haven’t found a need for any in my day-to-day workflow. This Shortcut may finally change that.

Here’s the problem

Our dog literally can’t handle the heat. She’s a Miniature Schnauzer born with a microtrachea so she struggles to regulate her body temperature. If she gets overheated it’s bad news.

I typically let her out multiple times a day while working from home. All I have to do is open up our back door, let her out into her fenced doggie area, and let her back in when it’s time.

That last item is trickier than it sounds – if I don’t set a timer I risk getting into the zone at work and losing track of the world. That could be disastrous, so up until now I’ve set a timer and altered the duration depending on the temperature outside. I wondered if I could improve that with a Shortcut.

Categories
Apple Thoughts

The Mac Studio

I’ve had a Mac Studio for a month now, so I have thoughts to share.

tl;dr – It’s great and is what I’ve wanted from Apple for a long time.

The product line gap

There’s been a gap in Apple’s Mac product line for years, though most consumers wouldn’t have noticed, and that’s the reason it existed.

Here’s a user who fits the profile:

  • Wants a desktop
  • Wants complete control over their displays
  • Wants modularity
  • Wants a bunch of ports
  • Wants high(er) performance
  • Needs macOS

The user is me.