trunk/src/mame/drivers/flower.c
| r25346 | r25347 | |
| 39 | 39 | 14 19E " " |
| 40 | 40 | |
| 41 | 41 | Upright or Cocktail cabinet |
| 42 | | Two 8-Way joysticks with three (3) fire buttons each |
| 42 | Two 4-Way joysticks with three (3) fire buttons each |
| 43 | 43 | |
| 44 | 44 | Button 1: Laser Button 2: Missle Button 3: Cutter |
| 45 | 45 | |
| r25346 | r25347 | |
| 194 | 194 | PORT_DIPSETTING( 0x00, "50k, then every 80k" ) |
| 195 | 195 | |
| 196 | 196 | PORT_START("IN0CPU1") |
| 197 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY |
| 198 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY |
| 199 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY |
| 200 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY |
| 197 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY |
| 198 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| 199 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY |
| 200 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 201 | 201 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Laser") |
| 202 | 202 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Missile") |
| 203 | 203 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 Cutter") |
| 204 | 204 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 205 | 205 | |
| 206 | 206 | PORT_START("IN1CPU1") |
| 207 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL |
| 208 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL |
| 209 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL |
| 210 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL |
| 207 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 208 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 209 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 210 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 211 | 211 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Laser") |
| 212 | 212 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Missile") |
| 213 | 213 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Cutter") |
| r25346 | r25347 | |
| 250 | 250 | // cpus are Z80 "A" type, official maximum speed of 4 MHz, but 4.6 MHz has been proven to work in practice |
| 251 | 251 | MCFG_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/4) |
| 252 | 252 | MCFG_CPU_PROGRAM_MAP(flower_cpu1_2) |
| 253 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", flower_state, irq0_line_hold) |
| 253 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flower_state, irq0_line_hold) |
| 254 | 254 | |
| 255 | 255 | MCFG_CPU_ADD("subcpu", Z80,XTAL_18_432MHz/4) |
| 256 | 256 | MCFG_CPU_PROGRAM_MAP(flower_cpu1_2) |
| 257 | | MCFG_CPU_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 120) // controls game speed? irqsource and frequency unknown |
| 257 | MCFG_CPU_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 120) // controls game speed? irqsource and frequency unknown |
| 258 | 258 | |
| 259 | 259 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_18_432MHz/4) |
| 260 | 260 | MCFG_CPU_PROGRAM_MAP(flower_sound_cpu) |
| 261 | | MCFG_CPU_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 90) // controls music speed. irqsource and frequency unknown, same as subcpu perhaps? |
| 261 | MCFG_CPU_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 90) // controls music speed. irqsource and frequency unknown, same as subcpu perhaps? |
| 262 | 262 | |
| 263 | 263 | // tight sync, slowdowns otherwise |
| 264 | 264 | // MCFG_QUANTUM_PERFECT_CPU("maincpu") |
| r25346 | r25347 | |
| 266 | 266 | |
| 267 | 267 | /* video hardware */ |
| 268 | 268 | MCFG_SCREEN_ADD("screen", RASTER) |
| 269 | | MCFG_SCREEN_REFRESH_RATE(60) // ? |
| 269 | MCFG_SCREEN_REFRESH_RATE(60) // ? |
| 270 | 270 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 271 | 271 | MCFG_SCREEN_SIZE(34*8, 33*8) |
| 272 | 272 | MCFG_SCREEN_VISIBLE_AREA(0*8, 34*8-1, 0*8, 28*8-1) |
| 273 | 273 | MCFG_SCREEN_UPDATE_DRIVER(flower_state, screen_update_flower) |
| 274 | 274 | |
| 275 | 275 | MCFG_GFXDECODE(flower) |
| 276 | | |
| 277 | 276 | MCFG_PALETTE_LENGTH(256) |
| 278 | 277 | |
| 279 | | |
| 280 | 278 | /* sound hardware */ |
| 281 | 279 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 282 | 280 | |