libretro / FBNeo

FBNeo - We are Team FBNeo.
https://neo-source.com
Other
226 stars 136 forks source link

Scud Hammer - scudhamm - error at startup, unplayable #490

Closed adelpha closed 4 years ago

adelpha commented 4 years ago

Summary: This is a weird one.

This is a Japanese rock-paper-scissors game.

On the real cabinet, when you win, a puppet head springs out of the cab, and you have to hit it with a plastic hammer as hard and as many times as you can.

In MAME that is simulated via an analog port (e.g. mouse position) that reports the effect of the hit on the accelerometer. With a 360 controller in MAME, the hammer is controlled by moving the left analog stick up and down.

The mechanical part of the machine doesn't seem to be emulated in FBNeo, so the game is unplayable.

Test Device: Raspberry Pi 3B 1.8.8 - FinalBurn Neo (v0.2.97.44 8ce2cd9) XBox 360 controller

Windows 10 x64 1.8.9 - FinalBurn Neo (v0.2.97.44 27dd85f) XBox 360 controller

Steps: Load the ROM.

Results: In FBNeo, the game doesn't start. The "MOTOR INITIALIZE" message is normal, but the Japanese warning text along with the constant "laser" firing sound is not normal, and with the magic of Google Translate I can tell it says something about "Danger!" and "Do not touch me!", so I guess this is what happens when the mechanical part of the machine fails.

scudhamm-200810-1911062

Expected Results: The game should start and be playable. See MAME 0.222 for reference.

dinkc64 commented 4 years ago

@barbudreadmon, this game works in fbneo, can you check to see why its not working on your side?

barbudreadmon commented 4 years ago

Maybe the O3 optimization ? I'll take a look monday when i'll be back

dinkc64 commented 4 years ago

From experience I learned that -O3 will only cause a problem: if its a bug in the program w/heap/stack/memory overflow -or- ancient compiler (gcc 3.x or earlier) with buggy O3

Since it's a new driver, it might need an asan/ubsan check :) I'll also hand-review the code to see if anything can be spotted.

best regards,

barbudreadmon commented 4 years ago

I think the dips offset is wrong, shouldn't it be 0x0b and 0x0c ? Everything seems ok after i change those 2.

dinkc64 commented 4 years ago

good catch! and the bug is entirely my fault :) sorry guys :P

adelpha commented 4 years ago

Confirmed fixed! Weird Japanese guys everywhere rejoice.

dinkc64 commented 4 years ago

It's a funny game, I just like hitting the people :)

crystalct commented 4 years ago

Recently i tested Boong-Ga Boong-Ga... what damn of game is it? I can't be able to understand if it works.....

dinkc64 commented 4 years ago

boonga is stupid :) it works :) it's just completely random if you win or not. the shit has to match between 2 lines when it walks. this is based on randomness plus the analog value, plus more randomness.