Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: gazsp on February 13, 2007, 10:19:29 AM
-
Any ideas anyone? Also, is there a guide to the Guru numbers on the net anywhere?
Thanks,
Gaz.
-
http://www.amiga.org/modules/xoopsfaq/index.php?cat_id=3#q13
-
"trap #0" instruction executed.
-
What does it mean though? :-)
-
Let me put it another way.
This means that TRAP #0 has been executed by the processor, right? So why would this instruction occur in a game for example?
I'm trying to run a game on an 040 but I just get this guru every time it starts.
Thanks,
Gaz.
-
What game is it?
--
moto
-
@gazsp
Perhaps the 040 has found an Instruction it does not understand,
it does not have the full instruction set of 020 and 030's
or even plain old 68000.
It's possible the game has bee written for a lesser processer.
Make sure you have the latest 040.library installed on
you system, also try cyberpatcher or oxypathcer.
Wol.
-
@gazsp
This means that TRAP #0 has been executed by the processor, right?
Correct.
So why would this instruction occur in a game for example?
Typically old (A500 era) games would use this to get into supervisor mode. There's some nice exec/Supervisor call for that, but I guess the coders didn't know about it back then.
I'm trying to run a game on an 040 but I just get this guru every time it starts.
Most likely the game in question pokes vector table without knowlege about the vector base register (VBR). Basically it pokes the vector to wrong address and thus trap #0 will not give supervisor, but rather crash.
Enforcing the VBR back to address 0 might help (or booting without startup-sequence).
However, if the game is using trap #0 tricks, then it might also fail on anything higher than 68000 in general (abusing stackframes etc). In these cases the only way to run it is to use WHDLoad.
-
@Wol
Perhaps the 040 has found an Instruction it does not understand
Trap #0 works just fine on 040.
Make sure you have the latest 040.library installed on you system, also try cyberpatcher or oxypathcer.
Actually it likely works better without 040 library (that is without setpatch).