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

« back to all changes in this revision

Viewing changes to src/mame/drivers/funybubl.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:
54
54
#include "includes/funybubl.h"
55
55
 
56
56
 
57
 
static WRITE8_HANDLER ( funybubl_vidram_bank_w )
58
 
{
59
 
        memory_set_bank(space->machine(), "bank1", data & 1);
60
 
}
61
 
 
62
 
static WRITE8_HANDLER ( funybubl_cpurombank_w )
63
 
{
64
 
        memory_set_bank(space->machine(), "bank2", data & 0x3f);        // should we add a check that (data&0x3f) < #banks?
65
 
}
66
 
 
67
 
 
68
 
static WRITE8_HANDLER( funybubl_soundcommand_w )
69
 
{
70
 
        funybubl_state *state = space->machine().driver_data<funybubl_state>();
71
 
        soundlatch_w(space, 0, data);
72
 
        device_set_input_line(state->m_audiocpu, 0, HOLD_LINE);
 
57
WRITE8_MEMBER(funybubl_state::funybubl_vidram_bank_w)
 
58
{
 
59
        membank("bank1")->set_entry(data & 1);
 
60
}
 
61
 
 
62
WRITE8_MEMBER(funybubl_state::funybubl_cpurombank_w)
 
63
{
 
64
        membank("bank2")->set_entry(data & 0x3f);       // should we add a check that (data&0x3f) < #banks?
 
65
}
 
66
 
 
67
 
 
68
WRITE8_MEMBER(funybubl_state::funybubl_soundcommand_w)
 
69
{
 
70
        soundlatch_byte_w(space, 0, data);
 
71
        device_set_input_line(m_audiocpu, 0, HOLD_LINE);
73
72
}
74
73
 
75
74
static WRITE8_DEVICE_HANDLER( funybubl_oki_bank_sw )
79
78
}
80
79
 
81
80
 
82
 
static ADDRESS_MAP_START( funybubl_map, AS_PROGRAM, 8 )
 
81
static ADDRESS_MAP_START( funybubl_map, AS_PROGRAM, 8, funybubl_state )
83
82
        AM_RANGE(0x0000, 0x7fff) AM_ROM
84
83
        AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") // banked port 1?
85
 
        AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE(funybubl_paldatawrite) AM_BASE_MEMBER(funybubl_state, m_paletteram) // palette
 
84
        AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE(funybubl_paldatawrite) AM_SHARE("paletteram") // palette
86
85
        AM_RANGE(0xd000, 0xdfff) AM_RAMBANK("bank1") // banked port 0?
87
86
        AM_RANGE(0xe000, 0xffff) AM_RAM
88
87
ADDRESS_MAP_END
89
88
 
90
 
static ADDRESS_MAP_START( io_map, AS_IO, 8 )
 
89
static ADDRESS_MAP_START( io_map, AS_IO, 8, funybubl_state )
91
90
        ADDRESS_MAP_GLOBAL_MASK(0xff)
92
91
        AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(funybubl_vidram_bank_w)    // vidram bank
93
92
        AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(funybubl_cpurombank_w)         // rom bank?
100
99
 
101
100
/* Sound CPU */
102
101
 
103
 
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8 )
 
102
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, funybubl_state )
104
103
        AM_RANGE(0x0000, 0x7fff) AM_ROM
105
104
        AM_RANGE(0x8000, 0x87ff) AM_RAM
106
 
        AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", funybubl_oki_bank_sw)
107
 
        AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
108
 
        AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
 
105
        AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", funybubl_oki_bank_sw)
 
106
        AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
 
107
        AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
109
108
ADDRESS_MAP_END
110
109
 
111
110
 
203
202
static MACHINE_START( funybubl )
204
203
{
205
204
        funybubl_state *state = machine.driver_data<funybubl_state>();
206
 
        UINT8 *ROM = machine.region("maincpu")->base();
 
205
        UINT8 *ROM = state->memregion("maincpu")->base();
207
206
 
208
207
        state->m_audiocpu = machine.device("audiocpu");
209
208
 
210
209
        state->save_item(NAME(state->m_banked_vram));
211
210
 
212
 
        memory_configure_bank(machine, "bank1", 0, 2, &state->m_banked_vram[0x0000], 0x1000);
213
 
        memory_configure_bank(machine, "bank2", 0, 0x10, &ROM[0x10000], 0x4000);
 
211
        state->membank("bank1")->configure_entries(0, 2, &state->m_banked_vram[0x0000], 0x1000);
 
212
        state->membank("bank2")->configure_entries(0, 0x10, &ROM[0x10000], 0x4000);
214
213
 
215
 
        memory_set_bank(machine, "bank1", 0);
 
214
        state->membank("bank1")->set_entry(0);
216
215
}
217
216
 
218
217