HP van Braam on Nostr: I spend a bit of time dissecting the #sunpci driver in #ghidra. And I can now boot ...
I spend a bit of time dissecting the #sunpci driver in #ghidra. And I can now boot the SunPCi from my own code! Using the #solaris driver still.
Some terrifying conclusions:
The windowed output in the SunPCi userspace application comes from repeatedly read()ing the /dev/sunpcidrv0 node. That just returns some raw video data and mode information.
Userspace contains a VGA emulator itself. Whenever it doesn't understand something it just switches to the external VGA.
#retrocomputing
Published at
2025-12-06 17:28:08 UTCEvent JSON
{
"id": "3612022a53b2646a556b7587da7b159eb82a72949747266f882116b75f32550a",
"pubkey": "abf945988e515af1e5cdb4c5260d6d6fabfe2f00949eb4ba0310ad75c6f1f40a",
"created_at": 1765042088,
"kind": 1,
"tags": [
[
"t",
"sunpci"
],
[
"t",
"ghidra"
],
[
"t",
"solaris"
],
[
"t",
"retrocomputing"
],
[
"imeta",
"url https://mastodon.tmm.cx/system/media_attachments/files/115/673/796/775/238/599/original/5d22ec049a6e27c6.png",
"m image/png",
"dim 1426x1182",
"blurhash UbHV6u~qx]M|_3IUNGt7%NIURjofoyayayj["
],
[
"proxy",
"https://mastodon.tmm.cx/users/hp/statuses/115673798330408211",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub/"
]
],
"content": "I spend a bit of time dissecting the #sunpci driver in #ghidra. And I can now boot the SunPCi from my own code! Using the #solaris driver still.\n\nSome terrifying conclusions:\n\nThe windowed output in the SunPCi userspace application comes from repeatedly read()ing the /dev/sunpcidrv0 node. That just returns some raw video data and mode information.\n\nUserspace contains a VGA emulator itself. Whenever it doesn't understand something it just switches to the external VGA.\n\n#retrocomputing\n\nhttps://mastodon.tmm.cx/system/media_attachments/files/115/673/796/775/238/599/original/5d22ec049a6e27c6.png",
"sig": "fd90028e5791c76413688cb35465da60630d38681ff7e586e7c6596a0938b2e0e52f97f3d00517cf24355778a2e84177b28eceed91154ff992ec3b5dd41ba262"
}