1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-01-11 23:43:09 +00:00

TropicalAngel: fix sea color, add MRAs and DIPs

This commit is contained in:
Gyorgy Szombathelyi 2022-11-29 17:43:13 +01:00
parent 3a8257b565
commit 28caaf629c
7 changed files with 160 additions and 14 deletions

View File

@ -27,4 +27,4 @@ DATE = "18:28:29 January 01, 2020"
# Revisions
PROJECT_REVISION = "TropicalAngel_MiST"
PROJECT_REVISION = "TropicalAngel"

View File

@ -25,7 +25,7 @@
# Notes:
#
# 1) The default values for assignments are stored in the file:
# TropicalAngel_MiST_assignment_defaults.qdf
# TropicalAngel_assignment_defaults.qdf
# If this file doesn't exist, see file:
# assignment_defaults.qdf
#
@ -43,7 +43,7 @@ set_global_assignment -name PROJECT_CREATION_TIME_DATE "21:22:13 JUNE 04, 2019"
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 13.1
set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26"
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
set_global_assignment -name SMART_RECOMPILE ON
# Pin & Location Assignments
@ -167,7 +167,7 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
# --------------------------------
# start ENTITY(TropicalAngel_MiST)
# start ENTITY(TropicalAngel)
# Pin & Location Assignments
# ==========================
@ -215,7 +215,7 @@ set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO
# end DESIGN_PARTITION(Top)
# -------------------------
# end ENTITY(TropicalAngel_MiST)
# end ENTITY(TropicalAngel)
# ------------------------------
set_global_assignment -name ENABLE_SIGNALTAP OFF
set_global_assignment -name USE_SIGNALTAP_FILE output_files/trop.stp

View File

@ -0,0 +1,74 @@
<misterromdescription>
<name>New Tropical Angel</name>
<region>World</region>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<version></version>
<alternative></alternative>
<platform>Irem M57</platform>
<series></series>
<year>1983</year>
<manufacturer>Irem</manufacturer>
<category>Sports</category>
<setname>newtangl</setname>
<parent>troangel</parent>
<mameversion>0222</mameversion>
<rbf>TropicalAngel</rbf>
<about></about>
<resolution>15kHz</resolution>
<rotation>Horizontal</rotation>
<flip></flip>
<players>2</players>
<joystick>2-way</joystick>
<special_controls></special_controls>
<num_buttons>2</num_buttons>
<buttons default="A,B,Start,Select" names="Gas,Reverse,Start,Coin"></buttons>
<switches default="00,02" base="8" page_id="1" page_name="Switches">
<!-- DSW1 -->
<dip bits="0,1" name="Time" ids="180/160/140/120,160/140/120/100,140/120/100/80,120/100/100/80"/>
<dip bits="2" name="Crash Loss Time" ids="5 Sec,10 Sec"/>
<dip bits="3" name="Background Sound" ids="Boat,Music"/>
<!-- <dip bits="4,5" name="Coin A" ids="conditional dips unused"/> -->
<!-- <dip bits="6,7" name="Coin B" ids="conditional dips unused"/> -->
<dip bits="4,7" name="Coinage" ids="1 Coin/1 Player,2 Coins/1 Player,3 Coins/1 Player,4 Coins/1 Player,5 Coins/1 Player,6 Coins/1 Player,Free Play,Free Play,1 Coin/2 Players,1 Coin/3 Players,1 Coin/4 Players,1 Coin/5 Players,1 Coin/6 Players,Free Play,Free Play,Free Play"/>
<!-- Coin mode below needs to be Mode 1 for coinage above because MiSTer framework doesn't support conditional DIPS -->
<!-- DSW2 0100-->
<dip bits="8" name="Flip Screen" ids="Off,On"/>
<dip bits="9" name="Cabinet" ids="Cocktail,Upright"/>
<dip bits="10" name="Coin Mode" ids="Mode 1,Mode 2"/>
<dip bits="11" name="Analog Accelerator" ids="No,Yes"/>
<dip bits="12" name="Stop Mode (Cheat)" ids="Off,On"/>
<dip bits="13" name="Unused" ids="Off,On"/>
<dip bits="14" name="Invulnerability" ids="Off,On"/>
<dip bits="15" name="Service Mode" ids="Off,On"/>
</switches>
<rom index="0" zip="troangel.zip|newtangl.zip" md5="none" type="merged|nonmerged">
<part crc="3c6299a8" name="3k"/>
<part crc="8d09056c" name="3m"/>
<part crc="17b5a775" name="3n"/>
<part crc="2e5fa773" name="3q"/>
<part crc="ea8a05cb" name="ta-s-1a-"/>
<part crc="e49f7ad8" name="ta-a-3e"/>
<part crc="06eef241" name="ta-a-3d"/>
<part crc="7ff5482f" name="ta-a-3c"/>
<part crc="89409130" name="5j"/>
<part crc="f8cff29d" name="ta-b-5h"/>
<part crc="5460a467" name="5e"/>
<part crc="cd473d47" name="ta-b-5d"/>
<part crc="4a20637a" name="5c"/>
<part crc="0012792a" name="ta-b-5a"/>
<part crc="01de1167" name="ta-a-5a"/>
<part crc="efd11d4b" name="ta-a-5b"/>
<part crc="ed3e2aa4" name="ta-b-3d"/>
<part crc="f94911ea" name="ta-b-1b"/>
</rom>

View File

@ -0,0 +1,75 @@
<misterromdescription>
<name>Tropical Angel</name>
<region>World</region>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<version></version>
<alternative></alternative>
<platform>Irem M57</platform>
<series></series>
<year>1983</year>
<manufacturer>Irem</manufacturer>
<category>Sports</category>
<setname>troangel</setname>
<parent>troangel</parent>
<mameversion>0222</mameversion>
<rbf>TropicalAngel</rbf>
<about></about>
<resolution>15kHz</resolution>
<rotation>Horizontal</rotation>
<flip></flip>
<players>2</players>
<joystick>2-way</joystick>
<special_controls></special_controls>
<num_buttons>2</num_buttons>
<buttons default="A,B,Start,Select" names="Gas,Reverse,Start,Coin"></buttons>
<switches default="00,02" base="8" page_id="1" page_name="Switches">
<!-- DSW1 -->
<dip bits="0,1" name="Time" ids="180/160/140/120,160/140/120/100,140/120/100/80,120/100/100/80"/>
<dip bits="2" name="Crash Loss Time" ids="5 Sec,10 Sec"/>
<dip bits="3" name="Background Sound" ids="Boat,Music"/>
<!-- <dip bits="4,5" name="Coin A" ids="conditional dips unused on mister"/> -->
<!-- <dip bits="6,7" name="Coin B" ids="conditional dips unused on mister"/> -->
<dip bits="4,7" name="Coinage" ids="1 Coin/1 Player,2 Coins/1 Player,3 Coins/1 Player,4 Coins/1 Player,5 Coins/1 Player,6 Coins/1 Player,Free Play,Free Play,1 Coin/2 Players,1 Coin/3 Players,1 Coin/4 Players,1 Coin/5 Players,1 Coin/6 Players,Free Play,Free Play,Free Play"/>
<!-- Coin mode below needs to be Mode 1 for coinage above because MiSTer framework doesn't support conditional DIPS -->
<!-- DSW2 0100-->
<dip bits="8" name="Flip Screen" ids="Off,On"/>
<dip bits="9" name="Cabinet" ids="Cocktail,Upright"/>
<dip bits="10" name="Coin Mode" ids="Mode 1,Mode 2"/>
<dip bits="11" name="Analog Accelerator" ids="No,Yes"/>
<dip bits="12" name="Stop Mode (Cheat)" ids="Off,On"/>
<dip bits="13" name="Unused" ids="Off,On"/>
<dip bits="14" name="Invulnerability" ids="Off,On"/>
<dip bits="15" name="Service Mode" ids="Off,On"/>
</switches>
<rom index="0" zip="troangel.zip" md5="none" type="merged">
<part crc="f21f8196" name="ta-a-3k"/>
<part crc="58801e55" name="ta-a-3m"/>
<part crc="de3dea44" name="ta-a-3n"/>
<part crc="fff0fc2a" name="ta-a-3q"/>
<part crc="15a83210" name="ta-s-1a"/>
<part crc="e49f7ad8" name="ta-a-3e"/>
<part crc="06eef241" name="ta-a-3d"/>
<part crc="7ff5482f" name="ta-a-3c"/>
<part crc="86895c0c" name="ta-b-5j"/>
<part crc="f8cff29d" name="ta-b-5h"/>
<part crc="8b21ee9a" name="ta-b-5e"/>
<part crc="cd473d47" name="ta-b-5d"/>
<part crc="c19134c9" name="ta-b-5c"/>
<part crc="0012792a" name="ta-b-5a"/>
<part crc="01de1167" name="ta-a-5a"/>
<part crc="efd11d4b" name="ta-a-5b"/>
<part crc="ed3e2aa4" name="ta-b-3d"/>
<part crc="f94911ea" name="ta-b-1b"/>
</rom>
</misterromdescription>

View File

@ -612,11 +612,11 @@ begin
if pix_ena = '1' then
-- always give priority to sprite when not 0000
if spr_output_line_do /= "0000" then
video_r <= spr_rgb_lut_do(7 downto 6);
video_r <= spr_rgb_lut_do(6)&spr_rgb_lut_do(7);
video_g <= spr_rgb_lut_do(5 downto 3);
video_b <= spr_rgb_lut_do(2 downto 0);
else
video_r <= chr_palette_do(7 downto 6);
video_r <= chr_palette_do(6)&chr_palette_do(7);
video_g <= chr_palette_do(5 downto 3);
video_b <= chr_palette_do(2 downto 0);
end if;

View File

@ -49,13 +49,12 @@ module TropicalAngel_MiST(
`include "rtl/build_id.v"
localparam CONF_STR = {
"TROPANG;ROM;",
"TROANGEL;;",
"O2,Rotate Controls,Off,On;",
"O1,Video Timing,Original,Pal 50Hz;",
"O34,Scanlines,Off,25%,50%,75%;",
"O5,Blending,Off,On;",
"O6,Flip,Off,On;",
"O7,Invulnerability,Off,On;",
"DIP;",
"T0,Reset;",
"V,v1.0.",`BUILD_DATE
};
@ -64,8 +63,6 @@ wire palmode = status[1];
wire rotate = status[2];
wire [1:0] scanlines = status[4:3];
wire blend = status[5];
wire flip = status[6];
wire invuln = status[7];
assign LED = ~ioctl_downl;
assign SDRAM_CLK = clk_sd;
@ -210,8 +207,8 @@ always @(posedge clk_sys) begin
end
wire [7:0] dip1 = ~8'b00000010;
wire [7:0] dip2 = ~{ 1'b0, invuln, 1'b0, 1'b0/*stop*/, 3'b010, flip };
wire [7:0] dip1 = ~status[15:8];
wire [7:0] dip2 = ~status[23:16];
TropicalAngel TropicalAngel(
.clock_36 ( clk_sys ),