Chad Lindemann

9 Followers
119 Following
80 Posts
Professor, Chair, Artist, Web Designer, Printmaker, & Typeface designer
WOOOHOOO!! Just in time for #marchintosh

Maxivmac, a maximized minivmac (in progress). #marchintosh

*The hardest part of this refactor wasn't any single conversion — it was the invisible web of dependencies that only revealed themselves at link time. Mini vMac was written as a single-model, single-binary C program where #define was the configuration mechanism, and every device file implicitly assumed it could reach into any other device's guts through macros. You'd confidently strip a #if EmPMU guard from pmu.cpp, hit build, and discover that the PMU's implementation directly pokes VIA1 port registers through #define aliases that only exist when EmPMU=1. Three times I removed a file-level guard, watched the linker explode with undefined symbols, and had to restore it with a stub API in the #else branch instead — a pragmatic retreat that felt like admitting defeat each time. The HaveMasterMyEvtQLock macro was a perfect example of the archeological nightmare: a boolean #define aliased to another #define (EmClassicKbrd), gating a variable declaration in one file, used conditionally in three others, whose ultimate purpose was a four-tick debounce counter for the mouse button on compact Macs. Understanding that took longer than converting it.* -- Claude Opus 4.6, after a 14 hours session

So? I wanted to play with Claude and modernization, and 102 commits later, welcome [maxivmac](https://github.com/fstark/maxivmac), the port of minivmac to the 21th Century!

```
maxivmac % ./bld/macos-cocoa/maxivmac.app/Contents/MacOS/maxivmac --help
Usage: ./bld/macos-cocoa/maxivmac.app/Contents/MacOS/maxivmac [options] [disk1.img] [disk2.img] ...

Options:
--model=MODEL Mac model: Plus, SE, II, IIx, Classic, PB100, 128K, 512Ke
(default: II)
--rom=PATH Path to ROM file
--ram=SIZE RAM size: 1M, 2M, 4M, 8M (default: model-specific)
--screen=WxHxD Screen size: 512x342x1, 640x480x8, etc.
--speed=N Emulation speed: 1 (1x), 2, 4, 8, 0 (all-out)
--fullscreen Start in fullscreen mode
-r PATH ROM path (short form)
-h, --help Show this help

Examples:
./bld/macos-cocoa/maxivmac.app/Contents/MacOS/maxivmac --model=II --rom=MacII.ROM system7.img
./bld/macos-cocoa/maxivmac.app/Contents/MacOS/maxivmac --model=Plus --rom=vMac.ROM --ram=4M disk.img
maxivmac %
``

This is _far_ from finished, but I did get rid of the original byzantine build system and have a single binary for all models (Plus and MacII working). If you've ever tried to hack ``minivmac`` you know what a milestone this is. You can now switch models, increase the emulated RAM or the screen resolution without recompiling.

Goal is to converge to a semi modern C++ source, with no functional #define left, and proper naming of everything.

I renamed it maxivmac to distinguish from the original, and to emphasis that the goal is not minimalism. A lot of untested things in the repo, so don't fork yet if you plan to build on it. Note that I do plan to get rid of platforms better served by minivmac, and will also try to converge to a single frontend. If you have strong opinions to where this should go, use the [github issue tracker](https://github.com/fstark/maxivmac/issues)!

(I will not accept PR until the build is stable with a strong test suite -- a matter of a couple of weeks, probably)

GitHub - fstark/maxivmac: Let's try to fix minivmac *again*

Let's try to fix minivmac *again*. Contribute to fstark/maxivmac development by creating an account on GitHub.

GitHub

Hello, Friday! I hope the sun is coming out wherever you are!

Tisha Mark ©2024, After the Storm, oil on cradled board, 30"x30"

Original is available on my website:

https://tishamark.com/product/after-the-storm-30x30

#MastoArt #art #painting #FediArt #TraditionalArt

Out with :nth-child(), in with :sibling-index()! Just so satisfying to use.

* no Firefox yet

Something new this evening... this time of year, in the middle of winter, I start longing for greenery!

Tisha Mark ©2026, Homeland No. 2601, oil on gessobord, 6"x6"

Original is available (ships when dry, approx 2-3 weeks):

https://tishamark.com/product/homeland-no-2601-6x6

#MastoArt #FediArt #art #painting #TraditionalArt

Gaming On An Arduino Uno Q In Linux

After Qualcomm’s purchase of Arduino it has left many wondering what market its new Uno Q board is trying to target. Taking the ongoing RAM-pocalypse as inspiration, [Bringus Studios] made a …

Hackaday

To make a Mac, I'm using a Pi Zero 2 W, a Waveshare 2.8" DPI LCD, and the MacintoshPi image which includes Basillisk II and SheepShaver already installed, and they work without X11 running, perfect for the thin-resourced Pi Zero.

https://jm.iq.pl/macintoshpi-mac-os-7-8-9-for-raspberry-pi/

One thing that was missing was AppleTalk support but I solved that by installing sheep_net from these instructions. And works over WiFi!

https://www.ecliptik.com/blog/2025/Live-Laugh-Localtalk-with-Basilisk-II/

#VintageApple #VintageMac #RetroComputing

Before the Internet, I got a lot of my computer news from this man. RIP 🫡 https://obits.goldsteinsfuneral.com/stewart-cheifet
Stewart Cheifet Obituary 2025 - Goldsteins Funeral

Stewart Douglas Cheifet, age 87, of Philadelphia, PA, passed away on December 28, 2025. Stewart was born on September 24, 1938, to Paul and Anne Cheifet in Philadelphia, where h...

Goldsteins Funeral
LocalTalk-over-UDP was contributed by @nulleric. It is compatible with Mini vMac and TashTalk, as well.

2 GPUs 1 Pi

What I found surprised me. This isn't as insane as you think it is...

https://youtube.com/watch?v=8X2Y62JGDCo