mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
(MESS) gamecom : notes
This commit is contained in:
parent
b9a10780fa
commit
94eabd6ec7
@ -6,14 +6,25 @@ Driver file to handle emulation of the Tiger Game.com by
|
||||
Wilbert Pol
|
||||
|
||||
Todo:
|
||||
everything
|
||||
- Finish memory map, fill in details
|
||||
- Finish input ports
|
||||
- Finish palette code
|
||||
- Finish machine driver struct
|
||||
- Finish cartslot code
|
||||
- Etc, etc, etc.
|
||||
- Fix cpu and system problems that prevent the games from working.
|
||||
|
||||
Game Status:
|
||||
- The DAC sound partially works, sound from ports 1,2,3 not done
|
||||
- Inbuilt ROM and PDA functions all work
|
||||
- When starting a cart, the graphic of the cart going into the slot is corrupt
|
||||
- Due to an irritating message, the NVRAM is commented out in the machine config
|
||||
- Cart games all have severe video issues such as flickering and nonsense gfx
|
||||
- Lights Out works
|
||||
- Centipede works with bad flickering
|
||||
- Frogger works, but there are bugs on the 2nd row of cars (if you turn your
|
||||
frog to the right it dies, and also one car goes in reverse), and not possible
|
||||
to get the female frog.
|
||||
- Wheel of Fortune 1&2, playable although the spinner is corrupt
|
||||
- Jeopardy, playable with bad gfx
|
||||
- Quiz Wiz works, but the final score doesn't show
|
||||
- Tiger Web Link & Internet, they look ok, obviously aren't going to connect to anything
|
||||
- Williams Arcade Classics, Robotron works, the rest are no use.
|
||||
- The remaining carts are not functional to any useful degree.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -213,22 +224,13 @@ static INPUT_PORTS_START( gamecom )
|
||||
PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const unsigned char palette_gamecom[] =
|
||||
{
|
||||
0xDF, 0xFF, 0x8F, /* White */
|
||||
0x8F, 0xCF, 0x8F, /* Gray 3 */
|
||||
0x6F, 0x8F, 0x4F, /* Gray 2 */
|
||||
0x0F, 0x4F, 0x2F, /* Gray 1 */
|
||||
0x00, 0x00, 0x00, /* Black */
|
||||
};
|
||||
|
||||
PALETTE_INIT_MEMBER(gamecom_state, gamecom)
|
||||
{
|
||||
int index;
|
||||
for ( index = 0; index < 5; index++ )
|
||||
{
|
||||
palette.set_pen_color(4-index, palette_gamecom[index*3+0], palette_gamecom[index*3+1], palette_gamecom[index*3+2] );
|
||||
}
|
||||
palette.set_pen_color(0, 0x00, 0x00, 0x00 ); // Black
|
||||
palette.set_pen_color(1, 0x0F, 0x4F, 0x2F ); // Gray 1
|
||||
palette.set_pen_color(2, 0x6F, 0x8F, 0x4F ); // Gray 2
|
||||
palette.set_pen_color(3, 0x8F, 0xCF, 0x8F ); // Grey 3
|
||||
palette.set_pen_color(4, 0xDF, 0xFF, 0x8F ); // White
|
||||
}
|
||||
|
||||
UINT32 gamecom_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
|
@ -8,8 +8,8 @@ static const int gamecom_timer_limit[8] = { 2, 1024, 2048, 4096, 8192, 16384, 32
|
||||
TIMER_CALLBACK_MEMBER(gamecom_state::gamecom_clock_timer_callback)
|
||||
{
|
||||
UINT8 * RAM = m_region_maincpu->base();
|
||||
UINT8 val = ( ( RAM[SM8521_CLKT] & 0x3F ) + 1 ) & 0x3F;
|
||||
RAM[SM8521_CLKT] = ( RAM[SM8521_CLKT] & 0xC0 ) | val;
|
||||
UINT8 val = RAM[SM8521_CLKT] + 1;
|
||||
RAM[SM8521_CLKT] = ( RAM[SM8521_CLKT] & 0xC0 ) | (val & 0x3f);
|
||||
m_maincpu->set_input_line(sm8500_cpu_device::CK_INT, ASSERT_LINE );
|
||||
}
|
||||
|
||||
@ -191,8 +191,9 @@ READ8_MEMBER( gamecom_state::gamecom_pio_r )
|
||||
|
||||
READ8_MEMBER( gamecom_state::gamecom_internal_r )
|
||||
{
|
||||
if(SM8521_LCV == offset + 0x20)
|
||||
popmessage("Read from vblank bit, TODO");
|
||||
// ToDo: Read from vblank bit
|
||||
// if(SM8521_LCV == offset + 0x20)
|
||||
// popmessage("Read from vblank bit, TODO");
|
||||
|
||||
return m_p_ram[offset + 0x20];
|
||||
}
|
||||
@ -473,7 +474,8 @@ WRITE8_MEMBER( gamecom_state::gamecom_handle_dma )
|
||||
m_dma.source_mask = 0x3FFF;
|
||||
if (RAM[SM8521_DMBR] < 16)
|
||||
m_dma.source_bank = m_region_kernel->base() + (RAM[SM8521_DMBR] << 14);
|
||||
else if (m_cart_ptr)
|
||||
else
|
||||
if (m_cart_ptr)
|
||||
m_dma.source_bank = m_cart_ptr + (RAM[SM8521_DMBR] << 14);
|
||||
|
||||
m_dma.dest_bank = &m_p_videoram[(RAM[SM8521_DMVP] & 0x02) ? 0x2000 : 0x0000];
|
||||
|
Loading…
Reference in New Issue
Block a user