diff --git a/impl/mdtang_m60k_process_config.json b/impl/mdtang_m60k_process_config.json
new file mode 100644
index 0000000..d8164c0
--- /dev/null
+++ b/impl/mdtang_m60k_process_config.json
@@ -0,0 +1,90 @@
+{
+ "BACKGROUND_PROGRAMMING" : "off",
+ "COMPRESS" : false,
+ "CPU" : false,
+ "CRC_CHECK" : true,
+ "Clock_Route_Order" : 0,
+ "Convert_SDP32_36_to_SDP16_18" : true,
+ "Correct_Hold_Violation" : true,
+ "DONE" : false,
+ "DOWNLOAD_SPEED" : "default",
+ "Disable_Insert_Pad" : false,
+ "ENABLE_CTP" : false,
+ "ENABLE_MERGE_MODE" : false,
+ "ENCRYPTION_KEY" : false,
+ "ENCRYPTION_KEY_TEXT" : "00000000000000000000000000000000",
+ "ERROR_DECTION_AND_CORRECTION" : false,
+ "ERROR_DECTION_ONLY" : false,
+ "ERROR_INJECTION" : false,
+ "EXTERNAL_MASTER_CONFIG_CLOCK" : false,
+ "Enable_DSRM" : false,
+ "FORMAT" : "binary",
+ "FREQUENCY_DIVIDER" : "1",
+ "Generate_Constraint_File_of_Ports" : false,
+ "Generate_IBIS_File" : false,
+ "Generate_Plain_Text_Timing_Report" : false,
+ "Generate_Post_PNR_Simulation_Model_File" : false,
+ "Generate_Post_Place_File" : false,
+ "Generate_SDF_File" : false,
+ "Generate_VHDL_Post_PNR_Simulation_Model_File" : false,
+ "Global_Freq" : "default",
+ "GwSyn_Loop_Limit" : 2000,
+ "HOTBOOT" : false,
+ "I2C" : false,
+ "I2C_SLAVE_ADDR" : "00",
+ "IncludePath" : [
+
+ ],
+ "Incremental_Compile" : "",
+ "Initialize_Primitives" : false,
+ "JTAG" : false,
+ "MODE_IO" : false,
+ "MSPI" : false,
+ "MSPI_JUMP" : false,
+ "MULTIBOOT_ADDRESS_WIDTH" : "24",
+ "MULTIBOOT_MODE" : "Normal",
+ "MULTIBOOT_SPI_FLASH_ADDRESS" : "000000",
+ "MULTIJUMP_ADDRESS_WIDTH" : "24",
+ "MULTIJUMP_MODE" : "Normal",
+ "MULTIJUMP_SPI_FLASH_ADDRESS" : "000000",
+ "Multi_Boot" : false,
+ "OUTPUT_BASE_NAME" : "mdtang_m60k",
+ "POWER_ON_RESET_MONITOR" : true,
+ "PRINT_BSRAM_VALUE" : true,
+ "PROGRAM_DONE_BYPASS" : false,
+ "PlaceInRegToIob" : true,
+ "PlaceIoRegToIob" : true,
+ "PlaceOutRegToIob" : true,
+ "Place_Option" : "0",
+ "Process_Configuration_Verion" : "1.0",
+ "Promote_Physical_Constraint_Warning_to_Error" : true,
+ "READY" : false,
+ "RECONFIG_N" : false,
+ "Ram_RW_Check" : false,
+ "Replicate_Resources" : false,
+ "Report_Auto-Placed_Io_Information" : false,
+ "Route_Maxfan" : 23,
+ "Route_Option" : "0",
+ "Run_Timing_Driven" : true,
+ "SECURE_MODE" : false,
+ "SECURITY_BIT" : true,
+ "SEU_HANDLER" : false,
+ "SEU_HANDLER_CHECKSUM" : false,
+ "SEU_HANDLER_MODE" : "auto",
+ "SSPI" : false,
+ "STOP_SEU_HANDLER" : false,
+ "Show_All_Warnings" : false,
+ "Synthesize_tool" : "GowinSyn",
+ "TclPre" : "",
+ "TopModule" : "mdtang_top",
+ "USERCODE" : "default",
+ "Unused_Pin" : "As_input_tri_stated_with_pull_up",
+ "VCC" : "0.9",
+ "VCCAUX" : "3.3",
+ "VCCX" : "3.3",
+ "VHDL_Standard" : "VHDL_Std_1993",
+ "Verilog_Standard" : "Vlg_Std_Sysv2017",
+ "WAKE_UP" : "0",
+ "show_all_warnings" : false,
+ "turn_off_bg" : false
+}
\ No newline at end of file
diff --git a/m60k.tcl b/m60k.tcl
new file mode 100644
index 0000000..9434652
--- /dev/null
+++ b/m60k.tcl
@@ -0,0 +1,9 @@
+
+add_file -type cst "src/m138k/m138k.cst"
+add_file -type sdc "src/mdtang.sdc"
+set_device GW5AT-LV60PG484AC1/I0 -device_version B
+
+set_option -output_base_name mdtang-m60k
+
+source build.tcl
+
diff --git a/mdtang.gprj b/mdtang.gprj
index 22c97b8..84c70cb 100644
--- a/mdtang.gprj
+++ b/mdtang.gprj
@@ -80,7 +80,6 @@
-
@@ -97,11 +96,6 @@
-
-
-
-
-
diff --git a/mdtang_m60k.gprj b/mdtang_m60k.gprj
new file mode 100644
index 0000000..b68c212
--- /dev/null
+++ b/mdtang_m60k.gprj
@@ -0,0 +1,106 @@
+
+
+
+ FPGA
+ 5
+ gw5at60b-002
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/verilator/README.md b/verilator/README.md
new file mode 100644
index 0000000..02eb240
--- /dev/null
+++ b/verilator/README.md
@@ -0,0 +1,17 @@
+
+## MDTang simulation suite
+
+This directory contains a verilator-based RTL simulator for MDTang.
+
+You can run the simulation as follows,
+
+```
+make
+ln -s obj_dir/Vmdtang_top sim
+ln -s ../src/fx68k/*.mem .
+./sim hello.bin
+```
+
+You can replace `hello.bin` with any game rom or test rom. Then follow instructions printed by the simulator for gamepad input, tracing and etc.
+
+You can also get sound output with `make audio`.
\ No newline at end of file