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

« back to all changes in this revision

Viewing changes to src/mame/drivers/jokrwild.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:
101
101
{
102
102
public:
103
103
        jokrwild_state(const machine_config &mconfig, device_type type, const char *tag)
104
 
                : driver_device(mconfig, type, tag) { }
 
104
                : driver_device(mconfig, type, tag) ,
 
105
                m_videoram(*this, "videoram"),
 
106
                m_colorram(*this, "colorram"){ }
105
107
 
106
 
        UINT8 *m_videoram;
107
 
        UINT8 *m_colorram;
 
108
        required_shared_ptr<UINT8> m_videoram;
 
109
        required_shared_ptr<UINT8> m_colorram;
108
110
        tilemap_t *m_bg_tilemap;
 
111
        DECLARE_WRITE8_MEMBER(jokrwild_videoram_w);
 
112
        DECLARE_WRITE8_MEMBER(jokrwild_colorram_w);
 
113
        DECLARE_READ8_MEMBER(rng_r);
109
114
};
110
115
 
111
116
 
114
119
*************************/
115
120
 
116
121
 
117
 
static WRITE8_HANDLER( jokrwild_videoram_w )
 
122
WRITE8_MEMBER(jokrwild_state::jokrwild_videoram_w)
118
123
{
119
 
        jokrwild_state *state = space->machine().driver_data<jokrwild_state>();
120
 
        state->m_videoram[offset] = data;
121
 
        state->m_bg_tilemap->mark_tile_dirty(offset);
 
124
        m_videoram[offset] = data;
 
125
        m_bg_tilemap->mark_tile_dirty(offset);
122
126
}
123
127
 
124
128
 
125
 
static WRITE8_HANDLER( jokrwild_colorram_w )
 
129
WRITE8_MEMBER(jokrwild_state::jokrwild_colorram_w)
126
130
{
127
 
        jokrwild_state *state = space->machine().driver_data<jokrwild_state>();
128
 
        state->m_colorram[offset] = data;
129
 
        state->m_bg_tilemap->mark_tile_dirty(offset);
 
131
        m_colorram[offset] = data;
 
132
        m_bg_tilemap->mark_tile_dirty(offset);
130
133
}
131
134
 
132
135
 
176
179
*    Read/Write  Handlers    *
177
180
*****************************/
178
181
 
179
 
static READ8_HANDLER( rng_r )
 
182
READ8_MEMBER(jokrwild_state::rng_r)
180
183
{
181
 
        if(cpu_get_pc(&space->device()) == 0xab32)
 
184
        if(cpu_get_pc(&space.device()) == 0xab32)
182
185
                return (offset == 0) ? 0x9e : 0x27;
183
186
 
184
 
        if(cpu_get_pc(&space->device()) == 0xab3a)
 
187
        if(cpu_get_pc(&space.device()) == 0xab3a)
185
188
                return (offset == 2) ? 0x49 : 0x92;
186
189
 
187
 
        return space->machine().rand() & 0xff;
 
190
        return machine().rand() & 0xff;
188
191
}
189
192
 
190
193
/*************************
191
194
* Memory Map Information *
192
195
*************************/
193
196
 
194
 
static ADDRESS_MAP_START( jokrwild_map, AS_PROGRAM, 8 )
195
 
        AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(jokrwild_videoram_w) AM_BASE_MEMBER(jokrwild_state, m_videoram)
 
197
static ADDRESS_MAP_START( jokrwild_map, AS_PROGRAM, 8, jokrwild_state )
 
198
        AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(jokrwild_videoram_w) AM_SHARE("videoram")
196
199
        AM_RANGE(0x0400, 0x07ff) AM_RAM //FIXME: backup RAM
197
 
        AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(jokrwild_colorram_w) AM_BASE_MEMBER(jokrwild_state, m_colorram)
 
200
        AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(jokrwild_colorram_w) AM_SHARE("colorram")
198
201
        AM_RANGE(0x2400, 0x27ff) AM_RAM //stack RAM
199
 
        AM_RANGE(0x4004, 0x4007) AM_DEVREADWRITE_MODERN("pia0", pia6821_device, read, write)
200
 
        AM_RANGE(0x4008, 0x400b) AM_DEVREADWRITE_MODERN("pia1", pia6821_device, read, write) //optical sensor is here
 
202
        AM_RANGE(0x4004, 0x4007) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
 
203
        AM_RANGE(0x4008, 0x400b) AM_DEVREADWRITE("pia1", pia6821_device, read, write) //optical sensor is here
201
204
//  AM_RANGE(0x4010, 0x4010) AM_READNOP /* R ???? */
202
 
        AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_MODERN("crtc", mc6845_device, address_w)
203
 
        AM_RANGE(0x6001, 0x6001) AM_DEVREADWRITE_MODERN("crtc", mc6845_device, register_r, register_w)
 
205
        AM_RANGE(0x6000, 0x6000) AM_DEVWRITE("crtc", mc6845_device, address_w)
 
206
        AM_RANGE(0x6001, 0x6001) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
204
207
        AM_RANGE(0x6100, 0x6100) AM_READ_PORT("SW1")
205
208
        AM_RANGE(0x6200, 0x6203) AM_READ(rng_r)//another PIA?
206
209
        AM_RANGE(0x6300, 0x6300) AM_READ_PORT("SW2")
550
553
*****************************************************************************/
551
554
{
552
555
        int i, offs;
553
 
        UINT8 *srcp = machine.region( "maincpu" )->base();
 
556
        UINT8 *srcp = machine.root_device().memregion( "maincpu" )->base();
554
557
 
555
558
        for (i = 0x8000; i < 0x10000; i++)
556
559
        {