Robbie's To-Do List: Difference between revisions
No edit summary |
No edit summary |
||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
* <s>Rewrite the vp906iii driver.</s> | * <s>Rewrite the vp906iii driver.</s> | ||
* <s>Emulate protection in Magic Fly | * <s>Emulate protection in [http://www.mameworld.net/maws/romset/magicfly Magic Fly].</s> | ||
* <s>Emulate protection in 7 e Mezzo | * <s>Emulate protection in [http://www.mameworld.net/maws/romset/7mezzo 7 e Mezzo].</s> | ||
* Hook the inputs properly in pmpoker.c games. | * <s>Hook the inputs properly in pmpoker.c games.</s> | ||
* <s>Demux and rework inputs in [http://www.mameworld.net/maws/romset/magicfly Magic Fly] and [http://www.mameworld.net/maws/romset/7mezzo 7 e Mezzo].</s> | |||
* <s>Rewrite the ampoker2 driver.</s> | |||
* <s>Fix graphics and other issues of Magic Card.</s> | |||
* <s>Emulate the Royal Vegas Joker Card series.</s> | |||
* <s>Add support to 3-deal version of Jolly Card.</s> | |||
* <s>Write a new driver for SANDII' games.</s> | |||
* <s>Write a new driver for GAME-A-TRON gambling games.</s> | |||
* <s>Find the algorithm to proper decrypt TAB blue PCBs.</s> | |||
* <s>Switch the Sandii' games color system to RESNET calculations.</s> | |||
* <s>Demultiplex the lamps matrix and add lamps support for all Sandii' games.</s> | |||
* <s>Write a new driver for Lucky 74 (Wing) hardware.</s> | |||
* <s>Re-rewrite the gdrawpkr (ex vp906iii) driver.</s> | |||
* <s>Add discrete sound to Golden Poker / Potten's Poker games.</s> | |||
* <s>Rewrite the pmpoker driver.</s> | |||
* <s>Try to discover the sound system of Magic Fly and 7 e Mezzo.</s> | |||
* <s>Write a new driver for Joker's Wild (Sigma) hardware.</s> | |||
* Rewrite the ltcasino driver. | * Rewrite the ltcasino driver. | ||
Line 10: | Line 26: | ||
'''<s>Rewrite the vp906iii driver:</s>''' | '''<s>Rewrite the vp906iii driver:</s>''' | ||
* | * Done. | ||
** Rearranged GFX in two different banks. | ** Rearranged GFX in two different banks. | ||
** Decoded GFX properly. | ** Decoded GFX properly. | ||
Line 17: | Line 33: | ||
** Hooked the SY6545 (6845) CRT controller. | ** Hooked the SY6545 (6845) CRT controller. | ||
** Fixed size for screen total and visible area based on SY6545 CRTC registers. | ** Fixed size for screen total and visible area based on SY6545 CRTC registers. | ||
** Added | ** Added all inputs through PIAs. | ||
** Added proper sound through AY8910 (mapped at $0840-$0841). | ** Added proper sound through AY8910 (mapped at $0840-$0841). | ||
** Fixed AY8910 volume. | ** Fixed AY8910 volume to avoid clips. | ||
** Proper colors through color PROM decode. | ** Proper colors through color PROM decode. | ||
** Demuxed inputs (thanks to Dox that pointed me in the right direction | ** Demuxed inputs (thanks to Dox that pointed me in the right direction) | ||
** Added some game-protection workaround. | ** Added some game-protection workaround. | ||
** Added NVRAM support. | |||
** Renamed driver, set and description to match the real game. | |||
** Added technical notes. | ** Added technical notes. | ||
'''<s>Emulate protection in Magic Fly | '''<s>Emulate protection in [http://www.mameworld.net/maws/romset/magicfly Magic Fly]:</s>''' | ||
* Added proper emulation to the game protection that allow boot the game without patchs/hacks. | * Done. | ||
** Added proper emulation to the game protection that allow boot the game without patchs/hacks. | |||
'''<s>Emulate protection in 7 e Mezzo | '''<s>Emulate protection in [http://www.mameworld.net/maws/romset/7mezzo 7 e Mezzo]:</s>''' | ||
* Added proper emulation to the game protection that allow boot the game without patchs/hacks. | * Done. | ||
** Added proper emulation to the game protection that allow boot the game without patchs/hacks. | |||
'''Hook the inputs properly in pmpoker.c games:''' | '''<s>Hook the inputs properly in pmpoker.c games:</s>''' | ||
* Done. | |||
** 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. | |||
'''<s>Demux and rework inputs in [http://www.mameworld.net/maws/romset/magicfly Magic Fly] and [http://www.mameworld.net/maws/romset/7mezzo 7 e Mezzo]</s>''' | |||
* Done. | |||
** 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. | |||
'''<s>Rewrite the ampoker2 driver:</s>''' | |||
* Done. | |||
** 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. | |||
** Fixed graphics/tiles in Sigma Poker 2000. | |||
** Rewritten the technical notes from the scratch (still in progress). | |||
** Added a PCB layout to the technical notes. | |||
'''<s>Fix graphics and other issues of Magic Card:</s>''' | |||
* Done. | |||
'''<s>Emulate the Royal Vegas Joker Card series:</s>''' | |||
* They come in two flavors: Fast and Slow draw. Both emulated. | |||
'''<s>Add support to 3-deal version of Jolly Card:</s>''' | |||
* Done. | |||
'''<s>Write a new driver for SANDII' games:</s>''' | |||
* Done. All games are working properly with sound. | |||
'''<s>Write a new driver for GAME-A-TRON gambling games:</s>''' | |||
* Done. Both games are working properly, but without sound due to unidentified sound device. | |||
EDITED (2008/09) - Added PSG sound and lamps support. | |||
'''<s>Find the algorithm to proper decrypt TAB blue PCBs:</s>''' | |||
* Done. Decryption tables were replaced with the proper algorithm. | |||
'''<s>Switch the Sandii' games color system to RESNET calculations:</s>''' | |||
* Done. | |||
'''<s>Demultiplex the lamps matrix and add lamps support for all Sandii' games:</s>''' | |||
* Done. | |||
'''<s>Write a new driver for Lucky 74 (Wing) hardware:</s>''' | |||
* Done. | |||
** Set the proper screen size. | |||
** Decoded graphics. | |||
** Decoded the dual-state color circuitry. | |||
** Mapped the NVRAM, VRAM1-1, VRAM1-2, VRAM2-1 and VRAM2-2 properly. | |||
** Emulated 2x PPI 8255 devices. | |||
** Mapped the 4x DIP switches banks. | |||
** Added PORT_DIPLOCATION to all DIP switches. | |||
** Added DIP switches for 'Bet Max' and 'Limit'. | |||
** Added DIP switches for 'Jackpot' and 'Pay Table'. | |||
** Added the Memory Reset Switch. | |||
** Added the 2nd video & color RAM. | |||
** Added a 2nd tilemap for background graphics. | |||
** Simplified the graphics banks. | |||
** Fixed colors for foreground graphics. | |||
** Fixed visible area to show the top of background graphics. | |||
** Finally fixed colors for background graphics. | |||
** Added all coinage DIP switches. | |||
** Mapped all remaining inputs (service and player buttons). | |||
** Added pulse time limitation to coins A, B & C. | |||
** Switched to use 4x 8255 in replace of 2x 82c255 for I/O. | |||
** Created a handler to feed the z80 port0 requests. | |||
** Promoted lucky74s to 'working' state. | |||
** Added an alternate set, but the program ROM looks like incomplete, protected or just a bad dump. | |||
** Parent/clone relationship. | |||
** Added technical notes. | |||
** Pre-defined CPU and SND clocks. | |||
** Switched the color system to RESNET. | |||
'''<s>Re-rewrite the gdrawpkr (ex vp906iii) driver:</s>''' | |||
A new rewrite is needed to add support for systems 903, 904, 905 & 906. These systems hold dozens of unknown/undumped games. Also the driver need a lot of changes. | |||
* Done. | |||
** Renamed the driver to calomega.c. | |||
** Extended the driver to support all the other Cal Omega systems. | |||
** Switched to XTAL def. | |||
** Fixed CPU & sound clocks based on official diagrams. | |||
** Replaced the AY-8910 with AY-8912 to match the real hardware. | |||
** Unified some memory maps. | |||
** Splitted machine in sys903 and sys905. | |||
** Fixed memory map offsets for sys905. | |||
** Added support to almost 40 new games + 2 diagnostics sets. | |||
** Added a list of official/unofficial games, and their states. | |||
** Fixed a bug introduced when extended the color PROM region to eliminate colortable lenght. | |||
** Other changes/fixes. | |||
** Cleaned up the driver following the MAME Coding Conventions. | |||
** Improved the input system for some games. | |||
** Fixed some wrong color codes. | |||
** Lots of improvements on the input system. | |||
** Adjusted the CPU adressing to 14 bits for systems 903/904. | |||
** Adjusted the CPU adressing to 15 bits for system 905. | |||
** Rewrote all the ROM loads based on these changes. | |||
** Defined CPU, UART and sound clocks. | |||
** Splitted the sound interface to cover different systems. | |||
** Splitted the PIAs interfaces to cover different systems. | |||
** Added sound to system 905 games. | |||
** Added MACHINE_START and MACHINE_RESET to initialize the devices properly. | |||
** Documented the systems 903/904 UART connections. | |||
** Traced and added PIAs connection diagrams for systems 903/904/905. | |||
** Hooked the missing DIP Switches bank to the AY8912 for system 903. | |||
** Added preliminary serial/UART support to systems 903/904. | |||
** Hooked the missing DIP Switches bank to the ACIA 6850 for systems 903/904. It allow to choose the proper transfer rate for UART. | |||
** Fixed graphics ROM loads for different Hotline versions. | |||
** Unified MACHINE_RESET for systems 903/904/905. | |||
** Created a new handler to manage the first 4 bits of system 905's PIA1 portB as input mux selector. (905 is still not working) | |||
** Renamed all roms of each set according to the systems schematics and official list. | |||
** Cleaned-up the sets. | |||
** Cleaned-up the driver. | |||
** Updated technical notes. | |||
'''<s>Add discrete sound to Golden Poker / Potten's Poker games:</s>''' | |||
* Done. | |||
'''Rewrite the pmpoker driver:''' | |||
Currently working on this... | |||
'''<s>Try to discover the sound system of Magic Fly and 7 e Mezzo:</s>''' | |||
* Done. | |||
'''<s>Write a new driver for Joker's Wild (Sigma) hardware:</s>''' | |||
* Done. | |||
A preliminary driver was submitted. | |||
Latest revision as of 17:15, 26 October 2008
Rewrite the vp906iii driver.Emulate protection in Magic Fly.Emulate protection in 7 e Mezzo.Hook the inputs properly in pmpoker.c games.Demux and rework inputs in Magic Fly and 7 e Mezzo.Rewrite the ampoker2 driver.Fix graphics and other issues of Magic Card.Emulate the Royal Vegas Joker Card series.Add support to 3-deal version of Jolly Card.Write a new driver for SANDII' games.Write a new driver for GAME-A-TRON gambling games.Find the algorithm to proper decrypt TAB blue PCBs.Switch the Sandii' games color system to RESNET calculations.Demultiplex the lamps matrix and add lamps support for all Sandii' games.Write a new driver for Lucky 74 (Wing) hardware.Re-rewrite the gdrawpkr (ex vp906iii) driver.Add discrete sound to Golden Poker / Potten's Poker games.Rewrite the pmpoker driver.Try to discover the sound system of Magic Fly and 7 e Mezzo.Write a new driver for Joker's Wild (Sigma) hardware.- Rewrite the ltcasino driver.
Details / Status
Rewrite the vp906iii driver:
- Done.
- Rearranged GFX in two different banks.
- Decoded GFX properly.
- Rewrote the memory map based on program ROMs analysis.
- Hooked two SY6520/6280 (M6821) PIAs for I/O.
- Hooked the SY6545 (6845) CRT controller.
- Fixed size for screen total and visible area based on SY6545 CRTC registers.
- Added all inputs through PIAs.
- Added proper sound through AY8910 (mapped at $0840-$0841).
- Fixed AY8910 volume to avoid clips.
- Proper colors through color PROM decode.
- Demuxed inputs (thanks to Dox that pointed me in the right direction)
- Added some game-protection workaround.
- Added NVRAM support.
- Renamed driver, set and description to match the real game.
- Added technical notes.
Emulate protection in Magic Fly:
- Done.
- Added proper emulation to the game protection that allow boot the game without patchs/hacks.
Emulate protection in 7 e Mezzo:
- Done.
- Added proper emulation to the game protection that allow boot the game without patchs/hacks.
Hook the inputs properly in pmpoker.c games:
- Done.
- 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.
Demux and rework inputs in Magic Fly and 7 e Mezzo
- Done.
- 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.
Rewrite the ampoker2 driver:
- Done.
- 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.
- Fixed graphics/tiles in Sigma Poker 2000.
- Rewritten the technical notes from the scratch (still in progress).
- Added a PCB layout to the technical notes.
Fix graphics and other issues of Magic Card:
- Done.
Emulate the Royal Vegas Joker Card series:
- They come in two flavors: Fast and Slow draw. Both emulated.
Add support to 3-deal version of Jolly Card:
- Done.
Write a new driver for SANDII' games:
- Done. All games are working properly with sound.
Write a new driver for GAME-A-TRON gambling games:
- Done. Both games are working properly, but without sound due to unidentified sound device.
EDITED (2008/09) - Added PSG sound and lamps support.
Find the algorithm to proper decrypt TAB blue PCBs:
- Done. Decryption tables were replaced with the proper algorithm.
Switch the Sandii' games color system to RESNET calculations:
- Done.
Demultiplex the lamps matrix and add lamps support for all Sandii' games:
- Done.
Write a new driver for Lucky 74 (Wing) hardware:
- Done.
- Set the proper screen size.
- Decoded graphics.
- Decoded the dual-state color circuitry.
- Mapped the NVRAM, VRAM1-1, VRAM1-2, VRAM2-1 and VRAM2-2 properly.
- Emulated 2x PPI 8255 devices.
- Mapped the 4x DIP switches banks.
- Added PORT_DIPLOCATION to all DIP switches.
- Added DIP switches for 'Bet Max' and 'Limit'.
- Added DIP switches for 'Jackpot' and 'Pay Table'.
- Added the Memory Reset Switch.
- Added the 2nd video & color RAM.
- Added a 2nd tilemap for background graphics.
- Simplified the graphics banks.
- Fixed colors for foreground graphics.
- Fixed visible area to show the top of background graphics.
- Finally fixed colors for background graphics.
- Added all coinage DIP switches.
- Mapped all remaining inputs (service and player buttons).
- Added pulse time limitation to coins A, B & C.
- Switched to use 4x 8255 in replace of 2x 82c255 for I/O.
- Created a handler to feed the z80 port0 requests.
- Promoted lucky74s to 'working' state.
- Added an alternate set, but the program ROM looks like incomplete, protected or just a bad dump.
- Parent/clone relationship.
- Added technical notes.
- Pre-defined CPU and SND clocks.
- Switched the color system to RESNET.
Re-rewrite the gdrawpkr (ex vp906iii) driver:
A new rewrite is needed to add support for systems 903, 904, 905 & 906. These systems hold dozens of unknown/undumped games. Also the driver need a lot of changes.
- Done.
- Renamed the driver to calomega.c.
- Extended the driver to support all the other Cal Omega systems.
- Switched to XTAL def.
- Fixed CPU & sound clocks based on official diagrams.
- Replaced the AY-8910 with AY-8912 to match the real hardware.
- Unified some memory maps.
- Splitted machine in sys903 and sys905.
- Fixed memory map offsets for sys905.
- Added support to almost 40 new games + 2 diagnostics sets.
- Added a list of official/unofficial games, and their states.
- Fixed a bug introduced when extended the color PROM region to eliminate colortable lenght.
- Other changes/fixes.
- Cleaned up the driver following the MAME Coding Conventions.
- Improved the input system for some games.
- Fixed some wrong color codes.
- Lots of improvements on the input system.
- Adjusted the CPU adressing to 14 bits for systems 903/904.
- Adjusted the CPU adressing to 15 bits for system 905.
- Rewrote all the ROM loads based on these changes.
- Defined CPU, UART and sound clocks.
- Splitted the sound interface to cover different systems.
- Splitted the PIAs interfaces to cover different systems.
- Added sound to system 905 games.
- Added MACHINE_START and MACHINE_RESET to initialize the devices properly.
- Documented the systems 903/904 UART connections.
- Traced and added PIAs connection diagrams for systems 903/904/905.
- Hooked the missing DIP Switches bank to the AY8912 for system 903.
- Added preliminary serial/UART support to systems 903/904.
- Hooked the missing DIP Switches bank to the ACIA 6850 for systems 903/904. It allow to choose the proper transfer rate for UART.
- Fixed graphics ROM loads for different Hotline versions.
- Unified MACHINE_RESET for systems 903/904/905.
- Created a new handler to manage the first 4 bits of system 905's PIA1 portB as input mux selector. (905 is still not working)
- Renamed all roms of each set according to the systems schematics and official list.
- Cleaned-up the sets.
- Cleaned-up the driver.
- Updated technical notes.
Add discrete sound to Golden Poker / Potten's Poker games:
- Done.
Rewrite the pmpoker driver:
Currently working on this...
Try to discover the sound system of Magic Fly and 7 e Mezzo:
- Done.
Write a new driver for Joker's Wild (Sigma) hardware:
- Done.
A preliminary driver was submitted.
Rewrite the ltcasino driver:
Analyze the ltcasino & ltcasin2 program ROMs to fix all wrong aspects of emulation.