Previous 199869 Revisions Next

r17760 Sunday 9th September, 2012 at 18:24:17 UTC by hap
update notes 2
[src/emu/sound]upd7759.c
[src/mame/drivers]homerun.c
[src/mame/video]homerun.c

trunk/src/mame/video/homerun.c
r17759r17760
1010
1111#define half_screen 116
1212
13/**************************************************************************/
14
1315WRITE8_MEMBER(homerun_state::homerun_scrollhi_w)
1416{
1517   // d0: scroll y high bit
r17759r17760
6870   palette_set_color(machine(), offset, MAKE_RGB(r,g,b));
6971}
7072
73
74/**************************************************************************/
75
7176TILE_GET_INFO_MEMBER(homerun_state::get_homerun_tile_info)
7277{
7378   int tileno = (m_videoram[tile_index]) + ((m_videoram[tile_index + 0x1000] & 0x38) << 5) + ((m_gfx_ctrl & 1) << 11);
r17759r17760
7681   SET_TILE_INFO_MEMBER(0, tileno, palno, 0);
7782}
7883
84
7985VIDEO_START( homerun )
8086{
8187   homerun_state *state = machine.driver_data<homerun_state>();
8288   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homerun_state::get_homerun_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
8389}
8490
91
8592static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
8693{
8794   homerun_state *state = machine.driver_data<homerun_state>();
trunk/src/mame/drivers/homerun.c
r17759r17760
99  sprites in NES format etc)
1010 
1111Todo :
12 - voice ( unemulated D7756C )
13 - controls/dips
12 - dump remaining sample roms
13 - improve controls/dips
1414 - better emulation of gfx bank switching (problematic in ganjaja)
1515 - is there 2 player mode ?
1616
r17759r17760
6060
6161WRITE8_MEMBER(homerun_state::homerun_d7756c_control_w)
6262{
63   // d4: start pin
64   // d5: reset pin(?)
65   // other bits: unused?
6366   device_t *device = machine().device("d7756c");
6467   upd7759_reset_w(device, ~data & 0x20);
6568   upd7759_start_w(device, ~data & 0x10);
r17759r17760
110113   PORT_START("IN0")
111114   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_COIN1 )
112115   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state, homerun_40_r, NULL)
113   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN ) // ?
116   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // ?
117   PORT_BIT( 0x37, IP_ACTIVE_HIGH, IPT_UNKNOWN )
114118
115119   PORT_START("IN1")
116120   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
117121   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
118122   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
119123   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
120   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1)
124   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
125   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
126   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
121127   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 )
122128
123129   PORT_START("IN2")
124   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
130   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_COIN2 )
131   PORT_BIT( 0xdf, IP_ACTIVE_HIGH, IPT_UNKNOWN )
125132
126133   PORT_START("DSW")
127134   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coin_B ) )      PORT_DIPLOCATION("DIPSW:1,2")
r17759r17760
143150   PORT_START("IN0")
144151   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_COIN1 )
145152   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state, homerun_40_r, NULL)
146   PORT_BIT( 0xb7, IP_ACTIVE_HIGH, IPT_UNUSED )
153   PORT_BIT( 0xb7, IP_ACTIVE_HIGH, IPT_UNKNOWN )
147154
148155   PORT_START("IN1")
149156   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
150157   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
151158   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
152159   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
153   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
160   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
154161   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
155   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
162   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
156163   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 )
157164
158165   PORT_START("IN2")
159166   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_COIN2 )
160   PORT_BIT( 0xdf, IP_ACTIVE_HIGH, IPT_UNUSED )
167   PORT_BIT( 0xdf, IP_ACTIVE_HIGH, IPT_UNKNOWN )
161168
162169   PORT_START("DSW")
163170   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coin_B ) )      PORT_DIPLOCATION("DIPSW:1,2")
r17759r17760
188195   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_NAME("P1 Right / Scissors")
189196   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) // unused?
190197   PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state, ganjaja_hopper_status_r, NULL)
191   PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
198   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
199   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
192200
193201   PORT_START("IN2")
194202   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // bit masked with IN0 IPT_COIN1, maybe coin lockout?
r17759r17760
201209   PORT_DIPSETTING(   0x01, DEF_STR( 1C_1C ) )
202210   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coin_A ) )      PORT_DIPLOCATION("DIPSW:2")
203211   PORT_DIPSETTING(   0x00, DEF_STR( 2C_1C ) )
204   PORT_DIPSETTING(   0x02, DEF_STR( 1C_1C ) )
212   PORT_DIPSETTING(   0x02, DEF_STR( 1C_1C ) ) // game will boot with 1 credit inserted
205213   PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DIPSW:3" )
206214   PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DIPSW:4" )
207215   PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DIPSW:5" )
trunk/src/emu/sound/upd7759.c
r17759r17760
44    by: Juergen Buchmueller, Mike Balfour, Howie Cohen,
55        Olivier Galibert, and Aaron Giles
66
7    TODO:
8    - is there a doable method to dump the internal maskrom? :(
9    - low-level emulation
10    - watchdog? - according to uPD775x datasheet, the chip goes into standy mode
11      if CS/ST/RESET have not been accessed for more than 3 seconds
12    - convert to MAME modern device
13
714*************************************************************
815
916    uPD7759 Description:
r17759r17760
684691      assert(device->type() == UPD7759); // other chips do not support slave mode
685692      chip->timer = device->machine().scheduler().timer_alloc(FUNC(upd7759_slave_update), chip);
686693      chip->rommask = 0;
694
695      /* set the DRQ callback */
696      chip->drqcallback = intf->drqcallback;
687697   }
688698   else
689699   {
690700      UINT32 romsize = device->region()->bytes();
691701      if (romsize >= 0x20000) chip->rommask = 0x1ffff;
692702      else chip->rommask = romsize - 1;
703
704      chip->drqcallback = NULL;
693705   }
694706
695   /* set the DRQ callback */
696   chip->drqcallback = intf->drqcallback;
697
698707   /* assume /RESET and /START are both high */
699708   chip->reset = 1;
700709   chip->start = 1;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team