1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-01-19 09:18:02 +00:00

Only the first 32k are encrypted

This commit is contained in:
Gehstock 2020-05-18 04:46:25 +02:00
parent b114f0bc32
commit 8a40569726
9 changed files with 635 additions and 9 deletions

View File

@ -18,7 +18,7 @@
#
# Quartus II 64-Bit
# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition
# Date created = 21:33:05 May 17, 2020
# Date created = 04:44:25 May 18, 2020
#
# -------------------------------------------------------------------------- #
#
@ -56,8 +56,9 @@ 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
set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_11B.v
set_global_assignment -name VHDL_FILE rtl/rom/dec_rom.vhd
set_global_assignment -name VHDL_FILE rtl/rom/clut.vhd
set_global_assignment -name VHDL_FILE rtl/rom/dec_315_5041.vhd
set_global_assignment -name VHDL_FILE rtl/rom/dec_315_5051.vhd
set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
@ -233,10 +234,10 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
# end DESIGN_PARTITION(Top)
# -------------------------
# end ENTITY(System1_MiST)
# ------------------------
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
# ------------------------

View File

@ -0,0 +1,45 @@
<misterromdescription>
<name>MrViking</name>
<mameversion>0216</mameversion>
<mratimestamp>202001010000</mratimestamp>
<year>1985</year>
<manufacturer>Sega</manufacturer>
´ <rbf>System1_MiST</rbf>
<category>Action</category>
<setname>mrviking</setname>
<rom index="0" zip="mrviking.zip" md5="15ab241d9f6780f41721916f46e7d4fa" type="merged|nonmerged">
<rom index="1"> <part>7</part> </rom>
<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 repeat="0x4000">FF</part>
<part name="epr-5763.3"/>
<part name="epr-5749.86"/>
<part name="epr-5750.93"/>
<part repeat="0x8000">FF</part>
<part name="epr-5762.82"/>
<part name="epr-5761.65"/>
<part name="epr-5760.81"/>
<part name="epr-5759.64"/>
<part name="epr-5758.80"/>
<part name="epr-5757.63"/>
<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>

View File

@ -0,0 +1,537 @@
List of encrypted games currently known:
CPU Part # Game Comments
315-5010 Pengo unencrypted version available
315-5013 Super Zaxxon used Zaxxon for known plaintext attack
315-5014 Buck Rogers / Zoom 909 unencrypted version available
315-5015 Super Locomotive
315-5018 Yamato
???-???? Top Roller same key as Yamato
315-5028 Sindbad Mystery
315-5030 Up'n Down unencrypted version available
???-???? M120 Razzmatazz same key as Up'n Down
315-5033 Regulus unencrypted version available
315-5041 M140 Mister Viking
315-5048 SWAT used Bull Fight for k.p.a.
315-5051 Flicky & 315_5098
Ninja Princess (bootleg)
315-5061 Future Spy
315-5064 Water Match used Mister Viking for k.p.a.
315-5065 Bull Fight
315-5069 Star Force game by Tehkan; same key as Super Locomotive
???-???? Spatter same encryption scheme is used by the Falcon 03155096 CPU (Z80)
315-5084 Jongkyo TABLE INCOMPLETE game by Kiwako; also has a simple bitswap on top
315-5093 Pitfall II
315-5098 Ninja Princess unencrypted version available; same key as Up'n Down
315-5102 Sega Ninja unencrypted version available
315-5110 I'm Sorry used My Hero for k.p.a.
315-5114 Champion Pro Wrestling same key as Regulus
315-5115 TeddyBoy Blues
315-5128 Pinball Action game by Tehkan; also has a simple bitswap on top
315-5132 My Hero
315-5135 Heavy Metal &
Wonder Boy (set 1a & 3; bootlegs?)
DEFINE_DEVICE_TYPE(SEGA_315_5132, sega_315_5132_device, "sega_315_5132", "Sega 315-5132")
DEFINE_DEVICE_TYPE(SEGA_315_5155, sega_315_5155_device, "sega_315_5155", "Sega 315-5155")
DEFINE_DEVICE_TYPE(SEGA_315_5110, sega_315_5110_device, "sega_315_5110", "Sega 315-5110")
DEFINE_DEVICE_TYPE(SEGA_315_5135, sega_315_5135_device, "sega_315_5135", "Sega 315-5135")
DEFINE_DEVICE_TYPE(SEGA_315_5051, sega_315_5051_device, "sega_315_5051", "Sega 315-5051")
DEFINE_DEVICE_TYPE(SEGA_315_5098, sega_315_5098_device, "sega_315_5098", "Sega 315-5098") // also 315-5030 ?
DEFINE_DEVICE_TYPE(SEGA_315_5102, sega_315_5102_device, "sega_315_5102", "Sega 315-5102")
DEFINE_DEVICE_TYPE(SEGA_315_5065, sega_315_5065_device, "sega_315_5065", "Sega 315-5065")
DEFINE_DEVICE_TYPE(SEGA_315_5064, sega_315_5064_device, "sega_315_5064", "Sega 315-5064")
DEFINE_DEVICE_TYPE(SEGA_315_5033, sega_315_5033_device, "sega_315_5033", "Sega 315-5033")
DEFINE_DEVICE_TYPE(SEGA_315_5041, sega_315_5041_device, "sega_315_5041", "Sega 315-5041")
DEFINE_DEVICE_TYPE(SEGA_315_5048, sega_315_5048_device, "sega_315_5048", "Sega 315-5048")
DEFINE_DEVICE_TYPE(SEGA_315_5093, sega_315_5093_device, "sega_315_5093", "Sega 315-5093")
DEFINE_DEVICE_TYPE(SEGA_315_5099, sega_315_5099_device, "sega_315_5099", "Sega 315-5099")
DEFINE_DEVICE_TYPE(SEGA_315_5015, sega_315_5015_device, "sega_315_5015", "Sega 315-5015")
DEFINE_DEVICE_TYPE(SEGA_315_5133, sega_315_5133_device, "sega_315_5133", "Sega 315-5133") // exactly the same as Sega 315-5048?
DEFINE_DEVICE_TYPE(SEGA_315_5061, sega_315_5061_device, "sega_315_5061", "Sega 315-5061")
DEFINE_DEVICE_TYPE(SEGA_315_5028, sega_315_5028_device, "sega_315_5028", "Sega 315-5028")
DEFINE_DEVICE_TYPE(SEGA_315_5084, sega_315_5084_device, "sega_315_5084", "Sega 315-5084")
DEFINE_DEVICE_TYPE(SEGA_315_5013, sega_315_5013_device, "sega_315_5013", "Sega 315-5013")
DEFINE_DEVICE_TYPE(SEGA_315_5014, sega_315_5014_device, "sega_315_5014", "Sega 315-5014")
DEFINE_DEVICE_TYPE(SEGA_315_5018, sega_315_5018_device, "sega_315_5018", "Sega 315-5018")
DEFINE_DEVICE_TYPE(SEGA_315_5010, sega_315_5010_device, "sega_315_5010", "Sega 315-5010")
DEFINE_DEVICE_TYPE(SEGA_315_SPAT, sega_315_spat_device, "sega_315_spat", "Sega 315-5xxx (Spatter)") // unknown part number
DEFINE_DEVICE_TYPE(SEGA_315_5128, sega_315_5128_device, "sega_315_5128", "Sega 315-5128")
sega_315_5132_device
20 00 a0 80 80 a0 88 a8
20 00 a0 80 80 a0 88 a8
a8 a0 88 80 a8 a0 88 80
08 88 00 80 80 a0 88 a8
20 00 a0 80 28 a8 08 88
20 00 a0 80 08 88 00 80
28 a8 08 88 a8 a0 88 80
08 88 00 80 a8 a0 88 80
28 a8 08 88 20 00 a0 80
80 a0 88 a8 20 00 a0 80
80 a0 88 a8 80 a0 88 a8
a8 a0 88 80 80 a0 88 a8
88 80 08 00 88 80 08 00
88 80 08 00 08 88 00 80
88 80 08 00 a8 a0 88 80
88 80 08 00 a8 a0 88 80
sega_315_5155_device
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
sega_315_5110_device
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
sega_315_5135_device
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
sega_315_5051_device
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
sega_315_5098_device
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
sega_315_5102_device
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
sega_315_5065_device
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
sega_315_5064_device
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
sega_315_5033_device
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
sega_315_5041_device
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
sega_315_5048_device
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
sega_315_5093_device
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
sega_315_5099_device
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
sega_315_spat_device
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
sega_315_5015_device
20 00 a0 80 a8 a0 88 80
20 00 a0 80 a8 a0 88 80
20 00 a0 80 a8 a0 88 80
88 08 80 00 a0 80 a8 88
88 08 80 00 a0 80 a8 88
20 00 a0 80 a8 a0 88 80
88 08 80 00 a0 80 a8 88
28 a8 08 88 88 80 08 00
20 00 a0 80 a8 a0 88 80
88 08 80 00 a0 80 a8 88
88 08 80 00 a0 80 a8 88
20 00 a0 80 a8 a0 88 80
88 08 80 00 a0 80 a8 88
28 a8 08 88 88 80 08 00
20 00 a0 80 a8 a0 88 80
88 08 80 00 a0 80 a8 88
sega_315_5014_device
80 00 88 08 28 20 a8 a0
88 a8 80 a0 a0 80 20 00
28 a8 08 88 a8 a0 88 80
80 00 88 08 28 20 a8 a0
88 a8 80 a0 a0 80 20 00
80 00 88 08 28 20 a8 a0
28 a8 08 88 a8 a0 88 80
88 a8 80 a0 a0 80 20 00
28 a8 08 88 a8 a0 88 80
80 00 88 08 28 20 a8 a0
80 00 88 08 28 20 a8 a0
88 a8 80 a0 a0 80 20 00
80 00 88 08 28 20 a8 a0
88 a8 80 a0 a0 80 20 00
88 a8 80 a0 a0 80 20 00
28 a8 08 88 a8 a0 88 80
sega_315_5013_device
88 a8 80 a0 28 20 a8 a0
08 28 88 a8 88 80 08 00
a8 28 a0 20 20 a0 00 80
88 a8 80 a0 28 20 a8 a0
08 28 88 a8 88 80 08 00
88 a8 80 a0 28 20 a8 a0
a8 28 a0 20 20 a0 00 80
08 28 88 a8 88 80 08 00
08 28 88 a8 88 80 08 00
88 a8 80 a0 28 20 a8 a0
88 a8 80 a0 28 20 a8 a0
a8 28 a0 20 20 a0 00 80
a8 28 a0 20 20 a0 00 80
a8 28 a0 20 20 a0 00 80
08 28 88 a8 88 80 08 00
88 a8 80 a0 28 20 a8 a0
sega_315_5061_device
28 08 20 00 28 08 20 00
80 00 a0 20 08 88 00 80
80 00 a0 20 08 88 00 80
a0 80 20 00 20 28 a0 a8
28 08 20 00 88 80 a8 a0
80 00 a0 20 08 88 00 80
80 00 a0 20 20 28 a0 a8
20 28 a0 a8 08 88 00 80
88 80 a8 a0 28 08 20 00
80 00 a0 20 a0 80 20 00
20 28 a0 a8 08 88 00 80
80 00 a0 20 20 28 a0 a8
88 80 a8 a0 88 80 a8 a0
80 00 a0 20 08 88 00 80
80 00 a0 20 28 08 20 00
20 28 a0 a8 a0 80 20 00
sega_315_5018_device
88 a8 08 28 88 a8 80 a0
20 a0 28 a8 88 a8 80 a0
88 a8 80 a0 88 a8 80 a0
88 a8 80 a0 20 a0 28 a8
88 a8 08 28 88 a8 08 28
88 a8 80 a0 88 a8 80 a0
20 a0 28 a8 20 a0 28 a8
88 a8 80 a0 88 a8 80 a0
20 a0 28 a8 88 a8 08 28
20 a0 28 a8 28 20 a8 a0
a0 20 80 00 20 a0 28 a8
28 20 a8 a0 20 a0 28 a8
20 a0 28 a8 88 a8 08 28
88 a8 08 28 88 a8 08 28
a0 20 80 00 88 08 80 00
20 a0 28 a8 00 08 20 28
sega_315_5010_device
a0 80 a8 88 28 a8 08 88
28 a8 08 88 a0 80 a8 88
a0 80 20 00 a0 80 20 00
08 28 88 a8 a0 80 a8 88
08 00 88 80 28 a8 08 88
a0 80 20 00 08 00 88 80
a0 80 20 00 a0 80 20 00
a0 80 20 00 00 08 20 28
88 80 08 00 a0 80 20 00
88 80 08 00 00 08 20 28
08 28 88 a8 08 28 88 a8
a0 80 a8 88 a0 80 20 00
08 00 88 80 88 80 08 00
00 08 20 28 88 80 08 00
08 28 88 a8 08 28 88 a8
08 00 88 80 a0 80 20 00
sega_315_5128_device
a8 a0 88 80 28 a8 08 88
28 08 a8 88 a8 a0 88 80
28 20 a8 a0 28 a8 08 88
28 08 a8 88 28 20 a8 a0
a8 a0 88 80 a8 a0 88 80
28 20 a8 a0 28 20 a8 a0
28 20 a8 a0 28 20 a8 a0
a8 a0 88 80 28 20 a8 a0
a8 a0 88 80 28 20 a8 a0
28 20 a8 a0 a8 a0 88 80
28 20 a8 a0 a0 80 a8 88
28 08 a8 88 28 08 a8 88
a0 80 a8 88 a8 a0 88 80
28 20 a8 a0 a8 28 a0 20
a0 80 a8 88 a8 a0 88 80
a8 a0 88 80 a8 28 a0 20
sega_315_5028_device
28 a8 08 88 88 80 08 00
a8 a0 88 80 00 20 80 a0
a8 a0 88 80 00 20 80 a0
28 a8 08 88 88 80 08 00
a8 88 a0 80 a0 20 a8 28
28 a8 08 88 88 80 08 00
a8 a0 88 80 00 20 80 a0
a8 a0 88 80 00 20 80 a0
28 a8 08 88 88 80 08 00
28 a8 08 88 88 80 08 00
a8 a0 88 80 00 20 80 a0
a8 a0 88 80 00 20 80 a0
28 a8 08 88 88 80 08 00
a8 88 a0 80 a0 20 a8 28
28 a8 08 88 88 80 08 00
28 a8 08 88 88 80 08 00
sega_315_5084_device
28 08 a8 88 a0 a8 20 28
80 88 a0 a8 a0 a8 20 28
a0 a8 20 28 20 a0 00 80
a0 a8 20 28 80 88 a0 a8
08 88 00 80 08 88 00 80
88 a8 80 a0 08 88 00 80
20 a0 00 80 20 a0 00 80
08 88 00 80 08 88 00 80
88 a8 80 a0 a0 a8 20 28
80 88 a0 a8 80 88 a0 a8
a0 a8 20 28 20 a0 00 80
a0 a8 20 28 80 88 a0 a8
08 88 00 80 28 08 a8 88
08 88 00 80 80 88 a0 a8
28 08 a8 88 20 a0 00 80
80 88 a0 a8 08 88 00 80

View File

@ -91,6 +91,8 @@ always @(posedge CPUCLn) begin
end
end
wire [7:0] mrom_data = (crypt == 1'b1 & CPUAD[15] == 1'b0) ? cpu_rd_mrom : cpu_rom_do;
dataselector8 mcpudisel(
CPUDI,
VIDCS, VIDDO,
@ -100,7 +102,7 @@ dataselector8 mcpudisel(
cpu_cs_portA, cpu_rd_portA,
cpu_cs_portB, cpu_rd_portB,
cpu_cs_mram, cpu_rd_mram,
cpu_cs_mrom, (crypt == 1'b1) ? cpu_rd_mrom : cpu_rom_do,
cpu_cs_mrom, mrom_data,
8'hFF
);
@ -133,7 +135,7 @@ wire [7:0] dectbl;
wire [7:0] mdec = ( mdat & andv ) | ( dectbl ^ xorv );
//DLROM #( 7,8) decrom( clk, decidx, dectbl, ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16: 7]==10'b1_1110_0001_0) ); // $1E100-$1E17F
dec_rom dec_rom(//only 32k are encrypted todo
dec_315_5051 dec_315_5051(//todo move to sdram
.clk(clk),
.addr(decidx),
.data(dectbl)

View File

@ -30,6 +30,7 @@ module System1_MiST(
);
`include "rtl/build_id.v"
`define CORE_NAME "FLICKY"
localparam CONF_STR = {
`CORE_NAME,";ROM;",
@ -140,6 +141,16 @@ always @(*) begin
// crypt = 1'b0;
//Check graphic
end
7'h7: // Mr Viking
begin
INP0 = ~{m_left, m_right,m_up, m_down,1'b0,m_fireA,2'b0};
INP1 = ~{m_left2,m_right2,m_up2, m_down2,1'b0,m_fire2A,2'b0};
INP2 = ~{2'd0,m_two_players, m_one_player,dsService,2'b0, m_coin1};
DSW0 = 8'hFF;
DSW1 = {dsDifclt,dsExtend,dsLives,2'b00};//Continue, Difficulty
// crypt = 1'b1;
end
default: ;
endcase

View File

@ -122,7 +122,7 @@ BGGEN bg1(VCLK,BG1HP,BG1VP,vram1ad,vram1dt,tile1ad,tile1dt,BG1PX);
// Color Mixer & RGB Output
wire [7:0] cltidx,cltval;
//DLROM #(8,8) clut(VCLKx2, cltidx, cltval, ROMCL,ROMAD,ROMDT,ROMEN & (ROMAD[16:8]==9'b1_1110_0000) ); // $1E000-$1E0FF
clut clut(
clut clut(//todo move to sdram
.clk(VCLKx2),
.addr(cltidx),
.data(cltval)

View File

@ -0,0 +1,30 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity dec_315_5041 is
port (
clk : in std_logic;
addr : in std_logic_vector(6 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of dec_315_5041 is
type rom is array(0 to 127) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"28",X"A8",X"08",X"88",X"88",X"80",X"08",X"00",X"88",X"08",X"80",X"00",X"88",X"80",X"08",X"00",
X"28",X"08",X"A8",X"88",X"28",X"A8",X"08",X"88",X"88",X"08",X"80",X"00",X"88",X"08",X"80",X"00",
X"28",X"08",X"A8",X"88",X"88",X"80",X"08",X"00",X"88",X"80",X"08",X"00",X"28",X"A8",X"08",X"88",
X"A0",X"80",X"A8",X"88",X"28",X"08",X"A8",X"88",X"A0",X"80",X"A8",X"88",X"A0",X"80",X"A8",X"88",
X"88",X"80",X"08",X"00",X"88",X"80",X"08",X"00",X"88",X"08",X"80",X"00",X"88",X"80",X"08",X"00",
X"A0",X"80",X"20",X"00",X"28",X"08",X"A8",X"88",X"A0",X"80",X"20",X"00",X"88",X"08",X"80",X"00",
X"28",X"08",X"A8",X"88",X"A0",X"80",X"20",X"00",X"A0",X"80",X"20",X"00",X"A0",X"80",X"20",X"00",
X"A0",X"80",X"A8",X"88",X"28",X"08",X"A8",X"88",X"A0",X"80",X"20",X"00",X"A0",X"80",X"A8",X"88");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,7 +1,7 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity dec_rom is
entity dec_315_5051 is
port (
clk : in std_logic;
addr : in std_logic_vector(6 downto 0);
@ -9,7 +9,7 @@ port (
);
end entity;
architecture prom of dec_rom is
architecture prom of dec_315_5051 is
type rom is array(0 to 127) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"08",X"88",X"00",X"80",X"A0",X"80",X"A8",X"88",X"80",X"00",X"A0",X"20",X"88",X"80",X"08",X"00",