mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-05-18 04:18:41 +00:00
51
Arcade_MiST/Gottlieb Qbert/meta/Argus.mra
Normal file
51
Arcade_MiST/Gottlieb Qbert/meta/Argus.mra
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
<misterromdescription>
|
||||
<name>Argus</name>
|
||||
<mameversion>0228</mameversion>
|
||||
<setname>argusg</setname>
|
||||
<mratimestamp>20201231150731</mratimestamp>
|
||||
<year>1983</year>
|
||||
<manufacturer>Gottlieb</manufacturer>
|
||||
<category>Platform</category>
|
||||
<rbf>qbert</rbf>
|
||||
<buttons names="Service Select,Start 1P,Start 2P,Coin" default="A,Start,Select,R"/>
|
||||
<switches default="01" page_id="1" page_name="Switches" base="16">
|
||||
<dip bits="0" name="Demo Sounds" ids="On,Off"></dip>
|
||||
<dip bits="3" name="Free Play" ids="Off,On"></dip>
|
||||
<dip bits="6" name="Difficulty" ids="Normal,Hard"></dip>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>7</part>
|
||||
</rom>
|
||||
<rom index="0" zip="argusg.zip" md5="none">
|
||||
<!-- 4/5 roms, 8k each -->
|
||||
<part crc="e1906355" name="arg_rom0_2764.c11c12"/>
|
||||
<part crc="733d3d44" name="arg_rom1_2764.c12c13"/>
|
||||
<part crc="b5e9ee77" name="arg_rom2_2764.c13c14"/>
|
||||
<part crc="4dc2914c" name="arg_rom3_2764.c14c15"/>
|
||||
<part crc="2f48bd78" name="arg_rom4_2764.c16"/>
|
||||
|
||||
<!-- ram section used as rom -->
|
||||
<part crc="5d35b83e" name="arg_ram2_2732.c7"/>
|
||||
<part crc="7180e823" name="arg_ram4_2732.c9c10"/>
|
||||
|
||||
<!-- sound -->
|
||||
<part crc="3a6cf455" name="arg_snd1_2716.u5"/>
|
||||
<part crc="ddf32040" name="arg_snd2_2716.u6"/>
|
||||
<part crc="3a6cf455" name="arg_snd1_2716.u5"/>
|
||||
<part crc="ddf32040" name="arg_snd2_2716.u6"/>
|
||||
|
||||
<!-- no bg, used as ram -->
|
||||
<part repeat="8192">00</part>
|
||||
|
||||
<!-- foreground roms -->
|
||||
<part crc="cdb6e25c" name="arg_fg3_2764.k7k8"/>
|
||||
<part crc="cdb6e25c" name="arg_fg3_2764.k7k8"/>
|
||||
<part crc="f10af1be" name="arg_fg2_2764.k6"/>
|
||||
<part crc="f10af1be" name="arg_fg2_2764.k6"/>
|
||||
<part crc="5add96e5" name="arg_fg1_2764.k5"/>
|
||||
<part crc="5add96e5" name="arg_fg1_2764.k5"/>
|
||||
<part crc="5b7bd588" name="arg_fg0_2764.k4"/>
|
||||
<part crc="5b7bd588" name="arg_fg0_2764.k4"/>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -10,9 +10,10 @@
|
||||
<rbf>qbert</rbf>
|
||||
<buttons names="Swing,Start 1P,Start 2P,Coin,Service Select,Bunt,Pitch Left,Pitch Right" default="A,Start,Select,R,L,X,B,Y"/>
|
||||
<switches default="01" page_id="1" page_name="Switches" base="16">
|
||||
<dip bits="3" name="2 player game" ids="1 credit,2 credits"></dip>
|
||||
<dip bits="5,6" name="Difficulty" ids="Easy,Hard,Medium,Vey Hard"></dip>
|
||||
<dip bits="2" name="Demo Sounds" ids="Off,On"></dip>
|
||||
<dip bits="0" name="Difficulty" ids="Easy,Hard"/>
|
||||
<dip bits="3" name="2 player game" ids="1 credit,2 credits"/>
|
||||
<dip bits="2" name="Demo Sounds" ids="Off,On"/>
|
||||
<dip bits="5" name="Coin Options" ids="Normal,French"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>4</part>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<rbf>qbert</rbf>
|
||||
<buttons names="Service Select,Start 1P,Start 2P,Coin,Button 1,Button 2" default="L,Start,Select,R,A,B"/>
|
||||
<switches default="01" page_id="1" page_name="Switches" base="16">
|
||||
<dip bits="0" name="Bonus Life" ids="25k 75k every 50k,20k 90k every 60k"></dip>
|
||||
<dip bits="0" name="Bonus Life" ids="25k 75k/50k,20k 90k/60k"></dip>
|
||||
<dip bits="1" name="Demo Sounds" ids="Off,On"></dip>
|
||||
<dip bits="2" name="Demo Mode" ids="On,Off"></dip>
|
||||
<dip bits="3" name="Lives" ids="5,3"></dip>
|
||||
|
||||
73
Arcade_MiST/Gottlieb Qbert/meta/Knightmare.mra
Normal file
73
Arcade_MiST/Gottlieb Qbert/meta/Knightmare.mra
Normal file
@@ -0,0 +1,73 @@
|
||||
<misterromdescription>
|
||||
<name>Knightmare</name>
|
||||
<region>USA</region>
|
||||
<homebrew>no</homebrew>
|
||||
<bootleg>no</bootleg>
|
||||
<version>Set 1</version>
|
||||
<alternative></alternative>
|
||||
<platform></platform>
|
||||
<series></series>
|
||||
<year>1982</year>
|
||||
<manufacturer>Gottlieb</manufacturer>
|
||||
<category>Platform - Climb</category>
|
||||
|
||||
<setname>kngtmare</setname>
|
||||
<parent>qbert</parent>
|
||||
<mameversion>0198</mameversion>
|
||||
<rbf>qbert</rbf>
|
||||
<about></about>
|
||||
|
||||
<resolution>15kHz</resolution>
|
||||
<rotation>vertical (ccw)</rotation>
|
||||
<flip>yes</flip>
|
||||
|
||||
<players>2 (alternating)</players>
|
||||
<joystick>4-way diagonal</joystick>
|
||||
<special_controls></special_controls>
|
||||
<num_buttons>0</num_buttons>
|
||||
<buttons default="A,Start,Select,R" names="Service Select,Start 1P,Start 2P,Coin"></buttons>
|
||||
|
||||
<switches default="00" page_id="1" page_name="Switches" base="16">
|
||||
<dip bits="5" ids="3,5" name="Lives"></dip>
|
||||
</switches>
|
||||
|
||||
<rom index="1">
|
||||
<part>8</part>
|
||||
</rom>
|
||||
|
||||
<rom index="0" md5="none" zip="kngtmare.zip">
|
||||
<!-- MAIN CPU ROM 48k -->
|
||||
<part crc="620dc629" name="gv112_rom0_2764.c11c12"></part>
|
||||
<part crc="5b340640" name="gv112_rom1_2764.c12c13"></part>
|
||||
<part crc="53e01f97" name="gv112_rom2_2764.c13c14"></part>
|
||||
<part crc="47351270" name="gv112_rom3_2764.c14c15"></part>
|
||||
<part repeat="16384">00</part>
|
||||
|
||||
<!-- SOUND CPU ROM 8k -->
|
||||
<!-- no sound dump -->
|
||||
<part repeat="8192">00</part>
|
||||
|
||||
<!-- Background ROMs 8k -->
|
||||
<part crc="a74591fd" name="gv112_bg0_2732.e11e12"></part>
|
||||
<part crc="5a226e6a" name="gv112_bg1_2732.e13"></part>
|
||||
|
||||
<!-- Foreground ROMs -->
|
||||
<part crc="d1886658" name="gv112_fg3_2764.k7k8"></part>
|
||||
<part crc="d1886658" name="gv112_fg3_2764.k7k8"></part>
|
||||
<part crc="e1c73f0c" name="gv112_fg2_2764.k6"></part>
|
||||
<part crc="e1c73f0c" name="gv112_fg2_2764.k6"></part>
|
||||
<part crc="724bc3ea" name="gv112_fg1_2764.k5"></part>
|
||||
<part crc="724bc3ea" name="gv112_fg1_2764.k5"></part>
|
||||
<part crc="0311bbd9" name="gv112_fg0_2764.k4"></part>
|
||||
<part crc="0311bbd9" name="gv112_fg0_2764.k4"></part>
|
||||
</rom>
|
||||
<rom index="2"></rom>
|
||||
<rom index="3"></rom>
|
||||
<rom index="4"></rom>
|
||||
|
||||
<nvram></nvram>
|
||||
|
||||
<remark></remark>
|
||||
|
||||
<mratimestamp>20210430005030</mratimestamp>
|
||||
</misterromdescription>
|
||||
@@ -10,8 +10,11 @@
|
||||
<rbf>qbert</rbf>
|
||||
<buttons names="Service Select,Start 1P,Start 2P,Coin" default="A,Start,Select,R"/>
|
||||
<switches default="01" page_id="1" page_name="Switches" base="16">
|
||||
<dip bits="4" name="Demo Sounds" ids="On,Off"></dip>
|
||||
<dip bits="0" name="Demo Sounds" ids="On,Off"></dip>
|
||||
<dip bits="1" name="Difficulty" ids="Normal,Hard"></dip>
|
||||
<dip bits="3" name="Lives" ids="3,5"></dip>
|
||||
<dip bits="5" name="Hexagon" ids="Roving,Stationary"></dip>
|
||||
<dip bits="6,7" name="Bonus Life" ids="30k 80k/50k,30k 60k/30k,40k 90k/50k,50k 125k/75k"></dip>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>3</part>
|
||||
|
||||
@@ -10,11 +10,10 @@
|
||||
<rbf>qbert</rbf>
|
||||
<buttons names="Service Select,Start 1P,Start 2P,Coin" default="A,Start,Select,R"/>
|
||||
<switches default="01" page_id="1" page_name="Switches" base="16">
|
||||
<dip bits="0" name="Demo Sounds" ids="On,Off"></dip>
|
||||
<dip bits="1" name="Kicker" ids="Off,On"></dip>
|
||||
<dip bits="3" name="Cabinet" ids="Upright,Cocktail"></dip>
|
||||
<dip bits="4" name="Demo Mode" ids="Off,On"></dip>
|
||||
<dip bits="5" name="Free Play" ids="Off,On"></dip>
|
||||
<dip bits="3" name="Demo Sounds" ids="On,Off"></dip>
|
||||
<dip bits="1" name="Bonus Life" ids="10000,15000"></dip>
|
||||
<dip bits="6" name="Extra Bonus Life" ids="20000,25000"></dip>
|
||||
<dip bits="7" name="Difficulty" ids="Normal,Hard"></dip>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>1</part>
|
||||
|
||||
@@ -55,7 +55,7 @@ wire flip = status[7];
|
||||
wire service = status[8];
|
||||
wire diagonal = status[9];
|
||||
|
||||
wire [1:0] orientation = {flip, core_mod != mod_tylz && core_mod != mod_insector};
|
||||
wire [1:0] orientation = {flip, core_mod != mod_tylz && core_mod != mod_insector && core_mod != mod_kngtmare && core_mod != mod_argus};
|
||||
wire [7:0] dip_sw = status[23:16];
|
||||
|
||||
assign LED = ~ioctl_downl;
|
||||
@@ -105,9 +105,12 @@ localparam mod_krull = 3;
|
||||
localparam mod_curvebal = 4;
|
||||
localparam mod_tylz = 5;
|
||||
localparam mod_insector = 6;
|
||||
localparam mod_argus = 7;
|
||||
localparam mod_kngtmare = 8;
|
||||
|
||||
wire [7:0] spinner_pos;
|
||||
wire spinner_reset;
|
||||
// Mad Planets spinner
|
||||
wire [7:0] spinner_pos;
|
||||
spinner spinner (
|
||||
.clock_40(clk_sys),
|
||||
.reset(spinner_reset),
|
||||
@@ -117,14 +120,36 @@ spinner spinner (
|
||||
.spin_angle(spinner_pos)
|
||||
);
|
||||
|
||||
// Argus trackball
|
||||
wire [15:0] trackball_pos;
|
||||
spinner spinnerX (
|
||||
.clock_40(clk_sys),
|
||||
.reset(spinner_reset),
|
||||
.btn_left(m_left),
|
||||
.btn_right(m_right),
|
||||
.btn_acc(1'b1),
|
||||
.ctc_zc_to_2(vb),
|
||||
.spin_angle(trackball_pos[15:8])
|
||||
);
|
||||
|
||||
spinner spinnerY (
|
||||
.clock_40(clk_sys),
|
||||
.reset(spinner_reset),
|
||||
.btn_left(m_up),
|
||||
.btn_right(m_down),
|
||||
.btn_acc(1'b1),
|
||||
.ctc_zc_to_2(vb),
|
||||
.spin_angle(trackball_pos[7:0])
|
||||
);
|
||||
|
||||
reg [5:0] OP2720;
|
||||
reg [7:0] IP1710;
|
||||
reg [7:0] IP4740;
|
||||
reg [7:0] IPA1J2;
|
||||
reg [15:0] IPA1J2;
|
||||
|
||||
always @(*) begin
|
||||
|
||||
IPA1J2 = 8'd0;
|
||||
IPA1J2 = 16'd0;
|
||||
IP4740 = 8'd0;
|
||||
|
||||
IP1710 = {
|
||||
@@ -193,7 +218,7 @@ always @(*) begin
|
||||
m_up
|
||||
};
|
||||
|
||||
IPA1J2 = spinner_pos;
|
||||
IPA1J2 = {spinner_pos, spinner_pos};
|
||||
end
|
||||
|
||||
mod_krull:
|
||||
@@ -289,6 +314,48 @@ always @(*) begin
|
||||
m_up
|
||||
};
|
||||
end
|
||||
|
||||
mod_argus:
|
||||
begin
|
||||
IP1710 = { // IN1
|
||||
4'h0,
|
||||
m_coin2,
|
||||
m_coin1,
|
||||
m_fireA,
|
||||
~service
|
||||
};
|
||||
|
||||
IP4740 = { // IN4
|
||||
4'h0,
|
||||
m_fire2A,
|
||||
m_fire2B,
|
||||
m_fireA,
|
||||
m_fireB
|
||||
};
|
||||
IPA1J2 = trackball_pos;
|
||||
end
|
||||
|
||||
mod_kngtmare:
|
||||
begin
|
||||
IP1710 = { // IN1
|
||||
4'h0,
|
||||
m_coin2,
|
||||
m_coin1,
|
||||
2'b00
|
||||
};
|
||||
|
||||
IP4740 = { // IN4
|
||||
m_two_players,
|
||||
m_one_player,
|
||||
m_fireB,
|
||||
m_fireA,
|
||||
m_rightB | m_right2,
|
||||
m_left,
|
||||
m_leftB | m_left2,
|
||||
m_right
|
||||
};
|
||||
end
|
||||
|
||||
default:
|
||||
begin
|
||||
end
|
||||
@@ -465,7 +532,7 @@ mylstar_board mylstar_board
|
||||
.rom_init_address(ioctl_addr),
|
||||
.rom_init_data(ioctl_dout),
|
||||
.nvram_data(ioctl_din),
|
||||
.bgram(core_mod == mod_krull),
|
||||
.bgram(core_mod == mod_krull || core_mod == mod_argus),
|
||||
|
||||
.vflip(flip),
|
||||
.hflip(flip),
|
||||
|
||||
@@ -21,7 +21,7 @@ module mylstar_board
|
||||
|
||||
input [7:0] IP1710,
|
||||
input [7:0] IP4740,
|
||||
input [7:0] IPA1J2,
|
||||
input [15:0] IPA1J2,
|
||||
output [5:0] OP2720,
|
||||
output [4:0] OP3337,
|
||||
output [7:0] OP4740,
|
||||
@@ -129,7 +129,8 @@ end
|
||||
// CPU/RAM/ROM //
|
||||
////////////////////////
|
||||
|
||||
wire [7:0] A1J2 = (trackball0_sel | trackball1_sel) ? IPA1J2 : 8'd0;
|
||||
wire [7:0] A1J2 = trackball0_sel ? IPA1J2[15:8] :
|
||||
trackball1_sel ? IPA1J2[7:0] : 8'd0;
|
||||
|
||||
wire [7:0] ram_dout = C5_Q | C6_Q | C7_Q | C9_10_Q | C8_9_Q | C10_11_Q;
|
||||
wire [7:0] rom_dout;
|
||||
|
||||
@@ -36,8 +36,8 @@ begin
|
||||
if btn_left = '1' then spin_count <= spin_count - 3; end if; -- left
|
||||
if btn_right = '1' then spin_count <= spin_count + 3; end if; -- right
|
||||
else
|
||||
if btn_left = '1' then spin_count <= spin_count - 55; end if;
|
||||
if btn_right = '1' then spin_count <= spin_count + 55; end if;
|
||||
if btn_left = '1' then spin_count <= spin_count - 15; end if;
|
||||
if btn_right = '1' then spin_count <= spin_count + 15; end if;
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
|
||||
@@ -35,4 +35,20 @@
|
||||
<part name="gr1-3.3m"/>
|
||||
<part name="gr1-6.4c"/>
|
||||
</rom>
|
||||
|
||||
<switches base="8" default="00,00,00">
|
||||
<!-- DSW0 -->
|
||||
<!-- dip name="Cabinet" bits="14" ids="Cocktail,Upright"/-->
|
||||
<dip name="Service Mode" bits="15" ids="Off,On"/>
|
||||
<!-- DSW1 -->
|
||||
<dip name="Coin A" bits="1,3" ids="1/3,1/4,1/2,1/1,2/1,2/3,3/1,4/1"/>
|
||||
<dip name="Coin B" bits="4,6" ids="1/3,1/4,1/2,1/1,2/1,2/3,3/1,4/1"/>
|
||||
<dip name="Freeze" bits="7" ids="Off,On"/>
|
||||
<!-- DSW2 -->
|
||||
<dip name="Lives" bits="16,17" ids="3,1,2,5"/>
|
||||
<dip name="Difficulty" bits="18,19" ids="Rank A,Rank B,Rank C,Rank D"/>
|
||||
<dip name="Demo Sounds" bits="20" ids="On,Off"/>
|
||||
<dip name="Level Select" bits="21" ids="On,Off"/>
|
||||
<dip name="Bonus Life" bits="22,23" ids="10k,None,10k/30k,10k/50k/50k"/>
|
||||
</switches>
|
||||
</misterromdescription>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<rbf>druaga</rbf>
|
||||
<mratimestamp>20210326</mratimestamp>
|
||||
<rom index="1">
|
||||
<part>05</part>
|
||||
<part>07</part>
|
||||
</rom>
|
||||
<rom index="0" zip="pacnpal.zip" md5="None">
|
||||
<!-- CPU ROM set for the original Pac & Pal.
|
||||
@@ -56,7 +56,7 @@
|
||||
<dip bits="16,18" name="Coin A" ids="1 Coin 1 Credit ,1 Coin 2 Credits,1 Coin 3 Credits,1 Coin 6 Credits,1 Coin 7 Credits,2 Coins 1 Credit ,2 Coins 3 Credits,3 Coins 1 Credit "/>
|
||||
<dip bits="0,1" name="Coin B" ids="1 Coin 1 Credit ,1 Coin 2 Credits,2 Coins 1 Credit ,2 Coins 3 Credits"/>
|
||||
<dip bits="22,23" name="Lives" ids="1,2,3,5"/>
|
||||
<dip bits="19,21" name="Bonus Life" ids="No Bonus,20k/70k/ev.70k,30k/80k/ev.80k,20k/70k,30k/70k,30k/80k,30k/100k"/>
|
||||
<dip bits="19,21" name="Bonus Life" ids="Never,30k/80k/80k,40k/100k/100k,30k/80k,30k/100k,40k/120k,30k"/>
|
||||
<dip bits="15" name="Service Mode" ids="Off,On"></dip>
|
||||
<!-- dip bits="14" name="Cabinet" ids="Upright,Cocktail"></dip -->
|
||||
</switches>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<rbf>druaga</rbf>
|
||||
<mratimestamp>20210326</mratimestamp>
|
||||
<rom index="1">
|
||||
<part>05</part>
|
||||
<part>07</part>
|
||||
</rom>
|
||||
<rom index="0" zip="pacnpal.zip" md5="None">
|
||||
<!-- main CPU -->
|
||||
@@ -44,7 +44,7 @@
|
||||
<dip bits="16,18" name="Coin A" ids="1 Coin 1 Credit ,1 Coin 2 Credits,1 Coin 3 Credits,1 Coin 6 Credits,1 Coin 7 Credits,2 Coins 1 Credit ,2 Coins 3 Credits,3 Coins 1 Credit "/>
|
||||
<dip bits="0,1" name="Coin B" ids="1 Coin 1 Credit ,1 Coin 2 Credits,2 Coins 1 Credit ,2 Coins 3 Credits"/>
|
||||
<dip bits="22,23" name="Lives" ids="1,2,3,5"/>
|
||||
<dip bits="19,21" name="Bonus Life" ids="No Bonus,20k/70k/ev.70k,30k/80k/ev.80k,20k/70k,30k/70k,30k/80k,30k/100k"/>
|
||||
<dip bits="19,21" name="Bonus Life" ids="Never,30k/80k/80k,40k/100k/100k,30k/80k,30k/100k,40k/120k,30k"/>
|
||||
<dip bits="15" name="Service Mode" ids="Off,On"></dip>
|
||||
<!-- dip bits="14" name="Cabinet" ids="Upright,Cocktail"></dip -->
|
||||
</switches>
|
||||
|
||||
@@ -66,7 +66,7 @@ always @(*) begin
|
||||
DSW2 = 0;
|
||||
|
||||
case (core_mod)
|
||||
7'h0, 7'h1, 7'h3, 7'h6: // DRUAGA, DIGDUG2, GROBDA
|
||||
7'h0, 7'h1, 7'h3: // DRUAGA, DIGDUG2
|
||||
begin
|
||||
DSW0 = status[15:8];
|
||||
DSW1 = status[23:16];
|
||||
@@ -78,6 +78,13 @@ always @(*) begin
|
||||
DSW1 = status[23:16];
|
||||
DSW2 = { {2{status[27:24]}} };
|
||||
end
|
||||
7'h6: // GROBDA
|
||||
begin
|
||||
DSW0 = status[15:8];
|
||||
DSW1 = {status[23:22], m_fire2B, m_fireB, status[19:16]};
|
||||
DSW2 = status[31:24];
|
||||
end
|
||||
|
||||
default:
|
||||
begin
|
||||
DSW0 = status[15:8];
|
||||
@@ -113,8 +120,6 @@ wire key_strobe;
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
|
||||
// assign core_mod=7'd5;
|
||||
|
||||
user_io #(.STRLEN($size(CONF_STR)>>3))user_io(
|
||||
.clk_sys (clock_48 ),
|
||||
.conf_str (CONF_STR ),
|
||||
|
||||
@@ -28,8 +28,7 @@ module DRUAGA_SPRITE
|
||||
input FLIP_SCREEN
|
||||
);
|
||||
|
||||
parameter [2:0] SUPERPAC=3'd5;
|
||||
parameter [2:0] GROBDA=3'd6;
|
||||
`include "param.v"
|
||||
|
||||
reg [9:0] CLT1_A;
|
||||
wire [3:0] CLT1_D;
|
||||
@@ -92,7 +91,7 @@ always @(*) begin
|
||||
(ox[1:0]==2'b01) ? { pn, SPCO[14], SPCO[10], SPCO[6], SPCO[2] } :
|
||||
(ox[1:0]==2'b10) ? { pn, SPCO[13], SPCO[ 9], SPCO[5], SPCO[1] } :
|
||||
{ pn, SPCO[12], SPCO[ 8], SPCO[4], SPCO[0] } ;
|
||||
if( MODEL == SUPERPAC || MODEL == GROBDA) begin // 2bpp
|
||||
if( MODEL == SUPERPAC || MODEL == GROBDA || MODEL == PACNPAL) begin // 2bpp
|
||||
CLT1_A[9:2]= { 2'd0, CLT1_A[9:4] };
|
||||
end
|
||||
end
|
||||
|
||||
@@ -35,8 +35,7 @@ module DRUAGA_VIDEO
|
||||
input FLIP_SCREEN
|
||||
);
|
||||
|
||||
parameter [2:0] SUPERPAC=3'd5;
|
||||
parameter [2:0] GROBDA=3'd6;
|
||||
`include "param.v"
|
||||
|
||||
wire [8:0] HPOS = PH-8'd16;
|
||||
wire [8:0] VPOS = PV;
|
||||
@@ -91,11 +90,11 @@ always @ ( posedge VCLKx8 ) begin
|
||||
end
|
||||
|
||||
|
||||
assign CLT0_A = BGPN ^ ( (MODEL==SUPERPAC || MODEL==GROBDA) ? 8'h0 : 8'h03 );
|
||||
assign VRAM_A = VRAMADRS & ( (MODEL==SUPERPAC || MODEL==GROBDA) ? 11'h3FF : 11'h7FF );
|
||||
assign CLT0_A = BGPN ^ ( (MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) ? 8'h0 : 8'h03 );
|
||||
assign VRAM_A = VRAMADRS & ( (MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) ? 11'h3FF : 11'h7FF );
|
||||
|
||||
wire BGHI = BGH & (CLT0_D!=4'd15);
|
||||
wire [4:0] BGCOL = { 1'b1, ((MODEL==SUPERPAC || MODEL==GROBDA) ? ~CLT0_D :CLT0_D) };
|
||||
wire [4:0] BGCOL = { 1'b1, ((MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) ? ~CLT0_D :CLT0_D) };
|
||||
|
||||
always @(*) begin
|
||||
COL = HPOS[8:3] ^ {5{FLIP_SCREEN}};
|
||||
@@ -103,7 +102,7 @@ always @(*) begin
|
||||
// rather than the original circuit count.
|
||||
ROW = (VPOS[8:3] + 6'h2) ^ {5{FLIP_SCREEN}};
|
||||
|
||||
if( MODEL==SUPERPAC || MODEL==GROBDA ) begin
|
||||
if( MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL) begin
|
||||
VRAMADRS = { 1'b0,
|
||||
COL[5] ? {COL[4:0], ROW[4:0]} :
|
||||
{ROW[4:0], COL[4:0]}
|
||||
@@ -119,7 +118,7 @@ end
|
||||
//----------------------------------------
|
||||
wire [4:0] SPCOL;
|
||||
|
||||
DRUAGA_SPRITE #(.SUPERPAC(SUPERPAC)) spr
|
||||
DRUAGA_SPRITE spr
|
||||
(
|
||||
VCLKx8, VCLK_EN,
|
||||
HPOS, VPOS, oHB,
|
||||
|
||||
@@ -41,8 +41,6 @@ module fpga_druaga
|
||||
input FLIP_SCREEN
|
||||
);
|
||||
|
||||
parameter [2:0] SUPERPAC=3'd5;
|
||||
|
||||
// Clock Generator
|
||||
reg [4:0] CLKS;
|
||||
|
||||
@@ -79,7 +77,7 @@ wire [10:0] vram_a;
|
||||
wire [15:0] vram_d;
|
||||
wire [6:0] spra_a;
|
||||
wire [23:0] spra_d;
|
||||
MEMS #(.SUPERPAC(SUPERPAC)) mems
|
||||
MEMS mems
|
||||
(
|
||||
MCLK,
|
||||
CLKCPUx2,
|
||||
@@ -101,7 +99,7 @@ wire SCPU_IRQ, SCPU_IRQEN;
|
||||
wire SCPU_RESET, IO_RESET;
|
||||
wire PSG_ENABLE;
|
||||
|
||||
REGS #(.SUPERPAC(SUPERPAC)) regs
|
||||
REGS regs
|
||||
(
|
||||
CLKCPUx2, RESET, oVB,
|
||||
MCPU_ADRS, MCPU_VMA, MCPU_WE,
|
||||
@@ -117,7 +115,7 @@ REGS #(.SUPERPAC(SUPERPAC)) regs
|
||||
|
||||
// I/O Controler
|
||||
wire IsMOTOS;
|
||||
IOCTRL #(.SUPERPAC(SUPERPAC)) ioctrl(
|
||||
IOCTRL ioctrl(
|
||||
CLKCPUx2, oVB, IO_RESET, MCPU_CS_IO, MCPU_WE, MCPU_ADRS[5:0],
|
||||
MCPU_DO,
|
||||
IO_O,
|
||||
@@ -241,8 +239,7 @@ module MEMS
|
||||
input [2:0] MODEL
|
||||
);
|
||||
|
||||
parameter [2:0] SUPERPAC=3'd5;
|
||||
parameter [2:0] GROBDA=3'd6;
|
||||
`include "param.v"
|
||||
|
||||
wire [7:0] mrom_d, srom_d;
|
||||
//DLROM #(15,8) mcpui( CPUCLKx2, MCPU_ADRS[14:0], mrom_d, ROMCL,ROMAD[14:0],ROMDT,ROMEN & (ROMAD[16:15]==2'b0_0));
|
||||
@@ -266,7 +263,7 @@ wire mrom_cs = ( MCPU_ADRS[15] ) & MCPU_VMA; // $8000-$FFFF
|
||||
|
||||
always @(*) begin
|
||||
cram_ad = mram_ad;
|
||||
if( MODEL == SUPERPAC || MODEL == GROBDA) begin
|
||||
if( MODEL == SUPERPAC || MODEL == GROBDA || MODEL == PACNPAL) begin
|
||||
mram_cs0 = ( MCPU_ADRS[15:10] == 6'b000000 ) && MCPU_VMA; // $0000-$03FF
|
||||
mram_cs1 = ( MCPU_ADRS[15:10] == 6'b000001 ) && MCPU_VMA; // $0400-$07FF
|
||||
mram_cs2 = ( MCPU_ADRS[15:11] == 5'b00001 ) && MCPU_VMA; // $1000-$17FF
|
||||
@@ -352,16 +349,14 @@ module REGS
|
||||
input [2:0] MODEL
|
||||
);
|
||||
|
||||
parameter [2:0] SUPERPAC=3'd5;
|
||||
parameter [2:0] GROBDA=3'd6;
|
||||
|
||||
`include "param.v"
|
||||
// BG Scroll Register
|
||||
wire MCPU_SCRWE = ( ( MCPU_ADRS[15:11] == 5'b00111 ) & MCPU_VMA & MCPU_WE );
|
||||
|
||||
always @ ( negedge MCPU_CLK or posedge RESET ) begin
|
||||
if ( RESET ) SCROLL <= 8'h0;
|
||||
else begin
|
||||
if( MODEL==SUPERPAC || MODEL==GROBDA)
|
||||
if( MODEL==SUPERPAC || MODEL==GROBDA || MODEL==PACNPAL)
|
||||
SCROLL <= 8'd0;
|
||||
else if ( MCPU_SCRWE )
|
||||
SCROLL <= MCPU_ADRS[10:3];
|
||||
|
||||
@@ -42,13 +42,12 @@ reg [9:0] pSTKTRG12;
|
||||
reg [2:0] pCSTART12;
|
||||
|
||||
reg bUpdate;
|
||||
reg bIOMode;
|
||||
|
||||
parameter [2:0] SUPERPAC=3'd5;
|
||||
reg [1:0] bIOMode;
|
||||
|
||||
`include "param.v"
|
||||
|
||||
assign OUT = { 4'b1111, outr };
|
||||
assign IsMOTOS = bIOMode;
|
||||
assign IsMOTOS = bIOMode == 1;
|
||||
|
||||
// Detect falling edges:
|
||||
wire [11:0] iSTKTRG12 = ( STKTRG12 ^ pSTKTRG12 ) & STKTRG12;
|
||||
@@ -60,13 +59,13 @@ BCDCONV creditsBCD( credits, CREDIT_ONES, CREDIT_TENS );
|
||||
always @ ( posedge CLK ) begin
|
||||
if ( ENABLE ) begin
|
||||
if ( ADRS[5] ) begin
|
||||
if ( WR ) memc[ADRS[4:0]] <= IN;
|
||||
if ( WR ) memc[ADRS[4:0]] <= IN[3:0];
|
||||
outr <= memc[ADRS[4:0]];
|
||||
end else if ( ADRS[4] ) begin
|
||||
if ( WR ) memb[ADRS[3:0]] <= IN;
|
||||
if ( WR ) memb[ADRS[3:0]] <= IN[3:0];
|
||||
outr <= memb[ADRS[3:0]];
|
||||
end else begin
|
||||
if ( WR ) mema[ADRS[3:0]] <= IN;
|
||||
if ( WR ) mema[ADRS[3:0]] <= IN[3:0];
|
||||
outr <= mema[ADRS[3:0]];
|
||||
end
|
||||
end
|
||||
@@ -78,14 +77,28 @@ always @ ( posedge CLK ) begin
|
||||
credits <= 0;
|
||||
end else begin
|
||||
if ( UPDATE & (~bUpdate) ) begin
|
||||
if ( mema[4'h8] == 4'h8 || MODEL==SUPERPAC )
|
||||
bIOMode <= 1'b1; // Is running "Motos" ?
|
||||
if (MODEL == PACNPAL)
|
||||
bIOMode <= 2'd3;
|
||||
else if (MODEL == GROBDA)
|
||||
bIOMode <= 2'd2;
|
||||
else if ( mema[4'h8] == 4'h8 || MODEL==SUPERPAC)
|
||||
bIOMode <= 2'd1; // Is running "Motos" ?
|
||||
|
||||
if ( bIOMode ) begin
|
||||
`include "ioctrl_1.v"
|
||||
if ( bIOMode == 3) begin
|
||||
`include "ioctrl_1a.v"
|
||||
`include "ioctrl_2b.v"
|
||||
end
|
||||
else if ( bIOMode == 2) begin
|
||||
`include "ioctrl_0a.v"
|
||||
`include "ioctrl_1b.v"
|
||||
end
|
||||
else if ( bIOMode == 1) begin
|
||||
`include "ioctrl_1a.v"
|
||||
`include "ioctrl_1b.v"
|
||||
end
|
||||
else begin
|
||||
`include "ioctrl_0.v"
|
||||
`include "ioctrl_0a.v"
|
||||
`include "ioctrl_0b.v"
|
||||
end
|
||||
|
||||
pCSTART12 <= CSTART12;
|
||||
|
||||
@@ -12,21 +12,21 @@
|
||||
|
||||
if ( iCSTART12[2] & ( credits < 99 ) ) begin
|
||||
credit_add = 8'h01;
|
||||
credits = credits + 1;
|
||||
credits = credits + 1'd1;
|
||||
end
|
||||
|
||||
if ( mema[4'h9] == 0 ) begin
|
||||
if ( ( credits >= 2 ) & iCSTART12[1] ) begin
|
||||
credit_sub = 8'h02;
|
||||
credits = credits - 2;
|
||||
credits = credits - 2'd2;
|
||||
end else if ( ( credits >= 1 ) & iCSTART12[0] ) begin
|
||||
credit_sub = 8'h01;
|
||||
credits = credits - 1;
|
||||
credits = credits - 1'd1;
|
||||
end
|
||||
end
|
||||
|
||||
mema[4'h0] <= credit_add;
|
||||
mema[4'h1] <= credit_sub | {7'd0,CSTART12[0]};
|
||||
mema[4'h1] <= credit_sub | {3'd0,CSTART12[0]};
|
||||
mema[4'h2] <= CREDIT_TENS;
|
||||
mema[4'h3] <= CREDIT_ONES;
|
||||
mema[4'h4] <= STKTRG12[3:0];
|
||||
@@ -60,48 +60,3 @@
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
|
||||
case ( memb[4'h8] )
|
||||
|
||||
4'h1,4'h3: begin
|
||||
memb[4'h0] <= 0;
|
||||
memb[4'h1] <= 0;
|
||||
memb[4'h2] <= 0;
|
||||
memb[4'h3] <= 0;
|
||||
memb[4'h4] <= 0;
|
||||
memb[4'h5] <= 0;
|
||||
memb[4'h6] <= 0;
|
||||
memb[4'h7] <= 0;
|
||||
end
|
||||
|
||||
4'h4: begin
|
||||
memb[4'h0] <= DIPSW[11: 8]; // (P0) DSW1 Mappy
|
||||
memb[4'h1] <= DIPSW[15:12];
|
||||
|
||||
memb[4'h2] <= DIPSW[ 3: 0]; // (P1) DSW0
|
||||
memb[4'h4] <= DIPSW[ 7: 4];
|
||||
|
||||
memb[4'h5] <={DIPSW[15:14],STKTRG12[ 5],iSTKTRG12[ 5]}; // (P2) DSW1 Druaga/DigDug2
|
||||
memb[4'h6] <= DIPSW[23:20]; // IsMappy ? DIPSW[19:16] : DIPSW[11:8]
|
||||
|
||||
memb[4'h7] <={DIPSW[19:18],STKTRG12[11],iSTKTRG12[11]}; // (P3) DSW2
|
||||
|
||||
memb[4'h3] <= 0;
|
||||
end
|
||||
|
||||
4'h5: begin
|
||||
memb[4'h0] <= 4'h0;
|
||||
memb[4'h1] <= 4'h8;
|
||||
memb[4'h2] <= 4'h4;
|
||||
memb[4'h3] <= 4'h6;
|
||||
memb[4'h4] <= 4'hE;
|
||||
memb[4'h5] <= 4'hD;
|
||||
memb[4'h6] <= 4'h9;
|
||||
memb[4'h7] <= 4'hD;
|
||||
end
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
49
Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0b.v
Normal file
49
Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_0b.v
Normal file
@@ -0,0 +1,49 @@
|
||||
//------------------------------------------
|
||||
// I/O Chip for "Mappy/Druaga/DigDug2"
|
||||
//
|
||||
// Copyright (c) 2007,19 MiSTer-X
|
||||
//------------------------------------------
|
||||
|
||||
case ( memb[4'h8] )
|
||||
|
||||
4'h1,4'h3: begin
|
||||
memb[4'h0] <= 0;
|
||||
memb[4'h1] <= 0;
|
||||
memb[4'h2] <= 0;
|
||||
memb[4'h3] <= 0;
|
||||
memb[4'h4] <= 0;
|
||||
memb[4'h5] <= 0;
|
||||
memb[4'h6] <= 0;
|
||||
memb[4'h7] <= 0;
|
||||
end
|
||||
|
||||
4'h4: begin
|
||||
memb[4'h0] <= DIPSW[11: 8]; // (P0) DSW1 Mappy
|
||||
memb[4'h1] <= DIPSW[15:12];
|
||||
|
||||
memb[4'h2] <= DIPSW[ 3: 0]; // (P1) DSW0
|
||||
memb[4'h4] <= DIPSW[ 7: 4];
|
||||
|
||||
memb[4'h5] <={DIPSW[15:14],STKTRG12[ 5],iSTKTRG12[ 5]}; // (P2) DSW1 Druaga/DigDug2
|
||||
memb[4'h6] <= DIPSW[23:20]; // IsMappy ? DIPSW[19:16] : DIPSW[11:8]
|
||||
|
||||
memb[4'h7] <={DIPSW[19:18],STKTRG12[11],iSTKTRG12[11]}; // (P3) DSW2
|
||||
|
||||
memb[4'h3] <= 0;
|
||||
end
|
||||
|
||||
4'h5: begin
|
||||
memb[4'h0] <= 4'h0;
|
||||
memb[4'h1] <= 4'h8;
|
||||
memb[4'h2] <= 4'h4;
|
||||
memb[4'h3] <= 4'h6;
|
||||
memb[4'h4] <= 4'hE;
|
||||
memb[4'h5] <= 4'hD;
|
||||
memb[4'h6] <= 4'h9;
|
||||
memb[4'h7] <= 4'hD;
|
||||
end
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
@@ -25,21 +25,21 @@
|
||||
|
||||
if ( iCSTART12[2] & ( credits < 99 ) ) begin
|
||||
credit_add = 8'h01;
|
||||
credits = credits + 1;
|
||||
credits = credits + 1'd1;
|
||||
end
|
||||
|
||||
if ( mema[4'h9] == 0 ) begin
|
||||
if ( ( credits >= 2 ) && iCSTART12[1] ) begin
|
||||
credit_sub = 8'h02;
|
||||
credits = credits - 2;
|
||||
credits = credits - 2'd2;
|
||||
end else if ( ( credits >= 1 ) && iCSTART12[0] ) begin
|
||||
credit_sub = 8'h01;
|
||||
credits = credits - 1;
|
||||
credits = credits - 1'd1;
|
||||
end
|
||||
end
|
||||
|
||||
mema[4'h0] <= credit_add;
|
||||
mema[4'h1] <= credit_sub | {7'd0,CSTART12[0]};
|
||||
mema[4'h1] <= credit_sub | {3'd0,CSTART12[0]};
|
||||
mema[4'h2] <= CREDIT_TENS;
|
||||
mema[4'h3] <= CREDIT_ONES;
|
||||
mema[4'h4] <= STKTRG12[3:0];
|
||||
@@ -57,28 +57,3 @@
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
|
||||
case ( memb[4'h8] )
|
||||
|
||||
4'h8: begin
|
||||
memb[4'h0] <= 4'h6;
|
||||
memb[4'h1] <= 4'h9;
|
||||
end
|
||||
|
||||
4'h9: begin
|
||||
memb[4'h2] <= DIPSW[3:0];
|
||||
memb[4'h4] <= DIPSW[7:4];
|
||||
memb[4'h6] <= DIPSW[15:12];
|
||||
|
||||
memb[4'h0] <= 0;
|
||||
memb[4'h1] <= 0;
|
||||
memb[4'h3] <= 0;
|
||||
memb[4'h5] <= 0;
|
||||
memb[4'h7] <= 0;
|
||||
end
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
29
Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1b.v
Normal file
29
Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_1b.v
Normal file
@@ -0,0 +1,29 @@
|
||||
//------------------------------------------
|
||||
// I/O Chip for "Motos"
|
||||
// Namco 56xx
|
||||
//
|
||||
// Copyright (c) 2007,19 MiSTer-X
|
||||
//------------------------------------------
|
||||
case ( memb[4'h8] )
|
||||
|
||||
4'h8: begin
|
||||
memb[4'h0] <= 4'h6;
|
||||
memb[4'h1] <= 4'h9;
|
||||
end
|
||||
|
||||
4'h9: begin
|
||||
memb[4'h2] <= DIPSW[3:0];
|
||||
memb[4'h4] <= DIPSW[7:4];
|
||||
memb[4'h6] <= DIPSW[15:12];
|
||||
|
||||
memb[4'h0] <= DIPSW[19:16];
|
||||
memb[4'h1] <= DIPSW[23:20];
|
||||
memb[4'h3] <= 0;
|
||||
memb[4'h5] <= 0;
|
||||
memb[4'h7] <= 0;
|
||||
end
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
25
Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_2b.v
Normal file
25
Arcade_MiST/Namco Super Pacman Hardware/rtl/ioctrl_2b.v
Normal file
@@ -0,0 +1,25 @@
|
||||
//------------------------------------------
|
||||
// I/O Chip for "Pac & Pal"
|
||||
// Namco 59xx
|
||||
//
|
||||
// Copyright (c) 2007,19 MiSTer-X
|
||||
// Copyright (c) 2022 Slingshot
|
||||
//------------------------------------------
|
||||
case ( memb[4'h8] )
|
||||
|
||||
4'h3: begin
|
||||
memb[4'h4] <= DIPSW[3:0]; //0
|
||||
memb[4'h5] <= DIPSW[23:20]; //2
|
||||
memb[4'h6] <= DIPSW[19:16]; //1
|
||||
memb[4'h7] <= DIPSW[15:12]; //3
|
||||
|
||||
memb[4'h0] <= 0;
|
||||
memb[4'h1] <= 0;
|
||||
memb[4'h2] <= 0;
|
||||
memb[4'h3] <= 0;
|
||||
end
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
3
Arcade_MiST/Namco Super Pacman Hardware/rtl/param.v
Normal file
3
Arcade_MiST/Namco Super Pacman Hardware/rtl/param.v
Normal file
@@ -0,0 +1,3 @@
|
||||
localparam [2:0] SUPERPAC=3'd5;
|
||||
localparam [2:0] GROBDA=3'd6;
|
||||
localparam [2:0] PACNPAL=3'd7;
|
||||
@@ -18,7 +18,9 @@
|
||||
-- Left Ctrl : Trig1
|
||||
-- Left Alt : Trig2
|
||||
-- SPACE : Trig3
|
||||
--
|
||||
---------------------------------------------------------------------------------
|
||||
-- Original by:
|
||||
--
|
||||
-- Arcade: SEGA System 1 for MiSTer by MiSTer-X
|
||||
-- 07 January 2020
|
||||
@@ -30,48 +32,50 @@
|
||||
-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
-- Keyboard inputs :
|
||||
-- System2 based on the work of Blackwine
|
||||
--
|
||||
-- F2 : Coin + Start 2 players
|
||||
-- F1 : Coin + Start 1 player
|
||||
-- UP,DOWN,LEFT,RIGHT arrows : Movements
|
||||
-- SPACE : Trig1
|
||||
-- CTRL : Trig2
|
||||
-- ALT : Trig3
|
||||
--
|
||||
-- MAME/IPAC/JPAC Style Keyboard inputs:
|
||||
-- 5 : Coin 1
|
||||
-- 6 : Coin 2
|
||||
-- 1 : Start 1 Player
|
||||
-- 2 : Start 2 Players
|
||||
-- R,F,D,G : Player 2 Movements
|
||||
-- A : Player 2 Trig1
|
||||
-- S : Player 2 Trig2
|
||||
-- Q : Player 2 Trig3
|
||||
-- Games currently supported:
|
||||
--
|
||||
-- Joystick support.
|
||||
-- SYSTEM1
|
||||
-- -------
|
||||
--
|
||||
---------------------------------------------------------------------------------
|
||||
-- 2020/01/08 Impl. Trigger 3 (for SEGA Ninja)
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
*** Attention ***
|
||||
|
||||
ROM is not included. In order to use this arcade, you need to provide a correct ROM file.
|
||||
|
||||
Find this zip file somewhere. You need to find the file exactly as required.
|
||||
Do not rename other zip files even if they also represent the same game - they are not compatible!
|
||||
The name of zip is taken from M.A.M.E. project, so you can get more info about
|
||||
hashes and contained files there.
|
||||
|
||||
|
||||
How to install:
|
||||
0. Update MiSTer binary to v200106 or later
|
||||
1. copy releases/*.mra to /media/fat/_Arcade
|
||||
2. copy releases/*.rbf to /media/fat/_Arcade/cores
|
||||
3. copy ROM zip files to /media/fat/_Arcade/mame
|
||||
|
||||
|
||||
Be sure to use the MRA file in "releases" of this repository.
|
||||
It does not guarantee the operation when using other MRA files.
|
||||
|
||||
-- 4-D Warriors
|
||||
-- Block Gal
|
||||
-- Brain
|
||||
-- Bullfight
|
||||
-- Flicky
|
||||
-- Gardia
|
||||
-- Heavy Metal
|
||||
-- I'm Sorry
|
||||
-- Mister Viking
|
||||
-- My Hero
|
||||
-- Pitfall II
|
||||
-- Rafflesia
|
||||
-- Regulus
|
||||
-- Sega Ninja
|
||||
-- Spatter
|
||||
-- Star Jacker
|
||||
-- SWAT
|
||||
-- TeddyBoy Blues
|
||||
-- Up'n Down
|
||||
-- Water Match
|
||||
-- Wonder Boy
|
||||
--
|
||||
-- SYSTEM2
|
||||
-- -------
|
||||
--
|
||||
-- Choplifter
|
||||
-- Toki no Senshi - Chrono Soldier
|
||||
-- Ufo Senshi Yohko Chan
|
||||
-- Wonder Boy in Monster Land
|
||||
--
|
||||
--
|
||||
-- Currently not supported:
|
||||
--
|
||||
-- Noboranka / Zippy Bug (bootleg)
|
||||
-- DakkoChan House
|
||||
-- 119
|
||||
-- Senryaku Game Bopeep
|
||||
-- Shooting Master
|
||||
-- Warball
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
# ========================
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26"
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
|
||||
# Pin & Location Assignments
|
||||
@@ -154,7 +154,7 @@ set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
|
||||
# SignalTap II Assignments
|
||||
# ========================
|
||||
set_global_assignment -name ENABLE_SIGNALTAP OFF
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/dect.stp
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/dect2.stp
|
||||
|
||||
# Power Estimation Assignments
|
||||
# ============================
|
||||
@@ -224,6 +224,9 @@ set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
|
||||
# ------------------------
|
||||
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
|
||||
set_global_assignment -name SMART_RECOMPILE ON
|
||||
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON
|
||||
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON
|
||||
set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA ON
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/Segasys1_MiST.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/HVGEN.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/SEGASYS1.v
|
||||
@@ -233,6 +236,7 @@ set_global_assignment -name VERILOG_FILE rtl/SEGASYS1_SOUND.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/SEGASYS1_PRGDEC.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/SEGASYS1_MAIN.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/parts.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/MC8123.v
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/pll_mist.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/z80ip.v
|
||||
@@ -244,7 +248,5 @@ set_global_assignment -name QIP_FILE ../../common/mist/mist.qip
|
||||
set_global_assignment -name SIGNALTAP_FILE output_files/bg.stp
|
||||
set_global_assignment -name SIGNALTAP_FILE output_files/spr.stp
|
||||
set_global_assignment -name SIGNALTAP_FILE output_files/dect.stp
|
||||
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON
|
||||
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON
|
||||
set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA ON
|
||||
set_global_assignment -name SIGNALTAP_FILE output_files/dect2.stp
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
@@ -1,63 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>4D Warriors</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<setname>4dwarrio</setname>
|
||||
<mratimestamp>202001100000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shmup</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,FF" base="8">
|
||||
<dip bits="9,10" name="Lives" ids="Free Play,5,4,3"/>
|
||||
<dip bits="11,13" name="Bonus at" ids="Never,90k,80k,70k,60k,50k,40k,30k"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>04</part>
|
||||
</rom>
|
||||
<rom index="0" zip="4dwarrio.zip" md5="3d4c746696e10b81c35b7aa0f0578bd4" type="merged|nonmerged|split">
|
||||
<part name="4d.116"/>
|
||||
<part name="4d.109"/>
|
||||
<part name="4d.96"/>
|
||||
<part name="4d.120"/>
|
||||
<part name="4d.120"/>
|
||||
<part name="4d.117"/>
|
||||
<part name="4d.04"/>
|
||||
<part name="4d.110"/>
|
||||
<part name="4d.05"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="4d.62" map="0001"/>
|
||||
<part name="4d.64" map="0010"/>
|
||||
<part name="4d.66" map="0100"/>
|
||||
<part name="4d.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="4d.61" map="0001"/>
|
||||
<part name="4d.63" map="0010"/>
|
||||
<part name="4d.65" map="0100"/>
|
||||
<part name="4d.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr5317.76"/>
|
||||
<part>
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05
|
||||
05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 06
|
||||
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 07
|
||||
07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 08
|
||||
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 09
|
||||
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 0A
|
||||
0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0B
|
||||
0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0C
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,113 @@
|
||||
<misterromdescription>
|
||||
<name>4-D Warriors (315-5162)</name>
|
||||
<setname>4dwarrio</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1985</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Leg Weapon,Arm Beam,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Lives" bits="9,10" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="11,13" ids="None,90k,80k,70k,60k,50k,40k,30k"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>04</part>
|
||||
</rom>
|
||||
<rom index="0" zip="4dwarrio.zip" type="merged" md5="922fddc7d30c73ae84f64cd5b84c1222">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="5241c009" name="4d.120"/>
|
||||
<part crc="5241c009" name="4d.120"/>
|
||||
<part crc="5241c009" name="4d.120"/>
|
||||
<part crc="5241c009" name="4d.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="546d1bc7" name="4d.116"/>
|
||||
<part crc="f1074ec3" name="4d.109"/>
|
||||
<part crc="387c1e8f" name="4d.96"/>
|
||||
<part crc="387c1e8f" name="4d.96"/>
|
||||
<part crc="387c1e8f" name="4d.96"/>
|
||||
<part crc="387c1e8f" name="4d.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="436e4141" name="4d.117"/>
|
||||
<part crc="8b7cecef" name="4d.04"/>
|
||||
<part crc="6ec5990a" name="4d.110"/>
|
||||
<part crc="f31a1e6a" name="4d.05"/>
|
||||
<part crc="436e4141" name="4d.117"/>
|
||||
<part crc="8b7cecef" name="4d.04"/>
|
||||
<part crc="6ec5990a" name="4d.110"/>
|
||||
<part crc="f31a1e6a" name="4d.05"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="f31b2e09" name="4d.62"/>
|
||||
<part crc="9f442351" name="4d.64"/>
|
||||
<part crc="52bfa2ed" name="4d.66"/>
|
||||
<part crc="52bfa2ed" name="4d.66"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="5430e925" name="4d.61"/>
|
||||
<part crc="633232bd" name="4d.63"/>
|
||||
<part crc="e9ba4658" name="4d.65"/>
|
||||
<part crc="e9ba4658" name="4d.65"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="f31b2e09" name="4d.62"/>
|
||||
<part crc="9f442351" name="4d.64"/>
|
||||
<part crc="52bfa2ed" name="4d.66"/>
|
||||
<part crc="52bfa2ed" name="4d.66"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="5430e925" name="4d.61"/>
|
||||
<part crc="633232bd" name="4d.63"/>
|
||||
<part crc="e9ba4658" name="4d.65"/>
|
||||
<part crc="e9ba4658" name="4d.65"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5162 -->
|
||||
<part>
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
|
||||
04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05
|
||||
05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 06
|
||||
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 07
|
||||
07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 08
|
||||
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 09
|
||||
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 0a
|
||||
0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0b
|
||||
0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0c
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 D3 00 00 A0 00 20 00 00 C0 17 00 03 00 02
|
||||
</part>
|
||||
</rom>
|
||||
<mratimestamp>20210629000000</mratimestamp>
|
||||
</misterromdescription>
|
||||
98
Arcade_MiST/Sega System 1 Hardware/meta/Block Gal.mra
Normal file
98
Arcade_MiST/Sega System 1 Hardware/meta/Block Gal.mra
Normal file
@@ -0,0 +1,98 @@
|
||||
<misterromdescription>
|
||||
<name>Block Gal (MC-8123B, 317-0029)</name>
|
||||
<setname>blockgal</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1987</year>
|
||||
<manufacturer>Sega / Vic Tokai</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>4-way</joystick>
|
||||
<rotation>vertical/cw</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Launch,Fast-Move,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,CE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="Off,On"/>
|
||||
<dip name="Lives" bits="11" ids="3,2"/>
|
||||
<dip name="Bonus Life" bits="12" ids="30/5/1/2/300k,10/3/6/1/150k"/>
|
||||
<dip name="Allow Continue" bits="13" ids="Yes,No"/>
|
||||
<dip name="Service Mode" bits="15" ids="On,Off"/>
|
||||
</switches>
|
||||
<rom index="0" zip="blockgal.zip" type="merged" md5="987e7e3b5d4b3d2060776e0482f6ac57">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="d848faff" name="bg.120"/>
|
||||
<part crc="d848faff" name="bg.120"/>
|
||||
<part crc="d848faff" name="bg.120"/>
|
||||
<part crc="d848faff" name="bg.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="a99b231a" name="bg.116"/>
|
||||
<part crc="a6b573d5" name="bg.109"/>
|
||||
<part repeat="0x10000">00</part>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="e99cc920" name="bg.117"/>
|
||||
<part crc="213057f8" name="bg.04"/>
|
||||
<part crc="064c812c" name="bg.110"/>
|
||||
<part crc="02e0b040" name="bg.05"/>
|
||||
<part crc="e99cc920" name="bg.117"/>
|
||||
<part crc="213057f8" name="bg.04"/>
|
||||
<part crc="064c812c" name="bg.110"/>
|
||||
<part crc="02e0b040" name="bg.05"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="7e3ea4eb" name="bg.62"/>
|
||||
<part crc="17368663" name="bg.64"/>
|
||||
<part crc="2b7dc4fa" name="bg.66"/>
|
||||
<part crc="2b7dc4fa" name="bg.66"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="4dd3d39d" name="bg.61"/>
|
||||
<part crc="0c8bc404" name="bg.63"/>
|
||||
<part crc="ed121306" name="bg.65"/>
|
||||
<part crc="ed121306" name="bg.65"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="7e3ea4eb" name="bg.62"/>
|
||||
<part crc="17368663" name="bg.64"/>
|
||||
<part crc="2b7dc4fa" name="bg.66"/>
|
||||
<part crc="2b7dc4fa" name="bg.66"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="4dd3d39d" name="bg.61"/>
|
||||
<part crc="0c8bc404" name="bg.63"/>
|
||||
<part crc="ed121306" name="bg.65"/>
|
||||
<part crc="ed121306" name="bg.65"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<part repeat="0x1C00">00</part>
|
||||
|
||||
<!-- decryption key, size: 0x2000 -->
|
||||
<part name="317-0029.key"/>
|
||||
|
||||
</rom>
|
||||
<rom index="1">
|
||||
<part>32</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02
|
||||
00 02 00 01 00 FF 00 00
|
||||
00 00 C0 62 00 03 00 01
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="3"/>
|
||||
</misterromdescription>
|
||||
70
Arcade_MiST/Sega System 1 Hardware/meta/Brain.mra
Normal file
70
Arcade_MiST/Sega System 1 Hardware/meta/Brain.mra
Normal file
@@ -0,0 +1,70 @@
|
||||
<misterromdescription>
|
||||
<name>Brain</name>
|
||||
<mameversion>0229</mameversion>
|
||||
<setname>brain</setname>
|
||||
<mratimestamp>20210629000000</mratimestamp>
|
||||
<year>1986</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<buttons names="Shoot,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,Start,Select,R,C"/>
|
||||
<switches base="8" default="FF,7C">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="90000,70000,50000,30000"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" md5="none" zip="brain.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="c7e50278" name="brain.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="2d2aec31" name="brain.1"/>
|
||||
<part crc="810a8ab5" name="brain.2"/>
|
||||
<part crc="9a225634" name="brain.3"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="92ff71a4" name="brain.117"/>
|
||||
<part crc="a1b847ec" name="brain.110"/>
|
||||
<part crc="fd2ea53b" name="brain.4"/>
|
||||
<part repeat="0x8000">ff</part>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="7dce2302" name="brain.62"/>
|
||||
<part crc="7ce03fd3" name="brain.64"/>
|
||||
<part crc="ea54323f" name="brain.66"/>
|
||||
<part crc="ea54323f" name="brain.66"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="7dce2302" name="brain.62"/>
|
||||
<part crc="7ce03fd3" name="brain.64"/>
|
||||
<part crc="ea54323f" name="brain.66"/>
|
||||
<part crc="ea54323f" name="brain.66"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part crc="648350b8" name="pr5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x0300 -->
|
||||
<part crc="8eee0f72" name="bprom.3"/>
|
||||
<part crc="3e7babd7" name="bprom.2"/>
|
||||
<part crc="371c44a6" name="bprom.1"/>
|
||||
|
||||
<!-- encryption_device: none -->
|
||||
<part repeat="0x100">00</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,120 @@
|
||||
<misterromdescription>
|
||||
<name>Bullfight (315-5065)</name>
|
||||
<setname>bullfgt</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1984</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<switches base="8" default="FF,FC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12,13" ids="None,70k,50k,30k"/>
|
||||
</switches>
|
||||
<buttons names="Sword,Cape,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<rom index="0" zip="bullfgt.zip" type="merged" md5="2b9ee07a90e03469d7834c0c9b456176">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="02a37602" name="epr-6077.120"/>
|
||||
<part crc="02a37602" name="epr-6077.120"/>
|
||||
<part crc="02a37602" name="epr-6077.120"/>
|
||||
<part crc="02a37602" name="epr-6077.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="29f19156" name="epr-.129"/>
|
||||
<part crc="e37d2b95" name="epr-.130"/>
|
||||
<part crc="eaf5773d" name="epr-.131"/>
|
||||
<part crc="72c3c712" name="epr-.132"/>
|
||||
<part crc="7d9fa4cd" name="epr-.133"/>
|
||||
<part crc="061f2797" name="epr-.134"/>
|
||||
<part crc="7d9fa4cd" name="epr-.133"/>
|
||||
<part crc="061f2797" name="epr-.134"/>
|
||||
<part crc="7d9fa4cd" name="epr-.133"/>
|
||||
<part crc="061f2797" name="epr-.134"/>
|
||||
<part crc="7d9fa4cd" name="epr-.133"/>
|
||||
<part crc="061f2797" name="epr-.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="fe691e41" name="epr-6069.86"/>
|
||||
<part crc="34f080df" name="epr-6070.93"/>
|
||||
<part crc="fe691e41" name="epr-6069.86"/>
|
||||
<part crc="34f080df" name="epr-6070.93"/>
|
||||
<part crc="fe691e41" name="epr-6069.86"/>
|
||||
<part crc="34f080df" name="epr-6070.93"/>
|
||||
<part crc="fe691e41" name="epr-6069.86"/>
|
||||
<part crc="34f080df" name="epr-6070.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-.82" map="0001"/>
|
||||
<part name="epr-6087.81" map="0010"/>
|
||||
<part name="epr-6085.80" map="0100"/>
|
||||
<part name="epr-6085.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-.65" map="0001"/>
|
||||
<part name="epr-.64" map="0010"/>
|
||||
<part name="epr-.63" map="0100"/>
|
||||
<part name="epr-.63" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-.82" map="0001"/>
|
||||
<part name="epr-6087.81" map="0010"/>
|
||||
<part name="epr-6085.80" map="0100"/>
|
||||
<part name="epr-6085.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-.65" map="0001"/>
|
||||
<part name="epr-.64" map="0010"/>
|
||||
<part name="epr-.63" map="0100"/>
|
||||
<part name="epr-.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.106"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5056 -->
|
||||
<part>
|
||||
a0 a8 20 28 80 a0 00 20
|
||||
20 28 00 08 20 28 00 08
|
||||
a0 a8 20 28 08 28 00 20
|
||||
88 08 a8 28 88 08 a8 28
|
||||
a0 a8 20 28 20 28 00 08
|
||||
28 a8 20 a0 20 28 00 08
|
||||
a0 a8 20 28 08 28 00 20
|
||||
88 08 a8 28 88 08 a8 28
|
||||
28 a8 20 a0 a0 a8 20 28
|
||||
88 08 a8 28 80 a0 00 20
|
||||
28 a8 20 a0 08 28 00 20
|
||||
28 a8 20 a0 80 a0 00 20
|
||||
20 28 00 08 20 28 00 08
|
||||
88 08 a8 28 20 28 00 08
|
||||
08 28 00 20 80 a0 00 20
|
||||
08 28 00 20 88 08 a8 28
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02
|
||||
00 02 00 01 00 FF 00 00
|
||||
00 00 D3 00 00 3C 00 49
|
||||
00 00 C0 14 00 03 00 02
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="63"/>
|
||||
</misterromdescription>
|
||||
@@ -1,61 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Bull Fight (315-5065)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>bullfgt</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<category>Sport</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="None,70000,50000,30000"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="bullfgt.zip" md5="ea1314a026a422e747d3891087a63d84" type="merged|nonmerged|split">
|
||||
<part name="epr-.129"/>
|
||||
<part name="epr-.130"/>
|
||||
<part name="epr-.131"/>
|
||||
<part name="epr-.132"/>
|
||||
<part name="epr-.133"/>
|
||||
<part name="epr-.134"/>
|
||||
|
||||
<part name="epr-6077.120"/>
|
||||
<part name="epr-6077.120"/>
|
||||
|
||||
<part name="epr-6069.86"/>
|
||||
<part name="epr-6070.93"/>
|
||||
<part name="epr-6069.86"/>
|
||||
<part name="epr-6070.93"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-.82" map="0001"/>
|
||||
<part name="epr-6087.81" map="0010"/>
|
||||
<part name="epr-6085.80" map="0100"/>
|
||||
<part name="epr-6085.80" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-.65" map="0001"/>
|
||||
<part name="epr-.64" map="0010"/>
|
||||
<part name="epr-.63" map="0100"/>
|
||||
<part name="epr-.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
a0 a8 20 28 80 a0 00 20 20 28 00 08 20 28 00 08
|
||||
a0 a8 20 28 08 28 00 20 88 08 a8 28 88 08 a8 28
|
||||
a0 a8 20 28 20 28 00 08 28 a8 20 a0 20 28 00 08
|
||||
a0 a8 20 28 08 28 00 20 88 08 a8 28 88 08 a8 28
|
||||
28 a8 20 a0 a0 a8 20 28 88 08 a8 28 80 a0 00 20
|
||||
28 a8 20 a0 08 28 00 20 28 a8 20 a0 80 a0 00 20
|
||||
20 28 00 08 20 28 00 08 88 08 a8 28 20 28 00 08
|
||||
08 28 00 20 80 a0 00 20 08 28 00 20 88 08 a8 28
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,74 @@
|
||||
<misterromdescription>
|
||||
<name>Choplifter (unprotected)</name>
|
||||
<mameversion>0229</mameversion>
|
||||
<setname>chopliftu</setname>
|
||||
<mratimestamp>20210706000000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches base="8" default="DE,FF">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="8,11" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="12,15" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip bits="0" name="Cabinet" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip bits="1" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="2,3" name="Lives" ids="Infinite,4,2,3"/>
|
||||
<dip bits="4" name="Extend" ids="50k 100k 150k 200k,20k 70k 120k 170k"/>
|
||||
<dip bits="5" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<buttons names="Shoot,Direction Change,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,Start,Select,R,L"/>
|
||||
<rom index="1">
|
||||
<part>41</part>
|
||||
</rom>
|
||||
<rom index="0" md5="e7ac2ede600034deb6a2c2e3151828d0" zip="choplift.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="346af118" name="epr-7130.ic126"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="fe49d83e" name="epr-7152.ic90"/>
|
||||
<part crc="48697666" name="epr-7153.ic91"/>
|
||||
<part crc="56d6222a" name="epr-7154.ic92"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="f2b88f73" name="epr-7121.ic87"/>
|
||||
<part crc="517d7fd3" name="epr-7120.ic86"/>
|
||||
<part crc="8f16a303" name="epr-7123.ic89"/>
|
||||
<part crc="7c93f160" name="epr-7122.ic88"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="1e708f6d" name="epr-7127.ic4"/>
|
||||
<part crc="b922e787" name="epr-7128.ic5"/>
|
||||
<part crc="bd3b6e6e" name="epr-7129.ic6"/>
|
||||
<part crc="bd3b6e6e" name="epr-7129.ic6"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part crc="648350b8" name="pr5317.ic28"/>
|
||||
|
||||
<!-- color_proms, size: 0x0300 -->
|
||||
<part crc="b2a8260f" name="pr7119.ic20"/>
|
||||
<part crc="693e20c7" name="pr7118.ic14"/>
|
||||
<part crc="4124307e" name="pr7117.ic8"/>
|
||||
|
||||
<part repeat="0x100">00</part>
|
||||
|
||||
<!-- plds, size: 0x0618 -->
|
||||
<!--
|
||||
<part crc="2c9229b4" name="315-5152.bin"/>
|
||||
<part crc="dd223015" name="315-5138.bin"/>
|
||||
-->
|
||||
|
||||
<!-- no dump -->
|
||||
<!--
|
||||
<part name="315-5139.bin"/>
|
||||
<part name="315-5025.bin"/>
|
||||
<part name="315-5025.bin"/>
|
||||
<part name="315-5025.bin"/>
|
||||
-->
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,114 @@
|
||||
<misterromdescription>
|
||||
<name>Flicky (128k Version, 315-5051)</name>
|
||||
<setname>flicky</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>4-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Flap,-,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="1"/>
|
||||
<switches base="8" default="FF,FE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12,13" ids="40/140/280k,40/120/240k,30/100/200k,30/80/160k"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="0" zip="flicky.zip" type="merged" md5="f1c3018664bda33e11cb2ab50320587e">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="6d220d4e" name="epr-5869.120"/>
|
||||
<part crc="6d220d4e" name="epr-5869.120"/>
|
||||
<part crc="6d220d4e" name="epr-5869.120"/>
|
||||
<part crc="6d220d4e" name="epr-5869.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="296f1492" name="epr-5978a.116"/>
|
||||
<part crc="64b03ef9" name="epr-5979a.109"/>
|
||||
<part repeat="0x10000">00</part>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="b5f894a1" name="epr-5855.117"/>
|
||||
<part crc="266af78f" name="epr-5856.110"/>
|
||||
<part crc="b5f894a1" name="epr-5855.117"/>
|
||||
<part crc="266af78f" name="epr-5856.110"/>
|
||||
<part crc="b5f894a1" name="epr-5855.117"/>
|
||||
<part crc="266af78f" name="epr-5856.110"/>
|
||||
<part crc="b5f894a1" name="epr-5855.117"/>
|
||||
<part crc="266af78f" name="epr-5856.110"/>
|
||||
|
||||
<!-- tiles, size: 0x20000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-5868.62" map="0001"/>
|
||||
<part name="epr-5866.64" map="0010"/>
|
||||
<part name="epr-5864.66" map="0100"/>
|
||||
<part name="epr-5864.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5867.61" map="0001"/>
|
||||
<part name="epr-5865.63" map="0010"/>
|
||||
<part name="epr-5863.65" map="0100"/>
|
||||
<part name="epr-5863.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5868.62" map="0001"/>
|
||||
<part name="epr-5866.64" map="0010"/>
|
||||
<part name="epr-5864.66" map="0100"/>
|
||||
<part name="epr-5864.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5868.62" map="0001"/>
|
||||
<part name="epr-5866.64" map="0010"/>
|
||||
<part name="epr-5864.66" map="0100"/>
|
||||
<part name="epr-5864.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5051 -->
|
||||
<part>
|
||||
08 88 00 80 a0 80 a8 88
|
||||
80 00 a0 20 88 80 08 00
|
||||
a0 80 a8 88 28 08 20 00
|
||||
28 08 20 00 a0 80 a8 88
|
||||
08 88 00 80 80 00 a0 20
|
||||
80 00 a0 20 88 80 08 00
|
||||
28 08 20 00 28 08 20 00
|
||||
28 08 20 00 88 80 08 00
|
||||
08 88 00 80 a8 88 28 08
|
||||
a8 88 28 08 80 00 a0 20
|
||||
28 08 20 00 88 80 08 00
|
||||
a8 88 28 08 88 80 08 00
|
||||
08 88 00 80 80 00 a0 20
|
||||
a8 88 28 08 80 00 a0 20
|
||||
28 08 20 00 28 08 20 00
|
||||
08 88 00 80 88 80 08 00
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 8F FF FF 00 FF 00 02
|
||||
00 02 00 01 00 FF 00 00
|
||||
00 00 E7 00 00 31 00 41
|
||||
00 00 C0 D5 00 03 00 00
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="52"/>
|
||||
</misterromdescription>
|
||||
@@ -1,59 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Flicky (128k Version, 315-5051)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>flicky</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Maze / Cat and Mouse</category>
|
||||
<category>Platform</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7C" base="8">
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="40k 140k 280k,40k 120k 240k,30k 100k 200k,30k 80k 160k"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="flicky.zip" md5="1d3e6b48d8123a56b9b579dfba94704b" type="merged|nonmerged|split">
|
||||
<!-- Main CPU -->
|
||||
<part name="epr-5978a.116"/>
|
||||
<part name="epr-5979a.109"/>
|
||||
<part name="epr-5979a.109"/>
|
||||
<!-- Sound CPU -->
|
||||
<part name="epr-5869.120"/>
|
||||
<part name="epr-5869.120"/>
|
||||
<!-- Sprites -->
|
||||
<part name="epr-5855.117"/>
|
||||
<part name="epr-5856.110"/>
|
||||
<part name="epr-5855.117"/>
|
||||
<part name="epr-5856.110"/>
|
||||
<!-- Tiles -->
|
||||
<interleave output="32">
|
||||
<part name="epr-5868.62" map="0001"/>
|
||||
<part name="epr-5866.64" map="0010"/>
|
||||
<part name="epr-5864.66" map="0100"/>
|
||||
<part name="epr-5864.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5867.61" map="0001"/>
|
||||
<part name="epr-5865.63" map="0010"/>
|
||||
<part name="epr-5863.65" map="0100"/>
|
||||
<part name="epr-5863.65" map="1000"/>
|
||||
</interleave>
|
||||
<!-- CLUT -->
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
08 88 00 80 a0 80 a8 88 80 00 a0 20 88 80 08 00
|
||||
a0 80 a8 88 28 08 20 00 28 08 20 00 a0 80 a8 88
|
||||
08 88 00 80 80 00 a0 20 80 00 a0 20 88 80 08 00
|
||||
28 08 20 00 28 08 20 00 28 08 20 00 88 80 08 00
|
||||
08 88 00 80 a8 88 28 08 a8 88 28 08 80 00 a0 20
|
||||
28 08 20 00 88 80 08 00 a8 88 28 08 88 80 08 00
|
||||
08 88 00 80 80 00 a0 20 a8 88 28 08 80 00 a0 20
|
||||
28 08 20 00 28 08 20 00 08 88 00 80 88 80 08 00
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,89 @@
|
||||
<misterromdescription>
|
||||
<name>Gardia (317-0006)</name>
|
||||
<mameversion>0229</mameversion>
|
||||
<setname>gardia</setname>
|
||||
<year>1986</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical</rotation>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches base="8" default="FF,7C">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Bonus Life" ids="None,15k 30k and 60k,10k 25k and 50k,5k 20k and 30k"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<buttons names="Shoot,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,Start,Select,R,C"/>
|
||||
<rom index="1">
|
||||
<part>02</part>
|
||||
</rom>
|
||||
<rom index="0" md5="53b40f6cde7fe2b20d3eda9f262754e2" zip="gardia.zip" type="merged">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="87220660" name="epr-10243.120"/>
|
||||
<part repeat="0x4000">ff</part>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="89282a6b" name="epr-10255.1"/>
|
||||
<part crc="2826b6d8" name="epr-10254.2"/>
|
||||
<part crc="7911260f" name="epr-10253.3"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="8a6aed33" name="epr-10234.117"/>
|
||||
<part crc="c52784d3" name="epr-10233.110"/>
|
||||
<part crc="b35ab227" name="epr-10236.04"/>
|
||||
<part crc="006a3151" name="epr-10235.5"/>
|
||||
|
||||
<!-- tiles, size: 0x20000 -->
|
||||
<interleave output="32">
|
||||
<part crc="4e0ad0f2" name="epr-10249.61"/>
|
||||
<part crc="3515d124" name="epr-10248.64"/>
|
||||
<part crc="541e1555" name="epr-10247.66"/>
|
||||
<part crc="541e1555" name="epr-10247.66"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part crc="4e0ad0f2" name="epr-10249.61"/>
|
||||
<part crc="3515d124" name="epr-10248.64"/>
|
||||
<part crc="541e1555" name="epr-10247.66"/>
|
||||
<part crc="541e1555" name="epr-10247.66"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part crc="648350b8" name="pr5317.4"/>
|
||||
|
||||
<!-- color_proms, size: 0x0300 -->
|
||||
<part crc="8eee0f72" name="pr-7345.3"/>
|
||||
<part crc="3e7babd7" name="pr-7344.2"/>
|
||||
<part crc="371c44a6" name="pr-7343.1"/>
|
||||
|
||||
<!-- encryption_device: 317-0006 -->
|
||||
<part>
|
||||
44 14 15 15 51 41 41 14 10 50 15 55 54 05 04 41
|
||||
51 01 05 10 55 51 05 05 54 11 45 05 04 14 10 55
|
||||
01 41 51 05 55 04 45 41 55 14 45 10 04 45 55 50
|
||||
40 00 11 45 15 00 01 00 40 00 01 45 11 00 45 00
|
||||
44 54 40 04 05 15 15 10 15 04 01 05 50 11 00 44
|
||||
44 04 04 01 50 05 51 00 45 44 50 15 54 40 41 45
|
||||
40 10 14 15 40 51 50 50 45 00 10 15 05 51 50 44
|
||||
01 15 40 04 01 44 50 44 50 50 50 10 44 04 40 04
|
||||
|
||||
0c 01 12 0b 08 17 15 11 00 17 16 00 15 0f 0d 13
|
||||
15 14 14 0c 0d 0a 14 00 0e 12 06 12 03 05 05 14
|
||||
14 0d 08 00 14 12 04 0e 08 05 11 06 16 0a 00 15
|
||||
00 01 06 0b 11 09 11 03 09 15 00 04 10 01 0d 11
|
||||
15 05 03 07 02 10 12 0d 06 13 0b 17 03 14 03 02
|
||||
12 0a 12 17 13 17 03 0f 00 0a 05 0c 00 00 0b 16
|
||||
08 0e 08 06 01 0f 07 0b 02 11 0a 0f 08 15 0a 00
|
||||
02 06 01 01 03 01 0c 12 10 05 00 0f 11 0f 0a 14
|
||||
</part>
|
||||
</rom>
|
||||
<mratimestamp>20210629000000</mratimestamp>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,85 @@
|
||||
<misterromdescription>
|
||||
<name>Heavy Metal (315-5135)</name>
|
||||
<mameversion>0229</mameversion>
|
||||
<setname>hvymetal</setname>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<buttons names="Shoot,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,Start,Select,R,C"/>
|
||||
<switches base="8" default="FF,7C">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Bonus Life" ids="100k,70k 150k,60k 120k,50k 100k"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
<dip bits="15" name="Allow Continue" ids="Yes,No"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" md5="746022eb13498170e91ce1ea05d51e60" zip="hvymetal.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="b64ac7f0" name="epr-6787.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="59195bb9" name="epr-6790a.1"/>
|
||||
<part crc="83e1d18a" name="epr-6789a.2"/>
|
||||
<part crc="6ecefd57" name="epr-6788a.3"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="0af61aee" name="epr-6778.117"/>
|
||||
<part crc="91d7a197" name="epr-6777.110"/>
|
||||
<part crc="55b31df5" name="epr-6780.4"/>
|
||||
<part crc="e03a2b28" name="epr-6779.5"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="58a3d038" name="epr-6795.62"/>
|
||||
<part crc="487407c2" name="epr-6793.64"/>
|
||||
<part crc="a7dcd042" name="epr-6791.66"/>
|
||||
<part crc="a7dcd042" name="epr-6791.66"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="d8b08a55" name="epr-6796.61"/>
|
||||
<part crc="89eb3793" name="epr-6794.63"/>
|
||||
<part crc="d0be5e33" name="epr-6792.65"/>
|
||||
<part crc="d0be5e33" name="epr-6792.65"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part crc="648350b8" name="pr5317.4"/>
|
||||
|
||||
<!-- color_proms, size: 0x0300 -->
|
||||
<part crc="146f16fb" name="pr7036.3"/>
|
||||
<part crc="50b201ed" name="pr7035.2"/>
|
||||
<part crc="dfb5f139" name="pr7034.1"/>
|
||||
|
||||
<!-- encryption_device: 315-5135 -->
|
||||
<part>
|
||||
88 a8 80 a0 a0 80 a8 88 88 a8 80 a0 88 80 08 00
|
||||
a0 80 a8 88 88 a8 80 a0 88 a8 80 a0 88 80 08 00
|
||||
a0 80 a8 88 88 80 08 00 88 80 08 00 88 80 08 00
|
||||
a0 80 a8 88 88 80 08 00 88 80 08 00 28 08 a8 88
|
||||
a0 20 a8 28 88 a8 80 a0 a0 20 a8 28 88 a8 80 a0
|
||||
a0 20 a8 28 88 a8 80 a0 88 a8 80 a0 28 08 a8 88
|
||||
28 a8 08 88 a0 20 a8 28 a0 20 a8 28 28 a8 08 88
|
||||
28 a8 08 88 a0 20 a8 28 28 08 a8 88 28 a8 08 88
|
||||
</part>
|
||||
<!-- skip self test (jp $4ab6) -->
|
||||
<!--
|
||||
<patch offset="0x8005">9e</patch>
|
||||
-->
|
||||
</rom>
|
||||
<mratimestamp>20210623000000</mratimestamp>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,122 @@
|
||||
<misterromdescription>
|
||||
<name>I'm Sorry (315-5110, US)</name>
|
||||
<region>USA</region>
|
||||
<homebrew>no</homebrew>
|
||||
<bootleg>no</bootleg>
|
||||
<version>315-5110</version>
|
||||
<alternative></alternative>
|
||||
<platform>Sega System 1</platform>
|
||||
<series></series>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Maze</category>
|
||||
|
||||
<setname>imsorry</setname>
|
||||
<parent>imsorry</parent>
|
||||
<mameversion>0229</mameversion>
|
||||
<rbf>segasys1</rbf>
|
||||
<about author="MrX-8B" source="https://github.com/MiSTer-devel/Arcade-SEGASYS1_MiSTer" twitter="@MrX_8B" webpage="https://patreon.com/MrX_8B"></about>
|
||||
|
||||
<resolution>15kHz</resolution>
|
||||
<rotation>horizontal</rotation>
|
||||
<flip></flip>
|
||||
|
||||
<players>2 (alternating)</players>
|
||||
<joystick>8-way</joystick>
|
||||
<special_controls></special_controls>
|
||||
<num_buttons>2</num_buttons>
|
||||
<buttons default="A,B,Start,Select,R,C"
|
||||
names="Punch,Jump,-,-,-,Start 1P,Start 2P,Coin,Pause"/>
|
||||
<switches base="8" default="FF,7E">
|
||||
<dip bits="9" ids="On,Off" name="Demo Sound"></dip>
|
||||
<dip bits="10,11" ids="Infinite,5,4,3" name="Lives"></dip>
|
||||
<dip bits="12,13" ids="None,70000,50000,30000" name="Extend"></dip>
|
||||
</switches>
|
||||
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" md5="959afa6b2cc2546ca2c45595f40d5045" zip="imsorry.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="25e3d685" name="epr-6656.120"/>
|
||||
<part crc="25e3d685" name="epr-6656.120"/>
|
||||
<part crc="25e3d685" name="epr-6656.120"/>
|
||||
<part crc="25e3d685" name="epr-6656.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="eb087d7f" name="epr-6676.116"/>
|
||||
<part crc="bd244bee" name="epr-6677.109"/>
|
||||
<part crc="2e16b9fd" name="epr-6678.96"/>
|
||||
<part crc="2e16b9fd" name="epr-6678.96"/>
|
||||
<part crc="2e16b9fd" name="epr-6678.96"/>
|
||||
<part crc="2e16b9fd" name="epr-6678.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="1ba167ee" name="epr-6645.117"/>
|
||||
<part crc="edda7ad6" name="epr-6646.04"/>
|
||||
<part crc="1ba167ee" name="epr-6645.117"/>
|
||||
<part crc="edda7ad6" name="epr-6646.04"/>
|
||||
<part crc="1ba167ee" name="epr-6645.117"/>
|
||||
<part crc="edda7ad6" name="epr-6646.04"/>
|
||||
<part crc="1ba167ee" name="epr-6645.117"/>
|
||||
<part crc="edda7ad6" name="epr-6646.04"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-6684.62" map="0001"/>
|
||||
<part name="epr-6682.64" map="0010"/>
|
||||
<part name="epr-6680.66" map="0100"/>
|
||||
<part name="epr-6680.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6683.61" map="0001"/>
|
||||
<part name="epr-6681.63" map="0010"/>
|
||||
<part name="epr-6674.65" map="0100"/>
|
||||
<part name="epr-6674.65" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6684.62" map="0001"/>
|
||||
<part name="epr-6682.64" map="0010"/>
|
||||
<part name="epr-6680.66" map="0100"/>
|
||||
<part name="epr-6680.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6683.61" map="0001"/>
|
||||
<part name="epr-6681.63" map="0010"/>
|
||||
<part name="epr-6674.65" map="0100"/>
|
||||
<part name="epr-6674.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5110 -->
|
||||
<part>
|
||||
88 08 80 00 00 20 80 a0 00 20 80 a0 88 08 80 00
|
||||
88 08 a8 28 00 20 80 a0 00 20 80 a0 88 08 a8 28
|
||||
00 20 80 a0 08 00 88 80 00 20 80 a0 20 28 a0 a8
|
||||
20 28 a0 a8 00 20 80 a0 20 28 a0 a8 88 08 a8 28
|
||||
88 08 80 00 08 00 88 80 08 00 88 80 88 08 80 00
|
||||
08 28 00 20 08 28 00 20 88 08 80 00 08 28 00 20
|
||||
08 28 00 20 08 00 88 80 08 28 00 20 20 28 a0 a8
|
||||
20 28 a0 a8 08 28 00 20 20 28 a0 a8 08 28 00 20
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="2"></rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 1F FF FF 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 C0 17 00 03 00 02 00 00 D3 00 00 A0 00 20
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="4"></rom>
|
||||
|
||||
<nvram index="4" size="163"></nvram>
|
||||
|
||||
<remark></remark>
|
||||
|
||||
<mratimestamp>20210430005030</mratimestamp>
|
||||
</misterromdescription>
|
||||
@@ -1,55 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>I'm Sorry (315-5110, US)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>imsorry</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<category>Maze</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="None,70000,50000,30000"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="imsorry.zip" md5="f8c20005acedc939c0a56623189b2b35" type="merged|nonmerged|split">
|
||||
<part name="epr-6676.116"/>
|
||||
<part name="epr-6677.109"/>
|
||||
<part name="epr-6678.96"/>
|
||||
<part name="epr-6656.120"/>
|
||||
<part name="epr-6656.120"/>
|
||||
<part name="epr-6645.117"/>
|
||||
<part name="epr-6646.04"/>
|
||||
<part name="epr-6645.117"/>
|
||||
<part name="epr-6646.04"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6684.62" map="0001"/>
|
||||
<part name="epr-6682.64" map="0010"/>
|
||||
<part name="epr-6680.66" map="0100"/>
|
||||
<part name="epr-6680.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6683.61" map="0001"/>
|
||||
<part name="epr-6681.63" map="0010"/>
|
||||
<part name="epr-6674.65" map="0100"/>
|
||||
<part name="epr-6674.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
88 08 80 00 00 20 80 a0 00 20 80 a0 88 08 80 00
|
||||
88 08 a8 28 00 20 80 a0 00 20 80 a0 88 08 a8 28
|
||||
00 20 80 a0 08 00 88 80 00 20 80 a0 20 28 a0 a8
|
||||
20 28 a0 a8 00 20 80 a0 20 28 a0 a8 88 08 a8 28
|
||||
88 08 80 00 08 00 88 80 08 00 88 80 88 08 80 00
|
||||
08 28 00 20 08 28 00 20 88 08 80 00 08 28 00 20
|
||||
08 28 00 20 08 00 88 80 08 28 00 20 20 28 a0 a8
|
||||
20 28 a0 a8 08 28 00 20 20 28 a0 a8 08 28 00 20
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,122 @@
|
||||
<misterromdescription>
|
||||
<name>Mister Viking (315-5041)</name>
|
||||
<setname>mrviking</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Arrow,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,CE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Maximum Credits" bits="9" ids="99,9"/>
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12,13" ids="40k/30k,30k/30k/20k,40k/30k/10k,30k/30k"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="mrviking.zip" type="merged" md5="f4429c4573b2b3d465950f89341170ae">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="d712280d" name="epr-5763.3"/>
|
||||
<part crc="d712280d" name="epr-5763.3"/>
|
||||
<part crc="d712280d" name="epr-5763.3"/>
|
||||
<part crc="d712280d" name="epr-5763.3"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="14d21624" name="epr-5873.129"/>
|
||||
<part crc="6df7de87" name="epr-5874.130"/>
|
||||
<part crc="ac226100" name="epr-5875.131"/>
|
||||
<part crc="e77db1dc" name="epr-5876.132"/>
|
||||
<part crc="edd62ae1" name="epr-5755.133"/>
|
||||
<part crc="11974040" name="epr-5756.134"/>
|
||||
<part crc="edd62ae1" name="epr-5755.133"/>
|
||||
<part crc="11974040" name="epr-5756.134"/>
|
||||
<part crc="edd62ae1" name="epr-5755.133"/>
|
||||
<part crc="11974040" name="epr-5756.134"/>
|
||||
<part crc="edd62ae1" name="epr-5755.133"/>
|
||||
<part crc="11974040" name="epr-5756.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="e24682cd" name="epr-5749.86"/>
|
||||
<part crc="6564d1ad" name="epr-5750.93"/>
|
||||
<part crc="e24682cd" name="epr-5749.86"/>
|
||||
<part crc="6564d1ad" name="epr-5750.93"/>
|
||||
<part crc="e24682cd" name="epr-5749.86"/>
|
||||
<part crc="6564d1ad" name="epr-5750.93"/>
|
||||
<part crc="e24682cd" name="epr-5749.86"/>
|
||||
<part crc="6564d1ad" name="epr-5750.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-5762.82" map="0001"/>
|
||||
<part name="epr-5760.81" map="0010"/>
|
||||
<part name="epr-5758.80" map="0100"/>
|
||||
<part name="epr-5758.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5761.65" map="0001"/>
|
||||
<part name="epr-5759.64" map="0010"/>
|
||||
<part name="epr-5757.63" map="0100"/>
|
||||
<part name="epr-5757.63" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5762.82" map="0001"/>
|
||||
<part name="epr-5760.81" map="0010"/>
|
||||
<part name="epr-5758.80" map="0100"/>
|
||||
<part name="epr-5758.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5761.65" map="0001"/>
|
||||
<part name="epr-5759.64" map="0010"/>
|
||||
<part name="epr-5757.63" map="0100"/>
|
||||
<part name="epr-5757.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.106"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5041 -->
|
||||
<part>
|
||||
28 a8 08 88 88 80 08 00
|
||||
88 08 80 00 88 80 08 00
|
||||
28 08 a8 88 28 a8 08 88
|
||||
88 08 80 00 88 08 80 00
|
||||
28 08 a8 88 88 80 08 00
|
||||
88 80 08 00 28 a8 08 88
|
||||
a0 80 a8 88 28 08 a8 88
|
||||
a0 80 a8 88 a0 80 a8 88
|
||||
88 80 08 00 88 80 08 00
|
||||
88 08 80 00 88 80 08 00
|
||||
a0 80 20 00 28 08 a8 88
|
||||
a0 80 20 00 88 08 80 00
|
||||
28 08 a8 88 a0 80 20 00
|
||||
a0 80 20 00 a0 80 20 00
|
||||
a0 80 a8 88 28 08 a8 88
|
||||
a0 80 20 00 a0 80 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 FF 00 FF 00 02
|
||||
00 02 00 01 00 FF 00 00
|
||||
00 00 D4 2C 00 15 59 47
|
||||
00 00 D3 00 00 15 00 01
|
||||
00 00 C0 86 00 03 00 02
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="45"/>
|
||||
</misterromdescription>
|
||||
@@ -1,59 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Mister Viking (315-5041)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>mrviking</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Fighter / Warriors</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Maximum Credits" ids="99,9"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="40k ev.30k,30k ev.30k,20k 40k ev.30k,10k 30k ev.30k"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="mrviking.zip" md5="cfbeafcd3f71d2045f81e0401afdc11c" type="merged|nonmerged|split">
|
||||
<part name="epr-5873.129"/>
|
||||
<part name="epr-5874.130"/>
|
||||
<part name="epr-5875.131"/>
|
||||
<part name="epr-5876.132"/>
|
||||
<part name="epr-5755.133"/>
|
||||
<part name="epr-5756.134"/>
|
||||
|
||||
<part name="epr-5763.3"/>
|
||||
<part name="epr-5763.3"/>
|
||||
|
||||
<part name="epr-5749.86"/>
|
||||
<part name="epr-5750.93"/>
|
||||
<part repeat="0x8000">FF</part>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5762.82" map="0001"/>
|
||||
<part name="epr-5760.81" map="0010"/>
|
||||
<part name="epr-5758.80" map="0100"/>
|
||||
<part name="epr-5758.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5761.65" map="0001"/>
|
||||
<part name="epr-5759.64" map="0010"/>
|
||||
<part name="epr-5757.63" map="0100"/>
|
||||
<part name="epr-5757.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
28 a8 08 88 88 80 08 00 88 08 80 00 88 80 08 00
|
||||
28 08 a8 88 28 a8 08 88 88 08 80 00 88 08 80 00
|
||||
28 08 a8 88 88 80 08 00 88 80 08 00 28 a8 08 88
|
||||
a0 80 a8 88 28 08 a8 88 a0 80 a8 88 a0 80 a8 88
|
||||
88 80 08 00 88 80 08 00 88 08 80 00 88 80 08 00
|
||||
a0 80 20 00 28 08 a8 88 a0 80 20 00 88 08 80 00
|
||||
28 08 a8 88 a0 80 20 00 a0 80 20 00 a0 80 20 00
|
||||
a0 80 a8 88 28 08 a8 88 a0 80 20 00 a0 80 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,116 @@
|
||||
<misterromdescription>
|
||||
<name>My Hero</name>
|
||||
<region>USA</region>
|
||||
<homebrew>no</homebrew>
|
||||
<bootleg>no</bootleg>
|
||||
<version>not Encrypted</version>
|
||||
<alternative></alternative>
|
||||
<platform>Sega System 1</platform>
|
||||
<series></series>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Platform</category>
|
||||
|
||||
<setname>myhero</setname>
|
||||
<parent>myhero</parent>
|
||||
<mameversion>0229</mameversion>
|
||||
<rbf>segasys1</rbf>
|
||||
<about author="MrX-8B" source="https://github.com/MiSTer-devel/Arcade-SEGASYS1_MiSTer" twitter="@MrX_8B" webpage="https://patreon.com/MrX_8B"></about>
|
||||
|
||||
<resolution>15kHz</resolution>
|
||||
<rotation>horizontal</rotation>
|
||||
<flip></flip>
|
||||
|
||||
<players>2 (alternating)</players>
|
||||
<joystick>8-way</joystick>
|
||||
<special_controls></special_controls>
|
||||
<num_buttons>2</num_buttons>
|
||||
<buttons default="A,B,Start,Select,R,C" names="Punch,Kick,-,-,-,Start 1P,Start 2P,Coin,Pause"></buttons>
|
||||
<switches base="8" default="FF,7E">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<dip bits="9" ids="On,Off" name="Demo Sound"></dip>
|
||||
<dip bits="10,11" ids="Infinite,5,4,3" name="Lives"></dip>
|
||||
<dip bits="12,13" ids="90000,70000,50000,30000" name="Extend"></dip>
|
||||
<dip bits="14" ids="Hard,Easy" name="Difficulty"></dip>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" md5="a0d0417be4d6889f28adfb85b463fb3a" type="merged" zip="myhero.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="0039e1e9" name="epr-69xx.120"/>
|
||||
<part crc="0039e1e9" name="epr-69xx.120"/>
|
||||
<part crc="0039e1e9" name="epr-69xx.120"/>
|
||||
<part crc="0039e1e9" name="epr-69xx.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="4daf89d4" name="epr-6963b.116"/>
|
||||
<part crc="c26188e5" name="epr-6964a.109"/>
|
||||
<part crc="3cbbaf64" name="epr-6927.96"/>
|
||||
<part crc="3cbbaf64" name="epr-6927.96"/>
|
||||
<part crc="3cbbaf64" name="epr-6927.96"/>
|
||||
<part crc="3cbbaf64" name="epr-6927.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="f19e05a1" name="epr-6921.117"/>
|
||||
<part crc="7988adc3" name="epr-6923.04"/>
|
||||
<part crc="37f77a78" name="epr-6922.110"/>
|
||||
<part crc="42bdc8f6" name="epr-6924.05"/>
|
||||
<part crc="f19e05a1" name="epr-6921.117"/>
|
||||
<part crc="7988adc3" name="epr-6923.04"/>
|
||||
<part crc="37f77a78" name="epr-6922.110"/>
|
||||
<part crc="42bdc8f6" name="epr-6924.05"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-6966.62" map="0001"/>
|
||||
<part name="epr-6960.64" map="0010"/>
|
||||
<part name="epr-6958.66" map="0100"/>
|
||||
<part name="epr-6958.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6961.61" map="0001"/>
|
||||
<part name="epr-6959.63" map="0010"/>
|
||||
<part name="epr-6957.65" map="0100"/>
|
||||
<part name="epr-6957.65" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6966.62" map="0001"/>
|
||||
<part name="epr-6960.64" map="0010"/>
|
||||
<part name="epr-6958.66" map="0100"/>
|
||||
<part name="epr-6958.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6961.61" map="0001"/>
|
||||
<part name="epr-6959.63" map="0010"/>
|
||||
<part name="epr-6957.65" map="0100"/>
|
||||
<part name="epr-6957.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: none -->
|
||||
<part repeat="0x100">00</part>
|
||||
</rom>
|
||||
<rom index="2"></rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 D3 00 00 3C 00 49 00 00 C0 17 00 03 00 00
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="4"></rom>
|
||||
|
||||
<nvram index="4" size="63"></nvram>
|
||||
|
||||
<remark></remark>
|
||||
|
||||
<mratimestamp>20210430005030</mratimestamp>
|
||||
</misterromdescription>
|
||||
@@ -1,56 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>My Hero (US, not encrypted)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>myhero</setname>
|
||||
<mratimestamp>202001060000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<category>Fighter / Hero</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="90000,70000,50000,30000"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="myhero.zip" md5="08d9e275da478606db8cdeae79b92b5c" type="merged|nonmerged|split">
|
||||
<part name="epr-6963b.116"/>
|
||||
<part name="epr-6964a.109"/>
|
||||
<part name="epr-6927.96"/>
|
||||
<part name="epr-69xx.120"/>
|
||||
<part name="epr-69xx.120"/>
|
||||
<part name="epr-6921.117"/>
|
||||
<part name="epr-6923.04"/>
|
||||
<part name="epr-6922.110"/>
|
||||
<part name="epr-6924.05"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6966.62" map="0001"/>
|
||||
<part name="epr-6960.64" map="0010"/>
|
||||
<part name="epr-6958.66" map="0100"/>
|
||||
<part name="epr-6958.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6961.61" map="0001"/>
|
||||
<part name="epr-6959.63" map="0010"/>
|
||||
<part name="epr-6957.65" map="0100"/>
|
||||
<part name="epr-6957.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -1,57 +1,104 @@
|
||||
<misterromdescription>
|
||||
<name>Pitfall II</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<name>Pitfall II (315-5093)</name>
|
||||
<setname>pitfall2</setname>
|
||||
<mratimestamp>202001100000</mratimestamp>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Maze / Extra</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,DF" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="12" name="Bonus at" ids="30000 70000,20000 50000"/>
|
||||
<dip bits="13" name="Allow Continue" ids="Yes,No"/>
|
||||
<dip bits="14" name="Time" ids="2 Minutes,3 Minutes"/>
|
||||
</switches>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<rom index="0" zip="pitfall2.zip" type="merged" md5="37d37eed5b1efe1372942dfca5172be9">
|
||||
<!-- soundcpu - starts at 0xC000 -->
|
||||
<part name="epr-6462.120" crc="86bb9185"/>
|
||||
<part name="epr-6462.120" crc="86bb9185"/>
|
||||
<part name="epr-6462.120" crc="86bb9185"/>
|
||||
<part name="epr-6462.120" crc="86bb9185"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part name="epr-6456a.116" crc="bcc8406b"/>
|
||||
<part name="epr-6457a.109" crc="a016fd2a"/>
|
||||
<part name="epr-6458a.96" crc="5c30b3e8"/>
|
||||
<part name="epr-6458a.96" crc="5c30b3e8"/>
|
||||
<part name="epr-6458a.96" crc="5c30b3e8"/>
|
||||
<part name="epr-6458a.96" crc="5c30b3e8"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part name="epr-6454a.117" crc="a5d96780"/>
|
||||
<part name="epr-6455.05" crc="32ee64a1"/>
|
||||
<part name="epr-6454a.117" crc="a5d96780"/>
|
||||
<part name="epr-6455.05" crc="32ee64a1"/>
|
||||
<part name="epr-6454a.117" crc="a5d96780"/>
|
||||
<part name="epr-6455.05" crc="32ee64a1"/>
|
||||
<part name="epr-6454a.117" crc="a5d96780"/>
|
||||
<part name="epr-6455.05" crc="32ee64a1"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-6474a.62" crc="9f1711b9"/>
|
||||
<part name="epr-6472a.64" crc="e0f34a11"/>
|
||||
<part name="epr-6470a.66" crc="1439729f"/>
|
||||
<part name="epr-6470a.66" crc="1439729f"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6473a.61" crc="8e53b8dd"/>
|
||||
<part name="epr-6471a.63" crc="d5bc805c"/>
|
||||
<part name="epr-6469a.65" crc="e4ac6921"/>
|
||||
<part name="epr-6469a.65" crc="e4ac6921"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6474a.62" crc="9f1711b9"/>
|
||||
<part name="epr-6472a.64" crc="e0f34a11"/>
|
||||
<part name="epr-6470a.66" crc="1439729f"/>
|
||||
<part name="epr-6470a.66" crc="1439729f"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6473a.61" crc="8e53b8dd"/>
|
||||
<part name="epr-6471a.63" crc="d5bc805c"/>
|
||||
<part name="epr-6469a.65" crc="e4ac6921"/>
|
||||
<part name="epr-6469a.65" crc="e4ac6921"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms - starts at 0x22000 -->
|
||||
<part name="pr-5317.76" crc="648350b8"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5093 -->
|
||||
<part>
|
||||
a0 80 a8 88 a0 80 a8 88 08 88 28 a8 28 a8 20 a0
|
||||
a0 80 a8 88 a0 80 a8 88 a0 a8 20 28 a0 a8 20 28
|
||||
a0 80 a8 88 20 00 a0 80 28 a8 20 a0 20 00 a0 80
|
||||
a0 a8 20 28 a0 a8 20 28 28 a8 20 a0 a0 a8 20 28
|
||||
20 00 a0 80 80 88 a0 a8 80 88 a0 a8 80 88 a0 a8
|
||||
a0 a8 20 28 a0 80 a8 88 80 88 a0 a8 28 a8 20 a0
|
||||
20 00 a0 80 80 88 a0 a8 80 88 a0 a8 20 00 a0 80
|
||||
a0 a8 20 28 a0 80 a8 88 80 88 a0 a8 28 a8 20 a0
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="pitfall2.zip" md5="07b1a752e7bf1bf17ae773d1b6977bf1" type="merged|nonmerged|split">
|
||||
<part name="epr-6456a.116"/>
|
||||
<part name="epr-6457a.109"/>
|
||||
<part name="epr-6458a.96"/>
|
||||
<part name="epr-6462.120"/>
|
||||
<part name="epr-6462.120"/>
|
||||
<part name="epr-6454a.117"/>
|
||||
<part name="epr-6455.05"/>
|
||||
<part name="epr-6454a.117"/>
|
||||
<part name="epr-6455.05"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6474a.62" map="0001"/>
|
||||
<part name="epr-6472a.64" map="0010"/>
|
||||
<part name="epr-6470a.66" map="0100"/>
|
||||
<part name="epr-6470a.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6473a.61" map="0001"/>
|
||||
<part name="epr-6471a.63" map="0010"/>
|
||||
<part name="epr-6469a.65" map="0100"/>
|
||||
<part name="epr-6469a.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
a0 80 a8 88 a0 80 a8 88 08 88 28 a8 28 a8 20 a0
|
||||
a0 80 a8 88 a0 80 a8 88 a0 a8 20 28 a0 a8 20 28
|
||||
a0 80 a8 88 20 00 a0 80 28 a8 20 a0 20 00 a0 80
|
||||
a0 a8 20 28 a0 a8 20 28 28 a8 20 a0 a0 a8 20 28
|
||||
20 00 a0 80 80 88 a0 a8 80 88 a0 a8 80 88 a0 a8
|
||||
a0 a8 20 28 a0 80 a8 88 80 88 a0 a8 28 a8 20 a0
|
||||
20 00 a0 80 80 88 a0 a8 80 88 a0 a8 20 00 a0 80
|
||||
a0 a8 20 28 a0 80 a8 88 80 88 a0 a8 28 a8 20 a0
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 D3 00 00 38 00 41 00 00 C0 00 00 04 00 00
|
||||
</part>
|
||||
</rom>
|
||||
</rom>
|
||||
<nvram index="4" size="60"/>
|
||||
<switches base="8" default="FF,DC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12" ids="30k/70k,20k/50k"/>
|
||||
<dip name="Allow Continue" bits="13" ids="Yes,No"/>
|
||||
<dip name="Time" bits="14" ids="2 Minutes,3 Minutes"/>
|
||||
</switches>
|
||||
<buttons names="Jump,-,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="1"/>
|
||||
</misterromdescription>
|
||||
|
||||
116
Arcade_MiST/Sega System 1 Hardware/meta/Rafflesia (315-5162).mra
Normal file
116
Arcade_MiST/Sega System 1 Hardware/meta/Rafflesia (315-5162).mra
Normal file
@@ -0,0 +1,116 @@
|
||||
<misterromdescription>
|
||||
<name>Rafflesia (315-5162)</name>
|
||||
<setname>raflesia</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1986</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Single Shot,Rapid Shot,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12,13" ids="None,50k,100k/200k,30k,80k/150k,20k,70k/120k"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="raflesia.zip" type="merged" md5="5876854279f4286aa9faddcaa04be390">
|
||||
<!-- soundcpu, size: 0x10000 -->
|
||||
<part crc="14387666" name="epr-7420.120"/>
|
||||
<part crc="14387666" name="epr-7420.120"/>
|
||||
<part crc="14387666" name="epr-7420.120"/>
|
||||
<part crc="14387666" name="epr-7420.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x10000 -->
|
||||
<part crc="88a0c6c6" name="epr-7411.116"/>
|
||||
<part crc="d3b8cddf" name="epr-7412.109"/>
|
||||
<part crc="b7e688b3" name="epr-7413.96"/>
|
||||
<part crc="b7e688b3" name="epr-7413.96"/>
|
||||
<part crc="b7e688b3" name="epr-7413.96"/>
|
||||
<part crc="b7e688b3" name="epr-7413.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="f09fc057" name="epr-7407.117"/>
|
||||
<part crc="819fedb8" name="epr-7409.04"/>
|
||||
<part crc="3189f33c" name="epr-7408.110"/>
|
||||
<part crc="ced74789" name="epr-7410.05"/>
|
||||
<part crc="f09fc057" name="epr-7407.117"/>
|
||||
<part crc="819fedb8" name="epr-7409.04"/>
|
||||
<part crc="3189f33c" name="epr-7408.110"/>
|
||||
<part crc="ced74789" name="epr-7410.05"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="bfd5f34c" name="epr-7419.62"/>
|
||||
<part crc="e63501bc" name="epr-7417.64"/>
|
||||
<part crc="1a8d6bd6" name="epr-7415.66"/>
|
||||
<part crc="1a8d6bd6" name="epr-7415.66"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="f8cbc9b6" name="epr-7418.61"/>
|
||||
<part crc="093e5693" name="epr-7416.63"/>
|
||||
<part crc="5d20f218" name="epr-7414.65"/>
|
||||
<part crc="5d20f218" name="epr-7414.65"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="bfd5f34c" name="epr-7419.62"/>
|
||||
<part crc="e63501bc" name="epr-7417.64"/>
|
||||
<part crc="1a8d6bd6" name="epr-7415.66"/>
|
||||
<part crc="1a8d6bd6" name="epr-7415.66"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="f8cbc9b6" name="epr-7418.61"/>
|
||||
<part crc="093e5693" name="epr-7416.63"/>
|
||||
<part crc="5d20f218" name="epr-7414.65"/>
|
||||
<part crc="5d20f218" name="epr-7414.65"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5162 -->
|
||||
<part>
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
|
||||
04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05
|
||||
05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 06
|
||||
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 07
|
||||
07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 08
|
||||
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 09
|
||||
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 0a
|
||||
0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0b
|
||||
0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0c
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 D3 00 00 50 00 4A 00 00 C0 17 00 03 00 02
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="83"/>
|
||||
</misterromdescription>
|
||||
@@ -1,63 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Rafflesia</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<setname>raflesia</setname>
|
||||
<mratimestamp>202001100000</mratimestamp>
|
||||
<year>1986</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shmup</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,FC" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Free Play,5,4,3"/>
|
||||
<dip bits="12,13" name="Bonus at" ids="Never,50k 100k 200k,30k 80k 150k,20k 70k 120k"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="raflesia.zip" md5="96d903a327f9ec40ded22754011dee89" type="merged|nonmerged|split">
|
||||
<part name="epr-7411.116"/>
|
||||
<part name="epr-7412.109"/>
|
||||
<part name="epr-7413.96"/>
|
||||
<part name="epr-7420.120"/>
|
||||
<part name="epr-7420.120"/>
|
||||
<part name="epr-7407.117"/>
|
||||
<part name="epr-7409.04"/>
|
||||
<part name="epr-7408.110"/>
|
||||
<part name="epr-7410.05"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-7419.62" map="0001"/>
|
||||
<part name="epr-7417.64" map="0010"/>
|
||||
<part name="epr-7415.66" map="0100"/>
|
||||
<part name="epr-7415.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-7418.61" map="0001"/>
|
||||
<part name="epr-7416.63" map="0010"/>
|
||||
<part name="epr-7414.65" map="0100"/>
|
||||
<part name="epr-7414.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
40 10 50 04 44 14 54 01 41 11 51 05 45 15 55 00
|
||||
04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 05
|
||||
05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 06
|
||||
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 07
|
||||
07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 08
|
||||
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 09
|
||||
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 0A
|
||||
0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0B
|
||||
0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0C
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,114 @@
|
||||
<misterromdescription>
|
||||
<name>Regulus (315-5033, Rev A.)</name>
|
||||
<setname>regulus</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1983</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Fire,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,7E">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,5,4,3"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
<dip name="Allow Continue" bits="15" ids="Yes,No"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="regulus.zip" type="merged" md5="1472c1ca44a7f89deb82ed3c14b71649">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part name="epr-5652.3" crc="74edcb98"/>
|
||||
<part name="epr-5652.3" crc="74edcb98"/>
|
||||
<part name="epr-5652.3" crc="74edcb98"/>
|
||||
<part name="epr-5652.3" crc="74edcb98"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="dafb1528" name="epr-5640a.129"/>
|
||||
<part crc="0fcc850e" name="epr-5641a.130"/>
|
||||
<part crc="4feffa17" name="epr-5642a.131"/>
|
||||
<part crc="b8ac7eb4" name="epr-5643a.132"/>
|
||||
<part crc="ffd05b7d" name="epr-5644.133"/>
|
||||
<part crc="6b4bf77c" name="epr-5645a.134"/>
|
||||
<part crc="ffd05b7d" name="epr-5644.133"/>
|
||||
<part crc="6b4bf77c" name="epr-5645a.134"/>
|
||||
<part crc="ffd05b7d" name="epr-5644.133"/>
|
||||
<part crc="6b4bf77c" name="epr-5645a.134"/>
|
||||
<part crc="ffd05b7d" name="epr-5644.133"/>
|
||||
<part crc="6b4bf77c" name="epr-5645a.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="617363dd" name="epr-5638.86"/>
|
||||
<part crc="a4ec5131" name="epr-5639.93"/>
|
||||
<part crc="617363dd" name="epr-5638.86"/>
|
||||
<part crc="a4ec5131" name="epr-5639.93"/>
|
||||
<part crc="617363dd" name="epr-5638.86"/>
|
||||
<part crc="a4ec5131" name="epr-5639.93"/>
|
||||
<part crc="617363dd" name="epr-5638.86"/>
|
||||
<part crc="a4ec5131" name="epr-5639.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="f07f3e82" name="epr-5651.82"/>
|
||||
<part crc="6774c895" name="epr-5649.81"/>
|
||||
<part crc="9330f7b5" name="epr-5647.80"/>
|
||||
<part crc="9330f7b5" name="epr-5647.80"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="84c1baa2" name="epr-5650.65"/>
|
||||
<part crc="0c69e92a" name="epr-5648.64"/>
|
||||
<part crc="4dfacbbc" name="epr-5646.63"/>
|
||||
<part crc="4dfacbbc" name="epr-5646.63"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="f07f3e82" name="epr-5651.82"/>
|
||||
<part crc="6774c895" name="epr-5649.81"/>
|
||||
<part crc="9330f7b5" name="epr-5647.80"/>
|
||||
<part crc="9330f7b5" name="epr-5647.80"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="84c1baa2" name="epr-5650.65"/>
|
||||
<part crc="0c69e92a" name="epr-5648.64"/>
|
||||
<part crc="4dfacbbc" name="epr-5646.63"/>
|
||||
<part crc="4dfacbbc" name="epr-5646.63"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part name="pr-5317.106" crc="648350b8"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5033 -->
|
||||
<part>
|
||||
28 08 a8 88 88 80 08 00 28 08 a8 88 28 a8 08 88
|
||||
88 80 08 00 88 08 80 00 88 08 80 00 28 a8 08 88
|
||||
28 08 a8 88 88 80 08 00 88 80 08 00 88 80 08 00
|
||||
88 08 80 00 88 08 80 00 a0 80 a8 88 a0 80 a8 88
|
||||
80 a0 00 20 28 08 a8 88 28 a8 08 88 28 08 a8 88
|
||||
80 a0 00 20 80 a0 00 20 28 a8 08 88 80 a0 00 20
|
||||
a0 80 a8 88 28 08 a8 88 80 a0 00 20 a0 80 a8 88
|
||||
a0 80 a8 88 80 a0 00 20 a0 80 a8 88 a0 80 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 CE 40 00 1E 41 4A 00 00 C0 E1 00 03 00 00
|
||||
00 00 CD 01 00 1E 00 00
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="63"/>
|
||||
</misterromdescription>
|
||||
@@ -1,57 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Regulus</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<setname>regulus</setname>
|
||||
<mratimestamp>202001100000</mratimestamp>
|
||||
<year>1983</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shmup</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7F" base="8">
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
<dip bits="15" name="Allow Continue" ids="Yes,No"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="regulus.zip" md5="69bf2d45b0a5e13df70d60ba6505dfad" type="merged|nonmerged|split">
|
||||
<part name="epr-5640a.129"/>
|
||||
<part name="epr-5641a.130"/>
|
||||
<part name="epr-5642a.131"/>
|
||||
<part name="epr-5643a.132"/>
|
||||
<part name="epr-5644.133"/>
|
||||
<part name="epr-5645a.134"/>
|
||||
<part name="epr-5652.3"/>
|
||||
<part name="epr-5652.3"/>
|
||||
<part name="epr-5638.86"/>
|
||||
<part name="epr-5639.93"/>
|
||||
<part name="epr-5638.86"/>
|
||||
<part name="epr-5639.93"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5651.82" map="0001"/>
|
||||
<part name="epr-5649.81" map="0010"/>
|
||||
<part name="epr-5647.80" map="0100"/>
|
||||
<part name="epr-5647.80" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5650.65" map="0001"/>
|
||||
<part name="epr-5648.64" map="0010"/>
|
||||
<part name="epr-5646.63" map="0100"/>
|
||||
<part name="epr-5646.63" map="1000"/>
|
||||
</interleave>
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
28 08 a8 88 88 80 08 00 28 08 a8 88 28 a8 08 88
|
||||
88 80 08 00 88 08 80 00 88 08 80 00 28 a8 08 88
|
||||
28 08 a8 88 88 80 08 00 88 80 08 00 88 80 08 00
|
||||
88 08 80 00 88 08 80 00 a0 80 a8 88 a0 80 a8 88
|
||||
80 a0 00 20 28 08 a8 88 28 a8 08 88 28 08 a8 88
|
||||
80 a0 00 20 80 a0 00 20 28 a8 08 88 80 a0 00 20
|
||||
a0 80 a8 88 28 08 a8 88 80 a0 00 20 a0 80 a8 88
|
||||
a0 80 a8 88 80 a0 00 20 a0 80 a8 88 a0 80 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,117 @@
|
||||
<misterromdescription>
|
||||
<name>Sega Ninja (315-5102)</name>
|
||||
<setname>seganinj</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="8-Way Shuriken,Shuriken,Disappear,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="3"/>
|
||||
<switches base="8" default="FF,DC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="240,4,2,3"/>
|
||||
<dip name="Bonus Life" bits="12" ids="50/100/150/200k,20/70/120/170k"/>
|
||||
<dip name="Allow Continue" bits="13" ids="Yes,No"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="seganinj.zip" type="merged" md5="afca084e4186428d56bf36f6d5428498">
|
||||
<!-- soundcpu, size: 0x10000 -->
|
||||
<part crc="5a1570ee" name="epr-6559.120"/>
|
||||
<part crc="5a1570ee" name="epr-6559.120"/>
|
||||
<part crc="5a1570ee" name="epr-6559.120"/>
|
||||
<part crc="5a1570ee" name="epr-6559.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x10000 -->
|
||||
<part crc="a5d0c9d0" name="epr-6594a.116"/>
|
||||
<part crc="b9e6775c" name="epr-6595a.109"/>
|
||||
<part crc="f2eeb0d8" name="epr-6596a.96"/>
|
||||
<part crc="f2eeb0d8" name="epr-6596a.96"/>
|
||||
<part crc="f2eeb0d8" name="epr-6596a.96"/>
|
||||
<part crc="f2eeb0d8" name="epr-6596a.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="a4785692" name="epr-6546.117"/>
|
||||
<part crc="bdf278c1" name="epr-6548.04"/>
|
||||
<part crc="34451b08" name="epr-6547.110"/>
|
||||
<part crc="7c51488c" name="epr-6549a.05"/>
|
||||
<part crc="a4785692" name="epr-6546.117"/>
|
||||
<part crc="bdf278c1" name="epr-6548.04"/>
|
||||
<part crc="34451b08" name="epr-6547.110"/>
|
||||
<part crc="7c51488c" name="epr-6549a.05"/>
|
||||
|
||||
<!-- tiles, size: 0xc000 -->
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6558.62" map="0001"/>
|
||||
<part name="epr-6556.64" map="0010"/>
|
||||
<part name="epr-6554.66" map="0100"/>
|
||||
<part name="epr-6554.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6592.61" map="0001"/>
|
||||
<part name="epr-6590.63" map="0010"/>
|
||||
<part name="epr-6588.65" map="0100"/>
|
||||
<part name="epr-6588.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6558.62" map="0001"/>
|
||||
<part name="epr-6556.64" map="0010"/>
|
||||
<part name="epr-6554.66" map="0100"/>
|
||||
<part name="epr-6554.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6592.61" map="0001"/>
|
||||
<part name="epr-6590.63" map="0010"/>
|
||||
<part name="epr-6588.65" map="0100"/>
|
||||
<part name="epr-6588.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5102 -->
|
||||
<part>
|
||||
88 a8 80 a0 88 08 80 00
|
||||
28 a8 08 88 a0 a8 80 88
|
||||
a8 a0 28 20 a8 a0 28 20
|
||||
28 a8 08 88 a0 a8 80 88
|
||||
28 08 a8 88 28 08 a8 88
|
||||
28 a8 08 88 88 08 80 00
|
||||
28 08 a8 88 28 08 a8 88
|
||||
28 a8 08 88 a8 a0 28 20
|
||||
88 08 80 00 88 a8 80 a0
|
||||
a0 a8 80 88 28 a8 08 88
|
||||
a8 a0 28 20 88 a8 80 a0
|
||||
a8 a0 28 20 28 a8 08 88
|
||||
28 08 a8 88 88 a8 80 a0
|
||||
28 08 a8 88 28 08 a8 88
|
||||
88 a8 80 a0 88 a8 80 a0
|
||||
a8 a0 28 20 28 08 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02
|
||||
00 02 00 01 00 FF 00 00
|
||||
00 00 EF 00 00 31 00 43
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="49"/>
|
||||
</misterromdescription>
|
||||
@@ -1,56 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Sega Ninja (315-5102)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>seganinj</setname>
|
||||
<mratimestamp>20200107000000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Fighter / Asian</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="240,4,2,3"/>
|
||||
<dip bits="12" name="Extend" ids="50k 100k 150k 200k,20k 70k 120k 170k"/>
|
||||
<dip bits="13" name="Allow Continue" ids="No,Yes"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="seganinj.zip" md5="2ab698c59d739fdbfc7a267ace9df24f" type="merged|nonmerged|split">
|
||||
<part name="epr-6594a.116"/>
|
||||
<part name="epr-6595a.109"/>
|
||||
<part name="epr-6596a.96"/>
|
||||
<part name="epr-6559.120"/>
|
||||
<part name="epr-6559.120"/>
|
||||
<part name="epr-6546.117"/>
|
||||
<part name="epr-6548.04"/>
|
||||
<part name="epr-6547.110"/>
|
||||
<part name="epr-6549a.05"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6558.62" map="0001"/>
|
||||
<part name="epr-6556.64" map="0010"/>
|
||||
<part name="epr-6554.66" map="0100"/>
|
||||
<part name="epr-6554.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6592.61" map="0001"/>
|
||||
<part name="epr-6590.63" map="0010"/>
|
||||
<part name="epr-6588.65" map="0100"/>
|
||||
<part name="epr-6588.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
88 a8 80 a0 88 08 80 00 28 a8 08 88 a0 a8 80 88
|
||||
a8 a0 28 20 a8 a0 28 20 28 a8 08 88 a0 a8 80 88
|
||||
28 08 a8 88 28 08 a8 88 28 a8 08 88 88 08 80 00
|
||||
28 08 a8 88 28 08 a8 88 28 a8 08 88 a8 a0 28 20
|
||||
88 08 80 00 88 a8 80 a0 a0 a8 80 88 28 a8 08 88
|
||||
a8 a0 28 20 88 a8 80 a0 a8 a0 28 20 28 a8 08 88
|
||||
28 08 a8 88 88 a8 80 a0 28 08 a8 88 28 08 a8 88
|
||||
88 a8 80 a0 88 a8 80 a0 a8 a0 28 20 28 08 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
106
Arcade_MiST/Sega System 1 Hardware/meta/Spatter (315-5xxx).mra
Normal file
106
Arcade_MiST/Sega System 1 Hardware/meta/Spatter (315-5xxx).mra
Normal file
@@ -0,0 +1,106 @@
|
||||
<misterromdescription>
|
||||
<name>Spatter (315-5xxx)</name>
|
||||
<setname>spatter</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Jump,-,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="Infinite,4,2,3"/>
|
||||
<dip name="Bonus Life" bits="12,13" ids="None,100k,50/200k,40/120k/480k"/>
|
||||
<dip name="Reset Timer/Objects" bits="14" ids="Yes,No"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>04</part>
|
||||
</rom>
|
||||
<rom index="0" zip="spatter.zip" type="merged" md5="bedaca41ba5153f4990c470757827f0f">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="1df95511" name="epr-6316.120"/>
|
||||
<part crc="1df95511" name="epr-6316.120"/>
|
||||
<part crc="1df95511" name="epr-6316.120"/>
|
||||
<part crc="1df95511" name="epr-6316.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="329b4506" name="epr-6392.116"/>
|
||||
<part crc="3b56e25f" name="epr-6393.109"/>
|
||||
<part crc="647c1301" name="epr-6394.96"/>
|
||||
<part crc="647c1301" name="epr-6394.96"/>
|
||||
<part crc="647c1301" name="epr-6394.96"/>
|
||||
<part crc="647c1301" name="epr-6394.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="e871e132" name="epr-6306.04"/>
|
||||
<part crc="99c2d90e" name="epr-6308.117"/>
|
||||
<part crc="0a5ad543" name="epr-6307.05"/>
|
||||
<part crc="7423ad98" name="epr-6309.110"/>
|
||||
<part crc="e871e132" name="epr-6306.04"/>
|
||||
<part crc="99c2d90e" name="epr-6308.117"/>
|
||||
<part crc="0a5ad543" name="epr-6307.05"/>
|
||||
<part crc="7423ad98" name="epr-6309.110"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-6328.62" map="0001"/>
|
||||
<part name="epr-6326.64" map="0010"/>
|
||||
<part name="epr-6324.66" map="0100"/>
|
||||
<part name="epr-6324.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6397.61" map="0001"/>
|
||||
<part name="epr-6396.63" map="0010"/>
|
||||
<part name="epr-6395.65" map="0100"/>
|
||||
<part name="epr-6395.65" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6328.62" map="0001"/>
|
||||
<part name="epr-6326.64" map="0010"/>
|
||||
<part name="epr-6324.66" map="0100"/>
|
||||
<part name="epr-6324.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6397.61" map="0001"/>
|
||||
<part name="epr-6396.63" map="0010"/>
|
||||
<part name="epr-6395.65" map="0100"/>
|
||||
<part name="epr-6395.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.106"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-spat -->
|
||||
<part>
|
||||
88 08 80 00 00 08 20 28 28 a8 08 88 28 a8 08 88
|
||||
28 20 a8 a0 28 20 a8 a0 88 08 80 00 88 08 80 00
|
||||
00 08 20 28 88 08 80 00 a0 80 20 00 80 88 00 08
|
||||
88 08 80 00 a0 80 20 00 88 08 80 00 28 20 a8 a0
|
||||
28 a8 08 88 80 88 00 08 80 88 00 08 00 08 20 28
|
||||
28 20 a8 a0 28 a8 08 88 00 08 20 28 80 a0 88 a8
|
||||
80 88 00 08 a0 80 20 00 80 a0 88 a8 a0 80 20 00
|
||||
a0 80 20 00 80 a0 88 a8 28 20 a8 a0 00 08 20 28
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 EF 00 00 31 00 52 00 00 C0 0B 00 03 00 00
|
||||
00 00 C0 0C 00 01 10 10
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="53"/>
|
||||
</misterromdescription>
|
||||
@@ -1,56 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Spatter (315-5xxx)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>spatter</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Maze / Extra</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Infinite,4,2,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="None,100k only,50k 200k,40k 120k 480k"/>
|
||||
<dip bits="14" name="Reset Timer & Objects" ids="Yes,No"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>04</part>
|
||||
</rom>
|
||||
<rom index="0" zip="spatter.zip" md5="4e3dd2f53b76da95ff2c22c42e77d22d" type="merged|nonmerged|split">
|
||||
<part name="epr-6392.116"/>
|
||||
<part name="epr-6393.109"/>
|
||||
<part name="epr-6394.96"/>
|
||||
<part name="epr-6316.120"/>
|
||||
<part name="epr-6316.120"/>
|
||||
<part name="epr-6306.04"/>
|
||||
<part name="epr-6308.117"/>
|
||||
<part name="epr-6307.05"/>
|
||||
<part name="epr-6309.110"/>
|
||||
<interleave output="32">
|
||||
<part name="epr-6328.62" map="0001"/>
|
||||
<part name="epr-6326.64" map="0010"/>
|
||||
<part name="epr-6324.66" map="0100"/>
|
||||
<part name="epr-6324.66" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6397.61" map="0001"/>
|
||||
<part name="epr-6396.63" map="0010"/>
|
||||
<part name="epr-6395.65" map="0100"/>
|
||||
<part name="epr-6395.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
88 08 80 00 00 08 20 28 28 a8 08 88 28 a8 08 88
|
||||
28 20 a8 a0 28 20 a8 a0 88 08 80 00 88 08 80 00
|
||||
00 08 20 28 88 08 80 00 a0 80 20 00 80 88 00 08
|
||||
88 08 80 00 a0 80 20 00 88 08 80 00 28 20 a8 a0
|
||||
28 a8 08 88 80 88 00 08 80 88 00 08 00 08 20 28
|
||||
28 20 a8 a0 28 a8 08 88 00 08 20 28 80 a0 88 a8
|
||||
80 88 00 08 a0 80 20 00 80 a0 88 a8 a0 80 20 00
|
||||
a0 80 20 00 80 a0 88 a8 28 20 a8 a0 00 08 20 28
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
126
Arcade_MiST/Sega System 1 Hardware/meta/Star Jacker (alt).mra
Normal file
126
Arcade_MiST/Sega System 1 Hardware/meta/Star Jacker (alt).mra
Normal file
@@ -0,0 +1,126 @@
|
||||
<misterromdescription>
|
||||
<name>Star Jacker</name>
|
||||
<region></region>
|
||||
<homebrew>no</homebrew>
|
||||
<bootleg>no</bootleg>
|
||||
<version>Alt</version>
|
||||
<alternative>Star Jacker</alternative>
|
||||
<platform>Sega System 1</platform>
|
||||
<series></series>
|
||||
<year>1983</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<manufacturer2>Stern</manufacturer2>
|
||||
<category>Shooter - Vertical</category>
|
||||
|
||||
<setname>starjacks</setname>
|
||||
<parent>starjack</parent>
|
||||
<mameversion>0216</mameversion>
|
||||
<rbf>segasys1</rbf>
|
||||
<about author="MrX-8B" source="https://github.com/MiSTer-devel/Arcade-SEGASYS1_MiSTer" twitter="@MrX_8B" webpage="https://patreon.com/MrX_8B"></about>
|
||||
|
||||
<resolution>15kHz</resolution>
|
||||
<rotation>vertical (ccw)</rotation>
|
||||
<flip>no</flip>
|
||||
|
||||
<players>2 (alternating)</players>
|
||||
<joystick>8-way</joystick>
|
||||
<special_controls></special_controls>
|
||||
<num_buttons>2</num_buttons>
|
||||
<buttons default="B,A,Start,Select,R,C" names="Fire 1,Fire 2,-,-,-,Start 1P,Start 2P,Coin,Pause"></buttons>
|
||||
|
||||
<switches base="8" default="FF,BE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<dip bits="9,10" ids="Infinite,5,4,3" name="Lives"></dip>
|
||||
<dip bits="11" ids="Multi,Single" name="Ship"></dip>
|
||||
<dip bits="12,13" ids="60k +every 70k,50k +every 60k,40k +every 50k,30k +every 40k" name="Bonus at"></dip>
|
||||
<dip bits="14,15" ids="Hardest,Hard,Medium,Easy" name="Difficulty"></dip>
|
||||
</switches>
|
||||
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" md5="none" type="merged" zip="starjack.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="7a72ab3d" name="star_jacker_a1_ic3.3"/>
|
||||
<part repeat="0x6000">00</part>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="59a22a1f" name="star_jacker_a1_ic29.129"/>
|
||||
<part crc="7f4597dc" name="star_jacker_a1_ic30.130"/>
|
||||
<part crc="6074c046" name="star_jacker_a1_ic31.131"/>
|
||||
<part crc="1c48a3fa" name="star_jacker_a1_ic32.132"/>
|
||||
<part crc="7598bd51" name="star_jacker_a1_ic33.133"/>
|
||||
<part crc="f66fa604" name="star_jacker_a1_ic34.134"/>
|
||||
<part crc="7598bd51" name="star_jacker_a1_ic33.133"/>
|
||||
<part crc="f66fa604" name="star_jacker_a1_ic34.134"/>
|
||||
<part crc="7598bd51" name="star_jacker_a1_ic33.133"/>
|
||||
<part crc="f66fa604" name="star_jacker_a1_ic34.134"/>
|
||||
<part crc="7598bd51" name="star_jacker_a1_ic33.133"/>
|
||||
<part crc="f66fa604" name="star_jacker_a1_ic34.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="6f2e1fd3" name="star_jacker_a1_ic86.86"/>
|
||||
<part crc="07987244" name="epr-5446.93"/>
|
||||
<part crc="6f2e1fd3" name="star_jacker_a1_ic86.86"/>
|
||||
<part crc="07987244" name="epr-5446.93"/>
|
||||
<part crc="6f2e1fd3" name="star_jacker_a1_ic86.86"/>
|
||||
<part crc="07987244" name="epr-5446.93"/>
|
||||
<part crc="6f2e1fd3" name="star_jacker_a1_ic86.86"/>
|
||||
<part crc="07987244" name="epr-5446.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part crc="251d898f" name="star_jacker_a1_ic82.82"/>
|
||||
<part crc="3e8bcaed" name="epr-5456.81"/>
|
||||
<part crc="79e92cb1" name="epr-5454.80"/>
|
||||
<part crc="79e92cb1" name="epr-5454.80"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="0ab1893c" name="star_jacker_a1_ic65.65"/>
|
||||
<part crc="7f628ae6" name="epr-5455.64"/>
|
||||
<part crc="5bcb253e" name="epr-5453.63"/>
|
||||
<part crc="5bcb253e" name="epr-5453.63"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="251d898f" name="star_jacker_a1_ic82.82"/>
|
||||
<part crc="3e8bcaed" name="epr-5456.81"/>
|
||||
<part crc="79e92cb1" name="epr-5454.80"/>
|
||||
<part crc="79e92cb1" name="epr-5454.80"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part crc="0ab1893c" name="star_jacker_a1_ic65.65"/>
|
||||
<part crc="7f628ae6" name="epr-5455.64"/>
|
||||
<part crc="5bcb253e" name="epr-5453.63"/>
|
||||
<part crc="5bcb253e" name="epr-5453.63"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.106"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: none -->
|
||||
<part repeat="0x100">00</part>
|
||||
</rom>
|
||||
<rom index="2"></rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
01 0F FF FF 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 C1 02 00 23 00 52 00 00 C0 FB 00 04 00 00
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="4"></rom>
|
||||
|
||||
<nvram></nvram>
|
||||
|
||||
<remark></remark>
|
||||
|
||||
<mratimestamp>20210629000000</mratimestamp>
|
||||
</misterromdescription>
|
||||
101
Arcade_MiST/Sega System 1 Hardware/meta/Star Jacker.mra
Normal file
101
Arcade_MiST/Sega System 1 Hardware/meta/Star Jacker.mra
Normal file
@@ -0,0 +1,101 @@
|
||||
<misterromdescription>
|
||||
<name>Star Jacker (Sega)</name>
|
||||
<setname>starjack</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1983</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<about author="MrX-8B" source="https://github.com/MiSTer-devel/Arcade-SEGASYS1_MiSTer" twitter="@MrX_8B" webpage="https://patreon.com/MrX_8B"></about>
|
||||
<buttons names="Fire,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Lives" bits="9,10" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="11,13" ids="50k/60k/50k,40k/50k/40k,30k/40k/30k,20k/30k/20k"/>
|
||||
<dip name="Difficulty" bits="14,15" ids="Hardest,Hard,Medium,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="starjack.zip" type="merged" md5="5b2d71ec04e80ccdf291c7411479eaba">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part name="epr-5332.3" crc="7a72ab3d"/>
|
||||
<part repeat="0x6000">00</part>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part name="epr-5320b.129" crc="7ab72ecd"/>
|
||||
<part name="epr-5321a.130" crc="38b99050"/>
|
||||
<part name="epr-5322a.131" crc="103a595b"/>
|
||||
<part name="epr-5323.132" crc="46af0d58"/>
|
||||
<part name="epr-5324.133" crc="1e89efe2"/>
|
||||
<part name="epr-5325.134" crc="d6e379a1"/>
|
||||
<part name="epr-5324.133" crc="1e89efe2"/>
|
||||
<part name="epr-5325.134" crc="d6e379a1"/>
|
||||
<part name="epr-5324.133" crc="1e89efe2"/>
|
||||
<part name="epr-5325.134" crc="d6e379a1"/>
|
||||
<part name="epr-5324.133" crc="1e89efe2"/>
|
||||
<part name="epr-5325.134" crc="d6e379a1"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part name="epr-5318.86" crc="6f2e1fd3"/>
|
||||
<part name="epr-5319.93" crc="ebee4999"/>
|
||||
<part name="epr-5318.86" crc="6f2e1fd3"/>
|
||||
<part name="epr-5319.93" crc="ebee4999"/>
|
||||
<part name="epr-5318.86" crc="6f2e1fd3"/>
|
||||
<part name="epr-5319.93" crc="ebee4999"/>
|
||||
<part name="epr-5318.86" crc="6f2e1fd3"/>
|
||||
<part name="epr-5319.93" crc="ebee4999"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-5331.82" crc="251d898f"/>
|
||||
<part name="epr-5329.81" crc="3e8bcaed"/>
|
||||
<part name="epr-5327.80" crc="79e92cb1"/>
|
||||
<part name="epr-5327.80" crc="79e92cb1"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5330.65" crc="eb048745"/>
|
||||
<part name="epr-5328.64" crc="9ed7849f"/>
|
||||
<part name="epr-5326.63" crc="ba7e2b47"/>
|
||||
<part name="epr-5326.63" crc="ba7e2b47"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5331.82" crc="251d898f"/>
|
||||
<part name="epr-5329.81" crc="3e8bcaed"/>
|
||||
<part name="epr-5327.80" crc="79e92cb1"/>
|
||||
<part name="epr-5327.80" crc="79e92cb1"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5330.65" crc="eb048745"/>
|
||||
<part name="epr-5328.64" crc="9ed7849f"/>
|
||||
<part name="epr-5326.63" crc="ba7e2b47"/>
|
||||
<part name="epr-5326.63" crc="ba7e2b47"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: none -->
|
||||
<part repeat="0x100">00</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
01 0F FF FF 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 C0 E1 00 1E 00 52 00 00 C0 DB 00 03 00 03
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="33"/>
|
||||
<mratimestamp>20210629000000</mratimestamp>
|
||||
</misterromdescription>
|
||||
@@ -1,60 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Star Jacker</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<setname>starjack</setname>
|
||||
<mratimestamp>202001100000</mratimestamp>
|
||||
<year>1983</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shmup</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,BF" base="8">
|
||||
<dip bits="9,10" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="11,13" name="Bonus at" ids="50k +every 60k,40k +every 50k,30k +every 40k,20k +every 30k,Every 50k,Every 40k,Every 30k,Every 20k"/>
|
||||
<dip bits="14,15" name="Difficulty" ids="Hardest,Hard,Medium,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="starjack.zip" md5="406ae0d7a61a6a09deaef8a3a8b6d67f" type="merged|nonmerged|split">
|
||||
<part name="epr-5320b.129"/>
|
||||
<part name="epr-5321a.130"/>
|
||||
<part name="epr-5322a.131"/>
|
||||
<part name="epr-5323.132"/>
|
||||
<part name="epr-5324.133"/>
|
||||
<part name="epr-5325.134"/>
|
||||
|
||||
<part name="epr-5332.3"/>
|
||||
<part name="epr-5332.3"/>
|
||||
|
||||
<part name="epr-5318.86"/>
|
||||
<part name="epr-5319.93"/>
|
||||
<part name="epr-5318.86"/>
|
||||
<part name="epr-5319.93"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5331.82" map="0001"/>
|
||||
<part name="epr-5329.81" map="0010"/>
|
||||
<part name="epr-5327.80" map="0100"/>
|
||||
<part name="epr-5327.80" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5330.65" map="0001"/>
|
||||
<part name="epr-5328.64" map="0010"/>
|
||||
<part name="epr-5326.63" map="0100"/>
|
||||
<part name="epr-5326.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
107
Arcade_MiST/Sega System 1 Hardware/meta/Swat (315-5048).mra
Normal file
107
Arcade_MiST/Sega System 1 Hardware/meta/Swat (315-5048).mra
Normal file
@@ -0,0 +1,107 @@
|
||||
<misterromdescription>
|
||||
<name>SWAT (315-5048)</name>
|
||||
<setname>swat</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1984</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Fire,Bomb,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Lives" bits="9,10" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="11,13" ids="None,90k,80k,70k,60k,50k,40k,30k"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="swat.zip" type="merged" md5="a2efaabfe3ff8b973720781a26791e8f">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="f6afd0fd" name="epr-5819.3"/>
|
||||
<part repeat="0x6000">00</part>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="93db9c9f" name="epr5807b.129"/>
|
||||
<part crc="67116665" name="epr-5808.130"/>
|
||||
<part crc="fd792fc9" name="epr-5809.131"/>
|
||||
<part crc="dc2b279d" name="epr-5810.132"/>
|
||||
<part crc="093e3ab1" name="epr-5811.133"/>
|
||||
<part crc="5bfd692f" name="epr-5812.134"/>
|
||||
<part crc="093e3ab1" name="epr-5811.133"/>
|
||||
<part crc="5bfd692f" name="epr-5812.134"/>
|
||||
<part crc="093e3ab1" name="epr-5811.133"/>
|
||||
<part crc="5bfd692f" name="epr-5812.134"/>
|
||||
<part crc="093e3ab1" name="epr-5811.133"/>
|
||||
<part crc="5bfd692f" name="epr-5812.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="5a732865" name="epr-5805.86"/>
|
||||
<part crc="26ac258c" name="epr-5806.93"/>
|
||||
<part crc="5a732865" name="epr-5805.86"/>
|
||||
<part crc="26ac258c" name="epr-5806.93"/>
|
||||
<part crc="5a732865" name="epr-5805.86"/>
|
||||
<part crc="26ac258c" name="epr-5806.93"/>
|
||||
<part crc="5a732865" name="epr-5805.86"/>
|
||||
<part crc="26ac258c" name="epr-5806.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-5818.82" map="0001"/>
|
||||
<part name="epr-5816.81" map="0010"/>
|
||||
<part name="epr-5814.80" map="0100"/>
|
||||
<part name="epr-5814.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5817.65" map="0001"/>
|
||||
<part name="epr-5815.64" map="0010"/>
|
||||
<part name="epr-5813.63" map="0100"/>
|
||||
<part name="epr-5813.63" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5818.82" map="0001"/>
|
||||
<part name="epr-5816.81" map="0010"/>
|
||||
<part name="epr-5814.80" map="0100"/>
|
||||
<part name="epr-5814.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5817.65" map="0001"/>
|
||||
<part name="epr-5815.64" map="0010"/>
|
||||
<part name="epr-5813.63" map="0100"/>
|
||||
<part name="epr-5813.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part name="pr-5317.106" crc="648350b8"/>
|
||||
|
||||
<!-- color proms - size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5048 -->
|
||||
<part>
|
||||
88 08 80 00 a0 a8 80 88 88 08 80 00 88 a8 80 a0
|
||||
a0 80 20 00 88 08 80 00 a0 a8 80 88 88 08 80 00
|
||||
28 20 a8 a0 a0 a8 80 88 88 a8 80 a0 28 20 a8 a0
|
||||
a0 80 20 00 a0 a8 80 88 28 20 a8 a0 a0 a8 80 88
|
||||
a0 80 20 00 a0 80 20 00 a0 20 80 00 88 a8 80 a0
|
||||
a0 20 80 00 a0 20 80 00 a0 20 80 00 a0 20 80 00
|
||||
a0 80 20 00 a0 80 20 00 88 a8 80 a0 28 20 a8 a0
|
||||
a0 a8 80 88 a0 80 20 00 28 20 a8 a0 a0 a8 80 88
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 D3 00 00 3C 00 49 00 00 C0 14 00 03 00 02
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="63"/>
|
||||
</misterromdescription>
|
||||
@@ -1,60 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Swat (315-5048)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>swat</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Coreland / Sega</manufacturer>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9,10" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="11,13" name="Bonus at" ids="Never,90k,80k,70k,60k,50k,40k,30k"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="swat.zip" md5="692cf43b6f18dd8aa75c287293257830" type="merged|nonmerged|split">
|
||||
<part name="epr5807b.129"/>
|
||||
<part name="epr-5808.130"/>
|
||||
<part name="epr-5809.131"/>
|
||||
<part name="epr-5810.132"/>
|
||||
<part name="epr-5811.133"/>
|
||||
<part name="epr-5812.134"/>
|
||||
|
||||
<part name="epr-5819.3"/>
|
||||
<part name="epr-5819.3"/>
|
||||
|
||||
<part name="epr-5805.86"/>
|
||||
<part name="epr-5806.93"/>
|
||||
<part name="epr-5805.86"/>
|
||||
<part name="epr-5806.93"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5818.82" map="0001"/>
|
||||
<part name="epr-5816.81" map="0010"/>
|
||||
<part name="epr-5814.80" map="0100"/>
|
||||
<part name="epr-5814.80" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5817.65" map="0001"/>
|
||||
<part name="epr-5815.64" map="0010"/>
|
||||
<part name="epr-5813.63" map="0100"/>
|
||||
<part name="epr-5813.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
88 08 80 00 a0 a8 80 88 88 08 80 00 88 a8 80 a0
|
||||
a0 80 20 00 88 08 80 00 a0 a8 80 88 88 08 80 00
|
||||
28 20 a8 a0 a0 a8 80 88 88 a8 80 a0 28 20 a8 a0
|
||||
a0 80 20 00 a0 a8 80 88 28 20 a8 a0 a0 a8 80 88
|
||||
a0 80 20 00 a0 80 20 00 a0 20 80 00 88 a8 80 a0
|
||||
a0 20 80 00 a0 20 80 00 a0 20 80 00 a0 20 80 00
|
||||
a0 80 20 00 a0 80 20 00 88 a8 80 a0 28 20 a8 a0
|
||||
a0 a8 80 88 a0 80 20 00 28 20 a8 a0 a0 a8 80 88
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,109 @@
|
||||
<misterromdescription>
|
||||
<name>TeddyBoy Blues (315-5115, New Ver.)</name>
|
||||
<setname>teddybb</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Machine-Gun,Jump,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="Off,On"/>
|
||||
<dip name="Lives" bits="10,11" ids="252,4,2,3"/>
|
||||
<dip name="Bonus Life" bits="12,13" ids="600k,400k 800k,200k 600k,100k 400k"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="teddybb.zip" type="merged" md5="c9614c0cac152d12b8f6e29bf66175aa">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="c2a1b89d" name="epr6748x.120"/>
|
||||
<part crc="c2a1b89d" name="epr6748x.120"/>
|
||||
<part crc="c2a1b89d" name="epr6748x.120"/>
|
||||
<part crc="c2a1b89d" name="epr6748x.120"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="5939817e" name="epr-6768.116"/>
|
||||
<part crc="14a98ddd" name="epr-6769.109"/>
|
||||
<part crc="67b0c7c2" name="epr-6770.96"/>
|
||||
<part crc="67b0c7c2" name="epr-6770.96"/>
|
||||
<part crc="67b0c7c2" name="epr-6770.96"/>
|
||||
<part crc="67b0c7c2" name="epr-6770.96"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="1be35a97" name="epr-6735.117"/>
|
||||
<part crc="6b53aa7a" name="epr-6737.04"/>
|
||||
<part crc="565c25d0" name="epr-6736.110"/>
|
||||
<part crc="e116285f" name="epr-6738.05"/>
|
||||
<part crc="1be35a97" name="epr-6735.117"/>
|
||||
<part crc="6b53aa7a" name="epr-6737.04"/>
|
||||
<part crc="565c25d0" name="epr-6736.110"/>
|
||||
<part crc="e116285f" name="epr-6738.05"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-6747.62" map="0001"/>
|
||||
<part name="epr-6745.64" map="0010"/>
|
||||
<part name="epr-6743.66" map="0100"/>
|
||||
<part name="epr-6743.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6746.61" map="0001"/>
|
||||
<part name="epr-6744.63" map="0010"/>
|
||||
<part name="epr-6742.65" map="0100"/>
|
||||
<part name="epr-6742.65" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6747.62" map="0001"/>
|
||||
<part name="epr-6745.64" map="0010"/>
|
||||
<part name="epr-6743.66" map="0100"/>
|
||||
<part name="epr-6743.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6746.61" map="0001"/>
|
||||
<part name="epr-6744.63" map="0010"/>
|
||||
<part name="epr-6742.65" map="0100"/>
|
||||
<part name="epr-6742.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.76"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5115 -->
|
||||
<part>
|
||||
20 28 00 08 80 00 a0 20 20 28 00 08 a0 a8 20 28
|
||||
28 08 a8 88 a0 80 a8 88 a0 a8 20 28 a0 80 a8 88
|
||||
20 28 00 08 28 08 a8 88 a0 a8 20 28 a0 a8 20 28
|
||||
a0 80 a8 88 28 08 a8 88 a0 a8 20 28 28 08 a8 88
|
||||
80 00 a0 20 80 00 a0 20 a0 20 a8 28 a0 a8 20 28
|
||||
a0 20 a8 28 a0 80 a8 88 a0 80 a8 88 a0 80 a8 88
|
||||
80 00 a0 20 20 28 00 08 a0 a8 20 28 a0 20 a8 28
|
||||
80 00 a0 20 a0 80 a8 88 a0 a8 20 28 a0 20 a8 28
|
||||
</part>
|
||||
<!-- jp $3e67 at PC=$0001 to skip self test -->
|
||||
<!-- patch offset="0x8001">63 9e e7</patch -->
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
55 00 00 00 00 FF 00 02
|
||||
00 02 00 01 00 FF 00 00
|
||||
00 00 C5 78 00 03 00 00
|
||||
00 00 EF 03 00 31 00 49
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="52"/>
|
||||
</misterromdescription>
|
||||
@@ -1,55 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>TeddyBoy Blues (315-5115, New Ver.)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>teddybb</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Platform</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="Off,On"/>
|
||||
<dip bits="10,11" name="Lives" ids="252,4,2,3"/>
|
||||
<dip bits="12,13" name="Extend" ids="600k,400k 800k,200k 600k,100k 400k"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="teddybb.zip" md5="74c131009ccc5d58133c0ebe73a4668c" type="merged|nonmerged|split">
|
||||
<part name="epr-6768.116"/>
|
||||
<part name="epr-6769.109"/>
|
||||
<part name="epr-6770.96"/>
|
||||
<part name="epr6748x.120"/>
|
||||
<part name="epr6748x.120"/>
|
||||
<part name="epr-6735.117"/>
|
||||
<part name="epr-6737.04"/>
|
||||
<part name="epr-6736.110"/>
|
||||
<part name="epr-6738.05"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-6747.62" map="0001"/>
|
||||
<part name="epr-6745.64" map="0010"/>
|
||||
<part name="epr-6743.66" map="0100"/>
|
||||
<part name="epr-6743.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-6746.61" map="0001"/>
|
||||
<part name="epr-6744.63" map="0010"/>
|
||||
<part name="epr-6742.65" map="0100"/>
|
||||
<part name="epr-6742.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
20 28 00 08 80 00 a0 20 20 28 00 08 a0 a8 20 28
|
||||
28 08 a8 88 a0 80 a8 88 a0 a8 20 28 a0 80 a8 88
|
||||
20 28 00 08 28 08 a8 88 a0 a8 20 28 a0 a8 20 28
|
||||
a0 80 a8 88 28 08 a8 88 a0 a8 20 28 28 08 a8 88
|
||||
80 00 a0 20 80 00 a0 20 a0 20 a8 28 a0 a8 20 28
|
||||
a0 20 a8 28 a0 80 a8 88 a0 80 a8 88 a0 80 a8 88
|
||||
80 00 a0 20 20 28 00 08 a0 a8 20 28 a0 20 a8 28
|
||||
80 00 a0 20 a0 80 a8 88 a0 a8 20 28 a0 20 a8 28
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,61 @@
|
||||
<misterromdescription>
|
||||
<name>Toki no Senshi - Chrono Soldier (MC-8123, 317-0040)</name>
|
||||
<mameversion>0229</mameversion>
|
||||
<setname>tokisens</setname>
|
||||
<mratimestamp>20210706000000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches base="8" default="DE,FF">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="8,11" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="12,15" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip bits="0" name="Cabinet" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip bits="1" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="2,3" name="Lives" ids="1,4,2,3"/>
|
||||
</switches>
|
||||
<buttons names="Shoot,Direction Change,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,Start,Select,R,L"/>
|
||||
<rom index="1">
|
||||
<part>13</part>
|
||||
</rom>
|
||||
<rom index="0" md5="faa4d7445cd80ba9db5493ee33ed23a3" zip="tokisens.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part name="epr-10967.ic126"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part name="epr-10961.ic90"/>
|
||||
<part name="epr-10962.ic91"/>
|
||||
<part name="epr-10963.ic92"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part name="epr-10958.ic87"/>
|
||||
<part name="epr-10957.ic86"/>
|
||||
<part name="epr-10960.ic89"/>
|
||||
<part name="epr-10959.ic88"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-10964.ic4"/>
|
||||
<part name="epr-10965.ic5"/>
|
||||
<part name="epr-10966.ic6"/>
|
||||
<part name="epr-10966.ic6"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part name="pr-5317.ic28"/>
|
||||
|
||||
<!-- color_proms, size: 0x0300 -->
|
||||
<part name="pr10956.ic20"/>
|
||||
<part name="pr10955.ic14"/>
|
||||
<part name="pr10954.ic8"/>
|
||||
|
||||
<part repeat="0x1C00">00</part>
|
||||
|
||||
<!-- decryption key, size: 0x2000 -->
|
||||
<part name="317-0040.key"/>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,63 @@
|
||||
<misterromdescription>
|
||||
<name>Ufo Senshi Yohko Chan (MC-8123, 317-0064)</name>
|
||||
<mameversion>0229</mameversion>
|
||||
<setname>ufosensi</setname>
|
||||
<mratimestamp>20210706000000</mratimestamp>
|
||||
<year>1985</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shooter</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches base="8" default="DE,FF">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="8,11" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="12,15" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip bits="4" name="Cabinet" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip bits="0,1" name="Difficulty" ids="Easy,Normal,Hard,Hardest"/>
|
||||
<dip bits="2,3" name="Lives" ids="5,4,4,3"/>
|
||||
<dip bits="5" name="Allow Continue" ids="Yes,No"/>
|
||||
<dip bits="7" name="Invulnerability" ids="On,Off"/>
|
||||
</switches>
|
||||
<buttons names="Shoot,Direction Change,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,Start,Select,R,L"/>
|
||||
<rom index="1">
|
||||
<part>01</part>
|
||||
</rom>
|
||||
<rom index="0" md5="6e7e495f76cf1cd342918c427b9b4d8a" zip="ufosensi.zip">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part name="epr-11667.126"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part name="epr-11661.90"/>
|
||||
<part name="epr-11662.91"/>
|
||||
<part name="epr-11663.92"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part name="epr-11658.87"/>
|
||||
<part name="epr-11657.86"/>
|
||||
<part name="epr-11660.89"/>
|
||||
<part name="epr-11659.88"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-11664.4"/>
|
||||
<part name="epr-11665.5"/>
|
||||
<part name="epr-11666.6"/>
|
||||
<part name="epr-11666.6"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x0100 -->
|
||||
<part name="pr5317.28"/>
|
||||
|
||||
<!-- color_proms, size: 0x0300 -->
|
||||
<part name="pr11656.20"/>
|
||||
<part name="pr11655.14"/>
|
||||
<part name="pr11654.8"/>
|
||||
|
||||
<part repeat="0x1C00">00</part>
|
||||
|
||||
<!-- decryption key, size: 0x2000 -->
|
||||
<part name="317-0064.key"/>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -1,41 +1,64 @@
|
||||
<misterromdescription>
|
||||
<name>Up'n Down</name>
|
||||
<mameversion>0216</mameversion>
|
||||
<name>Up'n Down (315-5030)</name>
|
||||
<setname>upndown</setname>
|
||||
<mratimestamp>202001100000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Shmup</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,BF" base="8">
|
||||
<dip bits="9,10" name="Lives" ids="Infinite,5,4,3"/>
|
||||
<dip bits="11,13" name="Bonus at" ids="Never,70k,60k,50k,40k,30k,20k,10k"/>
|
||||
<dip bits="14,15" name="Difficulty" ids="Hardest,Hard,Medium,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="0" zip="upndown.zip" md5="013c5bfc7a9a7a68e3eeb12c8ce37e8e" type="merged|nonmerged|split">
|
||||
<part name="epr5516a.129"/>
|
||||
<part name="epr5517a.130"/>
|
||||
<part name="epr-5518.131"/>
|
||||
<part name="epr-5519.132"/>
|
||||
<part name="epr-5520.133"/>
|
||||
<part name="epr-5521.134"/>
|
||||
<part name="epr-5535.3"/>
|
||||
<part name="epr-5535.3"/>
|
||||
<part name="epr-5514.86"/>
|
||||
<part name="epr-5515.93"/>
|
||||
<part name="epr-5514.86"/>
|
||||
<part name="epr-5515.93"/>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1983</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<rom index="0" zip="upndown.zip" type="merged" md5="dd117de01b1a03b0061d7215a208a20d">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="cf4e4c45" name="epr-5535.3"/>
|
||||
<part crc="cf4e4c45" name="epr-5535.3"/>
|
||||
<part crc="cf4e4c45" name="epr-5535.3"/>
|
||||
<part crc="cf4e4c45" name="epr-5535.3"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="038c82da" name="epr5516a.129"/>
|
||||
<part crc="6930e1de" name="epr5517a.130"/>
|
||||
<part crc="2a370c99" name="epr-5518.131"/>
|
||||
<part crc="9d664a58" name="epr-5519.132"/>
|
||||
<part crc="208dfbdf" name="epr-5520.133"/>
|
||||
<part crc="e7b8d87a" name="epr-5521.134"/>
|
||||
<part crc="208dfbdf" name="epr-5520.133"/>
|
||||
<part crc="e7b8d87a" name="epr-5521.134"/>
|
||||
<part crc="208dfbdf" name="epr-5520.133"/>
|
||||
<part crc="e7b8d87a" name="epr-5521.134"/>
|
||||
<part crc="208dfbdf" name="epr-5520.133"/>
|
||||
<part crc="e7b8d87a" name="epr-5521.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="fcc0a88b" name="epr-5514.86"/>
|
||||
<part crc="60908838" name="epr-5515.93"/>
|
||||
<part crc="fcc0a88b" name="epr-5514.86"/>
|
||||
<part crc="60908838" name="epr-5515.93"/>
|
||||
<part crc="fcc0a88b" name="epr-5514.86"/>
|
||||
<part crc="60908838" name="epr-5515.93"/>
|
||||
<part crc="fcc0a88b" name="epr-5514.86"/>
|
||||
<part crc="60908838" name="epr-5515.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-5527.82" map="0001"/>
|
||||
<part name="epr-5525.81" map="0010"/>
|
||||
<part name="epr-5523.80" map="0100"/>
|
||||
<part name="epr-5523.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5526.65" map="0001"/>
|
||||
<part name="epr-5524.64" map="0010"/>
|
||||
<part name="epr-5522.63" map="0100"/>
|
||||
<part name="epr-5522.63" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-5527.82" map="0001"/>
|
||||
<part name="epr-5525.81" map="0010"/>
|
||||
<part name="epr-5523.80" map="0100"/>
|
||||
<part name="epr-5523.80" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="epr-5526.65" map="0001"/>
|
||||
<part name="epr-5524.64" map="0010"/>
|
||||
@@ -43,16 +66,45 @@
|
||||
<part name="epr-5522.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.106"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5030 -->
|
||||
<part>
|
||||
08 88 00 80 a0 20 80 00 a8 a0 28 20 88 a8 80 a0
|
||||
88 80 08 00 28 08 a8 88 88 a8 80 a0 28 08 a8 88
|
||||
88 a8 80 a0 a0 20 80 00 a8 a0 28 20 a8 a0 28 20
|
||||
88 80 08 00 88 a8 80 a0 88 a8 80 a0 88 a8 80 a0
|
||||
a0 20 80 00 a0 20 80 00 08 88 00 80 28 08 a8 88
|
||||
88 a8 80 a0 88 80 08 00 88 a8 80 a0 28 08 a8 88
|
||||
88 a8 80 a0 88 a8 80 a0 88 a8 80 a0 88 a8 80 a0
|
||||
88 80 08 00 88 80 08 00 08 88 00 80 28 08 a8 88
|
||||
08 88 00 80 a0 20 80 00 a8 a0 28 20 88 a8 80 a0
|
||||
88 80 08 00 28 08 a8 88 88 a8 80 a0 28 08 a8 88
|
||||
88 a8 80 a0 a0 20 80 00 a8 a0 28 20 a8 a0 28 20
|
||||
88 80 08 00 88 a8 80 a0 88 a8 80 a0 88 a8 80 a0
|
||||
a0 20 80 00 a0 20 80 00 08 88 00 80 28 08 a8 88
|
||||
88 a8 80 a0 88 80 08 00 88 a8 80 a0 28 08 a8 88
|
||||
88 a8 80 a0 88 a8 80 a0 88 a8 80 a0 88 a8 80 a0
|
||||
88 80 08 00 88 80 08 00 08 88 00 80 28 08 a8 88
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="1">
|
||||
<part>06</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 0F FF FF 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 C9 3F 00 3F 01 00
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="63"/>
|
||||
<switches base="8" default="FF,FE">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Lives" bits="9,10" ids="Infinite,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="11,13" ids="None,70k,60k,50k,40k,30k,20k,10k"/>
|
||||
<dip name="Difficulty" bits="14,15" ids="Hardest,Hard,Medium,Easy"/>
|
||||
</switches>
|
||||
<buttons names="Jump,-,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="1"/>
|
||||
</misterromdescription>
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<misterromdescription>
|
||||
<name>Water Match (315-5064)</name>
|
||||
<setname>wmatch</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>4-way</joystick>
|
||||
<rotation>vertical/ccw</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Right,Left,Down,Up,Dive,Start 1P,Start 2P,Coin,Pause" default="A,B,X,Y,R,L,Start,Select" count="5"/>
|
||||
<switches base="8" default="FF,FC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Time" bits="10,11" ids="Fastest,Faster,Fast,Normal"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>0E</part>
|
||||
</rom>
|
||||
<rom index="0" zip="wmatch.zip" type="merged" md5="9538465256bf999f34b70f5ecbfcff09">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part crc="50d2afb7" name="wm.3"/>
|
||||
<part crc="50d2afb7" name="wm.3"/>
|
||||
<part crc="50d2afb7" name="wm.3"/>
|
||||
<part crc="50d2afb7" name="wm.3"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part crc="b6db4442" name="wm.129"/>
|
||||
<part crc="59a0a7a0" name="wm.130"/>
|
||||
<part crc="4cb3856a" name="wm.131"/>
|
||||
<part crc="e2e44b29" name="wm.132"/>
|
||||
<part crc="43a36445" name="wm.133"/>
|
||||
<part crc="5624794c" name="wm.134"/>
|
||||
<part crc="43a36445" name="wm.133"/>
|
||||
<part crc="5624794c" name="wm.134"/>
|
||||
<part crc="43a36445" name="wm.133"/>
|
||||
<part crc="5624794c" name="wm.134"/>
|
||||
<part crc="43a36445" name="wm.133"/>
|
||||
<part crc="5624794c" name="wm.134"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part crc="238ae0e5" name="wm.86"/>
|
||||
<part crc="a2f19170" name="wm.93"/>
|
||||
<part crc="238ae0e5" name="wm.86"/>
|
||||
<part crc="a2f19170" name="wm.93"/>
|
||||
<part crc="238ae0e5" name="wm.86"/>
|
||||
<part crc="a2f19170" name="wm.93"/>
|
||||
<part crc="238ae0e5" name="wm.86"/>
|
||||
<part crc="a2f19170" name="wm.93"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="wm.82" map="0001"/>
|
||||
<part name="wm.81" map="0010"/>
|
||||
<part name="wm.80" map="0100"/>
|
||||
<part name="wm.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="wm.65" map="0001"/>
|
||||
<part name="wm.64" map="0010"/>
|
||||
<part name="wm.63" map="0100"/>
|
||||
<part name="wm.63" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="wm.82" map="0001"/>
|
||||
<part name="wm.81" map="0010"/>
|
||||
<part name="wm.80" map="0100"/>
|
||||
<part name="wm.80" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="wm.65" map="0001"/>
|
||||
<part name="wm.64" map="0010"/>
|
||||
<part name="wm.63" map="0100"/>
|
||||
<part name="wm.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part crc="648350b8" name="pr-5317.106"/>
|
||||
|
||||
<!-- color_proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5064 -->
|
||||
<part>
|
||||
88 a8 80 a0 a0 80 20 00 08 88 00 80 88 a8 80 a0
|
||||
20 00 a0 80 20 28 a0 a8 20 28 a0 a8 a0 80 20 00
|
||||
a8 28 88 08 a8 28 88 08 08 88 00 80 a8 28 88 08
|
||||
a8 28 88 08 20 28 a0 a8 a8 28 88 08 a8 28 88 08
|
||||
20 28 a0 a8 88 a8 80 a0 88 a8 80 a0 20 28 a0 a8
|
||||
20 28 a0 a8 a0 80 20 00 20 28 a0 a8 20 28 a0 a8
|
||||
20 00 a0 80 20 28 a0 a8 a8 28 88 08 a0 80 20 00
|
||||
20 28 a0 a8 20 28 a0 a8 a8 28 88 08 a8 28 88 08
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -1,62 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Water Match (315-5064)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>wmatch</setname>
|
||||
<mratimestamp>202001070000</mratimestamp>
|
||||
<year>1984</year>
|
||||
<manufacturer>Sega</manufacturer>
|
||||
<category>Sport</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="8" name="Cabinet" ids="Upright,Cocktail"/>
|
||||
<dip bits="9" name="Demo Sounds" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Time" ids="Fastest,Faster,Fast,Normal"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>0E</part>
|
||||
</rom>
|
||||
<rom index="0" zip="wmatch.zip" md5="1b67822537b11d05b6252d118ffbf985" type="merged|nonmerged|split">
|
||||
<part name="wm.129"/>
|
||||
<part name="wm.130"/>
|
||||
<part name="wm.131"/>
|
||||
<part name="wm.132"/>
|
||||
<part name="wm.133"/>
|
||||
<part name="wm.134"/>
|
||||
|
||||
<part name="wm.3"/>
|
||||
<part name="wm.3"/>
|
||||
|
||||
<part name="wm.86"/>
|
||||
<part name="wm.93"/>
|
||||
<part name="wm.86"/>
|
||||
<part name="wm.93"/>
|
||||
|
||||
<interleave output="32">
|
||||
<part name="wm.82" map="0001"/>
|
||||
<part name="wm.81" map="0010"/>
|
||||
<part name="wm.80" map="0100"/>
|
||||
<part name="wm.80" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
|
||||
<interleave output="32">
|
||||
<part name="wm.65" map="0001"/>
|
||||
<part name="wm.64" map="0010"/>
|
||||
<part name="wm.63" map="0100"/>
|
||||
<part name="wm.63" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.106"/>
|
||||
<part>
|
||||
88 a8 80 a0 a0 80 20 00 08 88 00 80 88 a8 80 a0
|
||||
20 00 a0 80 20 28 a0 a8 20 28 a0 a8 a0 80 20 00
|
||||
a8 28 88 08 a8 28 88 08 08 88 00 80 a8 28 88 08
|
||||
a8 28 88 08 20 28 a0 a8 a8 28 88 08 a8 28 88 08
|
||||
20 28 a0 a8 88 a8 80 a0 88 a8 80 a0 20 28 a0 a8
|
||||
20 28 a0 a8 a0 80 20 00 20 28 a0 a8 20 28 a0 a8
|
||||
20 00 a0 80 20 28 a0 a8 a8 28 88 08 a0 80 20 00
|
||||
20 28 a0 a8 20 28 a0 a8 a8 28 88 08 a8 28 88 08
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,115 @@
|
||||
<misterromdescription>
|
||||
<name>Wonder Boy (set 1, 315-5177)</name>
|
||||
<setname>wboy</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1986</year>
|
||||
<manufacturer>Escape (Sega license)</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>4-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Action/Run,Jump,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="Free Play,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12" ids="30/120/210/300k,30/100/170/240k"/>
|
||||
<dip name="Allow Continue" bits="13" ids="No,Yes"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>04</part>
|
||||
</rom>
|
||||
<rom index="0" zip="wboy.zip" type="merged" md5="ad4204a5e3232a5836e47ca967bfcaf6">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part name="epr-7498.120" crc="78ae1e7b"/>
|
||||
<part name="epr-7498.120" crc="78ae1e7b"/>
|
||||
<part name="epr-7498.120" crc="78ae1e7b"/>
|
||||
<part name="epr-7498.120" crc="78ae1e7b"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part name="epr-7489.116" crc="130f4b70"/>
|
||||
<part name="epr-7490.109" crc="9e656733"/>
|
||||
<part name="epr-7491.96" crc="1f7d0efe"/>
|
||||
<part name="epr-7491.96" crc="1f7d0efe"/>
|
||||
<part name="epr-7491.96" crc="1f7d0efe"/>
|
||||
<part name="epr-7491.96" crc="1f7d0efe"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part name="epr-7485.117" crc="c2891722"/>
|
||||
<part name="epr-7487.04" crc="2d3a421b"/>
|
||||
<part name="epr-7486.110" crc="8d622c50"/>
|
||||
<part name="epr-7488.05" crc="007c2f1b"/>
|
||||
<part name="epr-7485.117" crc="c2891722"/>
|
||||
<part name="epr-7487.04" crc="2d3a421b"/>
|
||||
<part name="epr-7486.110" crc="8d622c50"/>
|
||||
<part name="epr-7488.05" crc="007c2f1b"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-7497.62" crc="08d609ca"/>
|
||||
<part name="epr-7495.64" crc="6a0d2c2d"/>
|
||||
<part name="epr-7493.66" crc="89305df4"/>
|
||||
<part name="epr-7493.66" crc="89305df4"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-7496.61" crc="6f61fdf1"/>
|
||||
<part name="epr-7494.63" crc="a8e281c7"/>
|
||||
<part name="epr-7492.65" crc="60f806b1"/>
|
||||
<part name="epr-7492.65" crc="60f806b1"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-7497.62" crc="08d609ca"/>
|
||||
<part name="epr-7495.64" crc="6a0d2c2d"/>
|
||||
<part name="epr-7493.66" crc="89305df4"/>
|
||||
<part name="epr-7493.66" crc="89305df4"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-7496.61" crc="6f61fdf1"/>
|
||||
<part name="epr-7494.63" crc="a8e281c7"/>
|
||||
<part name="epr-7492.65" crc="60f806b1"/>
|
||||
<part name="epr-7492.65" crc="60f806b1"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part name="pr-5317.76" crc="648350b8"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part repeat="0x300">00</part>
|
||||
|
||||
<!-- encryption_device: 315-5177 -->
|
||||
<part>
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
41 45 00 50 54 11 45 40 04 54 51 15 40 44 01 51
|
||||
55 10 44 41 05 55 50 14 41 45 00 50 54 11 45 40
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
41 45 00 50 54 11 45 40 04 54 51 15 40 44 01 51
|
||||
55 10 44 41 05 55 50 14 41 45 00 50 54 11 45 40
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
|
||||
00 00 00 00 01 01 01 01 01 02 02 02 02 02 03 03
|
||||
03 03 04 04 04 04 04 05 05 05 05 05 06 06 06 06
|
||||
06 07 07 07 07 07 08 08 08 08 09 09 09 09 09 0a
|
||||
0a 0a 0a 0a 0b 0b 0b 0b 0b 0c 0c 0c 0c 0c 0d 0d
|
||||
08 08 08 08 09 09 09 09 09 0a 0a 0a 0a 0a 0b 0b
|
||||
0b 0b 0c 0c 0c 0c 0c 0d 0d 0d 0d 0d 0e 0e 0e 0e
|
||||
0e 0f 0f 0f 0f 0f 10 10 10 10 11 11 11 11 11 12
|
||||
12 12 12 12 13 13 13 13 13 14 14 14 14 14 15 15
|
||||
</part>
|
||||
</rom>
|
||||
<rom index="3" md5="none">
|
||||
<part>
|
||||
00 0F FF FF 00 FF 00 02 00 02 00 01 00 FF 00 00
|
||||
00 00 C1 00 01 40 20 20 00 00 E8 56 00 0F 01 10
|
||||
</part>
|
||||
</rom>
|
||||
<nvram index="4" size="335"/>
|
||||
</misterromdescription>
|
||||
@@ -0,0 +1,67 @@
|
||||
<misterromdescription>
|
||||
<name>Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)</name>
|
||||
<setname>wbml</setname>
|
||||
<rbf>segasys1</rbf>
|
||||
<mameversion>0229</mameversion>
|
||||
<year>1986</year>
|
||||
<manufacturer>Escape (Sega license)</manufacturer>
|
||||
<players>2</players>
|
||||
<joystick>4-way</joystick>
|
||||
<rotation>horizontal</rotation>
|
||||
<region>World</region>
|
||||
<buttons names="Action/Run,Jump,-,-,-,Start 1P,Start 2P,Coin,Pause" default="A,B,X,R,L,Start,Select" count="2"/>
|
||||
<switches base="8" default="FF,FC">
|
||||
<!-- SWA -->
|
||||
<dip name="Coin A" bits="0,3" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<dip name="Coin B" bits="4,7" ids="1/1,1/1 2/3,1/1 4/5,1/1 5/6,2/1 4/3,2/1 5/3 6/4,2/3,4/1,3/1,2/1,1/6,1/5,1/4,1/3,1/2,1/1"/>
|
||||
<!-- SWB -->
|
||||
<!--
|
||||
<dip name="Cabinet" bits="8" ids="Upright,Cocktail"/>
|
||||
-->
|
||||
<dip name="Demo Sounds" bits="9" ids="On,Off"/>
|
||||
<dip name="Lives" bits="10,11" ids="Free Play,5,4,3"/>
|
||||
<dip name="Bonus Life" bits="12" ids="30/120/210/300k,30/100/170/240k"/>
|
||||
<dip name="Allow Continue" bits="13" ids="No,Yes"/>
|
||||
<dip name="Difficulty" bits="14" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>05</part>
|
||||
</rom>
|
||||
<rom index="0" zip="wbml.zip" type="merged" md5="ad4204a5e3232a5836e47ca967bfcaf6">
|
||||
<!-- soundcpu, size: 0x8000 -->
|
||||
<part name="epr-11037.126"/>
|
||||
|
||||
<!-- maincpu, size: 0x18000 -->
|
||||
<part name="epr-11031a.90"/>
|
||||
<part name="epr-11032.91"/>
|
||||
<part name="epr-11033.92"/>
|
||||
|
||||
<!-- sprites, size: 0x20000 -->
|
||||
<part name="epr-11028.87"/>
|
||||
<part name="epr-11027.86"/>
|
||||
<part name="epr-11030.89"/>
|
||||
<part name="epr-11029.88"/>
|
||||
|
||||
<!-- tiles, size: 0x18000 -->
|
||||
<interleave output="32">
|
||||
<part name="epr-11034.4"/>
|
||||
<part name="epr-11035.5"/>
|
||||
<part name="epr-11036.6"/>
|
||||
<part name="epr-11036.6"/>
|
||||
</interleave>
|
||||
|
||||
<!-- lookup_proms, size: 0x100 -->
|
||||
<part name="pr5317.37"/>
|
||||
|
||||
<!-- color proms, size: 0x300 -->
|
||||
<part name="pr11026.20"/>
|
||||
<part name="pr11025.14"/>
|
||||
<part name="pr11024.8"/>
|
||||
|
||||
<part repeat="0x1C00">00</part>
|
||||
|
||||
<!-- decryption key, size: 0x2000 -->
|
||||
<part name="317-0043.key"/>
|
||||
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -1,63 +0,0 @@
|
||||
<misterromdescription>
|
||||
<name>Wonder Boy (set 1, 315-5177)</name>
|
||||
<mameversion>0217</mameversion>
|
||||
<setname>wboy</setname>
|
||||
<mratimestamp>20200107000000</mratimestamp>
|
||||
<year>1986</year>
|
||||
<manufacturer>Escape (Sega license)</manufacturer>
|
||||
<category>Platform / Extra</category>
|
||||
<rbf>segasys1</rbf>
|
||||
<switches default="FF,7E" base="8">
|
||||
<dip bits="9" name="Demo Sound" ids="On,Off"/>
|
||||
<dip bits="10,11" name="Lives" ids="Free Play,5,4,3"/>
|
||||
<dip bits="12" name="Extend" ids="30k 120k 210k 300k,30k 100k 170k 240k"/>
|
||||
<dip bits="13" name="Allow Continue" ids="No,Yes"/>
|
||||
<dip bits="14" name="Difficulty" ids="Hard,Easy"/>
|
||||
</switches>
|
||||
<rom index="1">
|
||||
<part>00</part>
|
||||
</rom>
|
||||
<rom index="0" zip="wboy.zip" md5="7cc14dd978cab8fbf13dd4120692086f" type="merged|nonmerged|split">
|
||||
<part name="epr-7489.116"/>
|
||||
<part name="epr-7490.109"/>
|
||||
<part name="epr-7491.96"/>
|
||||
<part name="epr-7498.120"/>
|
||||
<part name="epr-7498.120"/>
|
||||
<part name="epr-7485.117"/>
|
||||
<part name="epr-7487.04"/>
|
||||
<part name="epr-7486.110"/>
|
||||
<part name="epr-7488.05"/>
|
||||
<interleave output="32">
|
||||
<part name="epr-7497.62" map="0001"/>
|
||||
<part name="epr-7495.64" map="0010"/>
|
||||
<part name="epr-7493.66" map="0100"/>
|
||||
<part name="epr-7493.66" map="1000"/>
|
||||
</interleave>
|
||||
<interleave output="32">
|
||||
<part name="epr-7496.61" map="0001"/>
|
||||
<part name="epr-7494.63" map="0010"/>
|
||||
<part name="epr-7492.65" map="0100"/>
|
||||
<part name="epr-7492.65" map="1000"/>
|
||||
</interleave>
|
||||
|
||||
<part name="pr-5317.76"/>
|
||||
<part>
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
41 45 00 50 54 11 45 40 04 54 51 15 40 44 01 51
|
||||
55 10 44 41 05 55 50 14 41 45 00 50 54 11 45 40
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
41 45 00 50 54 11 45 40 04 54 51 15 40 44 01 51
|
||||
55 10 44 41 05 55 50 14 41 45 00 50 54 11 45 40
|
||||
04 54 51 15 40 44 01 51 55 10 44 41 05 55 50 14
|
||||
00 00 00 00 01 01 01 01 01 02 02 02 02 02 03 03
|
||||
03 03 04 04 04 04 04 05 05 05 05 05 06 06 06 06
|
||||
06 07 07 07 07 07 08 08 08 08 09 09 09 09 09 0a
|
||||
0a 0a 0a 0a 0b 0b 0b 0b 0b 0c 0c 0c 0c 0c 0d 0d
|
||||
08 08 08 08 09 09 09 09 09 0a 0a 0a 0a 0a 0b 0b
|
||||
0b 0b 0c 0c 0c 0c 0c 0d 0d 0d 0d 0d 0e 0e 0e 0e
|
||||
0e 0f 0f 0f 0f 0f 10 10 10 10 11 11 11 11 11 12
|
||||
12 12 12 12 13 13 13 13 13 14 14 14 14 14 15 15
|
||||
</part>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -6,9 +6,9 @@ module HVGEN
|
||||
output [8:0] VPOS,
|
||||
input CLK,
|
||||
input PCLK_EN,
|
||||
input [14:0] iRGB,
|
||||
input [11:0] iRGB,
|
||||
|
||||
output reg [14:0] oRGB,
|
||||
output reg [11:0] oRGB,
|
||||
output reg HBLK = 1,
|
||||
output reg VBLK = 1,
|
||||
output reg HSYN = 1,
|
||||
|
||||
327
Arcade_MiST/Sega System 1 Hardware/rtl/MC8123.v
Normal file
327
Arcade_MiST/Sega System 1 Hardware/rtl/MC8123.v
Normal file
@@ -0,0 +1,327 @@
|
||||
// Copyright 2021 by blackwine
|
||||
// decryption algorithm based on MAME sources
|
||||
|
||||
module MC8123_rom_decrypt
|
||||
(
|
||||
input clk,
|
||||
|
||||
// connect to CPU
|
||||
input m1,
|
||||
input [15:0] a,
|
||||
output reg [7:0] d,
|
||||
|
||||
// connect to program ROM
|
||||
input [7:0] prog_d,
|
||||
|
||||
// connect to cpu decryption key ROM
|
||||
output [12:0] key_a,
|
||||
input [7:0] key_d
|
||||
);
|
||||
|
||||
assign key_a = {~m1,a[15:10],a[8],a[6],a[4],a[2:0]};
|
||||
|
||||
wire [7:0] key = ~key_d;
|
||||
|
||||
wire [2:0] decrypt_type = {key[4]^key[5],
|
||||
key[0]^key[1]^key[2]^key[4],
|
||||
key[0]^key[2]^~m1};
|
||||
|
||||
wire [1:0] swap = {key[2]^key[3],
|
||||
key[0]^key[1]};
|
||||
|
||||
wire [3:0] param = {key[1]^key[6]^key[7],
|
||||
key[0]^key[1]^key[6],
|
||||
key[0]^key[2]^key[3],
|
||||
key[0]^~m1};
|
||||
|
||||
always @( negedge clk ) begin
|
||||
case (decrypt_type)
|
||||
0: d <= decrypt_type_0 (prog_d, param, swap);
|
||||
1: d <= decrypt_type_0 (prog_d, param, swap);
|
||||
2: d <= decrypt_type_1a(prog_d, param, swap);
|
||||
3: d <= decrypt_type_1b(prog_d, param, swap);
|
||||
4: d <= decrypt_type_2a(prog_d, param, swap);
|
||||
5: d <= decrypt_type_2b(prog_d, param, swap);
|
||||
6: d <= decrypt_type_3a(prog_d, param, swap);
|
||||
7: d <= decrypt_type_3b(prog_d, param, swap);
|
||||
endcase
|
||||
end
|
||||
|
||||
`define bitswap8(a,b,c,d,e,f,g,h) {v[a],v[b],v[c],v[d],v[e],v[f],v[g],v[h]}
|
||||
|
||||
reg [7:0] v;
|
||||
reg s;
|
||||
reg t;
|
||||
|
||||
function [7:0] decrypt_type_0;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(7,5,3,1,2,0,6,4);
|
||||
1: v = `bitswap8(5,3,7,2,1,0,4,6);
|
||||
2: v = `bitswap8(0,3,4,6,7,1,5,2);
|
||||
3: v = `bitswap8(0,7,3,2,6,4,1,5);
|
||||
endcase
|
||||
|
||||
s = p[3] & v[7];
|
||||
t = p[2] & v[6];
|
||||
|
||||
v = {
|
||||
v[7] ^ t ^ v[6] ^ p[1],
|
||||
v[6] ^ (p[1] & (v[7] ^ t ^ v[6])) ^ p[1],
|
||||
v[5] ^ s ^ v[2] ^ t ^ p[2] ^ p[0],
|
||||
~v[4],
|
||||
~v[3] ^ s,
|
||||
v[2] ^ t ^ p[2],
|
||||
~v[1] ^ t,
|
||||
v[0] ^ s ^ v[2] ^ t ^ p[2] ^ p[0]
|
||||
};
|
||||
|
||||
decrypt_type_0 = p[0] ? `bitswap8(7,6,5,1,4,3,2,0) : v;
|
||||
|
||||
endfunction
|
||||
|
||||
// decrypt type 1a
|
||||
|
||||
function [7:0] decrypt_type_1a;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(4,2,6,5,3,7,1,0);
|
||||
1: v = `bitswap8(6,0,5,4,3,2,1,7);
|
||||
2: v = `bitswap8(2,3,6,1,4,0,7,5);
|
||||
3: v = `bitswap8(6,5,1,3,2,7,0,4);
|
||||
endcase
|
||||
|
||||
v = p[2] ? `bitswap8(7,6,1,5,3,2,4,0) : v;
|
||||
|
||||
v = {
|
||||
v[7] ^ v[4] ^ p[3],
|
||||
~v[6] ^ v[7] ^ v[2] ^ v[4] ^ p[1],
|
||||
v[5],
|
||||
v[4] ^ v[7] ^ v[2],
|
||||
~v[3] ^ v[7] ^ v[6] ^ v[2] ^ p[1],
|
||||
v[2] ^ v[4] ^ p[3],
|
||||
~v[1] ^ v[2],
|
||||
~v[0] ^ v[1]
|
||||
};
|
||||
|
||||
decrypt_type_1a = p[0] ? `bitswap8(7,6,1,4,3,2,5,0) : v;
|
||||
endfunction
|
||||
|
||||
// decrypt type 1b
|
||||
|
||||
function [7:0] decrypt_type_1b;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(1,0,3,2,5,6,4,7);
|
||||
1: v = `bitswap8(2,0,5,1,7,4,6,3);
|
||||
2: v = `bitswap8(6,4,7,2,0,5,1,3);
|
||||
3: v = `bitswap8(7,1,3,6,0,2,5,4);
|
||||
endcase
|
||||
|
||||
s = v[2] & v[0];
|
||||
v = {
|
||||
v[7] ^ s ^ v[5] ^ v[3] ^ p[2],
|
||||
~v[6] ^ v[4] ^ s ^ v[0] ^ v[3] ^ p[2] ^ p[0],
|
||||
v[5] ^ v[4] ^ s ^ v[1],
|
||||
~v[4] ^ s ^ p[3] ^ p[1],
|
||||
v[3] ^ p[1] ^ p[2],
|
||||
v[2] ^ v[7] ^ s ^ v[5] ^ v[0] ^ v[3] ^ p[0],
|
||||
v[1] ^ v[6] ^ v[0] ^ v[3] ^ p[3] ^ p[0],
|
||||
~v[0] ^ v[3] ^ p[0] ^ p[2]
|
||||
};
|
||||
|
||||
decrypt_type_1b = v;
|
||||
endfunction
|
||||
|
||||
// decrypt type 2a
|
||||
|
||||
function [7:0] decrypt_type_2a;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(0,1,4,3,5,6,2,7);
|
||||
1: v = `bitswap8(6,3,0,5,7,4,1,2);
|
||||
2: v = `bitswap8(1,6,4,5,0,3,7,2);
|
||||
3: v = `bitswap8(4,6,7,5,2,3,1,0);
|
||||
endcase
|
||||
|
||||
v = (v[3] || (p[1] & v[2])) ? `bitswap8(6,0,7,4,3,2,1,5) : v;
|
||||
v = {
|
||||
~v[7] ^ v[5],
|
||||
~v[6] ^ v[0],
|
||||
~v[5] ^ v[6],
|
||||
~v[4] ^ p[2],
|
||||
v[3] ^ v[4] ^ p[2],
|
||||
v[2] ^ v[1] ^ p[2],
|
||||
~v[1] ^ p[2],
|
||||
v[0] ^ v[4] ^ p[2]
|
||||
};
|
||||
|
||||
case({p[3],p[0]})
|
||||
1: v = `bitswap8(7,6,5,2,1,3,4,0);
|
||||
2: v = `bitswap8(7,6,5,1,2,4,3,0);
|
||||
3: v = `bitswap8(7,6,5,3,4,1,2,0);
|
||||
default:;
|
||||
endcase
|
||||
|
||||
decrypt_type_2a = v;
|
||||
endfunction
|
||||
|
||||
// decrypt type 2b
|
||||
|
||||
function [7:0] decrypt_type_2b;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(1,3,4,6,5,7,0,2);
|
||||
1: v = `bitswap8(0,1,5,4,7,3,2,6);
|
||||
2: v = `bitswap8(3,5,4,1,6,2,0,7);
|
||||
3: v = `bitswap8(5,2,3,0,4,7,6,1);
|
||||
endcase
|
||||
|
||||
s = v[7] & v[3];
|
||||
v = {
|
||||
v[7] ^ v[5] ^ s ^ v[4],
|
||||
v[6] ^ s,
|
||||
v[5] ^ v[1] ^ s ^ v[4],
|
||||
v[4] ^ s,
|
||||
v[3] ^ v[5] ^ s ^ v[4],
|
||||
v[2] ^ v[7],
|
||||
v[1] ^ s ^ v[4],
|
||||
v[0] ^ s
|
||||
};
|
||||
|
||||
s = v[5] & (v[7] ^ v[1]);
|
||||
v = {
|
||||
~v[7] ^ v[6] ^ v[3] ^ p[2] ^ p[1],
|
||||
v[6] ^ v[3] ^ p[3] ^ p[2],
|
||||
v[5] ^ v[6] ^ v[3] ^ p[2] ^ p[0],
|
||||
v[4] ^ s,
|
||||
~v[3] ^ v[2] ^ p[3] ^ p[2],
|
||||
~v[2] ^ p[2] ^ p[0],
|
||||
~v[1] ^ v[3] ^ v[2] ^ p[3] ^ p[2],
|
||||
v[0] ^ s
|
||||
};
|
||||
decrypt_type_2b = v;
|
||||
|
||||
endfunction
|
||||
|
||||
// decrypt type 3a
|
||||
|
||||
function [7:0] decrypt_type_3a;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(5,3,1,7,0,2,6,4);
|
||||
1: v = `bitswap8(3,1,2,5,4,7,0,6);
|
||||
2: v = `bitswap8(5,6,1,2,7,0,4,3);
|
||||
3: v = `bitswap8(5,6,7,0,4,2,1,3);
|
||||
endcase
|
||||
|
||||
v = {
|
||||
v[7] ^ v[2],
|
||||
v[6],
|
||||
v[5] ^ v[2],
|
||||
v[4] ^ v[2],
|
||||
v[3],
|
||||
v[2],
|
||||
v[1],
|
||||
v[0] ^ v[3]
|
||||
};
|
||||
|
||||
v = p[0] ? `bitswap8(7,2,5,4,3,1,0,6) : v;
|
||||
|
||||
v = {
|
||||
v[7],
|
||||
v[6] ^ v[1],
|
||||
v[5],
|
||||
v[4] ^ v[3] ^ p[3],
|
||||
v[3] ^ p[3],
|
||||
v[2] ^ v[3],
|
||||
v[1] ^ v[3],
|
||||
v[0] ^ v[1]
|
||||
};
|
||||
|
||||
v = v[3] ? `bitswap8(5,6,7,4,3,2,1,0) : v;
|
||||
|
||||
v = {
|
||||
v[7] ^ p[2],
|
||||
~v[6],
|
||||
~v[5],
|
||||
~v[4] ^ p[1],
|
||||
~v[3],
|
||||
v[2] ^ v[5],
|
||||
v[1] ^ v[5],
|
||||
v[0] ^ p[0]
|
||||
};
|
||||
decrypt_type_3a = v;
|
||||
endfunction
|
||||
|
||||
|
||||
// decrypt type 3b
|
||||
|
||||
function [7:0] decrypt_type_3b;
|
||||
input [7:0] value;
|
||||
input [3:0] p; // param
|
||||
input [1:0] swap;
|
||||
|
||||
v = value;
|
||||
case (swap)
|
||||
0: v = `bitswap8(3,7,5,4,0,6,2,1);
|
||||
1: v = `bitswap8(7,5,4,6,1,2,0,3);
|
||||
2: v = `bitswap8(7,4,3,0,5,1,6,2);
|
||||
3: v = `bitswap8(2,6,4,1,3,7,0,5);
|
||||
endcase
|
||||
|
||||
v = (v[2] ^ v[7]) ? `bitswap8(7,6,3,4,5,2,1,0) : v;
|
||||
|
||||
s = v[2] ^ p[3];
|
||||
t = v[4] ^ v[1];
|
||||
v = {
|
||||
v[7] ^ s ^ p[3],
|
||||
v[6] ^ t,
|
||||
v[5],
|
||||
v[4] ^ v[1],
|
||||
v[3],
|
||||
v[2] ^ v[1],
|
||||
v[1] ^ ((v[7] ^ s) & (v[6] ^ t) ^ v[7] ^ s),
|
||||
v[0] ^ p[2]
|
||||
};
|
||||
|
||||
v = p[3] ? `bitswap8(4,6,3,2,5,0,1,7) : v;
|
||||
v = {
|
||||
v[7] ^ p[1],
|
||||
v[6],
|
||||
~v[5],
|
||||
v[4] ^ v[5],
|
||||
~v[3] ^ p[0],
|
||||
~v[2] ^ v[7],
|
||||
v[1] ^ v[4],
|
||||
v[0]
|
||||
};
|
||||
|
||||
decrypt_type_3b = v;
|
||||
endfunction
|
||||
|
||||
endmodule
|
||||
@@ -14,19 +14,21 @@ module SEGASYSTEM1
|
||||
|
||||
input [7:0] DSW0,
|
||||
input [7:0] DSW1,
|
||||
|
||||
input SYSTEM2,
|
||||
input SYSTEM2_ROWSCROLL,
|
||||
|
||||
input [8:0] PH, // PIXEL H
|
||||
input [8:0] PV, // PIXEL V
|
||||
output PCLK_EN,
|
||||
output [7:0] POUT, // PIXEL OUT
|
||||
output [11:0] POUT, // PIXEL OUT
|
||||
|
||||
output [15:0] SOUT, // Sound Out (PCM)
|
||||
|
||||
output [15:0] cpu_rom_addr,
|
||||
output [16:0] cpu_rom_addr,
|
||||
input [7:0] cpu_rom_do,
|
||||
output [12:0] snd_rom_addr,
|
||||
output [14:0] snd_rom_addr,
|
||||
input [7:0] snd_rom_do,
|
||||
output [13:0] tile_rom_addr,
|
||||
output [14:0] tile_rom_addr,
|
||||
input [31:0] tile_rom_do,
|
||||
output [17:0] spr_rom_addr,
|
||||
input [7:0] spr_rom_do,
|
||||
@@ -39,7 +41,7 @@ module SEGASYSTEM1
|
||||
|
||||
// CPU
|
||||
wire [15:0] CPUAD;
|
||||
wire [7:0] CPUDO,VIDDO,SNDNO,VIDMD;
|
||||
wire [7:0] CPUDO,VIDDO,SNDNO,VIDMD,SNDCTL;
|
||||
wire CPUWR,VIDCS,VBLK;
|
||||
wire SNDRQ;
|
||||
|
||||
@@ -47,24 +49,28 @@ SEGASYS1_MAIN Main (
|
||||
.RESET(reset),
|
||||
.INP0(INP0),.INP1(INP1),.INP2(INP2),
|
||||
.DSW0(DSW0),.DSW1(DSW1),
|
||||
.SYSTEM2(SYSTEM2),
|
||||
.CLK40M(clk40M),
|
||||
.CPUAD(CPUAD),.CPUDO(CPUDO),.CPUWR(CPUWR),
|
||||
.VBLK(VBLK),.VIDCS(VIDCS),.VIDDO(VIDDO),
|
||||
.SNDRQ(SNDRQ),.SNDNO(SNDNO),
|
||||
.VIDMD(VIDMD),
|
||||
.VIDMD(VIDMD),.SNDCTL(SNDCTL),
|
||||
|
||||
.cpu_rom_addr(cpu_rom_addr),
|
||||
.cpu_rom_do(cpu_rom_do),
|
||||
|
||||
|
||||
.ROMCL(ROMCL),.ROMAD(ROMAD),.ROMDT(ROMDT),.ROMEN(ROMEN)
|
||||
);
|
||||
|
||||
// Video
|
||||
wire [7:0] OPIX;
|
||||
wire [11:0] OPIX;
|
||||
SEGASYS1_VIDEO Video (
|
||||
.RESET(reset),.VCLKx8(clk40M),
|
||||
.PH(PH),.PV(PV),.VFLP(VIDMD[7]),
|
||||
.VBLK(VBLK),.PCLK_EN(PCLK_EN),.RGB8(OPIX),.PALDSW(1'b0),
|
||||
.VBLK(VBLK),.PCLK_EN(PCLK_EN),.RGB(OPIX),
|
||||
.VRAM_BANK(SYSTEM2 ? SNDCTL[2:1] : 2'b00),
|
||||
.SYSTEM2(SYSTEM2),.SYSTEM2_ROWSCROLL(SYSTEM2_ROWSCROLL),
|
||||
.PALDSW(1'b0),
|
||||
|
||||
.cpu_ad(CPUAD),.cpu_wr(CPUWR),.cpu_dw(CPUDO),
|
||||
.cpu_rd(VIDCS),.cpu_dr(VIDDO),
|
||||
@@ -73,7 +79,7 @@ SEGASYS1_VIDEO Video (
|
||||
|
||||
.ROMCL(ROMCL),.ROMAD(ROMAD),.ROMDT(ROMDT),.ROMEN(ROMEN)
|
||||
);
|
||||
assign POUT = VIDMD[4] ? 8'd0 : OPIX;
|
||||
assign POUT = VIDMD[4] ? 12'd0 : OPIX;
|
||||
|
||||
// Sound
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
// Copyright (c) 2017,19 MiSTer-X
|
||||
|
||||
`define EN_MCPU0 (ROMAD[17:15]==3'b00_0 )
|
||||
`define EN_MCPU8 (ROMAD[17:14]==4'b00_10)
|
||||
`define EN_MCPU0_PRG (ROMAD[18:15]==4'b000_1) // $08000-$0ffff
|
||||
`define EN_MCPU8_PRG (ROMAD[18:16]==3'b001) // $10000-$1ffff
|
||||
`define EN_KEY (ROMAD[18:13]==6'b110_001) // $62000-$63fff
|
||||
|
||||
module SEGASYS1_MAIN
|
||||
(
|
||||
@@ -15,6 +16,7 @@ module SEGASYS1_MAIN
|
||||
|
||||
input [7:0] DSW0,
|
||||
input [7:0] DSW1,
|
||||
input SYSTEM2,
|
||||
|
||||
input VBLK,
|
||||
input VIDCS,
|
||||
@@ -28,8 +30,9 @@ module SEGASYS1_MAIN
|
||||
output reg [7:0] SNDNO,
|
||||
|
||||
output reg [7:0] VIDMD,
|
||||
output reg [7:0] SNDCTL,
|
||||
|
||||
output [15:0] cpu_rom_addr,
|
||||
output [16:0] cpu_rom_addr,
|
||||
input [7:0] cpu_rom_do,
|
||||
|
||||
input ROMCL, // Downloaded ROM image
|
||||
@@ -84,46 +87,71 @@ SEGASYS1_IPORT port(CPUAD,cpu_iorq, INP0,INP1,INP2, DSW0,DSW1, cpu_cs_port,cpu_r
|
||||
|
||||
|
||||
// Program ROM
|
||||
wire cpu_cs_mrom0 = (CPUAD[15] == 1'b0 ) & cpu_mreq;
|
||||
wire cpu_cs_mrom1 = (CPUAD[15:14] == 2'b10) & cpu_mreq;
|
||||
|
||||
wire [7:0] cpu_rd_mrom0;
|
||||
wire [7:0] cpu_rd_mrom1;
|
||||
wire cpu_cs_mrom0 = (CPUAD[15] == 1'b0 ) & cpu_mreq;
|
||||
wire cpu_cs_mrom8 = (CPUAD[15:14] == 2'b10) & cpu_mreq;
|
||||
|
||||
wire [7:0] cpu_rd_mrom0_prg;
|
||||
wire [7:0] cpu_rd_mrom8;
|
||||
wire [7:0] cpu_rd_mc8123;
|
||||
wire [14:0] rad;
|
||||
wire [7:0] rdt;
|
||||
wire [12:0] key_a;
|
||||
wire [7:0] key_d;
|
||||
|
||||
SEGASYS1_PRGDEC decr(CLK40M,cpu_m1,CPUAD,cpu_rd_mrom0, rad,rdt, ROMCL,ROMAD,ROMDT,ROMEN);
|
||||
|
||||
assign cpu_rom_addr = CPUAD[15] ? CPUAD[15:0] : {1'b0, rad};
|
||||
assign cpu_rom_addr = CPUAD[15] ? {3'd2 + cpu_bank, CPUAD[13:0]} : {1'b0, has_mc8123_key ? CPUAD[14:0] : rad};
|
||||
assign rdt = cpu_rom_do;
|
||||
assign cpu_rd_mrom1 = cpu_rom_do;
|
||||
assign cpu_rd_mrom8 = cpu_rom_do;
|
||||
|
||||
//DLROM #(15,8) rom0(AXSCL, rad, rdt, ROMCL,ROMAD,ROMDT,ROMEN & `EN_MCPU0); // ($0000-$7FFF encrypted)
|
||||
//DLROM #(14,8) rom1(CPUCLn,CPUAD,cpu_rd_mrom1, ROMCL,ROMAD,ROMDT,ROMEN & `EN_MCPU8); // ($8000-$BFFF non-encrypted)
|
||||
// CPU Region $0000-$7fff ROM
|
||||
//DLROM #(15,8) rom0_prg(CLK40M, has_mc8123_key ? CPUAD : rad, rdt, ROMCL,ROMAD,ROMDT,ROMEN & `EN_MCPU0_PRG);
|
||||
|
||||
// CPU Region $8000-$bfff, 4 ROM banks
|
||||
// No BRAM for separate opcode memory banks, they may be not needed though
|
||||
wire [1:0] cpu_bank = {SYSTEM2 ? VIDMD[3] : VIDMD[6], VIDMD[2]};
|
||||
//DLROM #(16,8) rom8_prg(CLK40M, {cpu_bank,CPUAD[13:0]}, cpu_rd_mrom8, ROMCL,ROMAD,ROMDT,ROMEN & `EN_MCPU8_PRG);
|
||||
|
||||
// 315-5xxx CPU decryption for selected SEGA System 1 titles
|
||||
SEGASYS1_PRGDEC decr(CLK40M,cpu_m1,CPUAD,cpu_rd_mrom0_prg, rad,rdt, ROMCL,ROMAD,ROMDT,ROMEN);
|
||||
|
||||
// MC-8123 CPU decryption for selected SEGA System 2 titles
|
||||
MC8123_rom_decrypt mc8123_decrypt(CLK40M, cpu_m1, CPUAD, cpu_rd_mc8123,
|
||||
!CPUAD[15] ? rdt : cpu_rd_mrom8, key_a, key_d);
|
||||
DLROM #(13,8) rom_keys(CLK40M, key_a, key_d,
|
||||
ROMCL, ROMAD, ROMDT, ROMEN & `EN_KEY);
|
||||
|
||||
// Detect if we have mc8123 keys or opcode roms
|
||||
//reg has_opcode_roms = 0;
|
||||
reg has_mc8123_key = 0;
|
||||
always @(posedge CLK40M) begin
|
||||
if (ROMEN & `EN_KEY)
|
||||
has_mc8123_key <= has_mc8123_key | ~(!ROMDT);
|
||||
end
|
||||
|
||||
// Work RAM
|
||||
wire [7:0] cpu_rd_mram;
|
||||
wire cpu_cs_mram = (CPUAD[15:12] == 4'b1100) & cpu_mreq;
|
||||
wire [7:0] cpu_rd_mram;
|
||||
wire cpu_cs_mram = (CPUAD[15:12] == 4'b1100) & cpu_mreq;
|
||||
SRAM_4096 mainram(CLK40M, CPUAD[11:0], cpu_rd_mram, cpu_cs_mram & CPUWR, CPUDO );
|
||||
|
||||
|
||||
// Video mode latch & Sound Request
|
||||
wire cpu_cs_sreq = ((CPUAD[7:0] == 8'h14)|(CPUAD[7:0] == 8'h18)) & cpu_iorq;
|
||||
wire cpu_cs_vidm = ((CPUAD[7:0] == 8'h15)|(CPUAD[7:0] == 8'h19)) & cpu_iorq;
|
||||
wire cpu_cs_sctl = (CPUAD[7:0] == 8'h16) & cpu_iorq;
|
||||
|
||||
wire cpu_wr_sreq = cpu_cs_sreq & _cpu_wr;
|
||||
wire cpu_wr_vidm = cpu_cs_vidm & _cpu_wr;
|
||||
wire cpu_wr_sctl = cpu_cs_sctl & _cpu_wr;
|
||||
|
||||
always @(posedge CLK40M or posedge RESET) begin
|
||||
if (RESET) begin
|
||||
VIDMD <= 0;
|
||||
SNDRQ <= 0;
|
||||
SNDNO <= 0;
|
||||
SNDCTL <= 0;
|
||||
end
|
||||
else begin
|
||||
if (cpu_wr_vidm) VIDMD <= CPUDO;
|
||||
if (cpu_wr_sctl) SNDCTL <= CPUDO;
|
||||
if (cpu_wr_sreq) begin SNDNO <= CPUDO; SNDRQ <= 1'b1; end else SNDRQ <= 1'b0;
|
||||
end
|
||||
end
|
||||
@@ -132,10 +160,11 @@ end
|
||||
// CPU data selector
|
||||
assign CPUDI = (VIDCS & cpu_mreq) ? VIDDO :
|
||||
cpu_cs_vidm ? VIDMD :
|
||||
cpu_cs_sctl ? SNDCTL :
|
||||
cpu_cs_port ? cpu_rd_port :
|
||||
cpu_cs_mram ? cpu_rd_mram :
|
||||
cpu_cs_mrom0 ? cpu_rd_mrom0 :
|
||||
cpu_cs_mrom1 ? cpu_rd_mrom1 : 8'hFF;
|
||||
cpu_cs_mrom0 ? (has_mc8123_key ? cpu_rd_mc8123 : cpu_rd_mrom0_prg) :
|
||||
cpu_cs_mrom8 ? (has_mc8123_key ? cpu_rd_mc8123 : cpu_rd_mrom8) : 8'hFF;
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright (c) 2017,19 MiSTer-X
|
||||
|
||||
`define DECTBLADRS (25'h30100)
|
||||
`define DECTBLADRS (25'h60400)
|
||||
|
||||
`define EN_DEC1TBL (ROMAD[17:7]==11'b11_0000_0001_0) // $30100
|
||||
`define EN_DEC1TBL (ROMAD[18:7]==12'b110_0000_0100_0) // $60400
|
||||
|
||||
`define EN_DEC2XOR (ROMAD[17:7]==11'b11_0000_0001_0) // $30100
|
||||
`define EN_DEC2SWP (ROMAD[17:7]==11'b11_0000_0001_1) // $30180
|
||||
`define EN_DEC2XOR (ROMAD[18:7]==12'b110_0000_0100_0) // $60400
|
||||
`define EN_DEC2SWP (ROMAD[18:7]==12'b110_0000_0100_1) // $60480
|
||||
|
||||
|
||||
module SEGASYS1_PRGDEC
|
||||
@@ -45,7 +45,6 @@ always @(posedge ROMCL) begin
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign mrom_dt = (cnt0>=128) ? rdt : (cnt2>=128) ? od1 : od0;
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright (c) 2017,19 MiSTer-X
|
||||
|
||||
`define EN_SCPU (ROMAD[17:13]==5'b00_110) // $0C000-$0DFFF
|
||||
`define EN_SCPU (ROMAD[18:15]==4'b000_0) // $0-$7fff
|
||||
|
||||
module SEGASYS1_SOUND
|
||||
(
|
||||
@@ -12,7 +12,7 @@ module SEGASYS1_SOUND
|
||||
|
||||
output [15:0] sndout,
|
||||
|
||||
output [12:0] snd_rom_addr,
|
||||
output [14:0] snd_rom_addr,
|
||||
input [7:0] snd_rom_do
|
||||
);
|
||||
|
||||
@@ -24,7 +24,7 @@ wire clk8M_en,clk4M_en,clk2M_en;
|
||||
SndClkGen clkgen(clk40M,clk8M_en,clk4M_en,clk2M_en);
|
||||
|
||||
//----------------------------------
|
||||
// Z80 (1.5625MHz)
|
||||
// Z80 (4MHz)
|
||||
//----------------------------------
|
||||
wire [15:0] cpu_ad;
|
||||
wire [7:0] cpu_di, cpu_do;
|
||||
@@ -59,7 +59,7 @@ wire [7:0] rom_dt; // ROM
|
||||
wire [7:0] ram_do; // RAM
|
||||
wire [7:0] comlatch; // Sound Command Latch
|
||||
|
||||
assign snd_rom_addr = cpu_ad[12:0];
|
||||
assign snd_rom_addr = cpu_ad[14:0];
|
||||
assign rom_dt = snd_rom_do;
|
||||
|
||||
//DLROM #(13,8) subir( cpuclkx2, cpu_ad[12:0], rom_dt, ROMCL,ROMAD,ROMDT,ROMEN & `EN_SCPU );
|
||||
|
||||
@@ -8,6 +8,8 @@ module SEGASYS1_SPRITE
|
||||
input VCLKx4_EN,
|
||||
input VCLK_EN,
|
||||
|
||||
input SYSTEM2,
|
||||
|
||||
input [8:0] PH,
|
||||
input [8:0] PV,
|
||||
|
||||
@@ -147,7 +149,7 @@ always @ ( posedge VCLKx8 ) if (VCLKx4_EN) begin
|
||||
// get yofs/xpos/bank
|
||||
2: begin
|
||||
yofs <= hitsprvps[hitr];
|
||||
xpos <= ((sprdt[8:0]+1)>>1) + 8'd14;
|
||||
xpos <= ((sprdt[8:0]+1)>>1) + (SYSTEM2 ? 8'd22 : 8'd14);
|
||||
bank <= { sprdt[13], sprdt[14], sprdt[15] };
|
||||
spr_ofs <= 2;
|
||||
phaseHD <= 3;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
// Copyright (c) 2017,19 MiSTer-X
|
||||
|
||||
`define EN_SPRITE (ROMAD[17:16]==2'b01) // $10000-$1FFFF
|
||||
`define EN_SPRITE (ROMAD[18:17]==2'b01) // $20000-$3FFFF
|
||||
|
||||
`define EN_TILE00 (ROMAD[17:13]==5'b10_000) // $20000-$21FFF
|
||||
`define EN_TILE01 (ROMAD[17:13]==5'b10_001) // $22000-$23FFF
|
||||
`define EN_TILE02 (ROMAD[17:13]==5'b10_010) // $24000-$25FFF
|
||||
`define EN_TILE10 (ROMAD[17:13]==5'b10_100) // $28000-$29FFF
|
||||
`define EN_TILE11 (ROMAD[17:13]==5'b10_101) // $2A000-$2BFFF
|
||||
`define EN_TILE12 (ROMAD[17:13]==5'b10_110) // $2C000-$2DFFF
|
||||
`define EN_TILE00 (ROMAD[18:14]==6'b100_00) // $40000-$43FFF
|
||||
`define EN_TILE10 (ROMAD[18:14]==6'b100_01) // $44000-$47FFF
|
||||
`define EN_TILE01 (ROMAD[18:14]==6'b100_10) // $48000-$4bFFF
|
||||
`define EN_TILE11 (ROMAD[18:14]==6'b100_11) // $4c000-$4fFFF
|
||||
`define EN_TILE02 (ROMAD[18:14]==6'b101_00) // $50000-$53FFF
|
||||
`define EN_TILE12 (ROMAD[18:14]==6'b101_01) // $54000-$57FFF
|
||||
|
||||
`define EN_CLUT (ROMAD[17:8]==10'b11_0000_0000) // $30000-$300FF
|
||||
`define EN_CLUT (ROMAD[18:8]==11'b110_0000_0000) // $60000-$600FF
|
||||
|
||||
|
||||
module SEGASYS1_VIDEO
|
||||
@@ -25,7 +25,11 @@ module SEGASYS1_VIDEO
|
||||
output VBLK,
|
||||
output PCLK,
|
||||
output PCLK_EN,
|
||||
output [7:0] RGB8,
|
||||
output [11:0] RGB,
|
||||
|
||||
input [1:0] VRAM_BANK,
|
||||
input SYSTEM2,
|
||||
input SYSTEM2_ROWSCROLL,
|
||||
|
||||
input PALDSW,
|
||||
|
||||
@@ -35,7 +39,7 @@ module SEGASYS1_VIDEO
|
||||
output cpu_rd,
|
||||
output [7:0] cpu_dr,
|
||||
|
||||
output reg [13:0] tile_rom_addr,
|
||||
output reg [14:0] tile_rom_addr,
|
||||
input [31:0] tile_rom_do,
|
||||
output [17:0] spr_rom_addr,
|
||||
input [7:0] spr_rom_do,
|
||||
@@ -63,9 +67,9 @@ wire [7:0] palout;
|
||||
wire [9:0] sprad;
|
||||
wire [15:0] sprdt;
|
||||
|
||||
wire [9:0] vram0ad;
|
||||
wire [12:0] vram0ad;
|
||||
wire [15:0] vram0dt;
|
||||
wire [9:0] vram1ad;
|
||||
wire [12:0] vram1ad;
|
||||
wire [15:0] vram1dt;
|
||||
|
||||
wire [5:0] mixcoll_ad;
|
||||
@@ -75,11 +79,13 @@ wire sprcoll;
|
||||
|
||||
wire [15:0] scrx;
|
||||
wire [7:0] scry;
|
||||
wire [11:0] bg_pages;
|
||||
|
||||
VIDCPUINTF intf(
|
||||
RESET,
|
||||
|
||||
VCLKx8,
|
||||
PH, PV,
|
||||
cpu_ad, cpu_wr, cpu_dw,
|
||||
cpu_rd, cpu_dr,
|
||||
|
||||
@@ -87,9 +93,12 @@ VIDCPUINTF intf(
|
||||
sprad, sprdt,
|
||||
vram0ad, vram0dt,
|
||||
vram1ad, vram1dt,
|
||||
VRAM_BANK,
|
||||
mixcoll_ad, mixcoll,
|
||||
sprcoll_ad, sprcoll,
|
||||
scrx, scry
|
||||
scrx, scry,
|
||||
SYSTEM2, SYSTEM2_ROWSCROLL,
|
||||
bg_pages
|
||||
);
|
||||
|
||||
|
||||
@@ -98,6 +107,7 @@ wire [8:0] HPOS, VPOS;
|
||||
wire [8:0] BG0HP, BG0VP;
|
||||
wire [8:0] BG1HP, BG1VP;
|
||||
VIDHVGEN hv(
|
||||
SYSTEM2,
|
||||
PH, PV,
|
||||
scrx, scry,
|
||||
HPOS, VPOS,
|
||||
@@ -119,6 +129,7 @@ SEGASYS1_SPRITE sprite(
|
||||
.VCLKx8(VCLKx8),
|
||||
.VCLKx4(VCLKx4),.VCLK(VCLK),
|
||||
.VCLKx4_EN(VCLKx4_EN), .VCLK_EN(VCLK_EN),
|
||||
.SYSTEM2(SYSTEM2),
|
||||
.PH(HPOS),.PV(VPOS),
|
||||
.sprad(sprad),.sprdt(sprdt),
|
||||
.sprchad(sprchad),.sprchdt(sprchdt),
|
||||
@@ -129,40 +140,73 @@ SEGASYS1_SPRITE sprite(
|
||||
|
||||
// BG Scanline Generator
|
||||
wire [10:0] BG0PX, BG1PX;
|
||||
wire [13:0] tile0ad, tile1ad, tilead;
|
||||
reg [23:0] tile0dt, tile1dt, tile0dt_r;
|
||||
wire [14:0] tile0ad, tile1ad;
|
||||
wire [14:0] tilead_fg = SYSTEM2 ? tile0ad : tile1ad;
|
||||
wire [14:0] tilead_bg = SYSTEM2 ? tile1ad : tile0ad;
|
||||
reg [14:0] tilead;
|
||||
reg [23:0] tiledt_fg, tiledt_bg, tiledt_r;
|
||||
wire [23:0] tile0dt = SYSTEM2 ? tiledt_fg : tiledt_bg;
|
||||
wire [23:0] tile1dt = SYSTEM2 ? tiledt_bg : tiledt_fg;
|
||||
|
||||
always @(posedge VCLKx8) begin
|
||||
if (VCLK_EN) begin
|
||||
if (HPOS[2:0] == 3'b000) begin
|
||||
tile_rom_addr <= tile0ad;
|
||||
tile1dt <= tile_rom_do[23:0];
|
||||
tile0dt <= tile0dt_r;
|
||||
tile_rom_addr <= tilead_bg;
|
||||
tiledt_fg <= tile_rom_do[23:0];
|
||||
tiledt_bg <= tiledt_r;
|
||||
end
|
||||
if (HPOS[2:0] == 3'b100) begin
|
||||
tile_rom_addr <= tile1ad;
|
||||
tile0dt_r <= tile_rom_do[23:0];
|
||||
tile_rom_addr <= tilead_fg;
|
||||
tiledt_r <= tile_rom_do[23:0];
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
BGGEN bg0(VCLKx8,VCLK_EN,BG0HP,BG0VP,vram0ad,vram0dt,tile0ad,tile0dt,BG0PX);
|
||||
BGGEN bg1(VCLKx8,VCLK_EN,BG1HP,BG1VP,vram1ad,vram1dt,tile1ad,tile1dt,BG1PX);
|
||||
|
||||
wire [11:0] pages = !SYSTEM2 ? 12'b001001001001 : bg_pages;
|
||||
BGGEN bg0(VCLKx8,VCLK_EN,BG0HP,BG0VP,0, vram0ad,vram0dt,tile0ad,tile0dt,BG0PX);
|
||||
BGGEN bg1(VCLKx8,VCLK_EN,BG1HP,BG1VP,pages,vram1ad,vram1dt,tile1ad,tile1dt,BG1PX);
|
||||
|
||||
// Color Mixer & RGB Output
|
||||
wire [7:0] cltidx,cltval;
|
||||
wire [7:0] color;
|
||||
|
||||
DLROM #(8,8) clut(VCLKx8, cltidx, cltval, ROMCL,ROMAD,ROMDT,ROMEN & `EN_CLUT );
|
||||
COLMIX cmix(
|
||||
VCLKx8, VCLK_EN,
|
||||
BG0PX, BG1PX, SPRPX,
|
||||
SYSTEM2 ? BG1PX : BG0PX,
|
||||
SYSTEM2 ? BG0PX : BG1PX,
|
||||
SPRPX,
|
||||
PALDSW, HPOS, VPOS,
|
||||
cltidx, cltval,
|
||||
mixcoll, mixcoll_ad,
|
||||
palno, palout,
|
||||
RGB8
|
||||
color
|
||||
);
|
||||
|
||||
// Palette
|
||||
`define EN_PALR (ROMAD[18:8]==11'b110_0000_0001) // $60100
|
||||
`define EN_PALG (ROMAD[18:8]==11'b110_0000_0010) // $60200
|
||||
`define EN_PALB (ROMAD[18:8]==11'b110_0000_0011) // $60300
|
||||
|
||||
wire [3:0] r,g,b;
|
||||
|
||||
DLROM #(8,8) pal_r(VCLKx8, color, r, ROMCL,ROMAD,ROMDT,ROMEN & `EN_PALR );
|
||||
DLROM #(8,8) pal_g(VCLKx8, color, g, ROMCL,ROMAD,ROMDT,ROMEN & `EN_PALG );
|
||||
DLROM #(8,8) pal_b(VCLKx8, color, b, ROMCL,ROMAD,ROMDT,ROMEN & `EN_PALB );
|
||||
|
||||
// detect color proms while transfering them
|
||||
reg has_color_prom = 0;
|
||||
always @(posedge ROMCL)
|
||||
if (ROMEN)
|
||||
if(`EN_PALR | `EN_PALG | `EN_PALB)
|
||||
has_color_prom <= has_color_prom | ~(!ROMDT);
|
||||
|
||||
assign RGB = has_color_prom ? {b,g,r} :
|
||||
{color[7:6], color[7:6],
|
||||
color[5:3], color[5],
|
||||
color[2:0], color[2]};
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
@@ -174,6 +218,8 @@ module VIDCPUINTF
|
||||
input RESET,
|
||||
|
||||
input clk,
|
||||
input [8:0] PH,
|
||||
input [8:0] PV,
|
||||
input [15:0] cpu_ad,
|
||||
input cpu_wr,
|
||||
input [7:0] cpu_dw,
|
||||
@@ -186,12 +232,14 @@ module VIDCPUINTF
|
||||
input [9:0] sprad,
|
||||
output [15:0] sprdt,
|
||||
|
||||
input [9:0] vram0ad,
|
||||
input [12:0] vram0ad,
|
||||
output [15:0] vram0dt,
|
||||
|
||||
input [9:0] vram1ad,
|
||||
input [12:0] vram1ad,
|
||||
output [15:0] vram1dt,
|
||||
|
||||
input [1:0] vram_bank,
|
||||
|
||||
input [5:0] mixcoll_ad,
|
||||
input mixcoll,
|
||||
|
||||
@@ -199,7 +247,10 @@ module VIDCPUINTF
|
||||
input sprcoll,
|
||||
|
||||
output reg [15:0] scrx,
|
||||
output reg [7:0] scry
|
||||
output reg [7:0] scry,
|
||||
input SYSTEM2,
|
||||
input SYSTEM2_ROWSCROLL,
|
||||
output [11:0] bg_pages
|
||||
);
|
||||
|
||||
// CPU Address Decoders
|
||||
@@ -207,8 +258,7 @@ wire cpu_cs_palram;
|
||||
wire cpu_cs_spram;
|
||||
wire cpu_cs_mixcoll;
|
||||
wire cpu_cs_sprcoll;
|
||||
wire cpu_cs_vram0;
|
||||
wire cpu_cs_vram1;
|
||||
wire cpu_cs_vram;
|
||||
|
||||
wire cpu_wr_palram;
|
||||
wire cpu_wr_spram;
|
||||
@@ -216,9 +266,10 @@ wire cpu_wr_mixcoll;
|
||||
wire cpu_wr_mixcollclr;
|
||||
wire cpu_wr_sprcoll;
|
||||
wire cpu_wr_sprcollclr;
|
||||
wire cpu_wr_vram0;
|
||||
wire cpu_wr_vram1;
|
||||
wire cpu_wr_scrreg;
|
||||
wire cpu_wr_vram;
|
||||
wire cpu_wr_scrreg1;
|
||||
wire cpu_wr_scrreg0;
|
||||
wire cpu_wr_bgpage;
|
||||
|
||||
VIDADEC adecs(
|
||||
cpu_ad,
|
||||
@@ -228,8 +279,7 @@ VIDADEC adecs(
|
||||
cpu_cs_spram,
|
||||
cpu_cs_mixcoll,
|
||||
cpu_cs_sprcoll,
|
||||
cpu_cs_vram0,
|
||||
cpu_cs_vram1,
|
||||
cpu_cs_vram,
|
||||
|
||||
cpu_wr_palram,
|
||||
cpu_wr_spram,
|
||||
@@ -237,27 +287,47 @@ VIDADEC adecs(
|
||||
cpu_wr_mixcollclr,
|
||||
cpu_wr_sprcoll,
|
||||
cpu_wr_sprcollclr,
|
||||
cpu_wr_vram0,
|
||||
cpu_wr_vram1,
|
||||
cpu_wr_scrreg,
|
||||
cpu_wr_vram,
|
||||
cpu_wr_scrreg0,
|
||||
cpu_wr_scrreg1,
|
||||
cpu_wr_bgpage,
|
||||
|
||||
cpu_rd
|
||||
);
|
||||
|
||||
// Scroll Register
|
||||
reg [7:0] scrx_row[64];
|
||||
reg [2:0] bg_page[4];
|
||||
assign bg_pages = {bg_page[3],bg_page[2],bg_page[1],bg_page[0]};
|
||||
|
||||
// Scroll and background plane registers
|
||||
always @ ( posedge clk or posedge RESET) begin
|
||||
if (RESET) begin
|
||||
scrx <= 0;
|
||||
scry <= 0;
|
||||
end
|
||||
else begin
|
||||
if (cpu_wr_scrreg) begin
|
||||
case(cpu_ad[7:0])
|
||||
8'hBD: scry <= cpu_dw;
|
||||
8'hFC: scrx[ 7:0] <= cpu_dw;
|
||||
8'hFD: scrx[15:8] <= cpu_dw;
|
||||
default:;
|
||||
endcase
|
||||
if (SYSTEM2) begin
|
||||
if (cpu_wr_bgpage & !vram_bank)
|
||||
bg_page[cpu_ad[2:1]] <= cpu_dw[2:0];
|
||||
else if (cpu_wr_scrreg0 & !vram_bank) begin
|
||||
if (cpu_ad[6])
|
||||
scrx_row[cpu_ad[5:0]] <= cpu_dw;
|
||||
else if (cpu_ad[7:0] == 8'hba)
|
||||
scry <= cpu_dw;
|
||||
end
|
||||
if (SYSTEM2_ROWSCROLL)
|
||||
scrx <= {scrx_row[{PV[7:3],1'b1}],scrx_row[{PV[7:3],1'b0}]};
|
||||
else
|
||||
scrx <= {scrx_row[1],scrx_row[0]};
|
||||
end else begin
|
||||
if (cpu_wr_scrreg1) begin
|
||||
case(cpu_ad[7:0])
|
||||
8'hBD: scry <= cpu_dw;
|
||||
8'hFC: scrx[ 7:0] <= cpu_dw;
|
||||
8'hFD: scrx[15:8] <= cpu_dw;
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -290,21 +360,15 @@ COLLRAM_S sprc(
|
||||
);
|
||||
|
||||
// VRAM
|
||||
wire [7:0] cpu_rd_vram0, cpu_rd_vram1;
|
||||
VRAM vram0(
|
||||
clk, cpu_ad[10:0], cpu_rd_vram0, cpu_dw, cpu_wr_vram0,
|
||||
clk, vram0ad, vram0dt
|
||||
wire [7:0] cpu_rd_vram;
|
||||
VRAM vram(
|
||||
clk, {vram_bank, cpu_ad[11:0]}, cpu_rd_vram, cpu_dw, cpu_wr_vram,
|
||||
vram0ad, vram0dt, vram1ad, vram1dt
|
||||
);
|
||||
VRAM vram1(
|
||||
clk, cpu_ad[10:0], cpu_rd_vram1, cpu_dw, cpu_wr_vram1,
|
||||
clk, vram1ad, vram1dt
|
||||
);
|
||||
|
||||
|
||||
// CPU Read Data Selector
|
||||
assign cpu_dr = cpu_cs_palram ? cpu_rd_palram :
|
||||
cpu_cs_vram0 ? cpu_rd_vram0 :
|
||||
cpu_cs_vram1 ? cpu_rd_vram1 :
|
||||
cpu_cs_vram ? cpu_rd_vram :
|
||||
cpu_cs_spram ? cpu_rd_spram :
|
||||
cpu_cs_sprcoll ? cpu_rd_sprcoll :
|
||||
cpu_cs_mixcoll ? cpu_rd_mixcoll : 8'hFF;
|
||||
@@ -316,6 +380,7 @@ endmodule
|
||||
//----------------------------------
|
||||
module VIDHVGEN
|
||||
(
|
||||
input SYSTEM2,
|
||||
input [8:0] PH,
|
||||
input [8:0] PV,
|
||||
|
||||
@@ -339,14 +404,14 @@ assign VBLK = (PV == 9'd224) & (PH <= 9'd64);
|
||||
assign HPOS = PH+1'd1;
|
||||
assign VPOS = PV;
|
||||
|
||||
wire [7:0] BGHSCR = scrx[9:1]+4'd14;
|
||||
wire [7:0] BGHSCR = scrx[8:1];
|
||||
wire [7:0] BGVSCR = scry;
|
||||
|
||||
assign BG0HP = (HPOS-BGHSCR)+8'd3;
|
||||
assign BG0VP = (VPOS+BGVSCR);
|
||||
assign BG0HP = SYSTEM2 ? HPOS : (HPOS-BGHSCR-4'd14)+4'd3;
|
||||
assign BG0VP = SYSTEM2 ? VPOS : (VPOS+BGVSCR);
|
||||
|
||||
assign BG1HP = HPOS+8'd3;
|
||||
assign BG1VP = VPOS;
|
||||
assign BG1HP = SYSTEM2 ? HPOS-BGHSCR-4'd4 : HPOS+4'd3;
|
||||
assign BG1VP = SYSTEM2 ? (VPOS+BGVSCR) : VPOS;
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -356,57 +421,56 @@ endmodule
|
||||
//----------------------------------
|
||||
module VIDADEC
|
||||
(
|
||||
input [15:0] cpu_ad,
|
||||
input cpu_wr,
|
||||
input [15:0] cpu_ad,
|
||||
input cpu_wr,
|
||||
|
||||
output cpu_cs_palram,
|
||||
output cpu_cs_spram,
|
||||
output cpu_cs_mixcoll,
|
||||
output cpu_cs_sprcoll,
|
||||
output cpu_cs_vram0,
|
||||
output cpu_cs_vram1,
|
||||
|
||||
output cpu_wr_palram,
|
||||
output cpu_wr_spram,
|
||||
output cpu_wr_mixcoll,
|
||||
output cpu_wr_mixcollclr,
|
||||
output cpu_wr_sprcoll,
|
||||
output cpu_wr_sprcollclr,
|
||||
output cpu_wr_vram0,
|
||||
output cpu_wr_vram1,
|
||||
output cpu_wr_scrreg,
|
||||
output cpu_cs_palram,
|
||||
output cpu_cs_spram,
|
||||
output cpu_cs_mixcoll,
|
||||
output cpu_cs_sprcoll,
|
||||
output cpu_cs_vram,
|
||||
|
||||
output cpu_rd
|
||||
output cpu_wr_palram,
|
||||
output cpu_wr_spram,
|
||||
output cpu_wr_mixcoll,
|
||||
output cpu_wr_mixcollclr,
|
||||
output cpu_wr_sprcoll,
|
||||
output cpu_wr_sprcollclr,
|
||||
output cpu_wr_vram,
|
||||
output cpu_wr_scrreg0,
|
||||
output cpu_wr_scrreg1,
|
||||
output cpu_wr_bgpage,
|
||||
|
||||
output cpu_rd
|
||||
);
|
||||
|
||||
assign cpu_cs_palram = (cpu_ad[15:11] == 5'b1101_1 );
|
||||
assign cpu_cs_spram = (cpu_ad[15:11] == 5'b1101_0 );
|
||||
assign cpu_cs_mixcoll = (cpu_ad[15:10] == 6'b1111_00 );
|
||||
wire cpu_cs_mixcollclr = (cpu_ad[15:10] == 6'b1111_01 );
|
||||
assign cpu_cs_sprcoll = (cpu_ad[15:10] == 6'b1111_10 );
|
||||
wire cpu_cs_sprcollclr = (cpu_ad[15:10] == 6'b1111_11 );
|
||||
assign cpu_cs_vram0 = (cpu_ad[15:11] == 5'b1110_0 );
|
||||
assign cpu_cs_vram1 = (cpu_ad[15:11] == 5'b1110_1 );
|
||||
wire cpu_cs_scrreg = (cpu_ad[15: 8] == 8'b1110_1111);
|
||||
assign cpu_cs_palram = (cpu_ad[15:11] == 5'b1101_1);
|
||||
assign cpu_cs_spram = (cpu_ad[15:11] == 5'b1101_0);
|
||||
assign cpu_cs_mixcoll = (cpu_ad[15:10] == 6'b1111_00);
|
||||
wire cpu_cs_mixcollclr = (cpu_ad[15:10] == 6'b1111_01);
|
||||
assign cpu_cs_sprcoll = (cpu_ad[15:10] == 6'b1111_10);
|
||||
wire cpu_cs_sprcollclr = (cpu_ad[15:10] == 6'b1111_11);
|
||||
assign cpu_cs_vram = (cpu_ad[15:12] == 4'b1110);
|
||||
wire cpu_cs_scrreg0 = (cpu_ad[15: 7] == 9'b1110_0111_1);
|
||||
wire cpu_cs_scrreg1 = (cpu_ad[15: 8] == 8'b1110_1111);
|
||||
wire cpu_cs_bgpage = (cpu_ad[15: 3] == 13'b1110_0111_0100_0) & !cpu_ad[0];
|
||||
|
||||
|
||||
assign cpu_wr_palram = cpu_cs_palram & cpu_wr;
|
||||
assign cpu_wr_spram = cpu_cs_spram & cpu_wr;
|
||||
assign cpu_wr_palram = cpu_cs_palram & cpu_wr;
|
||||
assign cpu_wr_spram = cpu_cs_spram & cpu_wr;
|
||||
assign cpu_wr_mixcoll = cpu_cs_mixcoll & cpu_wr;
|
||||
assign cpu_wr_mixcollclr = cpu_cs_mixcollclr & cpu_wr;
|
||||
assign cpu_wr_sprcoll = cpu_cs_sprcoll & cpu_wr;
|
||||
assign cpu_wr_sprcollclr = cpu_cs_sprcollclr & cpu_wr;
|
||||
assign cpu_wr_vram0 = cpu_cs_vram0 & cpu_wr;
|
||||
assign cpu_wr_vram1 = cpu_cs_vram1 & cpu_wr;
|
||||
assign cpu_wr_scrreg = cpu_cs_scrreg & cpu_wr;
|
||||
|
||||
assign cpu_wr_scrreg0 = cpu_cs_scrreg0 & cpu_wr;
|
||||
assign cpu_wr_scrreg1 = cpu_cs_scrreg1 & cpu_wr;
|
||||
assign cpu_wr_bgpage = cpu_cs_bgpage & cpu_wr;
|
||||
assign cpu_wr_vram = cpu_cs_vram & cpu_wr;
|
||||
|
||||
assign cpu_rd = cpu_cs_palram |
|
||||
cpu_cs_vram0 |
|
||||
cpu_cs_vram1 |
|
||||
cpu_cs_spram |
|
||||
cpu_cs_sprcoll |
|
||||
cpu_cs_mixcoll ;
|
||||
cpu_cs_vram |
|
||||
cpu_cs_spram |
|
||||
cpu_cs_sprcoll |
|
||||
cpu_cs_mixcoll;
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -421,17 +485,21 @@ module BGGEN
|
||||
|
||||
input [8:0] HP,
|
||||
input [8:0] VP,
|
||||
input [11:0] BG_PAGES,
|
||||
|
||||
output [9:0] VRAMAD,
|
||||
input [15:0] VRAMDT,
|
||||
output [12:0] VRAMAD,
|
||||
input [15:0] VRAMDT,
|
||||
|
||||
output [13:0] TILEAD,
|
||||
input [23:0] TILEDT,
|
||||
output [14:0] TILEAD,
|
||||
input [23:0] TILEDT,
|
||||
|
||||
output [10:0] OPIX
|
||||
);
|
||||
|
||||
assign VRAMAD = { VP[7:3], HP[7:3] };
|
||||
assign VRAMAD = {VP[8] ? (HP[8] ? BG_PAGES[8:6] : BG_PAGES[11:9])
|
||||
: (HP[8] ? BG_PAGES[2:0] : BG_PAGES[5:3]),
|
||||
VP[7:3], HP[7:3]};
|
||||
|
||||
assign TILEAD = { VRAMDT[15], VRAMDT[10:0], VP[2:0] };
|
||||
|
||||
reg [31:0] BGREG;
|
||||
@@ -482,7 +550,7 @@ module COLMIX
|
||||
output [10:0] palno,
|
||||
input [7:0] palout,
|
||||
|
||||
output reg [7:0] RGB8
|
||||
output reg [7:0] color
|
||||
);
|
||||
|
||||
assign cltidx = { 1'b0,
|
||||
@@ -504,7 +572,7 @@ wire [10:0] palno_d = {HPOS[7],VPOS[7:2],HPOS[6:3]};
|
||||
|
||||
assign palno = PALDSW ? palno_d : palno_i;
|
||||
|
||||
always @(posedge CLK ) if (VCLK_EN) RGB8 <= palout;
|
||||
always @(posedge CLK ) if (VCLK_EN) color <= palout;
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ module Segasys1_MiST(
|
||||
`include "rtl/build_id.v"
|
||||
|
||||
`define CORE_NAME "FLICKY"
|
||||
|
||||
localparam CONF_STR = {
|
||||
`CORE_NAME,";ROM;",
|
||||
"O2,Rotate Controls,Off,On;",
|
||||
@@ -51,6 +52,12 @@ always @(*) begin
|
||||
INP0 = ~{m_left, m_right,m_up, m_down,1'b0,m_fireB,m_fireA,m_fireC};
|
||||
INP1 = ~{m_left2,m_right2,m_up2, m_down2,1'b0,m_fire2B,m_fire2A,m_fire2C};
|
||||
INP2 = ~{2'b00,m_two_players, m_one_player,3'b000, m_coin1};
|
||||
if (core_mod[5]) begin
|
||||
// Block Gal
|
||||
INP0 = ~spin[8:1];
|
||||
INP1 = ~spin[8:1];
|
||||
INP2 = ~{m_fire2A | |mouse_flags[2:0], m_fireA | |mouse_flags[2:0], m_two_players, m_one_player, 2'b00, m_coin2, m_coin1};
|
||||
end else
|
||||
if (core_mod[3]) begin
|
||||
//WaterMatch
|
||||
INP0 = ~{m_left, m_right, m_up, m_down, m_left2,m_right2,m_up2,m_down2};
|
||||
@@ -59,11 +66,22 @@ always @(*) begin
|
||||
end
|
||||
end
|
||||
|
||||
wire signed [8:0] spin;
|
||||
wire signed [8:0] spin_next = spin + mouse_x;
|
||||
always @(posedge clk_sys) begin
|
||||
if (mouse_strobe) begin
|
||||
if (spin[8] != mouse_x[8] || spin[8] == spin_next[8])
|
||||
spin <= spin_next;
|
||||
else
|
||||
spin <= {spin[8], {8{~spin[8]}}};
|
||||
end
|
||||
end
|
||||
|
||||
wire [7:0] DSW0 = status[15: 8];
|
||||
wire [7:0] DSW1 = status[23:16];
|
||||
|
||||
wire [6:0] core_mod; // [0]=SYS1/SYS2,[1]=H/V,[2]=H256/H240,[3]=4controllers
|
||||
wire [1:0] orientation = { 1'b0, core_mod[1] };
|
||||
wire [6:0] core_mod; // [0]=SYS1/SYS2,[1]=H/V,[2]=H256/H240,[3]=4controllers,[4]=CW/CCW,[5]=spinner,[6]=SYS2 rowscroll,
|
||||
wire [1:0] orientation = { core_mod[4], core_mod[1] };
|
||||
|
||||
assign LED = ~ioctl_downl;
|
||||
assign SDRAM_CLK = sdram_clk;
|
||||
@@ -89,6 +107,10 @@ wire [7:0] joystick_3;
|
||||
wire key_pressed;
|
||||
wire key_strobe;
|
||||
wire [7:0] key_code;
|
||||
wire signed [8:0] mouse_x;
|
||||
wire signed [8:0] mouse_y;
|
||||
wire [7:0] mouse_flags;
|
||||
wire mouse_strobe;
|
||||
wire scandoublerD;
|
||||
wire ypbpr;
|
||||
wire no_csync;
|
||||
@@ -111,19 +133,23 @@ user_io(
|
||||
.key_strobe (key_strobe ),
|
||||
.key_pressed (key_pressed ),
|
||||
.key_code (key_code ),
|
||||
.mouse_strobe (mouse_strobe ),
|
||||
.mouse_x (mouse_x ),
|
||||
.mouse_y (mouse_y ),
|
||||
.mouse_flags (mouse_flags ),
|
||||
.joystick_0 (joystick_0 ),
|
||||
.joystick_1 (joystick_1 ),
|
||||
.status (status )
|
||||
);
|
||||
|
||||
wire [15:0] audio;
|
||||
wire [15:0] rom_addr;
|
||||
wire [15:0] rom_do;
|
||||
wire [15:0] spr_rom_addr;
|
||||
wire [16:0] cpu_rom_addr;
|
||||
wire [15:0] cpu_rom_do;
|
||||
wire [16:0] spr_rom_addr;
|
||||
wire [15:0] spr_rom_do;
|
||||
wire [12:0] snd_rom_addr;
|
||||
wire [14:0] snd_rom_addr;
|
||||
wire [15:0] snd_rom_do;
|
||||
wire [13:0] tile_rom_addr;
|
||||
wire [15:0] tile_rom_addr;
|
||||
wire [23:0] tile_rom_do;
|
||||
wire ioctl_downl;
|
||||
wire [7:0] ioctl_index;
|
||||
@@ -144,7 +170,7 @@ data_io data_io(
|
||||
);
|
||||
|
||||
reg port1_req, port2_req;
|
||||
wire [24:0] tl_ioctl_addr = ioctl_addr - 18'h20000;
|
||||
wire [24:0] tl_ioctl_addr = ioctl_addr - 20'h40000;
|
||||
sdram #(80) sdram(
|
||||
.*,
|
||||
.init_n ( pll_locked ),
|
||||
@@ -159,11 +185,11 @@ sdram #(80) sdram(
|
||||
.port1_d ( {ioctl_dout, ioctl_dout} ),
|
||||
.port1_q ( ),
|
||||
|
||||
.cpu1_addr ( ioctl_downl ? 16'hffff : {1'b0, rom_addr[15:1]}), // offset 0
|
||||
.cpu1_q ( rom_do ),
|
||||
.cpu2_addr ( ioctl_downl ? 16'hffff : (16'h6000 + snd_rom_addr[12:1]) ), // offset c000
|
||||
.cpu1_addr ( ioctl_downl ? 17'h1ffff : (17'h4000 + cpu_rom_addr[16:1]) ), // offset 8000h
|
||||
.cpu1_q ( cpu_rom_do ),
|
||||
.cpu2_addr ( ioctl_downl ? 17'h1ffff : snd_rom_addr[14:1] ), // offset 0
|
||||
.cpu2_q ( snd_rom_do ),
|
||||
.cpu3_addr ( ioctl_downl ? 16'hffff : (16'h8000 + spr_rom_addr[15:1]) ), // offset 10000
|
||||
.cpu3_addr ( ioctl_downl ? 17'h1ffff : (17'h10000 + spr_rom_addr[16:1]) ), // offset 20000h
|
||||
.cpu3_q ( spr_rom_do ),
|
||||
|
||||
// port2 for backround tiles
|
||||
@@ -175,7 +201,7 @@ sdram #(80) sdram(
|
||||
.port2_d ( {ioctl_dout, ioctl_dout} ),
|
||||
.port2_q ( ),
|
||||
|
||||
.sp_addr ( ioctl_downl ? 15'h7fff : tile_rom_addr ),
|
||||
.sp_addr ( ioctl_downl ? 16'hffff : tile_rom_addr ),
|
||||
.sp_q ( tile_rom_do )
|
||||
);
|
||||
|
||||
@@ -210,13 +236,17 @@ SEGASYSTEM1 System1_Top(
|
||||
|
||||
.DSW0(DSW0),
|
||||
.DSW1(DSW1),
|
||||
|
||||
.SYSTEM2(core_mod[0]),
|
||||
.SYSTEM2_ROWSCROLL(core_mod[6]),
|
||||
|
||||
.PH(HPOS),
|
||||
.PV(VPOS),
|
||||
.PCLK_EN(PCLK_EN),
|
||||
.POUT(POUT),
|
||||
|
||||
.cpu_rom_addr(rom_addr),
|
||||
.cpu_rom_do( rom_addr[0] ? rom_do[15:8] : rom_do[7:0] ),
|
||||
.cpu_rom_addr(cpu_rom_addr),
|
||||
.cpu_rom_do(cpu_rom_addr[0] ? cpu_rom_do[15:8] : cpu_rom_do[7:0] ),
|
||||
|
||||
.snd_rom_addr(snd_rom_addr),
|
||||
.snd_rom_do(snd_rom_addr[0] ? snd_rom_do[15:8] : snd_rom_do[7:0] ),
|
||||
@@ -228,20 +258,19 @@ SEGASYSTEM1 System1_Top(
|
||||
.tile_rom_do(tile_rom_do),
|
||||
|
||||
.ROMCL(clk_sys),
|
||||
.ROMAD(ioctl_addr[17:0]),
|
||||
.ROMDT( ioctl_dout ),
|
||||
.ROMEN( ioctl_wr ),
|
||||
.ROMAD(ioctl_addr),
|
||||
.ROMDT(ioctl_dout),
|
||||
.ROMEN(ioctl_wr),
|
||||
.SOUT(audio)
|
||||
);
|
||||
|
||||
wire PCLK_EN;
|
||||
wire [8:0] HPOS,VPOS;
|
||||
wire [7:0] POUT;
|
||||
wire [11:0] POUT;
|
||||
wire [7:0] HOFFS = 8'd2;
|
||||
wire [7:0] VOFFS = 8'd2;
|
||||
wire hs, vs;
|
||||
wire [2:0] g, r;
|
||||
wire [1:0] b;
|
||||
wire [3:0] b, g, r;
|
||||
|
||||
HVGEN hvgen
|
||||
(
|
||||
@@ -250,14 +279,14 @@ HVGEN hvgen
|
||||
.H240(core_mod[2]),.HOFFS(HOFFS),.VOFFS(VOFFS)
|
||||
);
|
||||
|
||||
mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
|
||||
mist_video #(.COLOR_DEPTH(4), .SD_HCNT_WIDTH(10)) mist_video(
|
||||
.clk_sys ( clk_sys ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
.SPI_SS3 ( SPI_SS3 ),
|
||||
.SPI_DI ( SPI_DI ),
|
||||
.R ( r ),
|
||||
.G ( g ),
|
||||
.B ( {b, b[1]} ),
|
||||
.B ( b ),
|
||||
.HSync ( hs ),
|
||||
.VSync ( vs ),
|
||||
.VGA_R ( VGA_R ),
|
||||
@@ -267,7 +296,7 @@ mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
|
||||
.VGA_HS ( VGA_HS ),
|
||||
.ce_divider ( 1'b0 ),
|
||||
.blend ( blend ),
|
||||
.rotate ( {1'b0, rotate} ),
|
||||
.rotate ( {core_mod[4], rotate} ),
|
||||
.scandoubler_disable(scandoublerD ),
|
||||
.scanlines ( scanlines ),
|
||||
.ypbpr ( ypbpr ),
|
||||
|
||||
@@ -155,52 +155,66 @@ endmodule
|
||||
//----------------------------------
|
||||
module VRAMs
|
||||
(
|
||||
input clk0,
|
||||
input [9:0] adr0,
|
||||
output reg [7:0] dat0,
|
||||
input [7:0] dtw0,
|
||||
input wen0,
|
||||
input clk,
|
||||
input [12:0] adr0,
|
||||
output reg [7:0] dat0,
|
||||
input [7:0] dtw0,
|
||||
input wen0,
|
||||
|
||||
input clk1,
|
||||
input [9:0] adr1,
|
||||
output reg [7:0] dat1
|
||||
input [12:0] adr1,
|
||||
output reg [7:0] dat1,
|
||||
|
||||
input [12:0] adr2,
|
||||
output reg [7:0] dat2
|
||||
);
|
||||
|
||||
reg [7:0] core [0:1023];
|
||||
reg [7:0] core ['h2000];
|
||||
|
||||
always @( posedge clk0 ) begin
|
||||
reg sel;
|
||||
reg [12:0] adr;
|
||||
reg [7:0] dat;
|
||||
|
||||
always @( posedge clk ) begin
|
||||
if (wen0) core[adr0] <= dtw0;
|
||||
else dat0 <= core[adr0];
|
||||
dat0 <= core[adr0];
|
||||
|
||||
adr <= sel ? adr1 : adr2;
|
||||
dat <= core[adr];
|
||||
end
|
||||
|
||||
always @( posedge clk1 ) begin
|
||||
dat1 <= core[adr1];
|
||||
always @( posedge clk ) begin
|
||||
sel <= ~sel;
|
||||
if (sel) dat1 <= dat; else dat2 <= dat;
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
module VRAM
|
||||
(
|
||||
input clk0,
|
||||
input [10:0] adr0,
|
||||
output [7:0] dat0,
|
||||
input [7:0] dtw0,
|
||||
input wen0,
|
||||
input clk,
|
||||
input [13:0] adr0,
|
||||
output [7:0] dat0,
|
||||
input [7:0] dtw0,
|
||||
input wen0,
|
||||
|
||||
input clk1,
|
||||
input [9:0] adr1,
|
||||
output [15:0] dat1
|
||||
input [12:0] adr1,
|
||||
output [15:0] dat1,
|
||||
input [12:0] adr2,
|
||||
output [15:0] dat2
|
||||
);
|
||||
|
||||
wire even = ~adr0[0];
|
||||
wire odd = adr0[0];
|
||||
|
||||
wire [7:0] do00, do01, do10, do11;
|
||||
VRAMs ram0( clk0, adr0[10:1], do00, dtw0, wen0 & even, clk1, adr1, do10 );
|
||||
VRAMs ram1( clk0, adr0[10:1], do01, dtw0, wen0 & odd, clk1, adr1, do11 );
|
||||
wire [7:0] do00, do01, do10, do11, do20, do21;
|
||||
VRAMs ram0(clk, adr0[13:1], do00, dtw0, wen0 & even,
|
||||
adr1, do10, adr2, do20);
|
||||
VRAMs ram1(clk, adr0[13:1], do01, dtw0, wen0 & odd,
|
||||
adr1, do11, adr2, do21);
|
||||
|
||||
assign dat0 = adr0[0] ? do01 : do00;
|
||||
assign dat0 = odd ? do01 : do00;
|
||||
assign dat1 = { do11, do10 };
|
||||
assign dat2 = { do21, do20 };
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
@@ -46,11 +46,11 @@ module sdram (
|
||||
input [15:0] port1_d,
|
||||
output reg [15:0] port1_q,
|
||||
|
||||
input [16:1] cpu1_addr,
|
||||
input [17:1] cpu1_addr,
|
||||
output reg [15:0] cpu1_q,
|
||||
input [16:1] cpu2_addr,
|
||||
input [17:1] cpu2_addr,
|
||||
output reg [15:0] cpu2_q,
|
||||
input [16:1] cpu3_addr,
|
||||
input [17:1] cpu3_addr,
|
||||
output reg [15:0] cpu3_q,
|
||||
|
||||
input port2_req,
|
||||
@@ -61,7 +61,7 @@ module sdram (
|
||||
input [15:0] port2_d,
|
||||
output reg [31:0] port2_q,
|
||||
|
||||
input [16:2] sp_addr,
|
||||
input [17:2] sp_addr,
|
||||
output reg [31:0] sp_q
|
||||
);
|
||||
|
||||
@@ -156,8 +156,8 @@ assign SDRAM_nWE = sd_cmd[0];
|
||||
|
||||
reg [24:1] addr_latch[3];
|
||||
reg [24:1] addr_latch_next[2];
|
||||
reg [16:1] addr_last[4];
|
||||
reg [16:2] addr_last2[2];
|
||||
reg [17:1] addr_last[4];
|
||||
reg [17:2] addr_last2[2];
|
||||
reg [15:0] din_latch[2];
|
||||
reg [1:0] oe_latch;
|
||||
reg [1:0] we_latch;
|
||||
@@ -190,13 +190,13 @@ always @(*) begin
|
||||
addr_latch_next[0] = { 1'b0, port1_a };
|
||||
end else if (cpu1_addr != addr_last[PORT_CPU1]) begin
|
||||
next_port[0] = PORT_CPU1;
|
||||
addr_latch_next[0] = { 8'd0, cpu1_addr };
|
||||
addr_latch_next[0] = { 7'd0, cpu1_addr };
|
||||
end else if (cpu2_addr != addr_last[PORT_CPU2]) begin
|
||||
next_port[0] = PORT_CPU2;
|
||||
addr_latch_next[0] = { 8'd0, cpu2_addr };
|
||||
addr_latch_next[0] = { 7'd0, cpu2_addr };
|
||||
end else if (cpu3_addr != addr_last[PORT_CPU3]) begin
|
||||
next_port[0] = PORT_CPU3;
|
||||
addr_latch_next[0] = { 8'd0, cpu3_addr };
|
||||
addr_latch_next[0] = { 7'd0, cpu3_addr };
|
||||
end else begin
|
||||
next_port[0] = PORT_NONE;
|
||||
addr_latch_next[0] = addr_latch[0];
|
||||
@@ -210,7 +210,7 @@ always @(*) begin
|
||||
addr_latch_next[1] = { 1'b1, port2_a };
|
||||
end else if (sp_addr != addr_last2[PORT_SP]) begin
|
||||
next_port[1] = PORT_SP;
|
||||
addr_latch_next[1] = { 1'b1, 7'd0, sp_addr, 1'b0 };
|
||||
addr_latch_next[1] = { 1'b1, 6'd0, sp_addr, 1'b0 };
|
||||
end else begin
|
||||
next_port[1] = PORT_NONE;
|
||||
addr_latch_next[1] = addr_latch[1];
|
||||
@@ -257,7 +257,7 @@ always @(posedge clk) begin
|
||||
sd_cmd <= CMD_ACTIVE;
|
||||
SDRAM_A <= addr_latch_next[0][22:10];
|
||||
SDRAM_BA <= addr_latch_next[0][24:23];
|
||||
addr_last[next_port[0]] <= addr_latch_next[0][16:1];
|
||||
addr_last[next_port[0]] <= addr_latch_next[0][17:1];
|
||||
if (next_port[0] == PORT_REQ) begin
|
||||
{ oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we };
|
||||
ds[0] <= port1_ds;
|
||||
@@ -281,7 +281,7 @@ always @(posedge clk) begin
|
||||
sd_cmd <= CMD_ACTIVE;
|
||||
SDRAM_A <= addr_latch_next[1][22:10];
|
||||
SDRAM_BA <= addr_latch_next[1][24:23];
|
||||
addr_last2[next_port[1]] <= addr_latch_next[1][16:2];
|
||||
addr_last2[next_port[1]] <= addr_latch_next[1][17:2];
|
||||
if (next_port[1] == PORT_REQ) begin
|
||||
{ oe_latch[1], we_latch[1] } <= { ~port1_we, port1_we };
|
||||
ds[1] <= port2_ds;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
# ========================
|
||||
set_global_assignment -name ORIGINAL_QUARTUS_VERSION "12.1 SP1"
|
||||
set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:07:52 FEBRUARY 01, 2013"
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26"
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name SMART_RECOMPILE ON
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
@@ -222,6 +222,7 @@ set_global_assignment -name ENABLE_SIGNALTAP OFF
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/mrdo.stp
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/MrDo_mist.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/MrDo_top.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/secret_pal.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/video_timing.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/ram_dp_1k.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/cpu_ram.v
|
||||
|
||||
@@ -37,6 +37,5 @@
|
||||
<part crc="16ee4ca2" name="f10--1.bin"/>
|
||||
<part crc="ff7fe284" name="j10--4.bin"/>
|
||||
<part crc="badf5876" name="j2-u001.bin"/>
|
||||
<patch offset="0x049a"> 00 </patch>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
@@ -37,6 +37,5 @@
|
||||
<part crc="16ee4ca2" name="f10--1.bin"/>
|
||||
<part crc="ff7fe284" name="j10--4.bin"/>
|
||||
<part crc="badf5876" name="j2-u001.bin"/>
|
||||
<patch offset="0x049a"> 00 </patch>
|
||||
</rom>
|
||||
</misterromdescription>
|
||||
|
||||
@@ -678,13 +678,8 @@ reg [15:0] unhandled_addr ;
|
||||
always @ (posedge clk_20M ) begin
|
||||
|
||||
if ( rd_n == 0 ) begin
|
||||
// read program rom
|
||||
if (cpu_addr == 16'h049a ) begin
|
||||
// patch rom to bypass "secret" pal protection
|
||||
// cpu tries to read val from 0x9803 which is state machine pal
|
||||
// written to on all tile ram access. should try converting pal logic to verilog.
|
||||
cpu_din <= 0;
|
||||
end else if ( cpu_addr >= 16'h0000 && cpu_addr < 16'h8000 ) begin
|
||||
// read program rom
|
||||
if ( cpu_addr >= 16'h0000 && cpu_addr < 16'h8000 ) begin
|
||||
cpu_din <= rom_do; // 0x0000
|
||||
end else if ( cpu_addr >= 16'h8000 && cpu_addr < 16'h8400 ) begin
|
||||
cpu_din <= bg_ram0_data;
|
||||
@@ -695,7 +690,7 @@ always @ (posedge clk_20M ) begin
|
||||
end else if ( cpu_addr >= 16'h8c00 && cpu_addr < 16'h9000 ) begin
|
||||
cpu_din <= fg_ram1_data;
|
||||
end else if ( cpu_addr == 16'h9803 ) begin
|
||||
cpu_din <= 0;
|
||||
cpu_din <= u001_dout;
|
||||
end else if ( cpu_addr == 16'ha000 ) begin
|
||||
cpu_din <= p1;
|
||||
end else if ( cpu_addr == 16'ha001 ) begin
|
||||
@@ -755,6 +750,24 @@ always @ (posedge clk_20M ) begin
|
||||
end
|
||||
end
|
||||
|
||||
// u001 "secret" pal protection
|
||||
// cpu tries to read val from 0x9803 which is state machine pal
|
||||
// written to on all tile ram access..
|
||||
|
||||
wire [7:0] u001_dout ;
|
||||
|
||||
reg gfx_ram_wr_old;
|
||||
always @(posedge clk_20M) gfx_ram_wr_old <= gfx_fg_ram0_wr | gfx_fg_ram1_wr;
|
||||
wire secret_pal_clk_en = ~gfx_ram_wr_old & (gfx_fg_ram0_wr | gfx_fg_ram1_wr);
|
||||
|
||||
secret_pal u001
|
||||
(
|
||||
.clk( clk_20M ),
|
||||
.clk_en( secret_pal_clk_en ),
|
||||
.din( cpu_dout ),
|
||||
.dout( u001_dout )
|
||||
);
|
||||
|
||||
// first 256 bytes are attribute data
|
||||
// bit 7 of attr == MSB of tile
|
||||
// bit 6 tile flip
|
||||
|
||||
79
Arcade_MiST/Universal MrDo/rtl/secret_pal.v
Normal file
79
Arcade_MiST/Universal MrDo/rtl/secret_pal.v
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
// PAL16R6 (IC U001)
|
||||
|
||||
// no feedback used so a 128 byte lookup table could work too.
|
||||
|
||||
module secret_pal
|
||||
(
|
||||
input clk,
|
||||
input clk_en,
|
||||
input [7:0] din,
|
||||
output [7:0] dout
|
||||
);
|
||||
|
||||
wire [9:2] i ;
|
||||
reg [19:12] r ;
|
||||
|
||||
// data bus d7 (msb) is pin 2 so reverse input bit order
|
||||
assign i = {din[0],din[1],din[2],din[3],din[4],din[5],din[6],din[7]};
|
||||
|
||||
assign dout = r ;
|
||||
|
||||
wire t1 = i[2] & ~i[3] & i[4] & ~i[5] & ~i[6] & ~i[8] & i[9] ;
|
||||
wire t2 = ~i[2] & ~i[3] & i[4] & i[5] & ~i[6] & i[8] & ~i[9] ;
|
||||
wire t3 = i[2] & i[3] & ~i[4] & ~i[5] & i[6] & ~i[8] & i[9] ;
|
||||
wire t4 = ~i[2] & i[3] & i[4] & ~i[5] & i[6] & i[8] & i[9] ;
|
||||
|
||||
|
||||
always @(posedge clk) begin
|
||||
|
||||
if (clk_en) begin
|
||||
// pal output is registered clocked by pin 1 connected to (TRAM WE) $8800-$8fff
|
||||
// pal OE is enabled by reading address $9803 (SECRE)
|
||||
|
||||
r[12] <= 0;
|
||||
|
||||
// /rf13 := i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
r[13] <= ~ ( t1 );
|
||||
|
||||
// /rf14 := /i2 & /i3 & i4 & i5 & /i6 & i8 & /i9 + i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
r[14] <= ~ ( t2 | t1 );
|
||||
|
||||
// /rf15 := i2 & i3 & /i4 & /i5 & i6 & /i8 & i9 + i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
r[15] <= ~ ( t3 | t1 );
|
||||
|
||||
// /rf16 := i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
r[16] <= ~ ( t1 );
|
||||
|
||||
// /rf17 := i2 & i3 & /i4 & /i5 & i6 & /i8 & i9 + i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
r[17] <= ~ ( t3 | t1 );
|
||||
|
||||
// /rf18 := /i2 & i3 & i4 & /i5 & i6 & i8 & i9 + i2 & i3 & /i4 & /i5 & i6 & /i8 & i9
|
||||
r[18] <= ~ ( t4 | t3 );
|
||||
|
||||
r[19] <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
/*
|
||||
|
||||
/rf13 := i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
rf13.oe = OE
|
||||
|
||||
/rf14 := /i2 & /i3 & i4 & i5 & /i6 & i8 & /i9 + i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
rf14.oe = OE
|
||||
|
||||
/rf15 := i2 & i3 & /i4 & /i5 & i6 & /i8 & i9 + i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
rf15.oe = OE
|
||||
|
||||
/rf16 := i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
rf16.oe = OE
|
||||
|
||||
/rf17 := i2 & i3 & /i4 & /i5 & i6 & /i8 & i9 + i2 & /i3 & i4 & /i5 & /i6 & /i8 & i9
|
||||
rf17.oe = OE
|
||||
|
||||
/rf18 := /i2 & i3 & i4 & /i5 & i6 & i8 & i9 + i2 & i3 & /i4 & /i5 & i6 & /i8 & i9
|
||||
rf18.oe = OE
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user