~ubuntu-branches/debian/wheezy/mame/wheezy

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Jordi Mallach, Emmanuel Kasper, Félix Arreola Rodríguez, Jordi Mallach
  • Date: 2011-05-11 21:06:50 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20110511210650-jizvh8a6x117y9hr
Tags: 0.142-1
[ Emmanuel Kasper ]
* New upstream release
* Set NOWERROR=1 to allow compiling with gcc-4.6
* Remove fix_powerpc_build.patch, as upstream has taken it in this release
* Add gnome-video-arcade front end as a suggested package

[ Félix Arreola Rodríguez ]
* Add kfreebsd-build.patch to quilt series, to fix build on kfreebsd

[ Jordi Mallach ]
* Remove unneeded and bogus addition of --with-quilt to the dh invocation.
* Add Cesare Falco (long time Ubuntu maintainer) to Uploaders, and wrap
  them into multiple lines.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Rotary Fighter
 
1
/* Rotary Fighter, 01/1979, Kasco (Kansai Seiki Seisakusho Co.)
 
2
 board KIV-101 CPU: xtal(??mhz), i8085A, 40 pin IC(i8255?), 6*ROM, 1*RAM, DIP(8 switches), ..
 
3
 board KIV-101 CRT: 2*RAM, lots of 74xx TTL
2
4
 
3
5
driver by Barry Rodewald
4
6
 based on Initial work by David Haywood
15
17
#include "cpu/i8085/i8085.h"
16
18
 
17
19
 
18
 
static UINT8 *rotaryf_videoram;
19
 
static size_t rotaryf_videoram_size;
 
20
class rotaryf_state : public driver_device
 
21
{
 
22
public:
 
23
        rotaryf_state(running_machine &machine, const driver_device_config_base &config)
 
24
                : driver_device(machine, config) { }
 
25
 
 
26
        UINT8 *m_videoram;
 
27
        size_t m_videoram_size;
 
28
};
 
29
 
 
30
 
 
31
 
20
32
 
21
33
 
22
34
 
28
40
 
29
41
static INTERRUPT_GEN( rotaryf_interrupt )
30
42
{
31
 
        if (device->machine->primary_screen->vblank())
32
 
                cpu_set_input_line(device, I8085_RST55_LINE, HOLD_LINE);
 
43
        if (device->machine().primary_screen->vblank())
 
44
                device_set_input_line(device, I8085_RST55_LINE, HOLD_LINE);
33
45
        else
34
46
        {
35
 
                cpu_set_input_line(device, I8085_RST75_LINE, ASSERT_LINE);
36
 
                cpu_set_input_line(device, I8085_RST75_LINE, CLEAR_LINE);
 
47
                device_set_input_line(device, I8085_RST75_LINE, ASSERT_LINE);
 
48
                device_set_input_line(device, I8085_RST75_LINE, CLEAR_LINE);
37
49
        }
38
50
}
39
51
 
45
57
 *
46
58
 *************************************/
47
59
 
48
 
static VIDEO_UPDATE( rotaryf )
 
60
static SCREEN_UPDATE( rotaryf )
49
61
{
 
62
        rotaryf_state *state = screen->machine().driver_data<rotaryf_state>();
50
63
        offs_t offs;
51
64
 
52
 
        for (offs = 0; offs < rotaryf_videoram_size; offs++)
 
65
        for (offs = 0; offs < state->m_videoram_size; offs++)
53
66
        {
54
67
                int i;
55
68
 
56
69
                UINT8 x = offs << 3;
57
70
                int y = offs >> 5;
58
 
                UINT8 data = rotaryf_videoram[offs];
 
71
                UINT8 data = state->m_videoram[offs];
59
72
 
60
73
                for (i = 0; i < 8; i++)
61
74
                {
71
84
}
72
85
 
73
86
 
74
 
static ADDRESS_MAP_START( rotaryf_map, ADDRESS_SPACE_PROGRAM, 8 )
 
87
static ADDRESS_MAP_START( rotaryf_map, AS_PROGRAM, 8 )
75
88
        AM_RANGE(0x0000, 0x17ff) AM_MIRROR(0x4000) AM_ROM
76
89
//  AM_RANGE(0x6ffb, 0x6ffb) AM_READ(random_r) ??
77
90
//  AM_RANGE(0x6ffd, 0x6ffd) AM_READ(random_r) ??
78
91
//  AM_RANGE(0x6fff, 0x6fff) AM_READ(random_r) ??
79
92
        AM_RANGE(0x7000, 0x73ff) AM_RAM // clears to 1ff ?
80
 
        AM_RANGE(0x8000, 0x9fff) AM_MIRROR(0x4000) AM_RAM AM_BASE(&rotaryf_videoram) AM_SIZE(&rotaryf_videoram_size)
 
93
        AM_RANGE(0x8000, 0x9fff) AM_MIRROR(0x4000) AM_RAM AM_BASE_MEMBER(rotaryf_state, m_videoram) AM_SIZE_MEMBER(rotaryf_state, m_videoram_size)
81
94
        AM_RANGE(0xa000, 0xa1ff) AM_RAM
82
95
ADDRESS_MAP_END
83
96
 
84
 
static ADDRESS_MAP_START( rotaryf_io_map, ADDRESS_SPACE_IO, 8 )
 
97
static ADDRESS_MAP_START( rotaryf_io_map, AS_IO, 8 )
85
98
//  AM_RANGE(0x00, 0x00) AM_READ_PORT("UNK")
86
99
        AM_RANGE(0x21, 0x21) AM_READ_PORT("COIN")
87
100
        AM_RANGE(0x26, 0x26) AM_READ_PORT("DSW")
148
161
INPUT_PORTS_END
149
162
 
150
163
 
151
 
static MACHINE_CONFIG_START( rotaryf, driver_device )
 
164
static MACHINE_CONFIG_START( rotaryf, rotaryf_state )
152
165
 
153
166
        /* basic machine hardware */
154
 
        MCFG_CPU_ADD("maincpu",I8085A,4000000) /* 8080? */ /* 2 MHz? */
 
167
        MCFG_CPU_ADD("maincpu",I8085A,4000000) /* ?? MHz */
155
168
        MCFG_CPU_PROGRAM_MAP(rotaryf_map)
156
169
        MCFG_CPU_IO_MAP(rotaryf_io_map)
157
170
        MCFG_CPU_VBLANK_INT_HACK(rotaryf_interrupt,5)
158
171
 
159
172
        /* video hardware */
160
 
        MCFG_VIDEO_UPDATE(rotaryf)
161
 
 
162
173
        MCFG_SCREEN_ADD("screen", RASTER)
163
174
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
164
175
        MCFG_SCREEN_SIZE(32*8, 262)             /* vert size is a guess, taken from mw8080bw */
165
176
        MCFG_SCREEN_VISIBLE_AREA(1*8, 30*8-1, 0*8, 32*8-1)
166
177
        MCFG_SCREEN_REFRESH_RATE(60)
 
178
        MCFG_SCREEN_UPDATE(rotaryf)
167
179
 
168
180
MACHINE_CONFIG_END
169
181
 
179
191
ROM_END
180
192
 
181
193
 
182
 
GAME( 19??, rotaryf, 0, rotaryf, rotaryf, 0, ROT270, "<unknown>", "Rotary Fighter", GAME_NO_SOUND )
 
194
GAME( 1979, rotaryf, 0, rotaryf, rotaryf, 0, ROT270, "Kasco", "Rotary Fighter", GAME_NO_SOUND )