stephen_usher wrote: 10 Apr 2022 10:30
A video driver for the Atari display would be no slower but would need to be written to control the hardware, such as changing resolutions. It would need someone who knew how to write System 7 device drivers though.
This is actually already how it works.
There is no hardware emulation going on - Basilisk patches out the Mac built-in display driver and replaces it with one made for Atari.
It still has to follow same rules as what Apple required from real gfxcards and display drivers though..
They can't just present their own exotic formats but must use the few pixel formats as dictated by Apple (1,2,4,8bpp must be chunky, 16bit must be RGB555 in Big Endian etc..)
As a side note, sound is actually the same. It does not emulate the sound hardware - it patches itself in as an extension to Sound Manager.
Disk access is the same, etc etc..
This is the good thing about Mac. Nothing touches hardware expect for the ROM. And the ROM is *heavily* patched at startup to call Host code instead of accessing Mac hardware = there is almost no emulation on the hardware level.
(Ok, well, MacOS itself and extensions etc could, and there is runtime patching of these types of things going on too)
stephen_usher wrote: 10 Apr 2022 10:30
With regard to graphics resolutions, @agranlund, seeing as Basilisk is taking over the whole display it could save the information about the mode the program was started in and then switch to an appropriate mode to boot into. e.g. always attempting to switch to an apropriate modes, say ST-HIGH, and later let the MacOS driver change to a new one if the NVRAM says to use it. When Basilisk quits it can restore the video mode back so tat GEM doesn't get confused.
Yep this is a good idea and I have it noted down to expose video stuff as options at some point.
For now, it uses whatever mode you are already in and errors out if it is completely incompatible.
You can change the MacOS resolution from the control panel, kind of.
The Atari video driver for MacOS is exposing the resolution you started with, and when applicable a few smaller ones.
Changing the MacOS resolution from inside MacOS won't change the actual Atari resolution though, it will just centre the smaller MacOS screen and surround it with black.
It's still useful - especially if you want to play very old games that expect the resolution to be 512x384 or 512x342.
I haven't found a hardware or driver independent way of easily changing resolution or mode on Atari gfxcards. This is why it works like that.
This is also why it's not trying to be clever and guess if the user maybe wants Basilisk to auto-switch into ST-High or not.
(Maybe someone doesn't even have the output from the Atari Shifter/Videl connected to a monitor)
If only there was a good device-independent way of talking to graphics cards on the Atari, a'la RTG on the Amiga..
One of these days I will get around to look at exposing a set of video options though :)