Quick question @Crutch. Why doesIt’s not the 68000 that’s tripping you up, it’s the ROM. The Plus ROM doesn’t have the Graphics Devices calls in it, so you can’t call GetMainDevice.
Pre-Device Manager, you can check the QuickDraw global variable screenBits.bounds to get the bounding rectangle of the display. (You meant 512x342 above, not 512x384, but anyway that would be wrong on a Portable.)
GetNewCWindow() crash the old rom machines? In addition to not calling devicemanager stuff the last thing I had to do was instead call
GetNewWindow() if the machine was one of these old machines.
Meanwhile my Se/30 was cool with calling GetNewCWindow() despite not having a color screen.
lastly- when I tried calling the Gestalt(gestaltQuickdrawFeatures) the mac plus would still claim true for gestaltHasColor. Which may make sense in that the version of quickdraw I’m running has color support despite my monitor not having it— but then again why would GetNewCWindow crash.
For now, I just looked at either the processor type or the machine type to decide what to do. But I feel there has to be a better determiner. Or perhaps, looking at the ROM version is really the correct move?