This page is a wiki. Please login or create an account to begin editing.


23 posts / 0 new
Last post
SkyCapt's picture
Offline
Joined: 2017 Jan 11
What if Tiger's classicmode achieved smooth video animation?

I'm close to success, thanks to my overclocked DDR-enabled AGP-16x Mirror Door PowerMac. I should be able to overcome the roughness caused by "double buffering" through brute force speed increase. Twice now I've seen two different programs that typically stutter stay running smooth for hours at a time, then they go and leave that phase and stutter again. I probably just need to fiddle with my System Folder being used in Classicmode.

Comments

cbone's picture
Offline
Joined: 2011 Sep 17

So SkyCapt'n, it sounds like you're running a classic program in just about the fastest processor(s) possible! A few times I wondered about dvd playback in OS 9 knowing that it's tied to the mac's video processing capabilities, but the programs you're describing may or may not be the same type of thing, right?

I mostly played with quicktime player until mac os x came out with more feature-filled editors like imovie. aside from quicktime's native .mov format, the other format I used before os x was the vcd video format, mostly for 2d video animations, since they generally look better at lower resolutions than live-action, but I made a few of those as well since classic has one or two good vcd players. and iirc, avi was still somewhat new in the os 9 days and very few programs, and macs for that matter, could play them.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

Not Classic OS, the Classic mode of OS X. Not video media, video signal animation.

Some of the plinkiest little games stagger in Panther/Tiger when they had played find in Jaguar. It typically interferes with controls and leaves the programs unplayable.

Ya, I'm running a G5 motherboard with a G4 CPU. My RAM is 467 MHz X DDR, my RAM controller is a 1067 MHz clock which equals the declared AGP-16x callsign frequency. The system machine id has been changed to G5 and there is greater than 2GB RAM in which the RAM > 2GB is accelerating VRAM.

I already seen it's able to smoothly execute. I spent hours playing Icebreaker in Tiger before it went slow again. I haven't tried optimizing the classicmode folder in years, not since unlocking the 16x mode graphics. I predict success.

cbone's picture
Offline
Joined: 2011 Sep 17

Okay, it's for game graphic animation acceleration Smile

And you say that these games were smooth in Jaguar, so it should not even be the specs, so you're streamlining your computer as much as possible to smooth out any wrinkles the OS overhead and try to circumvent any system incompatibility by brute-G-force, lol!

I started a thread on 68k video a few years back. Part of my recent G4 mini acquisition is to be able to play with some encoding on age and software-appropriate machines to encode the cinepak video files I need or just go raw to see what the best 68k playback I can get, which is also part of why I want the biggest and fastest internal and external drives for the G4 minis, preferably one I can connect to my intel mac and windows 10 desktop for large file transfer and backups.

During my tests, I had success playing some quicktime-friendly video files, but those were sent to me; I didn't encode them. In fact, I tried to use online converters, windows encoders and my intel mini, but got nowhere with the output: sound was fine but no video or some video jiberish noise; nothing playable from my end. I'm not sure if I tried my macbook or G4 powerbook since those have been in some state of disrepair for a while.

And I share your confidence that you will break this ceiling, SkyCapt'n! Smile

SkyCapt's picture
Offline
Joined: 2017 Jan 11

Jaguar plays classicmode games smoothly, Panther and Tiger can't play a lot of games due to what's been called the implementation of "double buffered" screen memory.

Classicmode ain't even "full" emulation, performance hit should be negligible. The native language stays the same, only the OS is simulated and not the whole OS just pieces of the OS get simulated in classicmode. The thing delivering the performance hit in classicmode is specifically "protective memory management" of the OS X environment. Plus, with Tiger the desktop screen itself is like an OpenGL structure with GPU assist. Double-buffering might be a change that was necessary to bring protective memory enforcement to higher levels of video. Then it's as if emulating protective memory in conjunction with having "core image-ready" video is tripping over its own shoelaces untied or tied together.

Back when my Mirror Door was tagged G4 PowerMac3,6 the best OS 9 was 9.2.1 not 9.2.2 and CarbonLib 1.5 not 1.6.x - after changing (via firmware script) machine id to G5 PowerMac7,2 then I suddenly need System 9.2.2 not 9.2.1 and the final CarbonLib 1.6.1 to have OS software respectful of DDR synchronization, looking like twice as good. I have other tricks that when combined make this computer perform faster than what most people have ever seen a 2003 Mac perform. Tricks like uninstalling QT 6.0.3 and using QT 6.0.0 ~ uninstalling QuickDraw3D 1.6 and using QuickDraw3D 1.5.4 except keeping the highest QD3D "RAVE" v1.8.1 ~ using MacOSROM v8.4 (blind to the ATA-100 port) not the romfile v10 supplied ~ disabling FireWire and Ethernet extensions, but also some voodoo for unlocking ram bandwidth owned by FW+Enet.

In contrast ive been forever running stock 9.2.1 system folders in classicmodes. Of course I've tried updated classicmode folders in the past, but not tried recently. It's time I went there, tho I am busy and might not finish this until some weeks pass!

SkyCapt's picture
Offline
Joined: 2017 Jan 11

Bump this.
I finally solved how to induce my Tiger Classicmode graphics/UI to be fast and smooth all the time. Now that I know, I can say no one's gonna like the means, even if they like the results. The solve reveals Apple never intended to have smooth Classicmode in Tiger, the smooth I'm getting is amazingly just an artifact of doing an unrelated thing. I'm gonna keep on poking at this.

I say this is a great achievement, but who out there cares?

Bolkonskij's picture
Offline
Joined: 2009 Aug 3

I do care! And I applaud your enthusiasm about getting smooth graphics out of Classic mode, even though I prefer the "real thing" with System 7 / OS9. Still, this would be great for everyone using Tiger PPC.

adespoton's picture
Offline
Joined: 2015 Feb 15

I care too Smile I surprisingly run classic quite often, because I run some of my minis headless and rebooting into OS 9 with vncserver can be a real pain, whereas if I don't absolutely need the smooth graphics, classic mode is good enough, and faster/easier to manage remotely, especially when Classic crashes or locks up.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

Great! This will need as many folks helping out as will do.
Here is how I got fast Classic in Tiger (and Pan),
this is going to sound stupid/unbelievable.

Classic speeds up when I "park" the iTunes visualizer on specific one(s). Launch iTunes ahead of "starting" Classic. Have the visualizer set to Large Fullscreen this guy:
https://macintoshgarden.org/apps/kaleidostrobe
Don't have to play songs, no need to turn the visualizer on. Keep iTunes launched. Start Classic.

I've successful played almost everything in Classic I couldn't before.
This is the dream machine, now!

----

It's very much like the need to "park" the OS X ScreenSaver pointer to a fast one like Flurry not ComputerName (it affects the quality of the video signal too, and was discovered years ago). Each little visualizer program has its own personality and "cadence" with relation to Classicmode graphics. I'm using iTunes6.0.4 and the built in viz is mediocre for improving Classic. My favorite viz G-Force 2.7.1 is okay, which is how I was able to discover this. I tested all my vizzes and Kaleidostrobe is the best one, not to mention tiny and rad.

I don't want to even think about what's happening behind the scenes (yet), my head hurts. People gotta confirm this before I proceed. But I will soon test though a) striking my G5 id back to G4 b) 950/100 CPU and CPUFSB MHz respectively and c) Panther.

adespoton's picture
Offline
Joined: 2015 Feb 15

Based on this I have a theory (also need to test it out, alongside the visualizer). The theory is that Classic doesn't use CoreGraphics, but if the Quartz Compositor is already running, Classic uses it too.

This can be tested by using Quartz Composer instead of iTunes, and testing different routines until we isolate the one that makes the difference. You can use Quartz Composer to add a filter for the entire screen -- including Classic, which would force it to use hardware acceleration. If you use a transparent filter, then the graphics will get piped through Quartz, but the end result will look the same as you'd expect a regular screen to look.

adespoton's picture
Offline
Joined: 2015 Feb 15

Just verified; I can duplicate your results on my G4 Mini with 10.4.11 and the graphics update.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

And verified, Quartz Composer has a similar effect on Classicmode speed/smoothness, each Quartz "Composition" like a visualizer - with it's own "personality" and "cadence" relative to Classicmode interference.

adespoton's picture
Offline
Joined: 2015 Feb 15

Are you just loading a visualization composition in Composer, or are you generating and using a qtz file?

SkyCapt's picture
Offline
Joined: 2017 Jan 11

I opened Quartz Composer and ran some of the supplied example Composition files. Classicmode gains speed/smoothness but not as good as iTunes/Kaleidostrobe. But it wasn't enough just to have the Quartz Composition 'primed', it had to be 'running' to improve Classic. The iTunes viz isn't running for it to improve Classic.

Quartz Composer may not be a worthy solution. It's for Tiger only, and Panther also has bad Classicmode which iTunes can address. Also I noticed Quartz Composer won't launch from in 256 color mode. I tried pointing the screensaver to a Quartz Composition but darn it didn't help Classicmode. Also, I was not allowed to choose among Quartz styled screensavers when in 256 color mode. Strange, I can launch Composer in thousands/millions and then switch to 256 after.

adespoton's picture
Offline
Joined: 2015 Feb 15

I suspect this is all part and parcel -- just like how you can launch Composer in thousands/millions and switch to 256, you can launch Kaleidostrobe and then boot Classic. It seems like if QuartzCore is already running, you get the hardware acceleration, but there's no initialization routine baked in to Classic or 256 Color mode.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

New Info.
So all that's needed to get smooth and fast Classicmode is to open some specific form of hardware acceleration, and have that particular thing be using very little CPU. So I searched and found something non-iTunes non-Composer that is better than anything before. It's the game TuxRacer v0.61-3 built August 28 2002. It only needs to sit at its main menu. Reduce TuxRacer window size to the smallest allowed and Hide the game, then it'll waste the least CPU. It remembers the small window size for our convenience.

TuxRacer is causing the best Tiger/Panther Classicmode ever. Lunar Commando Demo plays perfectly fast+smooth, even Skulduggery Pinball perfectly fast+smooth.

How has this trick gone unreported til now? It must be possible to make the smallest least wasteful "patch" to OS X which lets fast+smooth Classicmode flow. And, Apple didn't assist us. Apple...

adespoton's picture
Offline
Joined: 2015 Feb 15

Well, now that you've confirmed my theory, the next step is to write up or patch something such that graphics acceleration can be turned on and off at will, much like with https://gfx.io/ for modern Macs. Alternatively, I could step through the initialization code in QuartzCore and see if I can figure out how to switch acceleration to be always-on.

This actually collides with something else I've been investigating; it appears that under Tiger (but not more recent OSes), VNC locks up when graphics acceleration switches state. So keeping it on, while it uses more energy, will result in a more stable system.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

Until then, TuxRacer works well. Too bad TR can't stay running Hide in the background all the time, because it drags down GPU and/or MMU activity. But it has so far made Classicmode look best. We just make launching it part of Starting Classic and quitting it part of Stopping Classic. Tux is customizable, it can be renamed if you also sync its bsd name and names within info.plist. Give it a custom icon. I even cut its size down to a tenth by deleteing TuxRacer files not needed at the menu before play. Heck, even the image shown when TuxRacer gets launched can be swapped in picture files.

I don't think Classicmode smooth play hinges on just opening a 'channel'. Looks like it's the result of a steady stream of 'the right' calls over the hardware accelerated channel, such that classicmode drawing then piggybacks the channel in a fluid manner. If it weren't the case, so many more programs than Tux would demonstrate equally good Classic smoothness, but no. The mainmenu of TuxRacer contains a very light but steady Load of 'OpenGL' animation. And it doesn't seem to matter which of Classic vs Tux launches first or second. Can keep Classicmode running, and launch/quit TuxRacer like a switch for Classic boost on/off.

Ain't TuxRacer open source? Ain't the source code for TuxTacer still out there anybody?

adespoton's picture
Offline
Joined: 2015 Feb 15

Yeah; the Quartz compositor appears to be unloading when not in use. Maybe it's as simple as a LaunchAgent that does nothing but keep it running....

SkyCapt's picture
Offline
Joined: 2017 Jan 11

It might be a different mechanism than like Classicmode not having access to acceleration. I'm leaning toward TuxRacer mainmenu produces a steady stream of GPU render activity but ALSO a steady stream of HID monitoring activity, AND the two streams are perfectly entwined, interlaced, at a relatively high frequency. This hypothesis is visible on the TR mainmenu. The falling snow is probably OpenGL and when the mouse pointer is moved around, the snow diverts from falling down to go chasing the mouse. See, it is HID I/O perfectly steady alternating with GPU acceleration, and the trouble with Classicmode had been BOTH choppy animation AND choppy HID response. TuxRacer is cleaning up both these problems simultaneously.

Safe to say Steve Jobs murdered OS9 emulation in Classicmode shortly after he predicted OS9 was dead. He willed into existence being right about OS9, by doing the killing himself. I tried those things I said I would: undoing all my software hacks and using the G4 ID not G5 ID and using a 950 MHz CPU anchored to a 100 MHz bus - good Classicmode is coming mainly from the TuxRacer, not the hardware edge. Something is very wrong with OS X's Classicmode beginning with Panther 10.3.0 in late 2003 - it's like a "lock" on it but with a casual "backdoor" workaround (mr.PotatoHead! backdoors are not secret). Classic got locked away and somehow TuxRacer has the keys.

cbone's picture
Offline
Joined: 2011 Sep 17

Absolutely brilliant deductions!! Laughing out loud

I fondly remember my Tiger Days and Classic was a must have Smile so having it purr along with the big Tiger is a real solid score for Classic!

adespoton's picture
Offline
Joined: 2015 Feb 15

I recently added MFSLives to my Tiger Mini, so now it can open MFS disk images Smile

This means it can run/open pretty much any Apple file format made from 1983 to 2011.

G4 Mini Fully Loaded

SkyCapt's picture
Offline
Joined: 2017 Jan 11

Iron Mike Tyson owned a Tiger.

Tiger on the MirrorDoor2003, I couldn't ask for better.

My collection of Classicmode software is divided into 2 groups, those which had run only in OS X 10.2.8 (and older) vs those which Tiger could 'manage'. Historically the 10.2-only group was twice as populous.

Here I am, armed with my "TuxRacer-redux" about to re-sort my Classicmode two groups. There will be only a handfull that remain 10.2-only, due to other misc OS incompatibilities, not speed/smoothness.