exxos wrote: Fri Nov 21, 2025 9:49 pm
Does BLTFIX install something *only* when the blitter is on and first access for a blit ? Its like something installs, but doesn't "uninstall" when the blitter is disabled.
Not really, the trap overrides are installed right away.
The program doesn't do all that much complicated stuff:
Unless I'm missing something obvious, it just installs the new blitfuncs jumptable, and the trap overrides.
Trap14:BlitMode()
TOS2.x
* with positive value, for setting blitmode, jumps to original TOS function without modification.
* with negative value, for getting blitmode, jumps to original TOS function without modification,
(except when being asked by NVDI or WARP9 during autofolder execution. For these two we reply that there is no blitter)
EmuTOS
* with positive value, for setting blitmode, ignores command as if blitter not present
* with negative value, for getting blitmode:
-if calling program is in ROM, TT-RAM, or in ST-RAM lower than the TSR itself, we report no blitter present
-if calling program is in ST-RAM, higher than the TSR, report the truth if blitter exists or not
(as opposed to lying and always reporting no-blitter, which is what EmuTOS does when you have TT-RAM)
Trap14:Setscreen()
(all TOS's)
* update TOS's hw blitfunc jumptable depending on if new logical screen is in ST or TT ram
* then jump to original TOS Setscreen()
I assume you're building TOS206 with the P68030 patch? If so, TOS clears the cache after each hardware blit operation.
But then, I wouldn't expect that to make a difference on a benchmark program, unless there's a bug and it disables the cache instead of clearing it. or something like that.
Do you get expected benchmark result if you run with blitter enabled, but without using blitfix?
Could it be related to TOS2's shared menu entry and variable for cache/blitter, or the related code which applies it from newdesk.inf?
I recall you patched TOS to have both at the same time, is it possible there can be some issue lurking there which shuts off the cache when you (or newdesk.inf) enable blitter?
Could also give xcontrol and general.cpx a go and see if using that instead of the desktop menu makes a difference.
That cpx allows you to set cache and blitter individually.