News...

NEWS...


Hello... My name is Roberto Fresca, and I'm part of the MAME Dev Team since 1998. Here you can find some technical things about rare hardware. This site is intended to avoid duplicated efforts.
This page is still in construction...

Special thanks to mameworld staff, that offered me to host this humble page.





--- 2008/09/11 ---

No more bets!...

Whilst working on the 'Scacco Matto / Space Win' game, Haze pointed me that the Playmark Roulette needs it MCU simulated in order to work (in fact, the protection turns the game to 'always win'), so I took a look at the driver and started the tedious work.

As result, the MCU has been simulated and you now can play a normal game, but is a bit hard to win. I don't know if it's so accurate, but is a step further till we have the MCU decapped (if it's possible).

In the next couple of pictures, you can see the number 4 (four) as winner number, and all the bets were placed around number 20 (twenty). So... You now can lose! ;-)

Croupier (Playmark Roulette) (simulated MCU) Croupier (Playmark Roulette) (simulated MCU)

Also I made a lot of things on this driver.... Some of them are: added full music/sound support to the roulette, fixed the phisical RAM size, added proper NVRAM and lamp support to all games (sderby, spacewin & pmroulet).



--- 2008/09/05 ---

Gone on a Safari...

Just turned out an obsession... As soon as I saw this game, I put a lot of work to emulate it. All things (planes, tilemap offsets, protection, NVRAM, sound, inputs, DIP switches, etc..) are perfectly emulated, except the hopper and ticket dispenser. Also not only was added button-lamps support. I've improved the layout to represent lamps in a way more realistic. The final look is quite impressive due to the good lamps sequence the game already has.

NOTE: To initialize the game, you must left DIP switches in default position, and enter the following sequence: HOLD4, HOLD2, HOLD5, START. A lot of thanks to Tomasz Slanina that helped me fixing interrupts and finding the init sequence. Here some shots of the game running...

Super Gran Safari (title 1) Super Gran Safari (disclaimer) Super Gran Safari (title 2) Super Gran Safari (ingame 1) Super Gran Safari (ingame 2) Super Gran Safari (ingame 3) Super Gran Safari (ingame 4)

Here the Super Game feature... The player must hit the lion to get the price. For now you must to miss the shot till hopper and ticket dispenser are emulated. ;-)

Super Gran Safari (supergame)



--- 2008/08/30 ---

Another italian game...

I'm absolutely sure that some people will be happy to see this sympathetic character again... ;-)

Joker!!

Well... The game is NOT "Carta Magica", as some people expects. This one is Magic Joker, recently dumped by f205v. It seems to be a clone of, hack of, or simply stolen some graphics from Carta Magica. Here some shots of the game working...

Magic Joker (title) Magic Joker (disclaimer) Magic Joker (ingame 1 - chips) Magic Joker (ingame 2 - cans) Magic Joker (ingame 3 - joker 1) Magic Joker (ingame 4 - joker 2)

Each time you win a hand, the game plays the song 'La Cucaracha'... Nice and addictive. :-)





--- 2008/08/25 ---

InterFlip games...

InterFlip is a spanish company that manufactured/exported pinballs and class 'C' (casino) games. The hardware is composed by two (main and sound) boards driven by a I8039 each. The video and color RAM are addressed through I/O ports and latch tricks due to the I8039 addressing restrictions. The work is mostly from Grull Osgo, and after a lot of work we have all games working properly with sound. Here some shots...

Video Poker:

Video Poker (in game 1) Video Poker (in game 2) Video Poker (in game 3) Video Poker (in game 4) Video Poker (book-keeping)

Black Jack:

Black Jack (in game 1) Black Jack (in game 2) Black Jack (in game 3) Black Jack (in game 4) Black Jack (in game 5) Black Jack (book-keeping)

Video Dado:

Video Dado (in game 1) Video Dado (in game 2) Video Dado (in game 3)

Video Cordoba (still needs its own color PROM):

Video Cordoba (in game 1) Video Cordoba (in game 2) Video Cordoba (in game 3) Video Cordoba (in game 4) Video Cordoba (book-keeping)





--- 2008/08/16 ---

Hot Slot, take 2...

After some analysis, the co-processor calls were identified. Once simulated the behaviour, the co-processor test was passed ok. The next problem I've found was the input test, that didn't pass at all. After program all the inputs from the scratch, the test was passed successfuly.

Tilemap layers now are aligned, and a preliminary scroll register support was added (needed to align the 3rd graphics layer in different parts of the game). Unfortunatelly the game resets due to protection issues...

Here some shots...

All test passed Setting Options DIP switches menu Manufacturer Title Press Start... Choose... Playfield

Also I fixed the Super Pool graphics:

Before...

Super Pool (before)

After...

Super Pool (after)





--- 2008/08/08 ---

Lucky 74, take 3 (reverse-engineering the custom IC's).

Well... A lot of improvements to the driver were made. The color system now is based on the resistors weights, interrupts were measured and fixed, and much more... Also a week ago, we (with Grull Osgo) got the regular sounds working after implement the missing 3x SN76489.

Respect to the custom IC's, we almost finish the reverse engineering. The samples system (09R81P + OKI M5205) is now implemented and working properly. Now Lucky 74 can talk!...

Here the custom IC's...

Custom IC 06B49P

06B49P: This IC is a programmable clock divisor. It provides every frequency needed for all devices from this hardware, plus V-Sync, H-Sync and (V+H)-Sync (composite) frequencies. All generated clocks are proportional to the Clock In (12MHz). There are not fixed or harcoded frequencies.

Custom IC 06B53P

06B53P: This IC is a custom video controller. The PCB has two of them. Each one handle one graphics bank, the respective video (and color) RAM, and switch the dual-state color circuitry to generate its own palette.

Custom IC 09R81P

09R81P: This custom IC is a kind of samples system controller, driving the OKI M5205. The IC is connected to Z80 through ports 0x00 to 0x05. Transmit the status (/busy) to port 0x00 (bit 0). Load the sample start offset from ports 0x00 & 0x01 and the ending offset from ports 0x03 & 0x04, then trigger the sample when the bit 0 of port 0x05 is activated.

More to come...



--- 2008/08/04 ---

Magic Colors + Hot Slot.

At very begining, I thought that both games were candidates for the 'only-for-preservation-skeleton-driver' due to the fact that the main CPU was meant to be a Hitachi/Remesas MCU with internal ROM.

Then, Surprisingly... I found valid M68000 code in a couple of ROMs :))). The attract of Magic Colors is working but the game is not playable due to protection issues, and Hot Slot is not working due to the lack of co-processor emulation. Here are some shots...

Magic Colors Magic Colors Magic Colors Magic Colors Magic Colors Magic Colors

Hot Slot... To pass the System RAM test, bit 7 at offset 0x500005 should be activated. The test fails in the co-processor item due to the lack of co-processor emulation.

Hot Slot (test mode)



--- 2008/07/06 ---

Lucky 74, take 2...

The game is now playable... Anyway, still need a lot of work (sound, copro, resnet, etc...). Here are some comparative shots...

Lucky 74 (cab picture) Lucky 74 (ingame1)

And the next stage, with less clothes...

Lucky 74 (ingame2)

And one stage more, with less clothes than before...

Lucky 74 (ingame3)

...And stop here to preserve my account! ;-)

Next step is to switch the dual-state color system to RESNET...



--- 2008/07/04 ---

Lucky 74...

Well... I spent a lot of time working on this one. Manufactured by Wing Co. Ltd, Lucky 74 was a kind of legend at least on this side of the world.

The hardware looks interesting: A black CPU box based on Z80, NPC SM7831 co-processor, 2x 82C255 (equivalent to 4x 8255) for I/O, a YM-2149F and OKI M5205 for sound, and a USART IC for serial/parallel communication. The color circuitry is based on different states and assign a different palette for each graphics bank. Two video RAMs handling fore & background graphics respectively that will be merged in the final blitter. In fact, the game is very addictive and has good whores graphics.

Only the attract mode is working for now, and sound need to be hooked/fixed. A lot of thanks to Tomasz Slanina, that fixed the lack of interrupts at very begining, and Grull Osgo, that provided a complete dump, PCB pictures, bipolar PROMs connection info, and then vanished in the ether... (maybe the known curse of this game reached him). Here some shots...

Lucky 74 (title 01) Lucky 74 (title 02) Lucky 74 (title 03) Lucky 74 (attract 01) Lucky 74 (attract 02) Lucky 74 (attract 03)



--- 2008/06/01 ---

Sigma 2000 working...

Reworked the Sigma 2000 inputs. After the init sequence, the game started to work properly. In fact it has good graphics and adictive gameplay.

Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame) Sigma 2000 (ingame)



--- 2008/05/21 ---

Super Pool and Blue TAB PCB decryption...

Some shots of Super Pool running. The game isn't working properly due to protection.

Super Pool (disclaimer) Super Pool (title) Super Pool (attract1) Super Pool (attract2) Super Pool (attract3) Super Pool (attract4) Super Pool (attract5) Super Pool (gameover)


*** Blue TAB PCB decryption ***

I finally found the proper algorithm to decrypt the blue TAB PCB games.

To all people that asked about, the board performs by byte nibble a boolean XOR against the same value shifted to the right, then shift the result to the left carring the less significant bit and losing the most significant one.


Encrypted value: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
------------------------------------------------------------------------------------------------
Decrypted value: 0000 0011 0110 0101 1100 1111 1010 1001 1000 1011 1110 1101 0100 0111 0010 0001


So we performed the following calc:


Being X & Y the encrypted nibbles...

decrypted_byte = ((X ^ (X >> 1)) << 1 ) + (((Y ^ (Y >> 1)) >> 3) & 0x0f)


The old decryption tables were replaced with the proper decryption scheme in release .125u1. Another hack gone... :-)



--- 2008/05/12 ---

Old Game-A-Tron games...

Well... These are 2 different games running in the same platform. A multi card game (Draw Poker, Stud Poker, Acey-Deucy, Blackjack and High-Low) where you can choose the game to play, and a slots thematic game where you can play choosing a 'ticket'. Both games are working properly, but without sound (the sound device wasn't identified due to almost all ICs are plastic-covered).

I have NO IDEA about their real names. If you have some reference or know something about them and want to help, please contact us through the MAMEDev Contact Form, or post something in the MAMEWorld Forums.

Card Games?? (Game-A-Tron, 1983).

Card Games?? (settings) Card Games?? (ingame01) Card Games?? (ingame02) Card Games?? (ingame03) Card Games?? (ingame04) Card Games?? (ingame05) Card Games?? (ingame06) Card Games?? (ingame07) Card Games?? (ingame08) Card Games?? (ingame09) Card Games?? (ingame10)

Slots Game?? (Game-A-Tron, 1983).

Slots Game?? (settings) Slots Game?? (ingame01) Slots Game?? (ingame02) Slots Game?? (ingame03) Slots Game?? (ingame04)



--- 2008/04/29 ---

Sandii' games, take four...

After playing for a couple of days with graphics bitplanes, boolean operations and bitswaps, I was able to fully decrypt the Apple 10 color codes. Here some shots...

Apple 10 in game, plus stats, management, input test & programming modes.

Apple 10 (title) Apple 10 (disclaimer) Apple 10 (attract 1) Apple 10 (ingame 1) Apple 10 (ingame 2) Apple 10 (double-up) Apple 10 (input test) Apple 10 (stats) Apple 10 (management) Apple 10 (programming)

BTW, Hooked full sound emulation to all games. The sounds are 4 bit ADPCM and were ripped from the Gottlieb pinball 'Cue Ball Wizard'(1992)...

Output ports were hooked and properly documented too.



**** Edited ****

Also fixed the payout mode.

If you have some points accumulated and need to grab the tokens/tickets, you must to play a bonus game called SUPER GAME to get the points out. To enter the bonus game, you must press STOP5 in the attract mode. The payout system is through this game.

5 themed items will be shown (apples, balls, etc... depending of the game). The joker will start to move from item to item quickly, but decreasing the speed gradually. To beat the game, you need to push the start button in the exact moment when the joker is located exactly in the center of the screen (item 3).

Depending of the DIP switches settings, you can grab the prize manually pressing the SCARICA (payout) button, and then TICKET or HOPPER buttons. Press TICKET button to print a 100 points ticket. Press HOPPER button to get tokens x10 points.

You have 1 attempt for each 100 earned points. If you lose the game, you lose the points.

Snooker 10 (Super Game) Snooker 10 (Payout)

And since this feature is present in all the CMC italian games too, I made a lot of fixes to them to allow work the payout system properly.

Cuore Uno (Super Game) Cuore Uno (Payout)



--- 2008/04/26 ---

Sandii' games, take three...

Well... After some work, I have Snooker 10, Ten Balls and Apple 10 working. The last one still need a big analysis to decrypt the palette properly. Here some shots...

Snooker 10 in game, plus stats, management, input test & programming modes.

Snooker 10 (title) Snooker 10 (disclaimer) Snooker 10 (attract 1) Snooker 10 (attract 2) Snooker 10 (ingame 1) Snooker 10 (double-up) Snooker 10 (input test) Snooker 10 (stats) Snooker 10 (management) Snooker 10 (programming)

Apple 10 in game...

Apple 10 (ingame 1) Apple 10 (ingame 1)

The next step is to hook sound emulation and document the output ports properly.



--- 2008/04/23 ---

Apple 10, take two...

I was busy trying to decrypt/unscramble the tile matrix of Apple 10.

Once tiles were decoded, you can see the following table, where 'norm. tile#' is the tile number called to be drawn and 'scrambled tile#' is the phisical tile position in the matrix:

Norm.| Scrambled
tile#| tile#
-----+--------
0x00 | 0x00 \
0x01 | 0x80 |
0x02 | 0x40 | Big "0"
0x03 | 0xC0 |
0x04 | 0x20 |
0x05 | 0xA0 /
-----+--------
0x06 | 0x60 \
0x07 | 0xE0 |
0x08 | 0x10 | Big "1"
0x09 | 0x90 |
0x0A | 0x50 |
0x0B | 0xD0 /
-----+--------
0x0C | 0x30 \
0x0D | 0xB0 |
0x0E | 0x70 | Big "2"
0x0F | 0xF0 |
0x10 | 0x08 |
0x11 | 0x88 /
-----+--------

So we extract the following decrypt table:

0 <-> 0; 1 <-> 8; 2 <-> 4; 3 <-> C
4 <-> 2; 5 <-> A; 6 <-> 6; 7 <-> E
8 <-> 1; 9 <-> 9; A <-> 5; B <-> D
C <-> 3; D <-> B; E <-> 7; F <-> F


...and then swap nibbles.

Note that the values are inverted/mirrored bits.

0x01 (0001) <-> 0x08 (1000)
0x02 (0010) <-> 0x04 (0100)
0x03 (0011) <-> 0x0C (1100)
0x04 (0100) <-> 0x04 (0010)
0x05 (0101) <-> 0x0A (1010)


...and so on.

To properly decrypt the thing 'on the fly' as the hardware does, I applied a bitswap. Here the results...

Apple 10 (stats) Apple 10 (title)

Tiles are ok now. The next step is to tackle the color system...



**** Edited ****

Well... Colors are scrambled in the following way:

..Normal..| Scrambled
..offset..| offset
----------+-------------
0x00-0x0F | 0x00-0x0F
0x10-0x1F | 0x80-0x8F
0x20-0x2F | 0x40-0x4F
0x30-0x3F | 0xC0-0xCF
0x40-0x4F | 0x20-0x2F
0x50-0x5F | 0xA0-0xAF
0x60-0x6F | 0x60-0x6F
0x70-0x7F | 0xE0-0xEF
----------+-------------
0x80-0x8F | 0x10-0x1F
0x90-0x9F | 0x90-0x9F
0xA0-0xAF | 0x50-0x5F
0xB0-0xBF | 0xD0-0xDF
0xC0-0xCF | 0x30-0x3F
0xD0-0xDF | 0xB0-0xBF
0xE0-0xEF | 0x70-0x7F
0xF0-0xFF | 0xF0-0xFF

So I made a slightly different thing, based on the same algorithm. Here the results...

Apple 10 (stats) Apple 10 (title)

Most of colors are correct. Still need to analyze the few wrong color codes...



--- 2008/04/22 ---

A couple of new games...

Another 2 italian games were dumped (thanks f205v!). I made a new driver for them. They are Apple 10 and Ten Balls. Both programs seems to be heavy hacks from funworld games. Obviously all hardware accesses were relocated to match the new hardware, that has two big high-density PLDs mainly for protection. Also moved Snooker 10 to this new driver. All games aren't working yet. Here some shots...

Ten Balls, from an early revision board.

Ten Balls (stats) Ten Balls (title)

Apple 10. This one has colors and tile matrix encrypted/scrambled...

Apple 10 (stats) Apple 10 (title)

Decryption is a real PITA...
I think I'm on the right way, but still have no idea how to implement it. Stay tuned... ;)



--- 2008/03/18 ---

Pot Game (C.M.C.)

Thanks to f205v and Stekka51, another italian game was dumped. The game follow the line of C.M.C. games (video poker with different graphics due to legal issues). The game is working properly with sound. Here some shots...

Pot Game (italian) Pot Game (italian) Pot Game (italian) Pot Game (italian) Pot Game (italian) Pot Game (italian)

The game will be part of the next beta.



--- 2008/02/27 ---

Big Game (preliminary)...

This is Cal Omega - Game 10.7 (Big Game). The game need a keyboard attached to the PCB through a keyboard encoder. The emulation state is still preliminary...

Cal Omega - Game 10.7 (Big Game)

Last night I submitted the new Cal Omega monster (still preliminary), so it will be part of the next beta.



--- 2008/02/25 ---

More new dumps...

Thanks to Aleksandar Spasojevic that kindly dumped some boards, a bunch of new games were added. I also fixed some inputs and mask others to allow boot the original Impera Jolly Joker (unfortunately 1 graphics ROM is bad). The color decode system was switched to resnet code, so colors are now more accurate. Here are some shots...

Jolly Card (Evona Electronic). This version is in serbian language.

Jolly Card (Evona Electronic) Jolly Card (Evona Electronic)

Jolly Joker (Impera). One of the wanted dumps. Unfortunately 1 ROM is bad...

Jolly Joker (Impera) Jolly Joker (Impera) Jolly Joker (Impera)

Super Joly 2000 -3x. This one have a 3rd deal, hacked graphics (see the Magic Card II joker) and advertisement about sell parts and technical service. Ugly hack, but was common in the serbian streets.

Super Joly 2000 -3x Super Joly 2000 -3x Super Joly 2000 -3x Super Joly 2000 -3x Super Joly 2000 -3x Super Joly 2000 -3x Super Joly 2000 -3x





--- 2008/02/10 ---

3-Deal versions, and other games...

Even when I'm short of spare time, I made some progress with all the Funworld stuff. Lots of changes to the driver and some new additions. Here are some shots...

Jolly Card (3x3 deal). This version allow the player to get a 3rd deal.

Jolly Card (3x3 deal) Jolly Card (3x3 deal)

Jolly Card Professional 2.0, from Spale-Soft. This version generate a code each 1st boot. You need an external PC program to enter this code and get the needed inputs sequence to boot the game.

Jolly Card Professional 2.0 Jolly Card Professional 2.0

Lucky Lady (3x3 deal). Another 3-deal game, heavily based on Royal Card.

Lucky Lady (3x3 deal) Lucky Lady (3x3 deal) Lucky Lady (3x3 deal) Lucky Lady (3x3 deal)

Lucky Lady (4x1 aces). Same game as above, but with other features instead.

Lucky Lady (4x1 aces) Lucky Lady (4x1 aces) Lucky Lady (4x1 aces) Lucky Lady (4x1 aces)

Royal Vegas Joker Card (slow deal). A different poker game from Funworld.

Royal Vegas Joker Card (slow deal) Royal Vegas Joker Card (slow deal) Royal Vegas Joker Card (slow deal) Royal Vegas Joker Card (slow deal)

Royal Vegas Joker Card (fast deal). Clone of above with 'fast deal', from Soft Design. I didn't play it enough to see the differences.

Royal Vegas Joker Card (fast deal) Royal Vegas Joker Card (fast deal) Royal Vegas Joker Card (fast deal) Royal Vegas Joker Card (fast deal) Royal Vegas Joker Card (fast deal) Royal Vegas Joker Card (fast deal)

And here the complete list of changes...

- Switched to XTAL def.
- Fixed Magic Card II graphics issues.
- Fixed Magic Card II inputs.
- Fixed screen and visible area to snooker10.
- Renamed set monglfir to mongolnw.
- Renamed sets description based on languages instead of countries.
- Added new game: Magic Card II (green TAB or Impera board). Not working yet.
- Added new game: Magic Card II (blue TAB board, encrypted). Not working yet.
- Added new game: Jolly Card (3x3 deal).
- Added new game: Jolly Card Professional 2.0 (with 'enter code' screen to boot).
- Added new game: Lucky Lady (3x3 deal).
- Added new game: Lucky Lady (4x1 aces).
- Added new game: Royal Vegas Joker Card (fast deal).
- Added new game: Royal Vegas Joker Card (slow deal).
- Fixed some years and manufacturers.
- Updated technical notes.
- Cleaned up the driver.



--- 2008/02/04 ---

Decrypting, comparing, and solving some mysteries...

Well... Really are old news due to my lack of spare time. I solved this puzzle a week ago. A collaborator sent me some encrypted Magic Card ROMs and after decrypt them, I was able to see what's wrong with the current dump. Here are some shots...

Magic Card (Impera)

Magic Card (Impera) Magic Card (Impera) Magic Card (Impera) Magic Card (Impera) Magic Card (Impera)

More SOON!



--- 2007/12/24 ---

Ho Ho Ho Ho!!!...

Well... One item of my 'todo list' is to reconstruct the gdrawpkr driver to support Cal Omega systems 903, 904, 905 and 906. I'm really very busy with my new job, but I started the big change. An external collaborator sent some dumps (some are messy, bitrotten, bad dumps) and an official list of games. This list is not complete, but I'm adding the missing entries. There are 114 games in the list ATM. Most games aren't working due to hardware differences and/or input/output problems. Here are some shots...

Poker (amusement) v7.6

Poker (amusement) v7.6 Poker (amusement) v7.6 Poker (amusement) v7.6

Keno (amusement) v9.4

Keno (amusement) v9.4

SSI Poker 2.4

SSI Poker 2.4 SSI Poker 2.4

SSI Poker 3.0

SSI Poker 3.0 SSI Poker 3.0

Pixels v14.5

Pixels v14.5

Double-Draw Poker v15.7

Double-Draw Poker v15.7

Wild Double-Up v15.9

Wild Double-Up v15.9

Super Blackjack v20.4

Super Blackjack v20.4

Hotline v24.6

Hotline v24.6

Jackpot Joker Poker

Jackpot Joker Poker Jackpot Joker Poker

Merry Christmas and Happy new year!



--- 2007/11/15 ---

Fixed Sigma 2000 Graphics...

Fixed Sigma Poker 2000 graphics (cards deck). Changed a lot things. The game has improved graphics and use 4 times more tiles than other games running on this hardware. To handle this, the game use 2 extra bits from the color RAM...

Sigma Poker 2000 with cards

The game is still not working.



--- 2007/11/13 ---

New additions & lamps hooked...

Well... This is Sigma Poker running in a modified American Poker II hardware. The game has improved graphics, new sounds, new bonus/jackpot and a totally new 'double-up' feature. Very addictive, in fact...

Sigma Poker Sigma Poker Sigma Poker Sigma Poker Sigma Poker Sigma Poker

And here some shots of Sigma Poker 2000 (not working yet)...

Sigma Poker 2000 Sigma Poker 2000 Sigma Poker 2000 Sigma Poker 2000

After hooking/wiring all output ports, I hooked the lamps to all sets...

American Poker II with lamps

And here the promised list of changes...

******** REWRITE ********

- Crystal documented via #define.
- CPU and sound clocks derived from #defined crystal value.
- Reworked TILE_GET_INFO to handle the proper tiles/color codes.
- Fixed interrupts (NMI).
- Corrected AY8910 frequency to 1.5 MHz to match the real thing.
- Arranged the AY8910 volume in all games to avoid clips.
- Corrected the screen visible area.
- Added NVRAM support.
- Reworked the memory map, mapping all the hardware I/O ports.
- Reworked the Inputs for all sets.
- Added implementation of Operator and Supervisor Keys.
- Fixed some timing troubles.
- Mapped the input buttons in the same way I mapped them in other poker games.
- Added partial DIP switch support with diplocations to all sets.

- Removed the hack in DRIVER_INIT.
- Hooked write handlers for output ports.
- Added watchdog routines.
- Dumped, hooked, wired and decoded the color PROM in all sets. Colors are perfect.
- Modified the refresh rate to 60 fps according to hardware measurements.
- Cleaned up and renamed all sets, defining parent-clone relationship.
- Wired the lamps for all sets. Created their respective layouts.
- Updated flags in game drivers.
- Splitted the driver to driver/video.
- Other minor fixes.

- New set dumped/added: American Poker 95.
- New set dumped/added: American Poker 2 (bootleg, set 1).
- New set dumped/added: Sigma Poker.
- New set dumped/added: Sigma Poker 2000.

- Rewritten the technical notes from the scratch (still in progress).
- Added a PCB layout to the technical notes (still in progress).

I need to finish some things and make a final cleanup before submit the driver.



--- 2007/11/07 ---

American Poker II...

Well... Some time ago I made an attempt to rewrite the driver, but I got stuck with several things. Now, thanks to an anonymous collaborator that own the board, I received a lot of technical information that encouraged me to rewrite the whole thing again...

American Poker II American Poker II American Poker II American Poker II American Poker II American Poker II

And a totally different set...

American Poker II (alt) American Poker II (alt) American Poker II (alt) American Poker II (alt)

All sets are working properly with full sound.

I'll post a list of changes soon...



--- 2007/11/04 ---

Rise from your grave!

A LEGEND is coming back to life...

boo!...

More soon...



--- 2007/09/30 ---

Snooker 10...

I made some improvements to Snooker 10. The game use different hardware than funworld games and should be moved to its own driver. Still not playable and need a lot of work.

Snooker 10 (title)... Snooker 10 (stats)...



--- 2007/08/11 ---

El Grande...

I was trying to get back to the life a provided unknown set. The game was in fact a new version of the poker game called "El Grande", from Tuni Electro Service (1982). Inputs are multiplexed and I'm working on them right now, so hopefully we can get this one working properly for the next release.

Colors and GFX are properly decoded as you can see in the flyer.

El Grande - 5 Card Draw (input test)... El Grande - 5 Card Draw (title)... El Grande - 5 Card Draw (ingame1)... El Grande - 5 Card Draw (ingame2)... El Grande - 5 Card Draw (ingame3)... El Grande - 5 Card Draw (ingame4)... El Grande - 5 Card Draw (ingame5)... El Grande - 5 Card Draw (ingame6)...



--- 2007/07/14 ---

A bit of Dynax...

Mahjong Almond Pinky (rom check)... Mahjong Almond Pinky (intro 01)...

Mahjong Almond Pinky (intro 02)... Mahjong Almond Pinky (intro 03)...

Mahjong Almond Pinky (intro 04)...

This is Mahjong Almond Pink from Dynax (1988). The game is running in a modified Royal Mahjong hardware and it has BIG explicit scenes (XXXXXXX rated!), so... the above snaps are the only ones that I can provide here ;).

What a shame!... The first time I got it booting, my wife and my little daughter were watching expecting mahjong tiles!... 8P

The game need more work and isn't working properly yet.





--- 2007/06/20 ---

Mini Boy 7...

MB7 preliminary...

Some program ROMs are bad. Also the color PROM is not dumped. This driver was made analyzing the program ROMs due to lack of information, pics, etc... The game isn't working.


- Confirmed the CPU as 6502.
- Confirmed the CRT controller as 6845.
- Corrected the total & visible area analyzing the 6845 registers.
- Crystal documented via #define.
- CPU clock derived from #defined crystal value.
- Decoded all gfx properly.
- Partially worked the GFX banks:
- 2 bank (1bpp) for text layers and minor graphics.
- 1 bank (3bpp) for cards, jokers, dices and big text graphics.



--- 2007/05/12 ---

Time for another rewrite...

(For all the gambling games lovers...)

When the intro is running...

MF tutorial 1...

Insert some coins.

MF tutorial 2...

Choose a balloon and raise it.

MF tutorial 3...

Then bet on the remaining balloons.

MF tutorial 4...

When finish, balloons will start to explode...

MF tutorial 5...

revealing numbers.

MF tutorial 6...

Finally the risen balloon will show a number.

MF tutorial 7...

If your balloons beat the risen one, you WON! :)

MF tutorial 8...

In fact is a very addictive game. Also got 7mezzo working :)
Colors are not totally accurate. Here some shots...

7mezzo working 1... 7mezzo working 2... 7mezzo working 3... 7mezzo working 4... 7mezzo working 5... 7mezzo working 6...

Here the list of changes...

- Figured out how the protection works.
- Removed the hacks/patchs that formerly allow boot the games.
- Figured out how the buffered inputs works.
- Demuxed all inputs for both games.
- Unified the memory maps from both games.
- Added NVRAM support to both games.
- Crystal documented via #define.
- CPU clock derived from #defined crystal value.
- Changed CPU clock to 833 kHz.
- Mapped DIP switches.
- Found the maximum bet DIP switch in magicfly.
- Removed flag GAME_NOT_WORKING for both games.
- Managed the planes to get the 3bpp GFX colors accurate.
- Renamed the ROMs acording to pcb pictures and ROM contents.
- Cleaned up and optimized the driver.
- Reworked/updated technical notes.



--- 2007/05/05 ---

Poker lamps and other improvements...

Reworked and demuxed all the inputs in pmpoker driver removing all the hacks used. Also added lamp support and layouts to each game, among other things...

Some shots...
(they look bad due to resize)

Golden Poker lamps 1... Golden Poker lamps 2...

Here the list of changes...

- Removed all inputs hacks.
- Connected both PIAs properly.
- Demuxed all inputs for each game.
- Documented all outputs.
- Added lamps support.
- Created different layout files to cover each game.
- Add NVRAM support to all games.
- Corrected the color PROM status for each set.
- Figured out most of the DIP switches.
- Added diplocations to goldnpkb.
- Replaced the remaining IPT_SERVICE with IPT_BUTTON for regular buttons.
- Updated technical notes.
- Cleaned up the driver. Now is better organized and documented.



--- 2007/04/25 ---

vp906iii fixes...

Mystery partially solved. I found a picture of the "CEI Video Poker" (system 904) that clearly show an error. The background is definitely blue. Note that you can see the words "Cal Omega 1981" burned at the bottom of the screen.

Side to side...

REAL Gaming Draw Poker... Gaming Draw Poker fixed...

Detail with levels correction...

REAL Gaming Draw Poker...



--- 2007/04/24 ---

vp906iii rewrite...

In fact, the game is "Gaming Draw Poker" from Casino Electronics Inc.

The hardware seems to be an evolution of Jack Potten's poker. Former than 906iii system (CEI). They replaced the discrete sound system with a AY8910 to improve sounds. Different memory map, multiplexed inputs, blah blah blah...

Cards GFX have the following unused logo (Omega Electronics?)...

Gaming Draw Poker unused logo...

Here some shots...

Gaming Draw Poker 01...

Gaming Draw Poker 02...

Gaming Draw Poker 03...

Gaming Draw Poker 04...

Gaming Draw Poker 05...

Gaming Draw Poker 06...

Gaming Draw Poker 07...

Gaming Draw Poker 08...

The game is working properly with sound. Lamps are a big mess and I'm still trying to fix them. Palette pass through a transformation, so the background could be blue or black, either. Need to check it against the real thing (if one day appear!!). A big thanks to Tomasz Slanina that pointed me in the right direction to demux the inputs.



--- 2007/02/26 ---

New addition...

Added 'Snooker 10' (1998, Sandiy). GFX have been decoded properly and the 'missing' color prom was found repeated 64 times inside a 27c256 ROM. The game isn't working due to protection, missing CPU/MCU (there is unknown code present) and lack of inputs.

Snooker 10 (ver 1.11) 01... Snooker 10 (ver 1.11) 02... Snooker 10 (ver 1.11) 03...

Here the tiles from the title.

Snooker 10 (ver 1.11) Title tiles...





--- 2007/02/02 ---

Some Improvements... (2nd part)

I fixed the palette issue for these poker games. The 'missing' color code was found in another offset. Also added a new Golden Poker Double Up set that came from an original Bonanza's Mini Boy cabinet (thanks to Harun Basalamah that kindly dumped his board, with help of Helmut Broichhausen).

Golden Poker Double Up (Mini Boy) 01... Golden Poker Double Up (Mini Boy) 02...

And added another revision of Pool 10 (thanks to f205v that kindly won the eBay bid for me and dumped the board)

Pool 10 (Italia, set2) 01...

Pool 10 (Italia, set2) 02...

If someone knows the real meaning of SG+ in the payout table (are in fact hundred units), please drop me a mail or post it here.



--- 2007/01/24 ---

Some Improvements...

Thanks to Guru, that kindly dumped the color PROM from his Potten's Poker board, I decoded and added proper colors to this game. Unfortunately there is just ONE color code that doesn't match the game colors. After tried different ways to decode it, I got the same results. This color code is composed only of blue, turning "invisible" the tile that has it assigned. The "missing" color code is critical to show the black cards corner. More to come...

Potten's Poker bug 01... Potten's Poker bug 02...

Anyway, I have a workaround to fix it, but I want to wait for another PROM dump to compare. (hopely soon...)



--- 2006/12/24 ---

Ho Ho Hoooo!...

The missing piece has been found. Pool 10, that apparently was the father of some other italian gambling games. Still need a bit of work and code analysis. More to come...

Pool 10 (Italia) running...

Pool 10 (Italia) 01...

Pool 10 (Italia) 02...

Pool 10 (Italia) 03...

Pool 10 (Italia) 04...

Pool 10 (Italia) 05...

Pool 10 (Italia) 06...

Pool 10 (Italia) 07...

Tortuga Family (Italia) running...

Tortuga Family (Italia) 01...

Tortuga Family (Italia) 02...

Tortuga Family (Italia) 03...

Tortuga Family (Italia) 04...

Tortuga Family (Italia) 05...

Tortuga Family (Italia) 06...

Tortuga Family (Italia) 07...

A big Thanks to MAME Italian Forum guys for all their efforts.

Merry Christmas and Happy New Year!!...



--- 2006/12/04 ---

Funworld Rewrite (part 2)...

I decrypted the italian Jolly Card encrypted GFX. Added some encrypted sets and made a lot of improvements...

Jolly Card (Italia, encrypted) running...

Jolly Card (Italia, encrypted) 01...

Jolly Card (Italia, encrypted) 02...

Jolly Card (Italia, encrypted) 03...

Jolly Card (Italia, encrypted) 04...

Jolly Card (Italia, encrypted) 05...

Big Deal colors (using jollycrd palette)...

Big Deal colors 01...

Big Deal colors 02...

Big Deal colors 03...

Big Deal colors 04...

Big Deal colors 05...

Cuore 1 & Elephant Family real colors (decoded color prom)...

Cuore 1 real colors 01...

Cuore 1 real colors 02...

Cuore 1 real colors 03...

Cuore 1 real colors 04...

Elephant Family (old) real colors 01...

Elephant Family (old) real colors 02...

Elephant Family (old) real colors 03...

Elephant Family (old) real colors 04...

Elephant Family super game...

Elephant Family 'super game'...

For all people that requested the changes, here is the change/log:


- Merged/splitted some machine drivers, memory maps and inputs.
- Unified get_bg_tile_info for all games.
- Mapped the input buttons in a better format (all games). Keys: 156-QW-ZXCVBNM.
- Added proper color PROM decode routines.
- Rewrote the technical notes.
- Splitted the driver to driver/vidhrdw.

- Corrected the screen size and visible area to magiccrd based on mc6845 registers.
- Added the remaining 2 GFX planes to magiccrd, but GFX are imperfect (bad decode or bad dump?). Color PROM need to be dumped.
- Royalcrd: Added all inputs and DIP switches.
Fixed memory map, gfx decode
Corrected screen size and visible area based on mc6845 registers.
Corrected CPU clock to 2mhz.

- New game added: Joker Poker. Not working due to use of custom encrypted CPU.
- New game added: Royal Card (Slovakia, encrypted). Not working due to use of a custom encrypted CPU.
- Fixed jolycdcr gfx to 4bpp.
- Other fixes to get jolycdcr running.
- Managed royalcdb to work, using the 2nd half of program ROM. (seems to be mapped that way)
- Managed jolycdit to work, but with imperfect graphics due to gfx encryption.
- Fixed CPU clock to 2MHz. in all remaining games.
- Fixed ay8910 frequency based on elephfam audio.
- Fixed ay8910 volume in all games to avoid clipping.
- Reworked jolycdcr inputs: The game was designed to work only with remote credits. After nvram init, set the payout dip to "manual".
- Reworked jolycdit inputs: After nvram init, set the payout dip to "manual" to allow work the remote mode.
- Set jolycdat as bigdeal clone. The game has the same layout/behaviour instead of the normal jolly card games, even when are sharing gfx roms.
- Added the bipolar PROM and GAL to jolycdit. Confirmed the GFX ROMs as good dumps.
- Added an alternate set of Elephant Family. This one lacks of test mode and doesn't allow to switch between min-max bets through stop1.
- Added color PROMs to cuoreuno and elephfam sets but still no routed. Also added PLDs (protected, bad dumps).
- Corrected jollycrd screen size and visible area based on mc6845 registers.
- Hooked, wired and decoded the color prom in jollycrd sets based on jolycdit redump. Now colors are perfect.
- Wired and decoded the color prom in cuoreuno and elephfam sets. Now colors are perfect.
- Wired and decoded the color prom in royalcrd. Now colors are perfect.
- Hooked, wired and decoded the color prom in bigdeal sets based on jolycdat (jollycrd palette).
Colors seems to be correct, but need to check against the real thing. Flagged as IMPERFECT_COLORS till a color PROM dump appear.
- Decrypted jolycdit gfx roms.
- Added set Jolly Card (Austria, encrypted).
- Decrypted jolycdae and managed the planes to show correct colors. The set is working properly.

All changes have been submitted today.
A big Thanks to MAME Italian Forum guys for all their efforts.



--- 2006/11/25 ---

Funworld Rewrite...

Since last update, I decided to rewrite the entire funworld driver because the thing was becoming a whole mess. Additionally, a lot of improvements were made. I'll post a partial list of changes later. For now, here are some shots...

Jolly Card...

Jolly Card colors 01...

Jolly Card colors 02...

Jolly Card colors 03...

Jolly Card colors 04...

Jolly Card colors 05...

Jolly Card colors 06...

Jolly Card colors 07...

Royal Card...

Royal Card colors 01...

Royal Card colors 02...

Royal Card colors 03...

Royal Card colors 04...

Royal Card colors 05...

Royal Card colors 06...

Royal Card colors 07...

Royal Card colors 08...

Both games are working properly with full sound and perfect colors.

Cuore 1 and Elephant Family have some odd things, but I'm planning to write a program that can run in the real hardware to output some answers... (thanks to f205v/kold/stekka that will send the boards).



--- 2006/10/28 ---

Elephant Family colors...

In fact, graphics are 4bpp. Cuore 1 palette was rewritten. I also recreated the Elephant Family colors based on a new set of screenshots, thanks to kold666 and stekka that kindly sent me all snaps requested. Colors are now very close to the original games. Here a side-by-side comparison.

Cuore 1 Joker...

cuoreuno real joker... cuoreuno emulated joker...

Elephant Family...

elephfam real 01... elephfam emulated 01...

elephfam real 02... elephfam emulated 02...

elephfam emulated 03... elephfam emulated 04...

elephfam real 03... elephfam emulated 05...

elephfam real 04... elephfam emulated 06...

elephfam emulated 07...


"I still need some pictures of funworld games running (jolly card, bonus card, magic card, big deal, elephant family, royal card). If you can contribute providing some of them, please contact me here or through the mameworld.net forums".



--- 2006/10/22 ---

Cuore 1 colors...

I recreated the Cuore 1 colors thanks to some screenshots that mame italia guys kindly sent some time ago. It seems to be a 5th color in the Joker, that means GFX are at least 3bpp instead of two. I need to verify more closely. For now is close to the original game. Here a side-by-side comparison.

cuoreuno real 01... cuoreuno emulated 01...

cuoreuno real 02... cuoreuno emulated 02...

cuoreuno real 03... cuoreuno emulated 03...

cuoreuno real 04... cuoreuno emulated 04...

And some others...

cuoreuno emulated 05... cuoreuno emulated 06...

The test mode is now working properly...

cuoreuno test mode...

I still need some pictures of funworld games running (jolly card, bonus card, magic card, big deal, elephant family, royal card). If you can contribute providing some of them, please contact me here or through the mameworld.net forums.



--- 2006/10/18 ---

Cuore 1 and Elephant Family...

I have Cuore 1 and Elephant Family working. All inputs were hooked and managed to pass the initial check. Now both sets are completely playable. The "Payout" button isn't working due to hopper and ticket stats are always 0 (empty). Colors are still wrong due to lack of color PROMs.

cuoreuno working 01... cuoreuno working 02... cuoreuno working 03... cuoreuno working 04... cuoreuno working 04...

And some Elephant Family shots...

elephfam working 01... elephfam working 02... elephfam working 03... elephfam working 04... elephfam working 05...

If you can contribute providing some pictures of these games running, please contact me here or through the mameworld.net forums.



--- 2006/10/07 ---

!!!...

!!!...


**** UPDATED ****

As you can see here, ROCK DUCK is not a legend anymore! ;-)

Rock Duck working 01... Rock Duck working 02... Rock Duck working 03...

Colors are wrong due to missing color PROMs.



--- 2006/09/14 ---

Poker Games (2nd part)...

After hard work, I hooked all the inputs. These are different for both games. PlayMan Poker have buttons with more than one function, while Golden Up Double Up have all functions separately. Also fixed the 'Half Gambling' option. Now both sets are completely playable.

Golden Poker (half gamble 01)... Golden Poker (half gamble 02)... Golden Poker (half gamble 03)... Golden Poker (half gamble 04)...

And some PlayMan Poker shots...

PlayMan Poker (attract 01)... PlayMan Poker (ingame 01)... PlayMan Poker (ingame 02)... PlayMan Poker (ingame 03)... PlayMan Poker (ingame 04)... PlayMan Poker (ingame 05)...

**** UPDATED ****

I accidentally inverted two colors when translating the palette to a better organized format. Here the changes for a side-to-side comparison.

Golden Poker (original snap)... Golden Poker (fixed 01)...




--- 2006/09/11 ---

Poker Games...

Some days ago, I submitted a preliminary driver for PlayMan Poker mostly based in the program roms analysis, since the dump was quite incomplete and lacks of technical references. Haze added a set called Big Boy to this driver, which apparently has missing the 3rd plane of 2nd graphics bank.

Fortunatelly the 'undumped' roms appeared. Also a nice pic of the PCB... (thanks Haze!)

The Big Boy set, is in fact 'Golden Poker Double Up' from Bonanza Enterprises, and suspected to work on this hardware.

Since there's not a dumped color PROM for these games, I simulated the colors recreating the palette from the scratch following the color RAM codes.

Golden Poker (attract 01)... Golden Poker (attract 02)... Golden Poker (ingame 01)... Golden Poker (ingame 02)... Golden Poker (ingame 03)... Golden Poker (ingame 04)... Golden Poker (settings 01)... Golden Poker (meters 01)... Golden Poker (meters 02)...

Colors are now accurate and were based on some shots and flyers, thanks to Dan (TAFA) that kindly sent me hi-res scans of this game flyers.

Also found more than half of the inputs (no hold buttons yet), making this game partially playable.



--- 2006/08/06 ---

Fixed Graphics...

I found the bit that control the gfx banks. Based on this, I hooked the first graphics layer...

Magic Fly (gfx:1st shot)...


Not so bad?... Yes. Absolutely wrong.
After looked carefully to the rest of layers, I noticed that they are different bitplanes of 3bpp tiles instead of some kind of animation that I originally thought. Here some shots after correct graphics decode / layers...

Magic Fly (fixed gfx 01)... Magic Fly (fixed gfx 02)... 7 e Mezzo (fixed gfx 01)...

Ok... Colors are still wrong, but now the graphics are properly banked / decoded.

New changes:

- Figured out how the gfx banks works.
- Fixed the gfx layers.
- Fixed the gfx decode.
- Removed flag GAME_IMPERFECT_GRAPHICS.


A less thing to do... :)



--- 2006/07/27 ---

Attract working...

Ok, fixed the NMI / vblank stuff. Now the magicfly attract/intro works... :)

Magic Fly (attract:1st shot)...


Also confirmed the MC6845 mapped to $0800 - $0801. A piece of code initialize it writing to its registers. Analyzing the writes, I fixed the screen size and visible area. Now the aspect when render to 4:3 looks better.

Magic Fly (test aspect 4:3)... 7 e Mezzo (test aspect 4:3)...

- Input port at $2800: Code accept only bits 4, 6 & 7 as valid. If another bit is activated, will produce an I/O error.
- Lowered the CPU clock a bit. The text scroll in magicfly attract looks so fast with the former value.

Resuming, the new changes are:

- Figured out the MC6845 (mapped at $0800-$0801)
- Fixed the screen size based on MC6845 registers.
- Fixed the visible area based on MC6845 registers.
- Corrected the gfx rom region.
- Solved the NMI/vblank issue. Now attract works.
- Changed CPU clock to 625khz. (text scroll looks so fast with the former value)
- Added new findings to the technical notes.
- Added version/revision number to magicfly.
- Marked magicfly PAL as NO_DUMP (read protected).
- Added flags GAME_IMPERFECT_GRAPHICS and GAME_WRONG_COLORS.

A lot of things remaining. gfx banks, colors, inputs, sound, the mysterious $3000 writes. How close and how far...
Anyway... we're on. :)



--- 2006/07/25 ---

More shots...

I was right when I thought that $0019 was a kind of counter. A NMI should be triggered to increment this register and allow continue the execution. For now, the game code is looping due to lack of this NMI. I'll check the NMI / vblank stuff later and will try to fix it.

Magic Fly (balloons2)...


Also tried something similar for 7mezzo. The program code at beginning is slightly different, and use different registers too.

I was not sure about the game itself since the real "Sette e Mezzo" is a kind of blackjack game where you need to reach 7 and half (instead of 21) to beat the dealer, and the italian manual for this PCB show DIP switch options to allow/disallow a Royal Flush (poker). Also the manual show another DIP switch to change between french and english (not italian) language and the text inside the program rom is clearly english.

Anyway... The game is IN FACT "Sette e Mezzo" (7 and half) or whatever the english name is.

7 e Mezzo (first shot)... 7 e Mezzo (test shot 00)... 7 e Mezzo (test shot 01)...

Both games aren't working and need more efforts.

I will put all the technical stuff (disassembled code, analysis, reverse engineering, etc) online as soon as I find enough spare time.



--- 2006/07/21 ---

See, mom... Balloons!

Magic Fly (balloons)...


Program compare the content of $0067 with #$02, #$03, #$04, #$05 and #$E1. If #$E1 is found here, the machine hangs showing "I/O ERROR". I manually used #$02 and I'll put #$32 to $0019 to allow continue the execution. (see the following code)


CA71: A9 00 lda #$00 ; Write #$00 at $0019.
CA73: 8D 19 00 sta $0019
CA76: AD 19 00 lda $0019 ; Waiting for #$0a at $0019... (a port?)
CA79: C9 0A cmp #$0A
CA7B: D0 F9 bne $CA76
CA7D: 60 rts
CA7E: A9 00 lda #$00 ; Here the same, but waiting for #$04.
CA80: 8D 19 00 sta $0019
CA83: AD 19 00 lda $0019
CA86: C9 04 cmp #$04
CA88: D0 F9 bne $CA83
CA8A: 60 rts
CA8B: A9 00 lda #$00 ; Here the same, but waiting for #$32.
CA8D: 8D 19 00 sta $0019 ; With the hack used, the game stuck here
CA90: AD 19 00 lda $0019 ; waiting for #$32 to be written at $0019.
CA93: C9 32 cmp #$32
CA95: D0 F9 bne $CA90
CA97: 60 rts


I suspect that $0019 is not a port. It looks as a kind of counter.

More to come...



--- 2006/07/19 ---

A bit more...

I followed the code and changed some things to allow work some registers that previously were out of the execution due to the former hack.

The 'garbage' are characters properly placed, but from different graphics bank. I need to investigate how the graphics banks are working.

Magic Fly (first gfx)...


The code expect a value from the color RAM. If this one isn't correct, clean the screen and jump to a loop.


DA0C: A9 15 lda #$15 ; Fill the video RAM with spaces (#$20),
DA0E: 8D 5F 00 sta $005F ; and color RAM with #$15
DA11: A9 20 lda #$20
DA13: 8D 5E 00 sta $005E
DA16: 20 83 CF jsr $CF83
DA19: AD 00 18 lda $1800 ; Check the 1st position at color RAM
DA1C: 29 80 and #$80 ; boolean AND with #$80
DA1E: D0 10 bne $DA30 ; if not equal, jump to $DA30.

DA20: A9 1F lda #$1F ; Fill the color RAM with #$1F
DA22: 8D 5F 00 sta $005F
DA25: 20 83 CF jsr $CF83
DA28: AD 00 18 lda $1800 ; Check the 1st position at color RAM
DA2B: 29 80 and #$80 ; boolean AND with #$80
DA2D: F0 01 beq $DA30 ; if equal, jump to $DA30.
DA2F: 60 rts

DA30: A9 00 lda #$00 ; Fill video & color RAM
DA32: 8D 1D 00 sta $001D ; with calculated values
DA35: A9 FF lda #$FF ; through $C111 subroutine
DA37: 20 11 C1 jsr $C111
DA3A: 8D 5E 00 sta $005E
DA3D: A9 20 lda #$20
DA3F: 20 11 C1 jsr $C111
DA42: 8D 5F 00 sta $005F
DA45: 20 83 CF jsr $CF83
DA48: 20 77 DB jsr $DB77
DA4B: 4C 30 DA jmp $DA30 ; Jump to a loop


SLOW... but improving. ;)



--- 2006/07/11 ---

Improving a bit...

I made some improvements to the Magic Fly driver.

Corrected the total number of chars to decode by rom. This allowed me to fix the graphics offset for the text layer and adjust the gfx rom region bounds properly. Just for testing purposes I tried a little hack to bypass some checks, and finally the game showed me something...

Magic Fly (I/O Error)...


According to the following part of code:

CE44: A9 1F lda #$1F ; clean the screen
CE46: 8D 5F 00 sta $005F ; filling with #$1f
CE49: A9 20 lda #$20 ; the color ram,
CE4B: 8D 5E 00 sta $005E ; and filling with spaces
CE4E: 20 83 CF jsr $CF83 ; the video ram
CE51: A9 01 lda #$01
CE53: 8D 10 00 sta $0010
CE56: A9 0A lda #$0A
CE58: 8D 11 00 sta $0011
CE5B: A9 1B lda #$1B
CE5D: 8D 12 00 sta $0012
CE60: A9 D1 lda #$D1 ; point to $D194 in $0013/$0014
CE62: 8D 14 00 sta $0014 ; text: "I/O ERROR (TURN OFF TO RESET)"
CE65: A9 94 lda #$94
CE67: 8D 13 00 sta $0013
CE6A: 20 03 C0 jsr $C003 ; subroutine to write text in video ram
CE6D: 4C 6D CE jmp $CE6D ; stuck here!!!




--- 2006/07/08 ---

"Magic Fly" and "7 e Mezzo"...

After finish to work with Pairs Love DIP switches (0.106u10), I decided to take a look to an old preliminary driver I started some time ago. This one is for "Magic Fly" and "7 e Mezzo", running in the same 6502 based hardware. Both games aren't working yet, but at least they initialize video and color ram.

There are lot of things to do and fix, but today I submitted the driver "as is" to put the stuff "in a safe place".



--- 2006/05/27 ---

Jalmah.c part 2...

More fixes/improvements to jalmah.c DIP switches:

Kakumei:

- Added flip screen DIP switch.


Daireika, urashima & mjzoomin:

- Added flip screen DIP switch.
- Fixed test/service DIP switch.
- Fixed complete coinage. (This is related to coin1. Coin2 is always 1c/1c).



--- 2006/05/24 ---

More Input fixes...

- Fixed the demo sound DIP switch in horekid and horekidb.

- Fixed suchipi0106u1gra from mametesters.

This fix also improve the kakumei2 DIP switches.
I separated the DIP switches from kakumei, since they are different.

I'm making more improvements for this driver but need a LOT of tests, so I'll submit the rest when I finish them.



--- 2006/04/21 ---

Never is late to learn...

Aaron requested me to change the way to program the unused DIP switches, so I resubmited the correct stuff. Here the final changes:


hbarrel, hbarrelw :

- Removed the default dec0 coinage (wrong) and rewrote the complete coinage.
- Fixed "Difficulty" DIP switches.

baddudes, drgninja:

- Fixed "Difficulty" DIP switches.
- Changed "Unused" (DSW0, 0x80) to "Unknown" (according to some technical sources should be "Cabinet")

birdtry:

- New DIP switches from the scratch (separated from hbarrel)
- Added "Coinage" DIP switch.
- Added "Service" DIP switch.
- Added "Demo Sounds" DIP switch.
- Added "Flip Screen" DIP switch.

robocop and clones:

- Fixed "Difficulty" DIP switches.

hippodrm and clones:

- Fixed "Difficulty" DIP switches.
- Changed "Enemy Power on Continue" options from "ON / OFF" to "3 Dots / 2 Dots" (dots left in the enemy power on continue)

slyspy and clones:

- Fixed "Energy" DIP switches.
- Fixed "Difficulty" DIP switches.

midres and clones:

- Fixed "Difficulty" DIP switches.
- Put a note in both "Unknown" switches (DSW1 0x10 & 0x20) because some technical sources pointed them related to extra lives.

bouldash, bouldshj:

- Removed the default dec0 coinage (wrong), figured out the real one and rewrote the complete coinage from the scratch.
- Fixed "Difficulty" DIP switches.
- Removed "Unused" (DSW0 0x10) and the former "Demo Sounds" DIP switch (DSW0 0x20). Both are in fact part of the new coinage.
- Changed "Game" DIP switch title to "Game Change Mode" (according to technical sources).
- Added "Demo Sounds" DIP switch (DSW1 0x80).



--- 2006/04/20 ---

More Fixes...

A lot of modifications to dec0.c DIP switches....


hbarrel, hbarrelw :

- Removed the default dec0 coinage (wrong) and rewrote the complete coinage.
- Fixed "Difficulty" DIP switches.
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.

baddudes, drgninja:

- Fixed "Difficulty" DIP switches.
- Changed "Unused" (DSW0, 0x80) to "Unknown" (according to some technical sources should be "Cabinet")
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.

birdtry:

- New DIP switches from the scratch (separated from hbarrel)
- Added "Coinage" DIP switch.
- Added "Service" DIP switch.
- Added "Demo Sounds" DIP switch.
- Added "Flip Screen" DIP switch.

robocop and clones:

- Fixed "Difficulty" DIP switches.
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.

hippodrm and clones:

- Fixed "Difficulty" DIP switches.
- Changed "Enemy Power on Continue" options from "ON / OFF" to "3 Dots / 2 Dots" (dots left in the enemy power on continue)
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.

slyspy and clones:

- Fixed "Energy" DIP switches.
- Fixed "Difficulty" DIP switches.
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.

midres and clones:

- Fixed "Difficulty" DIP switches.
- Put a note in both "Unknown" switches (DSW1 0x10 & 0x20) because some technical sources pointed them related to extra lives.
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.

bouldash, bouldshj:

- Removed the default dec0 coinage (wrong), figured out the real one and rewrote the complete coinage from the scratch.
- Fixed "Difficulty" DIP switches.
- Removed "Unused" (DSW0 0x10) and the former "Demo Sounds" DIP switch (DSW0 0x20). Both are in fact part of the new coinage.
- Changed "Game" DIP switch title to "Game Change Mode" (according to technical sources).
- Added "Demo Sounds" DIP switch (DSW1 0x80).
- Turned to PORT_BIT the confirmed "Unused" DIP switches with handling prohibition.



--- 2005/12/15 ---

Still ALIVE...

I was very busy due to a familiar problem.
A member of my family is seriously sick, and sadly now is walking between life and death.


Anyway... I made some things:

- Corrected videoram & colorram offset in Cuore Uno and Elephant Family.
- Corrected CPU freq. in both sets to 2 MHz, since the main CPU is a R65C02P2.

cuore uno

BTW, To initialize the NVRAM in cuoreuno and elephfam:
Start game, press and hold Service1 & Service2, press reset (F3),
release Service1 & Service2 and press reset (F3) again.



--- 2005/09/19 ---

More MAME stuff...

Added the folowing sets from Mame Italia:

- "01 gambling" (a Jolly Card set with Italian language).
- "02 gambling" (another Royal Card set, but with 32k roms).

I'm making some changes to establish the relationship between these sets.

BTW, the Mame Italia Forum is making an excellent job dumping all these "obscure" gambling games, among others... :))



--- 2005/09/17 ---

More MAME stuff...

- Added Moon Light.

Moon Light

Some GFX were located in different offset, but now are fixed. The game is working properly.

Ahhh.. And more dip/input stuff... (Zawsze ta sama rzecz) ;)



--- 2005/09/12 ---

More MAME stuff...

- Fixed goldnabl097red

- Added the color proms to Truco Clemente, but colors are still wrong due to a GAL is connected to the bipolar proms inputs.

Truco Clemente (wrong colors)... Truco Clemente (wrong colors)... Truco Clemente (wrong colors)...



--- 2005/09/08 ---

NOTE ABOUT VIDEOPOKER SETS: Sorry, was my fault. But I recognized the error and corrected the driver to use the original dumps. Changed the rom load for Elephant Family, and added a new set: Royal Card. As I said, this one in a part of the code branch to 00 (brk). I need to analize better.
Also added some technical info for royalcrd and the fuse map for the PAL.

Was not my intention to hurt anybody.
I just want to contribute to preserve the games.


More technical stuff

- Added all technical details to "Truco Clemente" section.


Even more MAME stuff...

- Cuore Uno (Italia).
- Elephant Family (Italia)

Cuore Uno tiles... Cuore Uno tiles... Elephant Family tiles... Elephant Family tiles...


I gave a try to these videopoker sets. Both are running in similar hardware (65c02).
1st and 2nd half from all Elephant Family roms (64k each) were identical, so... I clipped them to half of original size (32k).

They still don't boot due to comunication problems.
The following piece of code is from both sets:

c1c0: lda $0a00 // load contents of $0a00 (PIA is mapped here)
c1c3: cmp #$55 // compare with value 0x55
c1c5: beq $c1c9 // if true goto $c1c9
c1c7: bra $c1c7 // else.. branch always to $c1c7 (stuck here)
c1c9: nop

Also Royal Card have similar hardware, but the dump is a mess... 2 grafics roms have 1st and 2nd half identical, and the 1st half of program rom differs from 2nd half in 1.571655% (98.428345% identical). Need to check with the dumper if it's correct.
Anyway, in some part of Royal Card code there is an illegal jump to 00 (BRK). Need better analysis.

------------------------------------------------------------------------------------

- Arkanoid (Beta Corporation)

This one is working with the mcu. Not much time to test it. Copyright was ripped and replaced with the word "wait" (same as the japanese bootleg 2). Also some dips were changed.

Arkanoid (Beta Corporation)



--- 2005/09/04 ---

More MAME stuff...

- Reworked the Space Position (Japan) dips to get validity_check happy.
- Fixed all remaining dips.
- Changed port $42 def since isn't a dipswitch (seems to be unused). This game only has 2 dips ($40,$41).

You must reset the game each time you change the dips to have effect.



--- 2005/09/01 ---

More MAME stuff...

Fixed MAMETesters countryc087u4gra.
Reversed the X-axis of Country Club, tested in game and test mode. Now is working properly.

Rewritten the complete dipswitchs of Space Position (Japan), but validity checks complains about it...
Maybe an issue with the fake inputs. Need to check with Haze (after sleep =P).



--- 2005/08/30 ---

Some MAME stuff...

I'm a bit busy, but trying to clean-up a bit the funworld driver.



--- 2005/08/26 ---

Some MAME stuff...

I added another set of Novomatic's American Poker II. Still not working due to preliminary driver state.

tileset machine init

Some improvements to Jolly Card: Added extra hardware info to the driver (pinouts and dips), useful to trace the remote stuff. Added the correct dipswitch to Jolly Card. Hopper and Points/pulse not tested due to preliminary driver state. The rest are working properly (Jolly Card (Austria)). Added almost the same dipswitch to Magic Card II (Bulgaria), except for the Dattl or TAB insert switch, that remains unknown. (Impera is the only one found in the tileset).

Fixed some subtle bugs: mgakuen094u1gra and tdfeverj087u4gra.



--- 2005/08/23 ---

Ms.Pacman Twin

Added a section with some extra info, pics, and attract movies.



--- 2005/08/20 ---

NEW PAGE!

Today, I started a new page. You'll find here some stuff related to rare hardware, some investigations and reverse engineering.