Updated some notes and cosmetic clean-up.

This commit is contained in:
RobertoFresca 2015-05-09 08:13:38 -03:00
parent 7e84989659
commit 6b0e657b6b

View File

@ -2,20 +2,12 @@
// copyright-holders:Roberto Fresca // copyright-holders:Roberto Fresca
/****************************************************************************** /******************************************************************************
JOKER'S WILD - SIGMA JOKER'S WILD - SIGMA (1988)
--------------------
Preliminary driver by Roberto Fresca. Preliminary driver by Roberto Fresca.
Games running on this hardware:
* Joker's Wild (encrypted). 1988, Sigma.
******************************************************************************* *******************************************************************************
Hardware Notes (guessed): Hardware Notes (guessed):
------------------------ ------------------------
@ -23,19 +15,17 @@
Video: 1x M6845 CRTC or similar. Video: 1x M6845 CRTC or similar.
I/O: 2x PIAs ?? (there is code to initialize PIAs at $8033) I/O: 2x PIAs ?? (there is code to initialize PIAs at $8033)
******************************************************************************* *******************************************************************************
*** Game Notes *** *** Game Notes ***
RND old notes:
Game is trying to boot, and after approx. 90 seconds an error message appear Game is trying to boot, and after approx. 90 seconds an error message appear
on screen: "Random number generator is defective", then stuck here. on screen: "Random number generator is defective", then stuck here.
See code at $9859 See code at $9859
PIAs are commented out just to see the R/W on error log. Currently the game spit an error about bad RAM, and after approx 90 seconds
the playfield is drawn and then hang.
******************************************************************************* *******************************************************************************
@ -57,20 +47,14 @@
---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------
value: 0x20 0x18 0x1B 0x64 0x20 0x07 0x1A 0x1D 0x00 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00. value: 0x20 0x18 0x1B 0x64 0x20 0x07 0x1A 0x1D 0x00 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00.
******************************************************************************* *******************************************************************************
DRIVER UPDATES: DRIVER UPDATES:
[2008-10-30] [2008-10-30]
- Fixed graphics to 2 bits per pixel. - Fixed graphics to 2 bits per pixel.
[2008-10-25] [2008-10-25]
- Initial release. - Initial release.
- ROMs load OK. - ROMs load OK.
- Proper ROMs decryption. - Proper ROMs decryption.
@ -78,7 +62,6 @@
- Video RAM OK. - Video RAM OK.
- Added technical notes. - Added technical notes.
TODO: TODO:
- RND number generator. - RND number generator.
@ -86,10 +69,8 @@
- Sound. - Sound.
- A lot of work. - A lot of work.
*******************************************************************************/ *******************************************************************************/
#define MASTER_CLOCK XTAL_8MHz /* guess */ #define MASTER_CLOCK XTAL_8MHz /* guess */
#include "emu.h" #include "emu.h"
@ -131,21 +112,18 @@ public:
* Video Hardware * * Video Hardware *
*************************/ *************************/
WRITE8_MEMBER(jokrwild_state::jokrwild_videoram_w) WRITE8_MEMBER(jokrwild_state::jokrwild_videoram_w)
{ {
m_videoram[offset] = data; m_videoram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset); m_bg_tilemap->mark_tile_dirty(offset);
} }
WRITE8_MEMBER(jokrwild_state::jokrwild_colorram_w) WRITE8_MEMBER(jokrwild_state::jokrwild_colorram_w)
{ {
m_colorram[offset] = data; m_colorram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset); m_bg_tilemap->mark_tile_dirty(offset);
} }
TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info) TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info)
{ {
/* - bits - /* - bits -
@ -160,31 +138,23 @@ TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code , color , 0); SET_TILE_INFO_MEMBER(0, code , color , 0);
} }
void jokrwild_state::video_start() void jokrwild_state::video_start()
{ {
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 24, 26); m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
} }
UINT32 jokrwild_state::screen_update_jokrwild(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) UINT32 jokrwild_state::screen_update_jokrwild(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{ {
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0; return 0;
} }
PALETTE_INIT_MEMBER(jokrwild_state, jokrwild) PALETTE_INIT_MEMBER(jokrwild_state, jokrwild)
{ {
//missing proms //missing proms
} }
/*************************
* Machine Init *
*************************/
/***************************** /*****************************
* Read/Write Handlers * * Read/Write Handlers *
*****************************/ *****************************/
@ -200,6 +170,7 @@ READ8_MEMBER(jokrwild_state::rng_r)
return machine().rand() & 0xff; return machine().rand() & 0xff;
} }
/************************* /*************************
* Memory Map Information * * Memory Map Information *
*************************/ *************************/
@ -220,7 +191,6 @@ static ADDRESS_MAP_START( jokrwild_map, AS_PROGRAM, 8, jokrwild_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
/* I/O byte R/W /* I/O byte R/W
@ -238,6 +208,7 @@ ADDRESS_MAP_END
*/ */
/************************* /*************************
* Input Ports * * Input Ports *
*************************/ *************************/
@ -425,6 +396,7 @@ WRITE8_MEMBER(jokrwild_state::testb_w)
// printf("%02x B\n",data); // printf("%02x B\n",data);
} }
/************************* /*************************
* Machine Drivers * * Machine Drivers *
*************************/ *************************/
@ -452,8 +424,8 @@ static MACHINE_CONFIG_START( jokrwild, jokrwild_state )
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE((32+1)*8, (32+1)*8) /* From MC6845, registers 00 & 04. (value-1) */ MCFG_SCREEN_SIZE((32+1)*8, (32+1)*8) // From MC6845, registers 00 & 04. (value-1)
MCFG_SCREEN_VISIBLE_AREA(0*8, 24*8-1, 0*8, 26*8-1) /* From MC6845, registers 01 & 06 */ MCFG_SCREEN_VISIBLE_AREA(0*8, 24*8-1, 0*8, 26*8-1) // From MC6845, registers 01 & 06.
MCFG_SCREEN_UPDATE_DRIVER(jokrwild_state, screen_update_jokrwild) MCFG_SCREEN_UPDATE_DRIVER(jokrwild_state, screen_update_jokrwild)
MCFG_SCREEN_PALETTE("palette") MCFG_SCREEN_PALETTE("palette")
@ -515,7 +487,6 @@ DRIVER_INIT_MEMBER(jokrwild_state,jokrwild)
0x89 XOR 0xCC XOR 0x3A = 0x7F 0x89 XOR 0xCC XOR 0x3A = 0x7F
*****************************************************************************/ *****************************************************************************/
{ {
int i, offs; int i, offs;
@ -533,5 +504,5 @@ DRIVER_INIT_MEMBER(jokrwild_state,jokrwild)
* Game Drivers * * Game Drivers *
*************************/ *************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */
GAME( 1988, jokrwild, 0, jokrwild, jokrwild, jokrwild_state, jokrwild, ROT0, "Sigma", "Joker's Wild (encrypted)", GAME_NO_SOUND | GAME_NOT_WORKING ) GAME( 1988, jokrwild, 0, jokrwild, jokrwild, jokrwild_state, jokrwild, ROT0, "Sigma", "Joker's Wild (encrypted)", GAME_NO_SOUND | GAME_NOT_WORKING )