0.153 [Roberto Fresca, ANY]
< Italy >
WIP:
- 0.153: Roberto Fresca and ANY added 'Cherry Wheel (Version 1.7)' (Assogiochi Assago 200?). Created new memory map due to hardware differences. Added default NVRAM. Otherwise the game checks the NVRAM, and get a division by 0 error, then resets itself. Partial MCU simulation. Without it, only cherries appear and the player always wins. Added proper button-lamps support. Added technical notes [Roberto Fresca].
- 26th February 2014: Roberto Fresca - A lot of work on the MCU simulation. After exhaustive analysis, I found how is the MCU communication. The program writes to the MCU different commands for different tasks, and get a response from it. Some commands have different parameters. Command 11h is for Idle, and is just one byte. Other commands take till 4-5 bytes long (command + data). In the case of reels controls / state, the command is 1Ah. Just writes to the MCU a 6-bits value (bits 0-1-2-3-4-5), and expects a 3-bit response (bits 0-1-4) from it to define a reel state/graphics to generate. Any different combination produces reset or corrupted graphics. So, here my first attempt to simulate the MCU. Also you can see the button-lamps working. Here see some snaps. The game now seems to work more close to the real thing. I'll try to go further, and find the relation of the injected seeds with the MCU response.
- 23rd February 2014: Roberto Fresca - Cherry Wheel a new rarity thanks to ANY. The game is a mix of slots machine with a sort of roulette / fortune wheel. You can play the slots in different ways (credits or timed). When you reach a special symbol, you have a bonus with this sort of roulette called Gyro. This game is running in a M68000 hardware with a OKI 6295 for sounds, and a MCU (PIC16C65B) at location U60. At very begining, I got constants resets due to unknown checks against NVRAM values. Fortunately, David Haywood told me that the problem is that program takes 2 values (from NVRAM) and ends up causing a divide by zero error (Thanks David!). And since the exception handler points to 0000, the game just resets. So i started to work in a default NVRAM with the minimal values to get the thing booting, and will allow me to improve the NVRAM values to get the game more functional. Here you can see some snap. Sadly, if you play the game you always win, getting only cherries constantly. I harassed the poor ANY to get some NVRAM dumps to see if some hardcoded value was involved, but after a lot of work, I noticed that the MCU (meant for touch screen purposes) also is involved in the reels control/states. So next step will be a complete analysis of this MCU, with the purpose of simulation. Also I'll work on button-lamps support. Wish me luck.