#1 - Posted:
12 Nov 2004 16:28 - Edited ReplyQuote
I find it annoying that a lot of productions from the 1994-1998 period don't run on my 68060. I do have a 68030 board aswell, but it's annoying to have to plug in another card just to watch a demo.
I was wondering: is there any software solution to make my 68060 more compatible with productions from the 68020/030 area? I can control quite a few things on my 68060 (cache,...) with the CPU60 command it seems, so i was wondering if this could be the way to go. I always use cpu60 b(est) by default. What should i turn off for better compatibility?
turn off the copyback cache, this is really the only trick there is. but be aware that this will make the 060 actually slower than an 030.
040 and 060 gain their whole momentum from this copyback cache. it loads a bunch of bytes from memory into the cache and continues execution from there (which is much faster). if then the average 020/030 democoder bangs in with selfmodifying code from a500 times, the processor simply doesn't know about these changes (which happened in main memory) and will continue using it's (now obsoloete) copy in the cache. and there you have your crash! the solution would be to flush the cache when code-modification happened (if you had the code and where willing to fix that) or to turn off copyback cache.
sidenote: this is also the only cause why crunchmania-decruncher failed to work on 040+.
it always a good idea to have "noaga" and "t.u.d.e." at hands when feeling like really downgrading your machine. both tools are about 10 years old but should still be around.
selfmodifying code is code that is generated from another piece of code while the programm is running. basically this is something that should not sound too cool to todays ears.
selfmodifying code allows some tricks like the rotozoomer in woc92/sanity. it has also been excessively used by jamie of skarla (and essence) in his productions before "when we ride on our enemies".
i would generally recommend not to use this nasty technique which is completely obsoleted.
Yupps, it's 256byte on the 030. I think many ppl used thier old 000 code that was sm even after they upgraded to 030, like rotations and such, and that is the main reason why we see this problem on 040/060 machines.
Many codes really need self-modify code on 030... all sorts of texture-mapping and it's variants can get much faster using it... for example a standard 5inst/pixel rotozoomer:
which need SMC (constants change depending on zoom and angle values) but gives 1inst/pixel. You may remember demos from theparty96 (endolymfa, makaveli, shaft7...) which had great speed on 030 even when running bump and shading at the same time.