WallStreet & SawTooth

Some notes on old Macs, started in late 2023. Published in 2025 with some notes. After writing this I acquired an iMac G4 (ca. 2003, 17") that has become my main retro Mac. I also found a cheap working PowerMac G5 that is a future work in progress.

Table of Contents

webone Proxy

webone is a very nice and relatively simple proxy setup for 90's computers. It's quite flexible and comes with a good default set of configurations.

It primarily does SSL proxying and image conversion, but it can also do e.g. Web Archive redirection, finer detail modifications like CSS rewrites for compatibility, video re-encoding et al.

For my G3 and 68030 machines I found that it's a good idea to add some settings to the default:

/etc/webone.conf.d/my.conf
view logs: tail -f /var/log/webone.log
[Server]
; equivalent to windows-1252 for western europe/US compatibility
; for Opera 5 the ISO code must be used for correct rendering
OutputEncoding=iso-8859-1

; match all common image types
; and convert to GIF format
; resize all images to limit pixel count to approximately 1 MP (1024x1024 pixels)
[Edit]
OnContentType=image/jpeg
OnContentType=image/png
OnContentType=image/webp
OnContentType=image/gif
OnContentType=image/bmp
OnCode=200
IgnoreUrl=webdav
AddConvert=convert
AddConvertDest=gif
AddConvertArg1=-resize 1048576@>
AddResponseHeader=Content-Type: image/gif

The encoding is relevant if your native language is not English and you want characters like æøå to render correctly.

Converting all images to GIF is maybe more controversial, but I've found GIFs to render quickly on old hardware (PNG is too slow, JPEG is too ugly, and BMP is too big).

Capping the number of pixels per image is very useful on the modern web, since a single large image can completely drain all the resources of even a relatively well stocked 90's Mac.

The size limit could be set to different values based on the host identifier (by making more rules), though I haven't implemented this yet.

FWIW I like iCab 2.9.9 for 68k, and Opera 5 seemed really stable for me on OS 9 (Opera 6 just crashed all the time).

AFP Server

Old Mac's don't speak SMB unless you run OS X (and unless it's modern you'll need an SMBv1 server).

I've found netatalk on the PiSCSI project to be a good and highly convenient solution for basic file interchange.

However, the best AFP server aside from a Mac OS server is Windows 2000 Server. It does a phenomenal job acting as a dual-role SMBv1 and AFP file server, Microsofts implementation of the protocol seems to be damn near perfect from my experience.

Netatalk tends to choke on large complex folders in my experience, so e.g. copying over the System folder tends to fail with an error message. This is no problem on Windows 2000. Windows 2000 also does store the resource fork along with the actual files (which netatalk may or may not do depending on circumstances). They're still relatively fragile though, even a modern macOS install can easily damage these old files.

Caveat with Windows 2000 is the need to use NTFS file system, and in many cases you'll hit the 128 GB limit for partition sizes which isn't really a problem for netatalk. The drive size limit is mostly an issue if you end up using IDE drives (or SATA drives in IDE compatibility mode).

Also note: AFP can either use TCP/IP or a lower level (more proprietary) protocol, Mac OS 9.2 definitely uses TCP/IP when available and I think even 7.6 with the latest OpenTransport uses it as well.

PiSCSI (formerly RaSCSI)

The PiSCSI is a super cool hat for the Raspberry Pi that makes a networked SCSI emulator!

It's perfect for an out-of-box SCSI drive emulator; the slow boot time makes it less ideal for sticking inside a computer as the boot drive.

I use it primarily with the IIfx, but it also helped the WallStreet get going. With this setup you can basically bypass the usual bootstrap problem entirely by just emulating CD's or fully installed drive images.

It can also do neat things like take random files from the internet and make HFS formatted drive images to load, which is probably very useful if you happen to find the network driver as a loose file and it won't fit on a floppy.

It even does video output! (And it can emulate a SCSI network card for more challenged Macs)

While primarily running as a Mac project for a long time, the developers do seem to be targeting additional computers such as HP's, DEC's, and Sun's.

G3 WallStreet

My G3 WallStreet 233 (14") is fairly standard, it came pre-upgraded with a 128 MB stick of RAM installed. There's no modem port on this model which is a shame.

Included was also a battery (see below) and a CD-ROM (see below). The computer has a left and right hot-swap bay, the left side can take a battery, while the right can take various drive options or a second battery.

Known right-bay drives include:

  • CD-ROM
  • DVD-ROM (rumoured, not seen personally)
  • 3.5" floppy
  • Zip Disk

The rear ports include 10 Mbit/s ethernet, serial, AppleTalk, a VGA port (mirroring only), a HDI-30 SCSI connector, and audio in/out. The internal speakers are surprisingly good, but no bass to speak of as expected.

CD-ROM

I had no luck whatsoever using a burnt CD-R to install an OS, and the original drive worked but seemed to be flaky since it just crashed all the time (original 3 GB drive). I borrowed another CD-drive from a colleague and this didn't work either.

The symptom was no spin-up of the CD, and Finder popping up a dialogue box asking me to format the disk as a ProDOS (0 k) partition or ejecting.

CD-ROM Repair

I decided to try opening the CD-ROM to see what do.

The drive is easily opened with a PH000 screw driver – start with the two screws on the back then pull the top cover off.

There are two electrolytic capacitors at 100 µF and 47 µF 6.3 V. These did measure ok for capacitance and somewhat high for ESR (8 Ω or so). They both appeared quite dry, but there was some kind of gunk underneath them. To remove, grab with pliers and rotate, this is seriously the best way to do it.

I replaced both with 220 µF 10 V 7343 size tantalum capacitors (~220 mΩ ESR). Note that tantalum capacitors mark the positive terminal while electrolytics mark the negative terminal.

The fix didn't make the CD's read, and it doesn't seem to have fixed my lockup on large transfers issue either.

I hooked some wires up to the tray-sensor and saw that the optical system fired up a red laser briefly and seemingly determined no disk was present.

Pictured above is the underside of the reader mechanism. It can be accessed by opening the tray and removing the 5 screws underneath – most of them go into plastic so may require high torque to remove.

The laser power adjustment (an adjustable series resistor really) is shown in the picture above. Turning the adjustment counterclockwise increases power. I adjusted this a tiny bit and managed to make it do stuff.

I managed to find a marginal adjustment state where it sounded like a floppy drive, which was the servo system resetting and zeroing the reader assembly, this indicates just slightly too low power.

In this case I also found that doing things like inserting a CD then popping the drive in would work but just swapping disks would not.

After a few attempts I did manage to make it work reliably, though it's hard to say how long it will last before requiring additional adjustment given that the laser diode has definitely aged a fair bit.

My total adjustment was probably 15-20°.

I found that using a couple of different CD-R's was good, since I found some of my burnt disks (especially ones burnt at full speed) would have more read issues than others and so required more power.

Drive Replacement (with voes)

I used the standard 44 pin to SD-card adapter that everyone else uses – this worked just fine with a 64 GB SD card until it didn't. I would have an issue where the system would freeze (technically it just slowed down something awful) whenever I did a long sequential disk write access, such as copying large files in. Typically I would get to 10-20 MB and then it would slow down to basically frozen.

I initially found the issue while copying from network shares, but the problem was also there just copying from disk to disk, and it appeared somewhat suddenly after a few hours of installing software. Leaving it overnight I woke up to see a message about possible data corruption due to disk errors. It seems disk errors make OS 9 really prone to random hangs and crashes.

I attempted to replace the SD-card in the emulator. This didn't really accomplish much, as the same problem reoccured (also, re-imaging the new SD-card broke the file system slightly). During one test I had popped out the CD-ROM initially, and I noticed it seemed to stall right after I put that in.

Restarting and testing without the CD-ROM in place seemed to go much smoother – this suggests either a CD-ROM issue, or a compatibility issue between the SD-adapter and CD-ROM. I also found this issue occurred when booted off the OS 9.2.2 install CD (off the internal CD-ROM after repairing it). It does not occur when booted off a SCSI CD-ROM.

Reportedly mSATA adapters are flaky in this model, but seems my SD-adapter is also flaky in a similar way.

I did a quick test with a Kingpsec M.2 SATA SSD (basically mSATA in M.2 form factor) and a 2.5" adapter PCB. No joy, same issue with the CD-ROM.

Bootstrap

To bootstrap a new main drive I used the PiSCSI with a borrowed HDI-30 to standard SCSI adapter cable to emulate a SCSI CD-ROM with the OS 9.2.2 universal image. This Just Worked™.

Do note that this CD image doesn't include appropriate accelerated graphics drivers for this machine's ATI GPU so you'll need to install those separately to get good performance. Without these drivers the performance is worse than a IIfx.

Above: had to undo some screws on the SCSI emulator to get at the right connector – I later made a gender-changer to use the external plug.

Above: booted from SCSI-CD image

Wi-Fi™

I acquired a Cisco Aironet 350 (AIR-PCM350) PCMCIA card, slotting it in it was recognised by OS 9.2 as some type of network adapter. I installed the Cisco software package and after a reboot (great thing about classic Mac's is they reboot so fast!), I had a working Wi-Fi card!

This card is probably the newest thing that can go in a classic Mac, it supports 40-bit WEP or something so you don't have to worry about security, there is none. The only hope is that WEP is so old that no one is looking for it.

Batteries

In what seems like it should be illegal, the 25 year old Li-Ion battery pack charged up quite slowly, but retained a charge and estimated over 2 hours on battery with light loading.

Above: the unusual battery level indicator is set up to show left and right battery bay status.

However, the P-RAM batteries do seem to be shot, replacements are on the way. VL2330 cells are used, these are typically found with solder tabs these days and aren't super expensive. This mostly affects the clock when powered off, and only if both external power and both bay batteries are pulled.

Wi-Fi: Cisco Aironet 350 (AIR-PCM350) PCMCIA WiFi adapter

TODO: Get a Zip drive and some disks (so expensive!).

SawTooth (G4 AGP)

The G4 AGP is very nice, but I have been told it's not a real Mac.

This beauty was acquired in December 2022, and I spent some time initially over Christmas working on it. It then proceeded to sit around for 11 months before I started this endeavour.

It seems to have been a Smoker's Choice™ machine and arrived with working original drives full of pirated software and personal files (the software was retained, the personal data was expunged).

The machine itself was quite astonishingly dirty inside considering how neat the outside looked. Cleaning necessitated a full disassembly (aside from the logic board and CPU). Remember to also pull off the left side cover if you're cleaning, the fan intake is behind there. It didn't smell much until I got the dirt wet…

Bootstrap had no major issues: the stock DVD-ROM worked and read burned CD's. 

mSATA and SD-card adapters all worked, but I ended up using a SATA to IDE adapter board with an old SanDisk X120 SSD. This allows for full UDMA at 66 MB/s, an incredibly high performance hard drive.

Current OS is Mac OS X 10.2, which has style. It can also run OS 9/8.6.

An upgrade was to install a DVD-RW drive, which was found locally. The new drive fit the existing front panel covers perfectly! Haven't tried burning a disc yet though.

I also installed an AirPort card. Future work: set up a dedicated legacy AP – AirPort would be cool but WRT's 54's G's L's are available.

Addendum: I later put this drive into an iMac G4 and eventually had to upgrade to 10.4, which is not as stylish.

SCSI Stuff

SCSI: Bought a Adaptec AHA-2930CU Mac edition, registered ok in 10.2

UltraSCSI & DAT-72: Bought an Adaptec AHA-2940U2B Ultra 2 card.

FireWire Sound & Speakers

I initially looked at buying some DigiDesign Pro Tools hardware (like the HD series of PCI-X cards), but the ridiculous size of the setup made me pause. I instead went slightly more low-end, and picked up an M-Audio 410 FireWire card for $40. I have two FW400 ports and I intend to use them!

Also found a set of Harman Kardon SoundSticks 2.1 speakers for around $40. These are mostly period correct, though design-wise they do go better with a G4 Cube.

The M-Audio 410 Firewire is a 2004 vintage 4 in/10 out (2/8 analog, 2/2 digital) professional sound card, costing around £350 at the time of release. The card was apparently fairly popular given how easy they are to find.

Credit to M-Audio for still listing drivers for this card on their website, including all the different versions for each major OS & OS X release. Drivers are available for surprisingly recent OS X versions, and as early as OS 8.6.

The actual experience is not all that impressive; I found the internal sound card to be a much more practical alternative for general purpose audio playback. The SoundSticks are my main PC speakers now.

New Monitor & GPU

I initially ran the system using the 15" multiQ TN panels I used with the IIfx over VGA. I later decided to set this computer up with a 1280x1024 panel, a Dell UltraSharp 1804FP with DVI.

Note that the Sawtooth (AGP) G4 is the last G4 that had standard DVI output, later versions switched to ADC which is DVI + power and other related things. This means this one (likely) can't take the later GPU's which had ADC ports, since some pins on the AGP connector were allotted to e.g. 28 V power output to the monitor.

However since this G4 doesn't do that it's basically able to take any other AGP card with a Mac ROM, meaning I don't have to pull resistors or tape over AGP connections to make those cards work.

The stock Rage 128 Pro with 16 MB of VRAM was adequate for driving the 1280x1024 display, but it didn't have much to spare either.

I elected to order a Nvidia GF6200TC card, this is one of the newest compatible AGP cards. It is apparently mandatory to use the "PV-T44A-WANG" variant of the card, and a PC, additional PCI graphics carad, and a boot floppy with nvflash is needed to perform a re-flash with the Mac ROM. I might find the motivation to actually do this flashing some day.

The reason a new GPU was desirable was because I snagged a new monitor for $100, which like the speakers is a bit anachronistic but not entirely unreasonable. I ended up with an Apple Cinema Display, 20" Aluminium frame variant in great condition. This 1680x1050 beast was released in 2004 and sold until 2008, and my model is the later revision which has the upgraded LCD panel.

This is one of the highest end monitors possible on this Mac, the only higher end option would be to use a 1920x1200 monitor. The best GPU available for this generation only supports single link DVI so 1200p is the limit.

Being such a recent model it was the first Cinema Display aside from the very first model to not feature an ADC connector, instead using a standard DVI-D interface. It also has a built in FireWire 400 and USB 2.0 hubs (though I don't have USB 2 in the Mac, why would I need USB when I have FireWire!).

2025 status: monitor goes better with the PowerMac G5. I've somehow managed to avoid buying any ADC-based equipment.

Dial-Up?

While the G4 has 100 Mbit ethernet and 11 Mbps Wi-Fi, nothing beats the authenticity of dial up (though bonded ISDN would be incredible). I picked up the standard VoIP thingie for $30 locally.

2025 status: sitting in a drawer