Previous 199869 Revisions Next

r18469 Thursday 11th October, 2012 at 21:53:52 UTC by hap
invrvnge dips 5,6,7 are read from IN0 (info from misfitmame)
also, put driver notes in one big comment section instead of /* separate lines */, and got rid of (very incomplete anyway)changelog
[src/mame/drivers]8080bw.c

trunk/src/mame/drivers/8080bw.c
r18468r18469
1/****************************************************************************/
2/*                                                                          */
3/*  8080bw.c                                                                */
4/*                                                                          */
5/*  Michael Strutts, Nicola Salmoria, Tormod Tjaberg, Mirko Buffoni         */
6/*  Lee Taylor, Valerio Verrando, Marco Cassili, Zsolt Vasvari and others   */
7/*                                                                          */
8/*                                                                          */
9/*  Notes:                                                                  */
10/*  -----                                                                   */
11/*                                                                          */
12/*  - Space Invaders Deluxe still says Space Invaders Part II,              */
13/*    because according to KLOV, Midway was only allowed to make minor      */
14/*    modifications of the Taito code.                                      */
15/*                                                                          */
16/*  - DIP Locations verified from manual for:                               */
17/*      -sitv                                                               */
18/*      -sicv                                                               */
19/*      -invadpt2                                                           */
20/*      -lrescue                                                            */
21/*      -invasion                                                           */
22/*                                                                          */
23/*  - The Taito Space invaders hardware comes on at least five board types;
1/*****************************************************************************
2
3    8080bw.c
4
5    Michael Strutts, Nicola Salmoria, Tormod Tjaberg, Mirko Buffoni
6    Lee Taylor, Valerio Verrando, Marco Cassili, Zsolt Vasvari and others
7
8
9    Notes:
10    -----
11
12    - Space Invaders Deluxe still says Space Invaders Part II,
13      because according to KLOV, Midway was only allowed to make minor
14      modifications of the Taito code.
15
16    - DIP settings/locations verified from manual for:
17      sitv, sicv, invadpt2, lrescue, invasion, invrvnge
18
19    - The Taito Space invaders hardware comes on at least five board types;
2420      The Taito manufactured ones are:
2521      * The "L-shaped" PCB set, Upright, B&W only
2622      * Three pcbs in a stack, often called the '3 layer pcb set' (most common)
r18468r18469
104100         UV1, UV2, UV3, UV4, UV5, UV6, UV7, UV8, UV9, UV10 w/proms - undumped (probably same as pvxx set just split differently)
105101         PV01, PV02, PV03, PV04, PV05 w/proms - invadpt2
106102
107      - Midway PCB sets: (cursory descripton)
108         NOTE: The discrete components, particularly for the shot sound, differ between Taito and Midway audio daughterboards.
109         TODO: figure out the difference between the Taito and Midway discrete boards and emulate them both properly. Figure out what the current discrete setup is trying to emulate.
110         * All Midway Space Invaders games ([Space Invader Upright], [Space Invader Cocktail], [Deluxe Space Invaders Upright], [Deluxe Space Invaders Cocktail], and [Space Invaders II]) use the same 8080 mainboard, with no emulation-relevant differences between revisions.
111         * [Space Invaders II] from Midway (only produced as a cocktail) uses an extra sound board for the simultaneous 2 player head-to-head sounds.
112         TODO: remove Space Invader 'invaders' set from mw8080bw.c, it does not belong there at all
103    - Midway PCB sets: (cursory descripton)
104      * All Midway Space Invaders games ([Space Invader Upright], [Space Invader Cocktail],
105        [Deluxe Space Invaders Upright], [Deluxe Space Invaders Cocktail], and [Space Invaders II])
106        use the same 8080 mainboard, with no emulation-relevant differences between revisions.
107      * [Space Invaders II] from Midway (only produced as a cocktail) uses
108        an extra sound board for the simultaneous 2 player head-to-head sounds.
113109
114      - Taito-USA-made 'trimline' PCBS do not match the taito pcbs either.
115*/
116/*  To Do:                                                                  */
117/*  -----                                                                   */
118/*                                                                          */
119/*  - Space Chaser (schaser)                                                */
120/*    1. The "missile" sound is incorrect. This is how it should be:        */
121/*       It should be a constant "klunkity-klunk", and should only be       */
122/*       heard while missiles are seen to be moving.  When the red          */
123/*       missiles speed up, there should be more "klunks per second"        */
124/*       with the pitch staying constant.                                   */
125/*      8/8/8 D.R. - Who says?  According to the schematic the sounds are   */
126/*       correct.  Make a video showing otherwise or trace SX0 & SX1 on     */
127/*       a real PCB to find the difference.                                 */
128/*       Currently it beeps every time a player eats a dot.  Seems right.   */
129/*    2. If "Hard" mode is selected, numerous bugs appear which             */
130/*       could be either an emulation fault or a bad rom. Some              */
131/*       bugs are:                                                          */
132/*       a. Graphic error halfway up the left side                          */
133/*       b. Score adds or subtracts random amounts                          */
134/*       c. Score not cleared when starting a new game                      */
135/*       d. Game begins on the wrong level                                  */
136/*                                                                          */
137/*  - Space War (Sanritsu)                                                  */
138/*                                                                          */
139/*    1. I seem to recall that the flashing ufo had its own sample          */
140/*       sound, a sort of rattling noise. Unable to find evidence           */
141/*       of this (so far).                                                  */
142/*                                                                          */
143/*                                                                          */
144/* Change Log:                                                              */
145/* ----------                                                               */
146/*                                                                          */
147/* 24 Dec 1998 - added sitv [LT]                                            */
148/*                                                                          */
149/* 21 Nov 1999 - added spacewar3 [LT]                                       */
150/*                                                                          */
151/* 26 May 2001 - added galxwars                                             */
152/*                     galxwar2 (galxwars2)                                 */
153/*                     jspectr2 (jspecter2)                                 */
154/*                     ozmawar2 (ozmawars2)                                 */
155/*                     spaceatt                                             */
156/*                     sstrangr                                             */
157/*                                                                          */
158/* 26 May 2001 - changed galxwars input port so the new sets work           */
159/*                                                                          */
160/* 30 Jul 2001 - added sstrngr2                                             */
161/*                                                                          */
162/* 17 Jul 2006 - schaser - connect up prom - fix dipswitches                */
163/*               schasrcv (schasercv) - allow bottom line to show on screen */
164/*                                                                          */
165/*                                                                          */
166/* 10 Sep 2006 - invadpt2 - add name reset button                           */
167/*               spcewars - add bitstream circuit, fix dipswitches          */
168/*                                                                          */
169/*                                                                          */
170/* 13 Dec 2006 - add PRELIMINARY sound support and documentation to:        */
171/*               rollingc, spcenctr, gunfight, m4, gmissile,                */
172/*               schasrcv (schasercv), 280zzzap, lagunar, lupin3, phantom2, */
173/*               blueshrk, desertgu, ballbomb, yosakdon/yosakdoa (yosakdona)*/
174/*               shuttlei, invrvnge/invrvnga (invrvngea).                   */
175/*               Documented indianbt sound. Removed NO_SOUND flag from      */
176/*               cosmo and dogpatch as the sound was already working.       */
177/*               [Robert]                                                   */
178/*                                                                          */
179/* 02 May 2007 - Major clean-up of driver and video system                  */
180/*                                                                          */
181/****************************************************************************/
110    - Taito-USA-made 'trimline' PCBS do not match the taito pcbs either.
182111
112
113    To Do:
114    -----
115
116    - Midway PCB sets
117      * The discrete components, particularly for the shot sound, differ
118        between Taito and Midway audio daughterboards.
119        + Figure out the difference between the Taito and Midway discrete
120          boards and emulate them both properly.
121        + Figure out what the current discrete setup is trying to emulate.
122      * Remove Space Invaders 'invaders' set from mw8080bw.c, it does not belong
123        there at all
124
125    - Space Chaser (schaser)
126      1. The "missile" sound is incorrect. This is how it should be:
127         It should be a constant "klunkity-klunk", and should only be
128         heard while missiles are seen to be moving.  When the red
129         missiles speed up, there should be more "klunks per second"
130         with the pitch staying constant.
131        8/8/8 D.R. - Who says?  According to the schematic the sounds are
132         correct.  Make a video showing otherwise or trace SX0 & SX1 on
133         a real PCB to find the difference.
134         Currently it beeps every time a player eats a dot.  Seems right.
135      2. If "Hard" mode is selected, numerous bugs appear which
136         could be either an emulation fault or a bad rom. Some
137         bugs are:
138         a. Graphic error halfway up the left side
139         b. Score adds or subtracts random amounts
140         c. Score not cleared when starting a new game
141         d. Game begins on the wrong level
142
143    - Space War (Sanritsu)
144      * I seem to recall that the flashing ufo had its own sample
145        sound, a sort of rattling noise. Unable to find evidence
146        of this (so far).
147
148*****************************************************************************/
149
183150#include "emu.h"
184151#include "cpu/m6800/m6800.h"
185152#include "cpu/i8085/i8085.h"
r18468r18469
638605
639606static INPUT_PORTS_START( invrvnge )
640607   PORT_START("IN0")
641   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
642   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
643   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
644   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
645   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
646   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
647   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
648   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
608   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
609   PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) )      PORT_DIPLOCATION("SW1:5,6")
610   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
611   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
612   PORT_DIPSETTING(    0x04, DEF_STR( Harder ) )
613   PORT_DIPSETTING(    0x06, DEF_STR( Hardest ) )
614   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // must be low or game won't boot [code: 0x1a9-1af]
615   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
616   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
617   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
618   PORT_DIPNAME( 0x80, 0x80, "Fuel Destroyed by Comet" )   PORT_DIPLOCATION("SW1:7")
619   PORT_DIPSETTING(    0x00, "3" )
620   PORT_DIPSETTING(    0x80, "6" )
649621
650622   PORT_START("IN1")
651623   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )
r18468r18469
653625   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
654626   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
655627   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
656   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
628   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
657629   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
658630   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
659631
r18468r18469
667639   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )      PORT_DIPLOCATION("SW1:4")
668640   PORT_DIPSETTING(    0x00, "1500" )
669641   PORT_DIPSETTING(    0x08, "2000" )
670
671#if 0
672   PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )      PORT_DIPLOCATION("SW1:5,6")
673   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
674   PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
675   PORT_DIPSETTING(    0x20, DEF_STR( Harder ) )
676   PORT_DIPSETTING(    0x30, DEF_STR( Hardest ) )
677   PORT_DIPNAME( 0x40, 0x40, "Fuel Destroyed by Comet" )   PORT_DIPLOCATION("SW1:7")
678   PORT_DIPSETTING(    0x00, "3" )
679   PORT_DIPSETTING(    0x40, "6" )
680#else
681642   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
682   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
643   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(2)
683644   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(2)
684#endif
685
686
687645   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coinage ) )         PORT_DIPLOCATION("SW1:8")
688646   PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) ) // 1 play 10p, 2 play 20p, 6 play 50p
689647   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) ) // 1 play 20p, 2 play 40p, 3 play 50p

Previous 199869 Revisions Next


© 1997-2024 The MAME Team