Sometime ago, I was experimenting with 68K/PPC Macintosh emulation on MAME and QEMU (QEMU emulates a Quadra 800 PPC Mac).
I wanted to see how well games work, since I consider games to be a good test for computer emulation accuracy, but I didn't find any games with smooth, constant animation/scrolling/movement on the M68K/PPC Macintosh models I emulated.
For example, on DOS we have the likes of Superfrog, Jazz Jackrabbit, Supaplex, Pinball Dreams/Fantasies/Illusions, the animated scrolling credits in the original Lemmings tittle screen, etc... which allows me to determine if an emulator is properly synchronized to physical display refresh rate.
So, are there any games on 68K/PPC Macs that can be used to test that?
(Credits scroll in Lemmings 1 Mac is jerky even on real hardware...)
I'd like to add that, out of curiosity, I asked ChatGPT about this matter, and the answer was more or less that Mac OS 7,8 or 9 didn't provide any direct framebuffer access or VSYNC control, with everything going thru QuickDraw, so it would be impossible to have smooth-scrolling games on classic Macs.
What was Macintosh Wolfenstein 3D minimum requirements? Smooth scrolling plus 3D.
I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.
This seems more or less what I wanted to find. That game seems to do 1-pixel scrolling synchronized to the screen, there's some juddering but that could be due to youtube framerates.
@Babasha: good catch but I believe that uses OpenGL... At least it does on Linux, where I have that game.
And Wolf3D is... well, 3D- Not really suitable for screen movement observation, 2D games are better for that.
...which is a 2d sidescrolling shot'em up in the vein of Nemesis/Gradius.
It works on Mac OS 8.1 on QEMU, and even if it IS a 60FPS game, scrolling doesn't seem to be synchronized to the screen refresh rate.
Hence my question: Is there a single game in Mac OS 7/8/9 that does synchronized scrolling?
Continuum was a side-scrolling, black and white asteroids type game that had smooth scrolling as far back as the 512k Mac. Aside from it being an awesome game, one of the nice things about it is that's its source code has been released into the public domain. https://www.ski-epic.com/continuum_downloads/
It runs pretty well in Basilisk and probably vMac. You can also run it using the "standalone" emulator project MACE. https://mace.home.blog/files/
Emulation is almost perfect, though unfortunately the cross-hatch background pattern looks back when it scrolls on modern screens. It looked great on CRT...
I have spent a fair bit of time understanding how this game worked under the hood. The way it did the animation was basically this:
1. Draw a frame in an offscreen buffer
2. Wait at least 3 ticks (with a system time of 60hz thats gives 20 fps which is the VR sync rate of the screen)
3. Blit the buffer onto the screen
The trick of course was to be able to draw the frame offscreen in time, which the game did through a LOT of 68k assembly optimization for its render functions.
The game was also smart enough to use different double buffering techniques depending on what the underlying hardware was.
The key logic for this is the Play.c file of the source. There's a while loop at line 95 which does this:
1while( !endofplanet && !endofgame) 2{ 3 move_and_display(); // Advance game state and draw everything to back buffer 4 wait_for_VR(); // Wait for timing to match vr sync 5 swap_screens(); // Make back buffer visible via various blitting techniques depending on hardware 6}
and then the "sync" logic is in that wait_for_VR() function which is further down the file, but basically makes sure at least 3 ticks have passed