diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/Snapshot/System1_MiST.rbf b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/Snapshot/System1_MiST.rbf index da5addc2..894d24a1 100644 Binary files a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/Snapshot/System1_MiST.rbf and b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/Snapshot/System1_MiST.rbf differ diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/System1_MiST.qsf b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/System1_MiST.qsf index 5cf25f04..de0cc880 100644 --- a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/System1_MiST.qsf +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/System1_MiST.qsf @@ -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 \ No newline at end of file +# ------------------------ \ No newline at end of file diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/meta/MrViking.mra b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/meta/MrViking.mra new file mode 100644 index 00000000..494a3944 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/meta/MrViking.mra @@ -0,0 +1,45 @@ + + MrViking + 0216 + 202001010000 + 1985 + Sega +ยด System1_MiST + Action + mrviking + + 7 + + + + + + + FF + + + + + + FF + + + + + + + + + + + 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 + + + \ No newline at end of file diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/meta/SegaCrypt.txt b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/meta/SegaCrypt.txt new file mode 100644 index 00000000..31117928 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/meta/SegaCrypt.txt @@ -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 \ No newline at end of file diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Main.v b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Main.v index 95e36a79..fcb94e0d 100644 --- a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Main.v +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Main.v @@ -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) diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_MiST.sv b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_MiST.sv index b3b47c2f..e1624baa 100644 --- a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_MiST.sv +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_MiST.sv @@ -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 diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Video.v b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Video.v index 7452a913..08c45369 100644 --- a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Video.v +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/System1_Video.v @@ -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) diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_315_5041.vhd b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_315_5041.vhd new file mode 100644 index 00000000..76f953d0 --- /dev/null +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_315_5041.vhd @@ -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; diff --git a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_rom.vhd b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_315_5051.vhd similarity index 95% rename from Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_rom.vhd rename to Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_315_5051.vhd index 74927ee6..7126e72a 100644 --- a/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_rom.vhd +++ b/Arcade_MiST/Sega System 1 Hardware/System1_MiST/rtl/rom/dec_315_5051.vhd @@ -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",