A.D.A. Amiga Demoscene Archive

  Welcome guest! Please register a new account or log in

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Demos / "Downgrading" an 68060

 

Author Message
z5_
Member
#1 - Posted: 12 Nov 2004 16:28 - Edited
Reply Quote
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?
noname
Member
#2 - Posted: 12 Nov 2004 16:50
Reply Quote
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.
z5_
Member
#3 - Posted: 12 Nov 2004 17:02 - Edited
Reply Quote
@noname:

thanks What is selfmodifying code (sounds interesting and cool)?

and thanks for the explanation, which is even understandable for non-coders like me.
noname
Member
#4 - Posted: 12 Nov 2004 17:18
Reply Quote
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.
dalton
Member
#5 - Posted: 12 Nov 2004 19:55
Reply Quote
a tip when running 020/030 prods is to load oxypatcher, it probably won't make a demo run but i often makes it run faster =)

Did coders really use smc on these cpu's? they both have instruction caches.
rload
Member
#6 - Posted: 12 Nov 2004 23:12
Reply Quote
the caches are very small.. 256 byte or something? it could save you a register you know
bonkers
Member
#7 - Posted: 13 Nov 2004 01:26
Reply Quote
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.
krabob
Member
#8 - Posted: 17 Jan 2005 13:17
Reply Quote
for a lot of production, at startup it gives some result:

cpu nocache
frost
Member
#9 - Posted: 20 Jan 2005 12:24
Reply Quote
winden
Member
#10 - Posted: 28 Nov 2005 17:06
Reply Quote
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:

.lx
move.w d0,d6
move.b d1,d6
move.b (a0,d6.l),(a1)+
addx.l d2,d0
addx.l d3,d1
dbra d7,.lx

can get very good precision and speed (i used this loop on euskal party 5 invitation rotozoom) but for true naked speed you better do this:

move.b $1234(a0),(a1)+
move.b $1234(a0),(a1)+
move.b $1234(a0),(a1)+
move.b $1234(a0),(a1)+


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.

 

  Please register a new account or log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0