[hatari-devel] Road Riot

Laurent Sallafranque laurent.sallafranque at free.fr
Mon Feb 22 11:28:13 CET 2010


The lines to comment to avoid the stack error are :

diff -r b277f94e5575 src/falcon/dsp_cpu.c
--- a/src/falcon/dsp_cpu.c      Sat Feb 20 09:55:49 2010 +0100
+++ b/src/falcon/dsp_cpu.c      Mon Feb 22 10:48:43 2010 +0100
@@ -1145,17 +1145,17 @@
        dsp_core->registers[DSP_REG_SP] = (underflow | stack_error |
stack) & BITMASK(6);
        stack &= BITMASK(4);

-       if (stack) {
+//     if (stack) {
                /* SSH part */
                dsp_core->stack[0][stack] = curpc & BITMASK(16);
                /* SSL part, if instruction is not like "MOVEC xx, SSH"  */
                if (sshOnly == 0) {
                        dsp_core->stack[1][stack] = cursr & BITMASK(16);
                }
-       } else {
-               dsp_core->stack[0][0] = 0;
-               dsp_core->stack[1][0] = 0;
-       }
+//     } else {
+//             dsp_core->stack[0][0] = 0;
+//             dsp_core->stack[1][0] = 0;
+//     }

        /* Update SSH and SSL registers */
        dsp_core->registers[DSP_REG_SSH] = dsp_core->stack[0][stack];


With this, RoadRiot works, (sound is not nice).
(I didn't know this game, I really don't like it ;)

Build in obsolescence works too (but freezes latter on a black screen).
Some more programs may run better (those with stack problems).

But again, I don't know if the problem is in this part of the code or
somewhere else.


any advise ?

Laurent





More information about the hatari-devel mailing list