~ubuntu-branches/debian/sid/mame/sid

« back to all changes in this revision

Viewing changes to src/mame/drivers/simpsons.c

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Emmanuel Kasper, Jordi Mallach
  • Date: 2012-06-05 20:02:23 UTC
  • mfrom: (0.3.1) (0.1.4)
  • Revision ID: package-import@ubuntu.com-20120605200223-gnlpogjrg6oqe9md
Tags: 0.146-1
[ Emmanuel Kasper ]
* New upstream release
* Drop patch to fix man pages section and patches to link with flac 
  and jpeg system lib: all this has been pushed upstream by Cesare Falco
* Add DM-Upload-Allowed: yes field.

[ Jordi Mallach ]
* Create a "gnu" TARGETOS stanza that defines NO_AFFINITY_NP.
* Stop setting TARGETOS to "unix" in d/rules. It should be autodetected,
  and set to the appropriate value.
* mame_manpage_section.patch: Change mame's manpage section to 6 (games),
  in the TH declaration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
83
83
 
84
84
***************************************************************************/
85
85
 
86
 
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8 )
 
86
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, simpsons_state )
87
87
        AM_RANGE(0x0000, 0x0fff) AM_RAM
88
88
        AM_RANGE(0x1f80, 0x1f80) AM_READ_PORT("COIN")
89
89
        AM_RANGE(0x1f81, 0x1f81) AM_READ_PORT("TEST")
91
91
        AM_RANGE(0x1f91, 0x1f91) AM_READ_PORT("P2")
92
92
        AM_RANGE(0x1f92, 0x1f92) AM_READ_PORT("P3")
93
93
        AM_RANGE(0x1f93, 0x1f93) AM_READ_PORT("P4")
94
 
        AM_RANGE(0x1fa0, 0x1fa7) AM_DEVWRITE("k053246", k053246_w)
95
 
        AM_RANGE(0x1fb0, 0x1fbf) AM_DEVWRITE("k053251", k053251_w)
 
94
        AM_RANGE(0x1fa0, 0x1fa7) AM_DEVWRITE_LEGACY("k053246", k053246_w)
 
95
        AM_RANGE(0x1fb0, 0x1fbf) AM_DEVWRITE_LEGACY("k053251", k053251_w)
96
96
        AM_RANGE(0x1fc0, 0x1fc0) AM_WRITE(simpsons_coin_counter_w)
97
97
        AM_RANGE(0x1fc2, 0x1fc2) AM_WRITE(simpsons_eeprom_w)
98
98
        AM_RANGE(0x1fc4, 0x1fc4) AM_READ(simpsons_sound_interrupt_r)
99
 
        AM_RANGE(0x1fc6, 0x1fc7) AM_DEVREADWRITE("k053260", simpsons_sound_r, k053260_w)
100
 
        AM_RANGE(0x1fc8, 0x1fc9) AM_DEVREAD("k053246", k053246_r)
 
99
        AM_RANGE(0x1fc6, 0x1fc7) AM_DEVREADWRITE_LEGACY("k053260", simpsons_sound_r, k053260_w)
 
100
        AM_RANGE(0x1fc8, 0x1fc9) AM_DEVREAD_LEGACY("k053246", k053246_r)
101
101
        AM_RANGE(0x1fca, 0x1fca) AM_READ(watchdog_reset_r)
102
102
        AM_RANGE(0x2000, 0x3fff) AM_RAMBANK("bank4")
103
 
        AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("k052109", k052109_r, k052109_w)
 
103
        AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE_LEGACY("k052109", k052109_r, k052109_w)
104
104
        AM_RANGE(0x4000, 0x5fff) AM_RAM
105
105
        AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
106
106
        AM_RANGE(0x8000, 0xffff) AM_ROM
107
107
ADDRESS_MAP_END
108
108
 
109
 
static WRITE8_HANDLER( z80_bankswitch_w )
 
109
WRITE8_MEMBER(simpsons_state::z80_bankswitch_w)
110
110
{
111
 
        memory_set_bank(space->machine(), "bank2", data & 7);
 
111
        membank("bank2")->set_entry(data & 7);
112
112
}
113
113
 
114
114
#if 0
126
126
        device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, ASSERT_LINE);
127
127
}
128
128
 
129
 
static WRITE8_HANDLER( z80_arm_nmi_w )
 
129
WRITE8_MEMBER(simpsons_state::z80_arm_nmi_w)
130
130
{
131
 
        simpsons_state *state = space->machine().driver_data<simpsons_state>();
132
 
        device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
133
 
        space->machine().scheduler().timer_set(attotime::from_usec(25), FUNC(nmi_callback));    /* kludge until the K053260 is emulated correctly */
 
131
        device_set_input_line(m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
 
132
        machine().scheduler().timer_set(attotime::from_usec(25), FUNC(nmi_callback));   /* kludge until the K053260 is emulated correctly */
134
133
}
135
134
 
136
 
static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8 )
 
135
static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, simpsons_state )
137
136
        AM_RANGE(0x0000, 0x7fff) AM_ROM
138
137
        AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
139
138
        AM_RANGE(0xf000, 0xf7ff) AM_RAM
140
 
        AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
 
139
        AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
141
140
        AM_RANGE(0xfa00, 0xfa00) AM_WRITE(z80_arm_nmi_w)
142
 
        AM_RANGE(0xfc00, 0xfc2f) AM_DEVREADWRITE("k053260", k053260_r, k053260_w)
 
141
        AM_RANGE(0xfc00, 0xfc2f) AM_DEVREADWRITE_LEGACY("k053260", k053260_r, k053260_w)
143
142
        AM_RANGE(0xfe00, 0xfe00) AM_WRITE(z80_bankswitch_w)
144
143
ADDRESS_MAP_END
145
144
 
308
307
static MACHINE_CONFIG_START( simpsons, simpsons_state )
309
308
 
310
309
        /* basic machine hardware */
311
 
        MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* pin 18 of konami cpu is 12Mhz, while pin 17 is 3mhz. Clock probably divided internally by 4  */
 
310
        MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */
312
311
        MCFG_CPU_PROGRAM_MAP(main_map)
313
312
        MCFG_CPU_VBLANK_INT("screen", simpsons_irq)     /* IRQ triggered by the 052109, FIRQ by the sprite hardware */
314
313