SPARC frustrations and hopeful solutions

Started by jade_nekotenshi, Oct 01, 2026, 08:30 PM

Previous topic - Next topic

jade_nekotenshi

As anyone who's tried to run NeXTSTEP or OPENSTEP on qemu-system-sparc knows, it's so close but has so many rough edges.

I'm currently chewing away at the edges of those problems. When I have a ready fork, I'll post it here. I currently have it working, enough to boot and run, but graphics are limited to 8-bit, sound doesn't work and booting is... janky.

Attached is a MacOS/aarch64 binary to try out - you'll have to install the rest of qemu and make sure the data files are in place, but if you want to experiment, feel free. Something more polished will be here when it's ready.


jade_nekotenshi

#1
The Git repo for my fork is here: https://github.com/jadenekotenshi/qemu

What I've fixed/kluged:

TCX now supports 1152x900 modes
SCSI hang is fixed, allowing NS/OS install
Lance self-test is fixed, allowing network boot
NVRAM can now be made persistent
Sound now works for the SPARCstation 5. We are the SPARCs who say "Ni!"
Stub parallel port implemented, enough to prevent NetBSD from crashing.
Several small bugs (keyboard detection on NetBSD, scary-sounding SCSI faults on OPENSTEP) have been patched.

See the attached shell script for an example config.

More fixes:

A number of bugs that jam up the official SPARCstation 20 ROM have been fixed
The CG14/SX framebuffer is partially implemented; NetBSD can run X on it but OPENSTEP is still having some issues, which should be fixed shortly.
SPARCstation 10/20 DBRI still unimplemented.

CG14 now mostly works, enough to boot to a desktop in NetBSD and OPENSTEP, though Solaris is still having issues.
Sound is... partially implemented but broken. The driver will load in OPENSTEP, but don't try to use it.

jade_nekotenshi

Derp!

You're looking for the "sparcstep" branch in my fork.

jade_nekotenshi

I'm still working on getting Solaris working correctly on SPARCstation 20, but right now both the CG14/SX framebuffer and DBRI sound chip work correctly under NetBSD and OPENSTEP.

CG14 now supports 1024x768, 1280x1024 and 1600x1280. 1920x1080 support should exist but currently doesn't - it's coming soon.