summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/gal3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gal3.cpp')
-rw-r--r--src/mame/drivers/gal3.cpp907
1 files changed, 0 insertions, 907 deletions
diff --git a/src/mame/drivers/gal3.cpp b/src/mame/drivers/gal3.cpp
deleted file mode 100644
index c057abd26d1..00000000000
--- a/src/mame/drivers/gal3.cpp
+++ /dev/null
@@ -1,907 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Naibo Zhang
-/* Galaxian 3
-
- -- bootable driver --
- by Naibo Zhang, April 2009
-
-
- System Overview:
-
- This is a Scaleable, Multi-CPU and Multi-User System.
- The largest scale configuration known so far was capable of 28(!) players and 16 screens wraped around. (retaired in the early 2000's)
-
- System has one Master 68020 CPU Board for game play, and one or more Slave 68020 CPU Boards for graphics.
-
- The Master CPU communicates with (one or more)Slave CPUs via multi-port shared RAM, the "C-RAM board".
- Each C-RAM board is configured as 2 banks of Triple-Port Static RAM Units. The 2 Master-CPU-Port of the 2 RAM banks
- are joined together, leaving 4 Slave-CPU-Ports. More than one C-RAM boards can be chained together.
-
- The Master CPU controls a Sound Board and a RSO board. RSO board contains Namco 139 serial communication ICs (x9 pieces),
- connecting to several "Personal Boards" (Player-Terminals), which handle players' input and vibration/lamp feedback.
- Each the Sound board, the RSO board, and the Personal board has their own 68000 CPU.
-
- Slave CPU connects to a cluster of namcos21-type video board sets: DSP-PGN-OBJ. A DSP board has 5x TMS320C25 running at 40MHz.
-
- Every 68020 CPU board has 512KB of local Hi-Speed SRAM. Most code/data required by the Slave CPU sub-system are
- uploaded from the Master CPU's ROM. Among them are:
- Slave CPU program, DSP program, Calculation Tables, Vertex Array Index, Palette, 2D Sprite Data, etc.
-
- The current dumped system supports 6 players. It has 2x 68020, 5x 68000 and 10x TMS320C25.
-
-
- System Diagram:
- ---------------
- Serial Comm Cable
- Master 68020 -------- RSO 68000, 9x Namco 139 SCI ICs <==============================> Personal Board 68000
- | | ........ more personal boards.........
- | | ........ more personal boards.........
- | |
- | |-------- Sound 68000, 4x Namco 140 ICs
- |---------|
- | C-RAM |
- | #-# #-# |
- |---------|
- | | | |
- | | | |------- Slave 68020
- | | | |-------- 1x master DSP, 4x slave DSPs, Polygon, 2D Sprite ------> V-MIX board -----> SCREEN
- | | | |-------- ........ more video boards ......... (max 2 per slave?) |
- | | | LD Player
- | | |
- | | |------- ........ more slave 68020s .........
- | |
- | |------- ........ more slave 68020s .........
- |
- |------- ........ more slave 68020s .........
-
-
-
- * Thanks DarthNuno for scaning hi-quality PCB pictures.
- http://www.dragonslairfans.com/
-
----------------------------------------------------------------------------------
-
- the hardware sits somewhere between Namco S21 and Namco S22
- multiple boards are used to drive multiple screens and multiple laserdiscs
-
- the version here is for a 2 screen system
-
- ------- info from Andy -------------
-
-
-Namco 'Galaxian 3 - Theater 6 : Project Dragoon'
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Dumped by:
-Andrew Welburn
-http://www.andys-arcade.com
-on a cold evening 21/11/08
-
-
-This romset was obtained from a 'spares' set of pcbs, the pcbs were never
-used in a game, and the set included one of every type of pcb in the machine.
-This means that there were 11 pcbs of 17 needed for a full set. The
-additional 6 pcbs are all duplicates of pcbs in the set (see, what i got
-was a 'spares' set ;)
-
-Anyway...
-
-from looking at Darth_nuno's photos, i can see that a full PCB set comprises :
-
-2x backplane pcbs
-2x CPU pcbs (one with master MST roms, one with slave SLV roms)
-1x CRAM pcb
-1x RS (RS0) pcb
-1x SOUND pcb
-2x OBJ pcb
-2x PGN pcb
-2x DSP pcb
-1x VMIX pcb
-3x PERSONAL pcbs
-
-This make 17 pcbs in total needed for a complete set running Zolgear.
-
-I have 11 pcbs (one of each type) one assumes it might be possible to run
-the game with what i have, but who knows.
-
-Darth_nuno's machine (and pcbs) are actually 'Attack of the Zolgear',
-the update 'kit' for 'Namco Galaxian 3 theater 6'.
-
-The pcb set i have dumped here is for a plain Galaxian 3 : Project Dragoon,
-all my rom labels differ from his, and they are different games.
-
-Of the 11 pcbs, 7 of them contain unique game roms. In order to keep
-things clear, i have kept the roms apart in separate folders, each
-folder contains a photo of the pcb itself and another text file
-containing location descriptions.
-
-enjoy.
-
-Andrew Welburn
-
-
---------------
-better notes (complete chip lists) for each board still needed
---------------
-
-*/
-
-#include "emu.h"
-
-#include "cpu/m68000/m68000.h"
-#include "cpu/tms32025/tms32025.h"
-#include "machine/nvram.h"
-#include "sound/c140.h"
-#include "rendlay.h"
-#include "speaker.h"
-#include "video/namco_c355spr.h"
-#include "machine/namcos21_dsp_c67.h"
-#include "video/namcos21_3d.h"
-#include "emupal.h"
-
-#define NAMCOS21_NUM_COLORS 0x8000
-
-class gal3_state : public driver_device
-{
-public:
- gal3_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag),
- m_c355spr(*this, "c355spr_%u", 1U),
- m_palette(*this, "palette_%u", 1U),
- m_rso_shared_ram(*this, "rso_shared_ram"),
- m_c140_16a(*this, "c140_16a"),
- m_c140_16g(*this, "c140_16g"),
- m_namcos21_3d(*this, "namcos21_3d_%u", 1U),
- m_namcos21_dsp_c67(*this, "namcos21dsp_c67_%u", 1U)
- { }
-
- void gal3(machine_config &config);
-
-protected:
- virtual void machine_start() override;
- virtual void video_start() override;
-
-private:
- required_device_array<namco_c355spr_device, 2> m_c355spr;
- required_device_array<palette_device, 2> m_palette;
- uint16_t m_video_enable[2];
- required_shared_ptr<uint16_t> m_rso_shared_ram;
- required_device<c140_device> m_c140_16a;
- required_device<c140_device> m_c140_16g;
-
- required_device_array<namcos21_3d_device, 2> m_namcos21_3d;
- required_device_array<namcos21_dsp_c67_device, 2> m_namcos21_dsp_c67;
-
- uint32_t m_led_mst;
- uint32_t m_led_slv;
-
- DECLARE_READ32_MEMBER(led_mst_r);
- DECLARE_WRITE32_MEMBER(led_mst_w);
- DECLARE_READ32_MEMBER(led_slv_r);
- DECLARE_WRITE32_MEMBER(led_slv_w);
- template<int Screen> DECLARE_READ16_MEMBER(video_enable_r);
- template<int Screen> DECLARE_WRITE16_MEMBER(video_enable_w);
- DECLARE_READ16_MEMBER(rso_r);
- DECLARE_WRITE16_MEMBER(rso_w);
-
- // using ind16 for now because namco_c355spr_device::zdrawgfxzoom does not support rgb32, will probably need to be improved for LD use
- uint32_t screen_update_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void cpu_mst_map(address_map &map);
- void cpu_slv_map(address_map &map);
- void psn_b1_cpu_map(address_map &map);
- void rs_cpu_map(address_map &map);
- void sound_cpu_map(address_map &map);
-};
-
-
-void gal3_state::machine_start()
-{
- save_item(NAME(m_led_mst));
- save_item(NAME(m_led_slv));
-}
-
-void gal3_state::video_start()
-{
- save_item(NAME(m_video_enable));
-}
-
-uint32_t gal3_state::screen_update_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(0xff, cliprect); // TODO : actually laserdisc layer
- screen.priority().fill(0, cliprect);
- m_c355spr[0]->get_sprites(); // TODO : buffered?
-
- int i;
- char mst[18], slv[18];
- static int pivot = 15;
- int pri;
-
- if( machine().input().code_pressed_once(KEYCODE_H)&&(pivot<15) ) pivot+=1;
- if( machine().input().code_pressed_once(KEYCODE_J)&&(pivot>0) ) pivot-=1;
-
- for( pri=0; pri<pivot; pri++ )
- {
- m_c355spr[0]->draw(screen, bitmap, cliprect, pri);
- }
-
-/* CopyVisiblePolyFrameBuffer( bitmap, cliprect,0,0x7fbf );
-
- for( pri=pivot; pri<15; pri++ )
- {
- m_c355spr[0]->draw(screen, bitmap, cliprect, pri);
- }*/
-
- // CPU Diag LEDs
- mst[17]='\0', slv[17]='\0';
-/// printf("mst=0x%x\tslv=0x%x\n", m_led_mst, m_led_slv);
- for(i=16;i<32;i++)
- {
- int t;
- if(i<24)
- t=i;
- else
- t=i+1;
- mst[8]=' '; slv[8]=' ';
-
- if(m_led_mst&(1<<i))
- mst[t-16]='*';
- else
- mst[t-16]='O';
-
- if(m_led_slv&(1<<i))
- slv[t-16]='*';
- else
- slv[t-16]='O';
- }
-
- popmessage("LED_MST: %s\nLED_SLV: %s\n2D Layer: 0-%d (Press H for +, J for -)\n", mst, slv, pivot);
-
- return 0;
-}
-
-uint32_t gal3_state::screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(0xff, cliprect); // TODO : actually laserdisc layer
- screen.priority().fill(0, cliprect);
- m_c355spr[1]->get_sprites(); // TODO : buffered?
-
- static int pivot = 15;
- int pri;
-
- if( machine().input().code_pressed_once(KEYCODE_H)&&(pivot<15) ) pivot+=1;
- if( machine().input().code_pressed_once(KEYCODE_J)&&(pivot>0) ) pivot-=1;
-
- for( pri=0; pri<pivot; pri++ )
- {
- m_c355spr[1]->draw(screen, bitmap, cliprect, pri);
- }
-
-/* CopyVisiblePolyFrameBuffer( bitmap, cliprect,0,0x7fbf );
-
- for( pri=pivot; pri<15; pri++ )
- {
- m_c355spr[1]->draw(screen, bitmap, cliprect, pri);
- }*/
-
- return 0;
-}
-
-
-/***************************************************************************************/
-
-READ32_MEMBER(gal3_state::led_mst_r)
-{
- return m_led_mst;
-}
-
-WRITE32_MEMBER(gal3_state::led_mst_w)
-{
- COMBINE_DATA(&m_led_mst);
-}
-
-READ32_MEMBER(gal3_state::led_slv_r)
-{
- return m_led_slv;
-}
-
-WRITE32_MEMBER(gal3_state::led_slv_w)
-{
- COMBINE_DATA(&m_led_slv);
-}
-
-template<int Screen>
-READ16_MEMBER(gal3_state::video_enable_r)
-{
- return m_video_enable[Screen];
-}
-
-template<int Screen>
-WRITE16_MEMBER(gal3_state::video_enable_w)
-{
- COMBINE_DATA(&m_video_enable[Screen]); // 0xff53, instead of 0x40 in namcos21
-}
-
-READ16_MEMBER(gal3_state::rso_r)
-{
- /*store $5555 @$0046, and readback @$0000
- read @$0144 and store at A6_21e & A4_5c
- Check @$009a==1 to start DEMO
- HACK*/
- return m_rso_shared_ram[offset];
-}
-
-WRITE16_MEMBER(gal3_state::rso_w)
-{
- COMBINE_DATA(&m_rso_shared_ram[offset]);
-}
-
-
-void gal3_state::cpu_mst_map(address_map &map)
-{
- map(0x00000000, 0x001fffff).rom();
- map(0x20000000, 0x20001fff).ram().share("nvmem"); //NVRAM
-/// map(0x40000000, 0x4000ffff).w(FUNC(gal3_state::)); //
- map(0x44000000, 0x44000003).portr("DSW_CPU_mst");
- map(0x44800000, 0x44800003).r(FUNC(gal3_state::led_mst_r)).w(FUNC(gal3_state::led_mst_w)); //LEDs
- map(0x48000000, 0x48000003).nopr(); //irq1 v-blank ack
- map(0x4c000000, 0x4c000003).nopr(); //irq3 ack
- map(0x60000000, 0x60007fff).ram().share("share1"); //CRAM
- map(0x60010000, 0x60017fff).ram().share("share1"); //Mirror
- map(0x80000000, 0x8007ffff).ram(); //512K Local RAM
-/// map(0xc0000000, 0xc000000b).nopw(); //upload?
- map(0xc000000c, 0xc000000f).nopr(); //irq2 ack
-/// map(0xd8000000, 0xd800000f).ram(); // protection or 68681?
- map(0xf2800000, 0xf2800fff).rw(FUNC(gal3_state::rso_r), FUNC(gal3_state::rso_w)); //RSO PCB
-}
-
-void gal3_state::cpu_slv_map(address_map &map)
-{
- map(0x00000000, 0x0007ffff).rom();
-/// map(0x40000000, 0x4000ffff).w(FUNC(gal3_state::)); //
- map(0x44000000, 0x44000003).portr("DSW_CPU_slv");
- map(0x44800000, 0x44800003).r(FUNC(gal3_state::led_slv_r)).w(FUNC(gal3_state::led_slv_w)); //LEDs
- map(0x48000000, 0x48000003).nopr(); //irq1 ack
-/// map(0x50000000, 0x50000003).rw(FUNC(gal3_state::), FUNC(gal3_state::));
-/// map(0x54000000, 0x54000003).rw(FUNC(gal3_state::), FUNC(gal3_state::));
- map(0x60000000, 0x60007fff).ram().share("share1");
- map(0x60010000, 0x60017fff).ram().share("share1");
- map(0x80000000, 0x8007ffff).ram(); //512K Local RAM
-
- // Video chain 1
- map(0xf1200000, 0xf120ffff).rw(m_namcos21_dsp_c67[0], FUNC(namcos21_dsp_c67_device::dspram16_r), FUNC(namcos21_dsp_c67_device::dspram16_hack_w));
- map(0xf1400000, 0xf1400003).w(m_namcos21_dsp_c67[0], FUNC(namcos21_dsp_c67_device::pointram_control_w));
- map(0xf1440000, 0xf1440003).rw(m_namcos21_dsp_c67[0], FUNC(namcos21_dsp_c67_device::pointram_data_r), FUNC(namcos21_dsp_c67_device::pointram_data_w));
- map(0xf1440004, 0xf147ffff).nopw();
- map(0xf1480000, 0xf14807ff).rw(m_namcos21_dsp_c67[0], FUNC(namcos21_dsp_c67_device::namcos21_depthcue_r), FUNC(namcos21_dsp_c67_device::namcos21_depthcue_w));
-
- map(0xf1700000, 0xf170ffff).rw(m_c355spr[0], FUNC(namco_c355spr_device::spriteram_r), FUNC(namco_c355spr_device::spriteram_w)).share("objram_1");
- map(0xf1720000, 0xf1720007).rw(m_c355spr[0], FUNC(namco_c355spr_device::position_r), FUNC(namco_c355spr_device::position_w));
- map(0xf1740000, 0xf174ffff).rw(m_palette[0], FUNC(palette_device::read16), FUNC(palette_device::write16)).share("palette_1");
- map(0xf1750000, 0xf175ffff).rw(m_palette[0], FUNC(palette_device::read16_ext), FUNC(palette_device::write16_ext)).share("palette_1_ext");
- map(0xf1760000, 0xf1760001).rw(FUNC(gal3_state::video_enable_r<0>), FUNC(gal3_state::video_enable_w<0>));
-
- // Video chain 2
- map(0xf2200000, 0xf220ffff).rw(m_namcos21_dsp_c67[1], FUNC(namcos21_dsp_c67_device::dspram16_r), FUNC(namcos21_dsp_c67_device::dspram16_hack_w));
- map(0xf2400000, 0xf2400003).w(m_namcos21_dsp_c67[1], FUNC(namcos21_dsp_c67_device::pointram_control_w));
- map(0xf2440000, 0xf2440003).rw(m_namcos21_dsp_c67[1], FUNC(namcos21_dsp_c67_device::pointram_data_r), FUNC(namcos21_dsp_c67_device::pointram_data_w));
- map(0xf2440004, 0xf247ffff).nopw();
- map(0xf2480000, 0xf24807ff).rw(m_namcos21_dsp_c67[1], FUNC(namcos21_dsp_c67_device::namcos21_depthcue_r), FUNC(namcos21_dsp_c67_device::namcos21_depthcue_w));
-
- map(0xf2700000, 0xf270ffff).rw(m_c355spr[1], FUNC(namco_c355spr_device::spriteram_r), FUNC(namco_c355spr_device::spriteram_w)).share("objram_2");
- map(0xf2720000, 0xf2720007).rw(m_c355spr[1], FUNC(namco_c355spr_device::position_r), FUNC(namco_c355spr_device::position_w));
- map(0xf2740000, 0xf274ffff).rw(m_palette[1], FUNC(palette_device::read16), FUNC(palette_device::write16)).share("palette_2");
- map(0xf2750000, 0xf275ffff).rw(m_palette[1], FUNC(palette_device::read16_ext), FUNC(palette_device::write16_ext)).share("palette_2_ext");
- map(0xf2760000, 0xf2760001).rw(FUNC(gal3_state::video_enable_r<1>), FUNC(gal3_state::video_enable_w<1>));
-}
-
-void gal3_state::rs_cpu_map(address_map &map)
-{
- map(0x000000, 0x03ffff).rom();
- map(0x100000, 0x10ffff).ram(); //64K working RAM
-
-/// map(0x180000, 0x183fff).ram(); //Nvram
-
- map(0x1c0000, 0x1c0001).ram(); //148?
- map(0x1c2000, 0x1c2001).ram(); //?
- map(0x1c4000, 0x1c4001).ram(); //?
- map(0x1c6000, 0x1c6001).ram(); //?
- map(0x1c8000, 0x1c8001).ram(); //?
- map(0x1ca000, 0x1ca001).ram(); //?
- map(0x1cc000, 0x1cc001).ram(); //?
- map(0x1ce000, 0x1ce001).ram(); //?
- map(0x1d2000, 0x1d2001).ram(); //?
- map(0x1d4000, 0x1d4001).ram(); //?
- map(0x1d6000, 0x1d6001).ram(); //?
- map(0x1de000, 0x1de001).ram(); //?
- map(0x1e4000, 0x1e4001).ram(); //?
- map(0x1e6000, 0x1e6001).ram(); //?
-
- map(0x200000, 0x200001).ram(); //?
-
- map(0x2c0000, 0x2c0001).ram(); //?
- map(0x2c0800, 0x2c0801).ram(); //?
- map(0x2c1000, 0x2c1001).ram(); //?
- map(0x2c1800, 0x2c1801).ram(); //?
- map(0x2c2000, 0x2c2001).ram(); //?
- map(0x2c2800, 0x2c2801).ram(); //?
- map(0x2c3000, 0x2c3001).ram(); //?
- map(0x2c3800, 0x2c3801).ram(); //?
- map(0x2c4000, 0x2c4001).ram(); //?
-
- map(0x300000, 0x300fff).ram().share("rso_shared_ram"); //shared RAM
-
- map(0x400000, 0x400017).ram(); //MC68681?
- map(0x480000, 0x480017).ram(); //?
- map(0x500000, 0x500017).ram(); //?
- map(0x580000, 0x580017).ram(); //?
- map(0x600000, 0x600017).ram(); //?
- map(0x680000, 0x680017).ram(); //?
-
- map(0x800000, 0x80000f).ram(); //?
- map(0x840000, 0x843fff).ram(); //8 bit, 139 SCI RAM?
- map(0x880000, 0x88000f).ram(); //?
- map(0x8c0000, 0x8c3fff).ram(); //8 bit
- map(0x900000, 0x90000f).ram(); //?
- map(0x940000, 0x943fff).ram(); //8 bit
- map(0x980000, 0x98000f).ram(); //?
- map(0x9c0000, 0x9c3fff).ram(); //8 bit
- map(0xa00000, 0xa0000f).ram(); //?
- map(0xa40000, 0xa43fff).ram(); //8 bit
- map(0xa80000, 0xa8000f).ram(); //?
- map(0xac0000, 0xac3fff).ram(); //8 bit
- map(0xb00000, 0xb0000f).ram(); //?
- map(0xb40000, 0xb43fff).ram(); //8 bit
- map(0xb80000, 0xb8000f).ram(); //?
- map(0xbc0000, 0xbc3fff).ram(); //8 bit
- map(0xc00000, 0xc0000f).ram(); //?
- map(0xc40000, 0xc43fff).ram(); //8 bit
-
-/// map(0xc44000, 0xffffff).ram(); /////////////
-}
-
-void gal3_state::sound_cpu_map(address_map &map)
-{
- map(0x000000, 0x07ffff).rom();
- map(0x080000, 0x08ffff).ram();
-/// map(0x0c0000, 0x0cffff).ram(); //00, 20, 30, 40, 50
-/// map(0x100000, 0x10000f).ram();
- map(0x110000, 0x113fff).ram();
-/// map(0x120000, 0x120003).ram(); //2ieme byte
-/// map(0x200000, 0x20017f).ram(); //C140
- map(0x200000, 0x2037ff).rw(m_c140_16a, FUNC(c140_device::c140_r), FUNC(c140_device::c140_w)).umask16(0x00ff); //C140///////////
-/// map(0x201000, 0x20117f).ram(); //C140
-/// map(0x202000, 0x20217f).ram(); //C140
-/// map(0x203000, 0x20317f).ram(); //C140
- map(0x204000, 0x2047ff).rw(m_c140_16g, FUNC(c140_device::c140_r), FUNC(c140_device::c140_w)).umask16(0x00ff); //C140
-/// map(0x090000, 0xffffff).ram();
-}
-
-void gal3_state::psn_b1_cpu_map(address_map &map)
-{
- map(0x000000, 0x03ffff).rom();
- map(0x040000, 0xffffff).ram();
-}
-
-static INPUT_PORTS_START( gal3 )
- PORT_START("DSW_CPU_mst") //
- PORT_DIPNAME( 0x00010000, 0x00010000, "CPU_mst_DIPSW 1-1")
- PORT_DIPSETTING( 0x00010000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00020000, 0x00020000, "DIPSW 1-2")
- PORT_DIPSETTING( 0x00020000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00040000, 0x00040000, "DIPSW 1-3")
- PORT_DIPSETTING( 0x00040000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00080000, 0x00080000, "DIPSW 1-4")
- PORT_DIPSETTING( 0x00080000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00100000, 0x00100000, "DIPSW 1-5")
- PORT_DIPSETTING( 0x00100000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00200000, 0x00200000, "DIPSW 1-6")
- PORT_DIPSETTING( 0x00200000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00400000, 0x00400000, "DIPSW 1-7")
- PORT_DIPSETTING( 0x00400000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00800000, 0x00800000, "DIPSW 1-8")
- PORT_DIPSETTING( 0x00800000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_DIPNAME( 0x01000000, 0x01000000, "DIPSW 2-1")
- PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02000000, 0x02000000, "DIPSW 2-2")
- PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04000000, 0x04000000, "DIPSW 2-3")
- PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08000000, 0x08000000, "DIPSW 2-4")
- PORT_DIPSETTING( 0x08000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10000000, 0x10000000, "DIPSW 2-5") //on pour zolgear?
- PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20000000, 0x20000000, "DIPSW 2-6") //on pour zolgear?
- PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40000000, 0x40000000, "DIPSW 2-7")
- PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x80000000, 0x80000000, "DIPSW 2-8")
- PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
-
- PORT_START("DSW_CPU_slv") //
- PORT_DIPNAME( 0x00010000, 0x00010000, "CPU_slv_DIPSW 3-1")
- PORT_DIPSETTING( 0x00010000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00020000, 0x00020000, "DIPSW 3-2")
- PORT_DIPSETTING( 0x00020000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00040000, 0x00040000, "DIPSW 3-3")
- PORT_DIPSETTING( 0x00040000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00080000, 0x00080000, "DIPSW 3-4")
- PORT_DIPSETTING( 0x00080000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00100000, 0x00100000, "DIPSW 3-5")
- PORT_DIPSETTING( 0x00100000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00200000, 0x00200000, "DIPSW 3-6")
- PORT_DIPSETTING( 0x00200000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00400000, 0x00400000, "DIPSW 3-7")
- PORT_DIPSETTING( 0x00400000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x00800000, 0x00800000, "DIPSW 3-8")
- PORT_DIPSETTING( 0x00800000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_DIPNAME( 0x01000000, 0x00000000, "DIPSW 4-1") //on
- PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02000000, 0x00000000, "DIPSW 4-2") //on
- PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04000000, 0x04000000, "DIPSW 4-3")
- PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08000000, 0x08000000, "DIPSW 4-4")
- PORT_DIPSETTING( 0x08000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10000000, 0x10000000, "DIPSW 4-5")
- PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20000000, 0x20000000, "DIPSW 4-6")
- PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40000000, 0x40000000, "DIPSW 4-7")
- PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x80000000, 0x80000000, "DIPSW 4-8")
- PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
-INPUT_PORTS_END
-
-void gal3_state::gal3(machine_config &config)
-{
- m68020_device &maincpu(M68020(config, "maincpu", 49152000/2));
- maincpu.set_addrmap(AS_PROGRAM, &gal3_state::cpu_mst_map);
- maincpu.set_vblank_int("lscreen", FUNC(gal3_state::irq1_line_hold));
-
- m68020_device &cpusly(M68020(config, "cpuslv", 49152000/2));
- cpusly.set_addrmap(AS_PROGRAM, &gal3_state::cpu_slv_map);
- cpusly.set_vblank_int("lscreen", FUNC(gal3_state::irq1_line_hold));
-
- m68000_device &rs_cpu(M68000(config, "rs_cpu", 49152000/4));
- rs_cpu.set_addrmap(AS_PROGRAM, &gal3_state::rs_cpu_map);
- rs_cpu.set_vblank_int("lscreen", FUNC(gal3_state::irq5_line_hold)); /// programmable via 148 IC
-
- m68000_device &sound_cpu(M68000(config, "sound_cpu", 12000000)); // ??
- sound_cpu.set_addrmap(AS_PROGRAM, &gal3_state::sound_cpu_map);
-
- m68000_device &psn_b1_cpu(M68000(config, "psn_b1_cpu", 12000000)); // ??
- psn_b1_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
-/*
- m68000_device &psn_b2_cpu(M68000(config, "psn_b2_cpu", 12000000)); // ??
- psn_b2_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
-
- m68000_device &psn_b3_cpu(M68000(config, "psn_b3_cpu", 12000000)); // ??
- psn_b3_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
-*/
- config.set_maximum_quantum(attotime::from_hz(60*8000)); /* 8000 CPU slices per frame */
-
- NVRAM(config, "nvmem", nvram_device::DEFAULT_ALL_0);
-
- // video chain 1
-
- screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
- lscreen.set_refresh_hz(60);
- lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- lscreen.set_size(64*8, 64*8);
- lscreen.set_visarea(0*8, 512-1, 0*8, 512-1);
- lscreen.set_screen_update(FUNC(gal3_state::screen_update_left));
- lscreen.set_palette(m_palette[0]);
-
- PALETTE(config, m_palette[0]).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS);
- m_palette[0]->set_membits(16);
-
- NAMCO_C355SPR(config, m_c355spr[0], 0);
- m_c355spr[0]->set_screen("lscreen");
- m_c355spr[0]->set_palette(m_palette[0]);
- m_c355spr[0]->set_scroll_offsets(0x26, 0x19);
- m_c355spr[0]->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate());
- m_c355spr[0]->set_palxor(0xf); // reverse mapping
- m_c355spr[0]->set_color_base(0x1000); // TODO : verify palette offset
- m_c355spr[0]->set_external_prifill(true);
-
- NAMCOS21_3D(config, m_namcos21_3d[0], 0);
- m_namcos21_3d[0]->set_zz_shift_mult(11, 0x200);
- m_namcos21_3d[0]->set_depth_reverse(false);
- m_namcos21_3d[0]->set_framebuffer_size(496,480);
-
- NAMCOS21_DSP_C67(config, m_namcos21_dsp_c67[0], 0);
- m_namcos21_dsp_c67[0]->set_renderer_tag("namcos21_3d_1");
-
- // video chain 2
-
- screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
- rscreen.set_refresh_hz(60);
- rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- rscreen.set_size(64*8, 64*8);
- rscreen.set_visarea(0*8, 512-1, 0*8, 512-1);
- rscreen.set_screen_update(FUNC(gal3_state::screen_update_right));
- rscreen.set_palette(m_palette[1]);
-
- PALETTE(config, m_palette[1]).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS);
- m_palette[1]->set_membits(16);
-
- NAMCO_C355SPR(config, m_c355spr[1], 0);
- m_c355spr[1]->set_screen("rscreen");
- m_c355spr[1]->set_palette(m_palette[1]);
- m_c355spr[1]->set_scroll_offsets(0x26, 0x19);
- m_c355spr[1]->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate());
- m_c355spr[1]->set_palxor(0xf); // reverse mapping
- m_c355spr[1]->set_color_base(0x1000); // TODO : verify palette offset
- m_c355spr[1]->set_external_prifill(true);
-
- NAMCOS21_3D(config, m_namcos21_3d[1], 0);
- m_namcos21_3d[1]->set_zz_shift_mult(11, 0x200);
- m_namcos21_3d[1]->set_depth_reverse(false);
- m_namcos21_3d[1]->set_framebuffer_size(496,480);
-
- NAMCOS21_DSP_C67(config, m_namcos21_dsp_c67[1], 0);
- m_namcos21_dsp_c67[1]->set_renderer_tag("namcos21_3d_2");
-
-
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- C140(config, m_c140_16g, 8000000/374);
- m_c140_16g->set_bank_type(c140_device::C140_TYPE::SYSTEM21); //to be verified
- m_c140_16g->add_route(0, "lspeaker", 0.50);
- m_c140_16g->add_route(1, "rspeaker", 0.50);
-
- C140(config, m_c140_16a, 8000000/374);
- m_c140_16a->set_bank_type(c140_device::C140_TYPE::SYSTEM21);
- m_c140_16a->add_route(0, "lspeaker", 0.50);
- m_c140_16a->add_route(1, "rspeaker", 0.50);
-}
-
-/*
-
-**************************************************************************************************
-MASTER CPU PCB
-**************************************************************************************************
-
-PCB markings:
-screened : 8623961202 CPU020
-Etched : (8623963202)
-
-
-label loc. Device Filename
---------------------------------------------------------
-GLC1-MST-PRG0E 6B 27c4001 PRG0E
-GLC1-MST-PRG1E 10B 27c4001 PRG1E
-GLC1-MST-PRG2E 14B 27c4001 PRG2E
-GLC1-MST-PRG3E 18B 27c4001 PRG3E
-
-**************************************************************************************************
-SLAVE CPU PCB
-**************************************************************************************************
-
-PCB markings:
-screened : 8623961202 CPU020
-Etched : (8623963202)
-
-
-label loc. Device Filename
---------------------------------------------------------
-GLC-SLV-PRG0 6B 27c010A PRG0.bin
-GLC-SLV-PRG1 10B 27c010A PRG1.bin
-GLC-SLV-PRG2 14B 27c010A PRG2.bin
-GLC-SLV-PRG3 18B 27c010A PRG3.bin
-
-**************************************************************************************************
-DSP PCB
-**************************************************************************************************
-
-
-PCB markings:
-screened : 8623961703 DSP
-Etched : (8623963703) TSK-A
-
-
-label loc. Device Filename
---------------------------------------------------------
-GLC1-DSP-PTOH 2F 27c040 PTOH.BIN
-GLC1-DSP-PTOU 2K 27c040 PTOU.BIN
-GLC1-DSP-PTOL 2N 27c040 PTOL.BIN
-
-**************************************************************************************************
-OBJ PCB
-**************************************************************************************************
-
-PCB markings:
-screened : 8623962002
-Etched : (8623964002)
-
-
-label loc. Device Filename
---------------------------------------------------------
-GLC1-OBJ-OBJ0 9T 27c040 OBJ0.BIN
-GLC1-OBJ-OBJ2 9W 27c4000 OBJ2.BIN
-GLC1-OBJ-OBJ1 9Y 27c040 OBJ1.BIN
-GLC1-OBJ-OBJ3 9Z 27c4000 OBJ0.BIN
-
-**************************************************************************************************
-PSN PCB
-**************************************************************************************************
-
-
-PCB markings:
-screened : V1079603
-Etched : (V1079703)
-
-
-label loc. Device Filename
---------------------------------------------------------
-GLC-PSN-VOL IC100 27c010A VOL.bin
-GLC-PSN-PRG0B IC22 27c010A PRG0B.bin
-GLC-PSN-PRG0B IC23 27c010A PRG1B.bin
-
-
-PCB markings:
-screened : V107960701
-Etched : (V107970701) TSK-A
-
-**************************************************************************************************
-RS PCB
-**************************************************************************************************
-
-label loc. Device Filename
---------------------------------------------------------
-GLC-RS-PRGLB 18B 27c010 PRGLB.BIN
-GLC-RS-PRGUB 19B 27c010 PRGUB.BIN
-
-**************************************************************************************************
-SOUND PCB
-**************************************************************************************************
-
-
-PCB markings:
-screened : V107965101
-Etched : (V107975101)
-
-
-label loc. Device Filename
---------------------------------------------------------
-GLC1-SND-VOI0 13A 27c040 VOI0.BIN
-GLC1-SND-VOI2 13C 27c040 VOI2.BIN
-GLC1-SND-VOI8 10G 27c040 VOI8.BIN
-GLC1-SND-VOI9 11/12G 27c040 VOI9.BIN
-GLC1-SND-VOI10 13G 27c040 VOI10.BIN
-GLC1-SND-VOI11 14G 27c040 VOI11.BIN
-
-GLC1-SND-PRG0 1H 27c1000 PRG0.BIN
-GLC1-SND-PRG1 2H 27c1000 PRG1.BIN
-GLC1-SND-DATA1 4/5H 27c1000 DATA1.BIN
-
-
-*/
-
-
-ROM_START( gal3 )
- /********* CPU-MST board x1 *********/
- ROM_REGION( 0x200000, "maincpu", 0 ) /* 68020 Code */
- ROM_LOAD32_BYTE( "glc1-mst-prg0e.6b", 0x00003, 0x80000, CRC(5deccd72) SHA1(8d50779221538cc171469a691fabb17b62a8e664) )
- ROM_LOAD32_BYTE( "glc1-mst-prg1e.10b", 0x00002, 0x80000, CRC(b6144e3b) SHA1(33f63d881e7012db7f971b074bc5f876a66198b7) )
- ROM_LOAD32_BYTE( "glc1-mst-prg2e.14b", 0x00001, 0x80000, CRC(13381084) SHA1(486c1e136e6594ba68858e40246c5fb9bef1c0d2) )
- ROM_LOAD32_BYTE( "glc1-mst-prg3e.18b", 0x00000, 0x80000, CRC(7917584a) SHA1(ec22de8a3751099d37e14cd05c736c33baa1ee1d) )
-
- /********* CPU-SLV board x1 *********/
- ROM_REGION( 0x080000, "cpuslv", 0 ) /* 68020 Code */
- ROM_LOAD32_BYTE( "glc-slv-prg0.6b", 0x00003, 0x20000, CRC(75b2341a) SHA1(73616f5633f583b9ebfba2380fde3e7b08743e9f) )
- ROM_LOAD32_BYTE( "glc-slv-prg1.10b", 0x00002, 0x20000, CRC(f37ba6c0) SHA1(f8ee29ee4d341bfd6595e92c090865b8e5d9578c) )
- ROM_LOAD32_BYTE( "glc-slv-prg2.14b", 0x00001, 0x20000, CRC(c38a933e) SHA1(96c85db607d8527e927ef23fc53324172ddb861a) )
- ROM_LOAD32_BYTE( "glc-slv-prg3.18b", 0x00000, 0x20000, CRC(deae86d2) SHA1(1898955423b8da585b6319406566aad02db20d64) )
-
- /********* DSP board x2 *********/
- ROM_REGION32_BE( 0x400000, "namcos21dsp_c67_1:point24", ROMREGION_ERASE ) /* 24bit signed point data */
- ROM_LOAD32_BYTE( "glc1-dsp-ptoh.2f", 0x000001, 0x80000, CRC(b4213c83) SHA1(9d036b73149656fdc13eed38946a70f532bff3f1) ) /* most significant */
- ROM_LOAD32_BYTE( "glc1-dsp-ptou.2k", 0x000002, 0x80000, CRC(14877cef) SHA1(5ebdccd6db837ceb9473bd219eb211431944cbf0) )
- ROM_LOAD32_BYTE( "glc1-dsp-ptol.2n", 0x000003, 0x80000, CRC(b318534a) SHA1(6fcf2ead6dd0d5a6f22438520588ba4e33ca39a8) ) /* least significant */
-
- ROM_REGION32_BE( 0x400000, "namcos21dsp_c67_2:point24", ROMREGION_ERASE ) /* 24bit signed point data */
- ROM_LOAD32_BYTE( "glc1-dsp-ptoh.2f", 0x000001, 0x80000, CRC(b4213c83) SHA1(9d036b73149656fdc13eed38946a70f532bff3f1) ) /* most significant */
- ROM_LOAD32_BYTE( "glc1-dsp-ptou.2k", 0x000002, 0x80000, CRC(14877cef) SHA1(5ebdccd6db837ceb9473bd219eb211431944cbf0) )
- ROM_LOAD32_BYTE( "glc1-dsp-ptol.2n", 0x000003, 0x80000, CRC(b318534a) SHA1(6fcf2ead6dd0d5a6f22438520588ba4e33ca39a8) ) /* least significant */
-
- /********* OBJ board x2 *********/
- ROM_REGION( 0x200000, "c355spr_1", 0 )
- ROM_LOAD32_BYTE( "glc1-obj-obj0.9t", 0x000000, 0x80000, CRC(0fe98d33) SHA1(5cfefa342fe2fa278d010927d761cb51105a4a60) )
- ROM_LOAD32_BYTE( "glc1-obj-obj1.9w", 0x000001, 0x80000, CRC(660a4f6d) SHA1(c3c3525f51280e71f2d607649a6b5434cbd862c8) )
- ROM_LOAD32_BYTE( "glc1-obj-obj2.9y", 0x000002, 0x80000, CRC(90bcc5a3) SHA1(76cb23e295bb15279e046e83f8e4ab9f85f68243) )
- ROM_LOAD32_BYTE( "glc1-obj-obj3.9z", 0x000003, 0x80000, CRC(65244f07) SHA1(fd876ca5f198914f15864397b358e56fcaa41e90) )
-
- ROM_REGION( 0x200000, "c355spr_2", 0 )
- ROM_LOAD32_BYTE( "glc1-obj-obj0.9t", 0x000000, 0x80000, CRC(0fe98d33) SHA1(5cfefa342fe2fa278d010927d761cb51105a4a60) )
- ROM_LOAD32_BYTE( "glc1-obj-obj1.9w", 0x000001, 0x80000, CRC(660a4f6d) SHA1(c3c3525f51280e71f2d607649a6b5434cbd862c8) )
- ROM_LOAD32_BYTE( "glc1-obj-obj2.9y", 0x000002, 0x80000, CRC(90bcc5a3) SHA1(76cb23e295bb15279e046e83f8e4ab9f85f68243) )
- ROM_LOAD32_BYTE( "glc1-obj-obj3.9z", 0x000003, 0x80000, CRC(65244f07) SHA1(fd876ca5f198914f15864397b358e56fcaa41e90) )
-
- /********* PSN board x3 *********/
- ROM_REGION( 0x040000, "psn_b1_cpu", 0 )
- ROM_LOAD16_BYTE( "glc-psn-prg0b.ic22", 0x000001, 0x20000, CRC(da8a74f8) SHA1(2826a55a4a0acec07ff760c7857da10c4ffaf7d0) )
- ROM_LOAD16_BYTE( "glc-psn-prg1b.ic23", 0x000000, 0x20000, CRC(978431c9) SHA1(7d631444f5844c55bea820507e34a17199f5da2e) )
- ROM_REGION( 0x020000, "psn_b1_vol", 0 )
- ROM_LOAD( "glc-psn-vol.ic100", 0x000000, 0x20000, CRC(9d49576c) SHA1(25c02d2cc171468711c71d8f2da0ea7d9b5f0c23) )
-
- ROM_REGION( 0x040000, "psn_b2_cpu", 0 )
- ROM_LOAD16_BYTE( "glc-psn-prg0b.ic22", 0x000001, 0x20000, CRC(da8a74f8) SHA1(2826a55a4a0acec07ff760c7857da10c4ffaf7d0) )
- ROM_LOAD16_BYTE( "glc-psn-prg1b.ic23", 0x000000, 0x20000, CRC(978431c9) SHA1(7d631444f5844c55bea820507e34a17199f5da2e) )
- ROM_REGION( 0x020000, "psn_b2_vol", 0 )
- ROM_LOAD( "glc-psn-vol.ic100", 0x000000, 0x20000, CRC(9d49576c) SHA1(25c02d2cc171468711c71d8f2da0ea7d9b5f0c23) )
-
- ROM_REGION( 0x040000, "psn_b3_cpu", 0 )
- ROM_LOAD16_BYTE( "glc-psn-prg0b.ic22", 0x000001, 0x20000, CRC(da8a74f8) SHA1(2826a55a4a0acec07ff760c7857da10c4ffaf7d0) )
- ROM_LOAD16_BYTE( "glc-psn-prg1b.ic23", 0x000000, 0x20000, CRC(978431c9) SHA1(7d631444f5844c55bea820507e34a17199f5da2e) )
- ROM_REGION( 0x020000, "psn_b3_vol", 0 )
- ROM_LOAD( "glc-psn-vol.ic100", 0x000000, 0x20000, CRC(9d49576c) SHA1(25c02d2cc171468711c71d8f2da0ea7d9b5f0c23) )
-
- /********* RS board x1 *********/
- ROM_REGION( 0x040000, "rs_cpu", 0 )
- ROM_LOAD16_BYTE( "glc-rs-prglb.18b", 0x000001, 0x20000, CRC(9d0c8d03) SHA1(8fffef622cd4440ea9f17882cd54a8a49fbbc148) )
- ROM_LOAD16_BYTE( "glc-rs-prgub.19b", 0x000000, 0x20000, CRC(125ad94c) SHA1(4e2e316b639e9a3a78ecd5c827f3309efa3bc78c) )
-
- /********* SOUND board x1 *********/
- ROM_REGION( 0x080000, "sound_cpu", ROMREGION_ERASE00 )
- ROM_LOAD16_BYTE( "glc1-snd-prg0.1h", 0x000000, 0x20000, CRC(4845481c) SHA1(3cf90b8b2351b2bc015bf273552e19e09f84ee70) )
- ROM_LOAD16_BYTE( "glc1-snd-prg1.2h", 0x000001, 0x20000, CRC(3b98c175) SHA1(26e59700347bab7fa10f029e781f993f3a97d257) )
- ROM_LOAD16_BYTE( "glc1-snd-data1.4h",0x040001, 0x20000, CRC(8c7135f5) SHA1(b8c3866c70ac1c431140d6cfe50d9273db7d9b68) )
-
- ROM_REGION( 0x200000, "samples", ROMREGION_ERASE00 )
- ROM_LOAD( "glc1-snd-voi0.13a", 0x000000, 0x80000, CRC(ef3bda56) SHA1(2cdfec1860a6d2bd645d83b42cc232643818a699) )
- ROM_LOAD( "glc1-snd-voi2.13c", 0x000000, 0x80000, CRC(ef3bda56) SHA1(2cdfec1860a6d2bd645d83b42cc232643818a699) ) // == voi0
- ROM_LOAD( "glc1-snd-voi8.10g", 0x000000, 0x80000, CRC(bba0c15b) SHA1(b0abc22fd1ae8a9970ad45d9ebdb38e6b06033a7) )
- ROM_LOAD( "glc1-snd-voi9.11g", 0x080000, 0x80000, CRC(dd1b1ee4) SHA1(b69af15acaa9c3d79d7758adc8722ff5c1129b76) )
- ROM_LOAD( "glc1-snd-voi10.13g",0x100000, 0x80000, CRC(1c1dedf4) SHA1(b6b9dac68103ff2206d731d409a557a71afd98f7) )
- ROM_LOAD( "glc1-snd-voi11.14g",0x180000, 0x80000, CRC(559e2a8a) SHA1(9a2f28305c6073a0b9b80a5d9617cc25a921e9d0))
-
- /********* Laserdiscs *********/
- /* used 2 apparently, no idea what they connect to */
-
- DISK_REGION( "laserdisc1" )
- DISK_IMAGE_READONLY( "gal3_ld1", 0, NO_DUMP )
-
- DISK_REGION( "laserdisc2" )
- DISK_IMAGE_READONLY( "gal3_ld2", 0, NO_DUMP )
-ROM_END
-
-/* YEAR NAME PARENT MACHINE INPUT CLASS INIT MONITOR COMPANY FULLNAME FLAGS */
-GAMEL( 1992, gal3, 0, gal3, gal3, gal3_state, empty_init, ROT0, "Namco", "Galaxian 3 - Theater 6 : Project Dragoon", MACHINE_NOT_WORKING | MACHINE_NO_SOUND, layout_dualhsxs )
-//GAMEL( 1994, gal3zlgr, 0, gal3, gal3, driver_device, 0, ROT0, "Namco", "Galaxian 3 - Theater 6 J2 : Attack of The Zolgear", MACHINE_NOT_WORKING | MACHINE_NO_SOUND, layout_dualhsxs )