mirror of
https://github.com/MiSTer-devel/Arcade-Pacman_MiSTer.git
synced 2026-05-17 03:02:35 +00:00
Support for original The Glob and Beastie Feastie.
This commit is contained in:
@@ -212,6 +212,7 @@ reg mod_ponp = 0;
|
||||
reg mod_van = 0;
|
||||
reg mod_pmm = 0;
|
||||
reg mod_dshop= 0;
|
||||
reg mod_glob = 0;
|
||||
|
||||
wire mod_gm = mod_gork | mod_mrtnt;
|
||||
|
||||
@@ -234,6 +235,7 @@ always @(posedge clk_sys) begin
|
||||
mod_van <= (mod == 12);
|
||||
mod_pmm <= (mod == 13);
|
||||
mod_dshop<= (mod == 14);
|
||||
mod_glob <= (mod == 15);
|
||||
end
|
||||
|
||||
reg [7:0] sw[8];
|
||||
@@ -410,6 +412,7 @@ pacman pacman
|
||||
.mod_ponp(mod_ponp | mod_van | mod_dshop),
|
||||
.mod_van(mod_van | mod_dshop),
|
||||
.mod_dshop(mod_dshop),
|
||||
.mod_glob(mod_glob),
|
||||
|
||||
.RESET(RESET | status[0] | buttons[1]),
|
||||
.CLK(clk_sys),
|
||||
|
||||
31
releases/Beastie Feastie.mra
Normal file
31
releases/Beastie Feastie.mra
Normal file
@@ -0,0 +1,31 @@
|
||||
<misterromdescription>
|
||||
<name>Beastie Feastie (Pac-Man conversion)</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<mratimestamp>201911270000</mratimestamp>
|
||||
<category>Platform</category>
|
||||
<setname>beastfp</setname>
|
||||
<rbf>pacman</rbf>
|
||||
<rom index="1">
|
||||
<part>0F</part>
|
||||
</rom>
|
||||
<switches default="FF,FF,F3">
|
||||
<dip bits="15" name="Cabinet" ids="Cocktail,Upright"/>
|
||||
<dip bits="16,17" name="Lives" ids="6,5,4,3"/>
|
||||
<dip bits="18,20" name="Difficulty" ids="Hardest,Very Hard,Very Difficult,Difficult,Normal,Easy,Very Easy,Easiest"/>
|
||||
<dip bits="21" name="Demo Sounds" ids="On,Off"/>
|
||||
</switches>
|
||||
<rom index="0" zip="suprglob.zip" md5="3169e442c32c3d743e0e30f4288e91e5" type="merged">
|
||||
<part name="bf-u2.bin" crc="3afc517b"/>
|
||||
<part name="bf-u3.bin" crc="8dbd76d0"/>
|
||||
<part name="bf-u2.bin" crc="3afc517b"/>
|
||||
<part name="bf-u3.bin" crc="8dbd76d0"/>
|
||||
<part name="beastf.5e" crc="5654dc34"/>
|
||||
<part name="beastf.5f" crc="1b30ca61"/>
|
||||
<part name="beastf.5e" crc="5654dc34"/>
|
||||
<part name="beastf.5f" crc="1b30ca61"/>
|
||||
<part name="82s126.1m" crc="a9cc86bf"/>
|
||||
<part name="4_a_the_glob.4a" crc="28faa769"/>
|
||||
<part name="82s126.3m" crc="77245b66"/>
|
||||
<part name="7_f_the_glob.7f" crc="1f617527"/>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
31
releases/Ther Glob.mra
Normal file
31
releases/Ther Glob.mra
Normal file
@@ -0,0 +1,31 @@
|
||||
<misterromdescription>
|
||||
<name>The Glob (Pac-Man hardware)</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<mratimestamp>201911270000</mratimestamp>
|
||||
<category>Platform</category>
|
||||
<setname>theglobp</setname>
|
||||
<rbf>pacman</rbf>
|
||||
<rom index="1">
|
||||
<part>0F</part>
|
||||
</rom>
|
||||
<switches default="FF,FF,F3">
|
||||
<dip bits="15" name="Cabinet" ids="Cocktail,Upright"/>
|
||||
<dip bits="16,17" name="Lives" ids="6,5,4,3"/>
|
||||
<dip bits="18,20" name="Difficulty" ids="Hardest,Very Hard,Very Difficult,Difficult,Normal,Easy,Very Easy,Easiest"/>
|
||||
<dip bits="21" name="Demo Sounds" ids="On,Off"/>
|
||||
</switches>
|
||||
<rom index="0" zip="suprglob.zip" md5="253bb5b2c5815eacae8192047cbcf984" type="merged">
|
||||
<part name="u_2_the_glob_pg02284_eagle.u2" crc="829d0bea"/>
|
||||
<part name="u_3_the_glob_pg02284_eagle.u3" crc="31de6628"/>
|
||||
<part name="u_2_the_glob_pg02284_eagle.u2" crc="829d0bea"/>
|
||||
<part name="u_3_the_glob_pg02284_eagle.u3" crc="31de6628"/>
|
||||
<part name="5_e_the_glob_pg02284_eagle.5e" crc="53688260"/>
|
||||
<part name="5_f_the_glob_pg02284_eagle.5f" crc="051f59c7"/>
|
||||
<part name="5_e_the_glob_pg02284_eagle.5e" crc="53688260"/>
|
||||
<part name="5_f_the_glob_pg02284_eagle.5f" crc="051f59c7"/>
|
||||
<part name="82s126.1m" crc="a9cc86bf"/>
|
||||
<part name="4_a_the_glob.4a" crc="28faa769"/>
|
||||
<part name="82s126.3m" crc="77245b66"/>
|
||||
<part name="7_f_the_glob.7f" crc="1f617527"/>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -76,6 +76,7 @@ port
|
||||
mod_ms : in std_logic;
|
||||
mod_woodp : in std_logic;
|
||||
mod_eeek : in std_logic;
|
||||
mod_glob : in std_logic;
|
||||
mod_alib : in std_logic;
|
||||
mod_ponp : in std_logic;
|
||||
mod_van : in std_logic;
|
||||
@@ -568,7 +569,11 @@ eeek_decrypt : process
|
||||
begin
|
||||
wait until rising_edge(clk);
|
||||
if watchdog_reset_l = '0' then
|
||||
dcnt <= "01";
|
||||
if mod_eeek = '1' then
|
||||
dcnt <= "01";
|
||||
else
|
||||
dcnt <= "10";
|
||||
end if;
|
||||
else
|
||||
old_rd_l <= cpu_rd_l;
|
||||
if old_rd_l = '1' and cpu_rd_l = '0' and cpu_iorq_l = '0' and cpu_m1_l = '1' then
|
||||
@@ -587,6 +592,7 @@ port map(
|
||||
MRTNT => mod_mrtnt,
|
||||
MSPACMAN => mod_ms,
|
||||
EEEK => mod_eeek,
|
||||
GLOB => mod_glob,
|
||||
PLUS => mod_plus,
|
||||
dcnt => dcnt,
|
||||
cpu_m1_l => cpu_m1_l,
|
||||
|
||||
@@ -235,6 +235,7 @@ entity rom_descrambler is
|
||||
MSPACMAN : in std_logic := '0'; -- set to 1 when using Ms Pacman ROMs, 0 otherwise
|
||||
PLUS : in std_logic := '0';
|
||||
EEEK : in std_logic := '0';
|
||||
GLOB : in std_logic := '0';
|
||||
|
||||
dcnt : in std_logic_vector(1 downto 0);
|
||||
cpu_m1_l : in std_logic;
|
||||
@@ -266,6 +267,7 @@ architecture rtl of rom_descrambler is
|
||||
|
||||
signal r : std_logic_vector(7 downto 0);
|
||||
signal r2 : std_logic_vector(7 downto 0);
|
||||
signal r3 : std_logic_vector(7 downto 0);
|
||||
signal mtd_addr : std_logic_vector(4 downto 0);
|
||||
signal method : std_logic_vector(3 downto 0);
|
||||
begin
|
||||
@@ -347,7 +349,12 @@ begin
|
||||
rom_lo(7) & not rom_lo(6) & rom_lo(1) & not rom_lo(0) & rom_lo(3) & not rom_lo(4) & not rom_lo(2) & not rom_lo(5) when dcnt = "10" else
|
||||
rom_lo(7) & not rom_lo(1) & not rom_lo(4) & not rom_lo(0) & rom_lo(3) & rom_lo(6) & not rom_lo(2) & not rom_lo(5);
|
||||
|
||||
p_decoder_comb : process(clk, rom_addr, addr, rom_data_in, rom_data_out, rom_patched, rom_hi, r, overlay_on, MRTNT, MSPACMAN, EEEK, r2)
|
||||
r3 <= not rom_lo(3) & not rom_lo(7) & rom_lo(0) & not rom_lo(6) & not rom_lo(4) & rom_lo(1) & not rom_lo(2) & not rom_lo(5) when dcnt = "00" else
|
||||
not rom_lo(1) & not rom_lo(7) & rom_lo(0) & rom_lo(3) & not rom_lo(4) & not rom_lo(6) & not rom_lo(2) & not rom_lo(5) when dcnt = "01" else
|
||||
not rom_lo(3) & not rom_lo(0) & not rom_lo(4) & not rom_lo(6) & rom_lo(7) & rom_lo(1) & not rom_lo(2) & not rom_lo(5) when dcnt = "10" else
|
||||
not rom_lo(1) & not rom_lo(0) & not rom_lo(4) & rom_lo(3) & rom_lo(7) & not rom_lo(6) & not rom_lo(2) & not rom_lo(5);
|
||||
|
||||
p_decoder_comb : process(clk, rom_addr, addr, rom_data_in, rom_data_out, rom_patched, rom_hi, r, overlay_on, MRTNT, MSPACMAN, EEEK, r2, GLOB, r3)
|
||||
variable patch_addr : std_logic_vector(15 downto 0);
|
||||
begin
|
||||
rom_addr <= addr;
|
||||
@@ -362,6 +369,8 @@ begin
|
||||
if rom_addr(15) = '0' then
|
||||
if EEEK = '1' then
|
||||
rom_data_in <= r2;
|
||||
elsif GLOB = '1' then
|
||||
rom_data_in <= r3;
|
||||
else
|
||||
rom_data_in <= r;
|
||||
end if;
|
||||
|
||||
Reference in New Issue
Block a user