Closed Alessandro1970 closed 5 years ago
Crash was easy to fix.
However, it now hangs in an infinite loop. The game does not detect any key press π. I didn't find out yet how exactly it polls the keyboard.
In SAE, I can run it up to this screen, but I don't know what to do next. Either the game is frozen or I am not smart enough to get it startet π€.
In that place the main character must be seen on the left...something hangs
OK, I'll let Rupert know.
Brataccas - Manual
READ ME FIRST INTRODUCTION
Welcome to Brataccas the first Interactive Video. This product will work on the Atari 520ST, the Commodore 512K Amiga and the Apple 512K Fat Mac. The sticker on the front of the package indicates which you have purchased.
QUICK LOADING INSTRUCTIONS
To participate immediately in the Interactive Video, please follow these instructions: If you have difficulty at any stage, please refer to inside Brataccas for more detailed instructions.
Note: a DOOR on the right is missing...
I also found out why vAmiga hangs...
When a key is pressed or released, the keyboard handler calls CIAA::setKeyCode(uint8_t keyCode) which is implemented as follows:
void
CIAA::setKeyCode(uint8_t keyCode)
{
debug(CIA_DEBUG, "setKeyCode: %X\n", keyCode);
// Put the key code into the serial data register
SDR = keyCode;
// Trigger a serial data interrupt
delay |= CIASerInt0;
}
However, I forgot to tell the CIA to wake up. If it is idle (sleeping), it simply ignores what we do here. And indeed, the event inspector shows that both CIAs are sleeping for a while. The bug is shielded most of the time, because CIA A is usually woken up by the VSYNC handler.
Once found, it was really easy to fix:
void
CIAA::setKeyCode(uint8_t keyCode)
{
debug(CIA_DEBUG, "setKeyCode: %X\n", keyCode);
// Put the key code into the serial data register
SDR = keyCode;
// Trigger a serial data interrupt
delay |= CIASerInt0;
// Wake up the CIA
wakeUp();
}
Now the game loads and I do see the main character.
However, the guy immediately starts doing all kind of stuff by itself π³. How can I get him under control? In UAE, he is also running around like crazy.
Oh yes, I have choose this game ti test becouse mouse control movements... π€ͺ. Very difficult.... but itβs only a test for the emulator. Like black lamp
I have choose this game ti test becouse mouse control movements... π€ͺ. Very difficult.
OK, the weird character movement is a feature and not a bug, then. Another issue solved π.
vAmiga crash after exiting intro of Brataccas (1990)(Psygnosis).
Report: report.txt
Game: Brataccas (1990)(Psygnosis)[cr Rectum Research].adf.zip