Previous 199869 Revisions Next

r23636 Tuesday 11th June, 2013 at 17:50:59 UTC by hap
revert prev commit for now...
[src/mame/drivers]galaxian.c galdrvr.c
[src/mame/includes]galaxian.h
[src/mame/video]galaxian.c

trunk/src/mame/video/galaxian.c
r23635r23636
236236void galaxian_state::palette_init()
237237{
238238   const UINT8 *color_prom = memregion("proms")->base();
239   int rgb_resistances[3];
239   static const int rgb_resistances[3] = { 1000, 470, 220 };
240240   double rweights[3], gweights[3], bweights[2];
241   int i, minval, midval, maxval, maxres, len;
241   int i, minval, midval, maxval, len;
242242   UINT8 starmap[4];
243243
244244   /*
r23635r23636
267267       of the main game would be very low to allow for all the oversaturation
268268       of the stars and shells/missiles.
269269   */
270   
271   // official Namco PCB used 330 ohm resistors instead of the 220 ohm ones
272   switch (m_color_resnet_type)
273   {
274      case GALAXIAN_RESNET_TYPE_NAMCO:
275         rgb_resistances[0] = 1000;
276         rgb_resistances[1] = 470;
277         rgb_resistances[2] = 330;
278         break;
279
280      default:
281         rgb_resistances[0] = 1000;
282         rgb_resistances[1] = 470;
283         rgb_resistances[2] = 220;
284         break;
285   }
286   
287270   compute_resistor_weights(0, RGB_MAXIMUM, -1.0,
288271         3, &rgb_resistances[0], rweights, 470, 0,
289272         3, &rgb_resistances[0], gweights, 470, 0,
r23635r23636
330313       Since we can't saturate that high, we instead approximate this
331314       by compressing the values proportionally into the 194->255 range.
332315   */
333   maxres = 1.0 / (1.0/rgb_resistances[0] + 1.0/rgb_resistances[1] + 1.0/rgb_resistances[2]);
334   minval = RGB_MAXIMUM * maxres / 150;
335   midval = RGB_MAXIMUM * maxres / 100;
336   maxval = RGB_MAXIMUM * maxres / 60;
316   minval = RGB_MAXIMUM * 130 / 150;
317   midval = RGB_MAXIMUM * 130 / 100;
318   maxval = RGB_MAXIMUM * 130 / 60;
337319
338320   /* compute the values for each of 4 possible star values */
339321   starmap[0] = 0;
trunk/src/mame/includes/galaxian.h
r23635r23636
2828#define GALAXIAN_VBEND          (16)
2929#define GALAXIAN_VBSTART        (224+16)
3030
31enum
32{
33   GALAXIAN_RESNET_TYPE_MIDWAY,
34   GALAXIAN_RESNET_TYPE_NAMCO
35};
3631
37
3832class galaxian_state : public driver_device
3933{
4034public:
r23635r23636
5953   int m_bullets_base;
6054   int m_sprites_base;
6155   int m_numspritegens;
62   int m_color_resnet_type;
6356   int m_counter_74ls161[2];
6457   int m_direction[2];
6558   UINT8 m_gmgalax_selected_game;
r23635r23636
189182   DECLARE_WRITE8_MEMBER(kingball_dac_w);
190183   DECLARE_WRITE8_MEMBER(moonwar_port_select_w);
191184   DECLARE_DRIVER_INIT(galaxian);
192   DECLARE_DRIVER_INIT(galaxiann);
193185   DECLARE_DRIVER_INIT(nolock);
194186   DECLARE_DRIVER_INIT(azurian);
195187   DECLARE_DRIVER_INIT(gmgalax);
trunk/src/mame/drivers/galdrvr.c
r23635r23636
69046904 *************************************/
69056905
69066906/* basic galaxian hardware */
6907GAME( 1979, galaxian,   0,        galaxian, galaxian, galaxian_state, galaxiann, ROT90,  "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE )
6908GAME( 1979, galaxiana,  galaxian, galaxian, superg,   galaxian_state, galaxiann, ROT90,  "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE )
6909GAME( 1979, galaxiant,  galaxian, galaxian, superg,   galaxian_state, galaxiann, ROT90,  "Namco (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE )
6910GAME( 1979, galaxianm,  galaxian, galaxian, galaxian, galaxian_state, galaxian,  ROT90,  "Namco (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE )
6911GAME( 1979, galaxianmo, galaxian, galaxian, galaxian, galaxian_state, galaxian,  ROT90,  "Namco (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE )
6907GAME( 1979, galaxian,   0,        galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE )
6908GAME( 1979, galaxiana,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE )
6909GAME( 1979, galaxianm,  galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE )
6910GAME( 1979, galaxianmo, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE )
6911GAME( 1979, galaxiant,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE )
69126912
69136913/* straight Galaxian ripoffs on basic galaxian hardware */
69146914GAME( 1979, moonaln,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco / Nichibutsu (Karateco license?)", "Moon Alien", GAME_SUPPORTS_SAVE ) // or bootleg?
trunk/src/mame/drivers/galaxian.c
r23635r23636
27592759{
27602760   m_irq_enabled = 0;
27612761   m_irq_line = INPUT_LINE_NMI;
2762   m_color_resnet_type = GALAXIAN_RESNET_TYPE_MIDWAY;
27632762   m_numspritegens = 1;
27642763   m_bullets_base = 0x60;
27652764   m_sprites_base = 0x40;
r23635r23636
27952794}
27962795
27972796
2798DRIVER_INIT_MEMBER(galaxian_state,galaxiann)
2799{
2800   DRIVER_INIT_CALL(galaxian);
2801
2802   /* Namco PCB had a slightly different color prom resnet */
2803   m_color_resnet_type = GALAXIAN_RESNET_TYPE_NAMCO;
2804}
2805
2806
28072797DRIVER_INIT_MEMBER(galaxian_state,nolock)
28082798{
28092799   address_space &space = m_maincpu->space(AS_PROGRAM);
r23635r23636
33103300
33113301   /* video extensions */
33123302   common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, NULL, NULL);
3313   
3314   /* Namco PCB had a slightly different color prom resnet */
3315   m_color_resnet_type = GALAXIAN_RESNET_TYPE_NAMCO;
33163303
33173304   /* disable the stars */
33183305   space.unmap_write(0xb004, 0xb004, 0, 0x07f8);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team