mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
dragrace.c: Added tachometer outputs. [Comboman]
This commit is contained in:
parent
ec2b170c8d
commit
76fb8a3129
@ -1,6 +1,6 @@
|
||||
/***************************************************************************
|
||||
|
||||
Atari Drag Race Driver
|
||||
Atari Drag Race Driver
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -14,10 +14,9 @@ Atari Drag Race Driver
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::dragrace_frame_callback)
|
||||
{
|
||||
int i;
|
||||
static const char *const portnames[] = { "P1", "P2" };
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
switch (ioport(portnames[i])->read())
|
||||
{
|
||||
@ -85,6 +84,10 @@ void dragrace_state::dragrace_update_misc_flags( address_space &space )
|
||||
m_discrete->write(space, DRAGRACE_ATTRACT_EN, (m_misc_flags & 0x00001000) ? 1: 0); // Attract enable
|
||||
m_discrete->write(space, DRAGRACE_LOTONE_EN, (m_misc_flags & 0x00002000) ? 1: 0); // LoTone enable
|
||||
m_discrete->write(space, DRAGRACE_HITONE_EN, (m_misc_flags & 0x20000000) ? 1: 0); // HiTone enable
|
||||
|
||||
// the tachometers are driven from the same frequency generator that creates the engine sound
|
||||
output_set_value("tachometer", ~m_misc_flags & 0x0000001f);
|
||||
output_set_value("tachometer2", (~m_misc_flags & 0x001f0000) >> 0x10);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(dragrace_state::dragrace_misc_w)
|
||||
@ -116,9 +119,7 @@ READ8_MEMBER(dragrace_state::dragrace_input_r)
|
||||
UINT8 maskA = 1 << (offset % 8);
|
||||
UINT8 maskB = 1 << (offset / 8);
|
||||
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
int in = ioport(portnames[i])->read();
|
||||
|
||||
@ -139,9 +140,7 @@ READ8_MEMBER(dragrace_state::dragrace_steering_r)
|
||||
int bitB[2];
|
||||
static const char *const dialnames[] = { "DIAL1", "DIAL2" };
|
||||
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
int dial = ioport(dialnames[i])->read();
|
||||
|
||||
|
@ -47,6 +47,10 @@ public:
|
||||
|
||||
/* devices */
|
||||
required_device<discrete_device> m_discrete;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(dragrace_misc_w);
|
||||
DECLARE_WRITE8_MEMBER(dragrace_misc_clear_w);
|
||||
DECLARE_READ8_MEMBER(dragrace_input_r);
|
||||
@ -60,9 +64,6 @@ public:
|
||||
UINT32 screen_update_dragrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(dragrace_frame_callback);
|
||||
void dragrace_update_misc_flags( address_space &space );
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
};
|
||||
|
||||
/*----------- defined in audio/dragrace.c -----------*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/***************************************************************************
|
||||
|
||||
Atari Drag Race video emulation
|
||||
Atari Drag Race video emulation
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -47,11 +47,9 @@ void dragrace_state::video_start()
|
||||
|
||||
UINT32 dragrace_state::screen_update_dragrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int y;
|
||||
|
||||
m_bg_tilemap->mark_all_dirty();
|
||||
|
||||
for (y = 0; y < 256; y += 4)
|
||||
for (int y = 0; y < 256; y += 4)
|
||||
{
|
||||
rectangle rect = cliprect;
|
||||
|
||||
@ -68,5 +66,6 @@ UINT32 dragrace_state::screen_update_dragrace(screen_device &screen, bitmap_ind1
|
||||
|
||||
m_bg_tilemap->draw(screen, bitmap, rect, 0, 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user