51
51
ttchamp_state(const machine_config &mconfig, device_type type, const char *tag)
52
: driver_device(mconfig, type, tag) { }
52
: driver_device(mconfig, type, tag) ,
53
m_peno_vram(*this, "peno_vram"){ }
55
required_shared_ptr<UINT16> m_peno_vram;
57
DECLARE_WRITE16_MEMBER(paloff_w);
58
DECLARE_WRITE16_MEMBER(pcup_prgbank_w);
59
DECLARE_WRITE16_MEMBER(paldat_w);
60
DECLARE_READ16_MEMBER(peno_rand);
61
DECLARE_READ16_MEMBER(peno_rand2);
96
static WRITE16_HANDLER( paloff_w )
103
WRITE16_MEMBER(ttchamp_state::paloff_w)
98
ttchamp_state *state = space->machine().driver_data<ttchamp_state>();
99
COMBINE_DATA(&state->m_paloff);
105
COMBINE_DATA(&m_paloff);
102
108
#ifdef UNUSED_FUNCTION
103
static WRITE16_HANDLER( pcup_prgbank_w )
109
WRITE16_MEMBER(ttchamp_state::pcup_prgbank_w)
106
UINT8 *ROM1 = space->machine().region("user1")->base();
112
UINT8 *ROM1 = memregion("user1")->base();
108
114
if (ACCESSING_BITS_0_7)
110
116
bank = (data>>4) &0x07;
111
memory_set_bankptr(space->machine(), "bank2",&ROM1[0x80000*(bank)]);
117
membank("bank2")->set_base(&ROM1[0x80000*(bank)]);
116
static WRITE16_HANDLER( paldat_w )
122
WRITE16_MEMBER(ttchamp_state::paldat_w)
118
ttchamp_state *state = space->machine().driver_data<ttchamp_state>();
119
palette_set_color_rgb(space->machine(),state->m_paloff & 0x7fff,pal5bit(data>>0),pal5bit(data>>5),pal5bit(data>>10));
124
palette_set_color_rgb(machine(),m_paloff & 0x7fff,pal5bit(data>>0),pal5bit(data>>5),pal5bit(data>>10));
122
static READ16_HANDLER( peno_rand )
127
READ16_MEMBER(ttchamp_state::peno_rand)
124
return 0xffff;// space->machine().rand();
129
return 0xffff;// machine().rand();
127
132
#ifdef UNUSED_FUNCTION
128
static READ16_HANDLER( peno_rand2 )
133
READ16_MEMBER(ttchamp_state::peno_rand2)
130
return space->machine().rand();
135
return machine().rand();
134
static ADDRESS_MAP_START( ttchamp_map, AS_PROGRAM, 16 )
139
static ADDRESS_MAP_START( ttchamp_map, AS_PROGRAM, 16, ttchamp_state )
135
140
AM_RANGE(0x00000, 0x0ffff) AM_RAM
136
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_BASE_MEMBER(ttchamp_state, m_peno_vram)
141
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("peno_vram")
137
142
AM_RANGE(0x20000, 0x7ffff) AM_ROMBANK("bank1") // ?
138
143
AM_RANGE(0x80000, 0xfffff) AM_ROMBANK("bank2") // ?
141
static ADDRESS_MAP_START( ttchamp_io, AS_IO, 16 )
146
static ADDRESS_MAP_START( ttchamp_io, AS_IO, 16, ttchamp_state )
142
147
AM_RANGE(0x0000, 0x0001) AM_WRITENOP
144
149
AM_RANGE(0x0002, 0x0003) AM_READ_PORT("SYSTEM")
333
338
static DRIVER_INIT (ttchamp)
335
UINT8 *ROM1 = machine.region("user1")->base();
336
memory_set_bankptr(machine, "bank1",&ROM1[0x120000]);
337
memory_set_bankptr(machine, "bank2",&ROM1[0x180000]);
340
UINT8 *ROM1 = machine.root_device().memregion("user1")->base();
341
machine.root_device().membank("bank1")->set_base(&ROM1[0x120000]);
342
machine.root_device().membank("bank2")->set_base(&ROM1[0x180000]);
340
345
GAME( 199?, ttchamp, 0, ttchamp, ttchamp, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )