Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/dreamcast2gamecube.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2015-11-06 08:11:46 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2015-11-06 08:11:46 +0300
commit652a1633723f97f26db744999328197bd0494904 (patch)
tree9b30ab67ac6f605bc605b2aae2619180dc9df75e /for_altera
First commitHEADmaster
Diffstat (limited to 'for_altera')
-rw-r--r--for_altera/DreamcastReader.qpf30
-rw-r--r--for_altera/DreamcastReader.qsf63
-rw-r--r--for_altera/DreamcastReader.qwsbin0 -> 794 bytes
-rw-r--r--for_altera/DreamcastReader.v79
4 files changed, 172 insertions, 0 deletions
diff --git a/for_altera/DreamcastReader.qpf b/for_altera/DreamcastReader.qpf
new file mode 100644
index 0000000..76ddafc
--- /dev/null
+++ b/for_altera/DreamcastReader.qpf
@@ -0,0 +1,30 @@
+# -------------------------------------------------------------------------- #
+#
+# Copyright (C) 1991-2013 Altera Corporation
+# Your use of Altera Corporation's design tools, logic functions
+# and other software and tools, and its AMPP partner logic
+# functions, and any output files from any of the foregoing
+# (including device programming or simulation files), and any
+# associated documentation or information are expressly subject
+# to the terms and conditions of the Altera Program License
+# Subscription Agreement, Altera MegaCore Function License
+# Agreement, or other applicable license agreement, including,
+# without limitation, that your use is for the sole purpose of
+# programming logic devices manufactured by Altera and sold by
+# Altera or its authorized distributors. Please refer to the
+# applicable agreement for further details.
+#
+# -------------------------------------------------------------------------- #
+#
+# Quartus II 64-Bit
+# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
+# Date created = 03:15:55 September 06, 2015
+#
+# -------------------------------------------------------------------------- #
+
+QUARTUS_VERSION = "13.0"
+DATE = "03:15:55 September 06, 2015"
+
+# Revisions
+
+PROJECT_REVISION = "DreamcastReader"
diff --git a/for_altera/DreamcastReader.qsf b/for_altera/DreamcastReader.qsf
new file mode 100644
index 0000000..9b3a7e8
--- /dev/null
+++ b/for_altera/DreamcastReader.qsf
@@ -0,0 +1,63 @@
+# -------------------------------------------------------------------------- #
+#
+# Copyright (C) 1991-2013 Altera Corporation
+# Your use of Altera Corporation's design tools, logic functions
+# and other software and tools, and its AMPP partner logic
+# functions, and any output files from any of the foregoing
+# (including device programming or simulation files), and any
+# associated documentation or information are expressly subject
+# to the terms and conditions of the Altera Program License
+# Subscription Agreement, Altera MegaCore Function License
+# Agreement, or other applicable license agreement, including,
+# without limitation, that your use is for the sole purpose of
+# programming logic devices manufactured by Altera and sold by
+# Altera or its authorized distributors. Please refer to the
+# applicable agreement for further details.
+#
+# -------------------------------------------------------------------------- #
+#
+# Quartus II 64-Bit
+# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
+# Date created = 03:15:56 September 06, 2015
+#
+# -------------------------------------------------------------------------- #
+#
+# Notes:
+#
+# 1) The default values for assignments are stored in the file:
+# DreamcastReader_assignment_defaults.qdf
+# If this file doesn't exist, see file:
+# assignment_defaults.qdf
+#
+# 2) Altera recommends that you do not modify this file. This
+# file is updated automatically by the Quartus II software
+# and any changes you make may be lost or overwritten.
+#
+# -------------------------------------------------------------------------- #
+
+
+set_global_assignment -name FAMILY MAX3000A
+set_global_assignment -name DEVICE "EPM3064ATC100-10"
+set_global_assignment -name TOP_LEVEL_ENTITY DreamcastReader
+set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
+set_global_assignment -name PROJECT_CREATION_TIME_DATE "03:15:55 SEPTEMBER 06, 2015"
+set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1"
+set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
+set_global_assignment -name DEVICE_FILTER_PIN_COUNT 100
+set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 10
+set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR "-1"
+set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
+set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
+set_global_assignment -name MAX7000_DEVICE_IO_STANDARD "3.3-V LVTTL"
+set_location_assignment PIN_23 -to data[0]
+set_location_assignment PIN_21 -to data[1]
+set_location_assignment PIN_20 -to data[2]
+set_location_assignment PIN_17 -to data[4]
+set_location_assignment PIN_16 -to data[5]
+set_location_assignment PIN_13 -to data[6]
+set_location_assignment PIN_12 -to data[7]
+set_location_assignment PIN_100 -to controller_pin1
+set_location_assignment PIN_97 -to controller_pin5
+set_location_assignment PIN_25 -to clock
+set_location_assignment PIN_8 -to reset
+set_location_assignment PIN_19 -to data[3] \ No newline at end of file
diff --git a/for_altera/DreamcastReader.qws b/for_altera/DreamcastReader.qws
new file mode 100644
index 0000000..2984220
--- /dev/null
+++ b/for_altera/DreamcastReader.qws
Binary files differ
diff --git a/for_altera/DreamcastReader.v b/for_altera/DreamcastReader.v
new file mode 100644
index 0000000..0b06967
--- /dev/null
+++ b/for_altera/DreamcastReader.v
@@ -0,0 +1,79 @@
+module DreamcastReader
+(
+ input controller_pin1,
+ input controller_pin5,
+ input reset,
+ output reg clock,
+ output reg [7:0] data
+);
+ reg [1:0] bit_counter1;
+ reg [1:0] bit_counter5;
+
+ reg [2:0] init_counter1;
+ reg [2:0] init_counter5;
+
+ reg data0;
+ reg data1;
+ reg data2;
+ reg data3;
+ reg data4;
+ reg data5;
+ reg data6;
+ reg data7;
+
+ always @ (negedge reset, negedge controller_pin1)
+ begin
+ if (!reset)
+ begin
+ bit_counter1 = 0;
+ init_counter1 = 0;
+ end else
+ begin
+ if (init_counter1 < 1)
+ begin
+ init_counter1 = 1;
+ end else if (init_counter1 == 1 && init_counter5 == 5)
+ begin
+ case (bit_counter1)
+ 0: data0 = controller_pin5;
+ 1: data2 = controller_pin5;
+ 2: data4 = controller_pin5;
+ 3: data6 = controller_pin5;
+ endcase
+ bit_counter1 = bit_counter1+1;
+ end
+ end
+ end
+
+ always @ (negedge reset, negedge controller_pin5)
+ begin
+ if (!reset)
+ begin
+ bit_counter5 = 0;
+ init_counter5 = 0;
+ clock = 1;
+ end else
+ begin
+ if (init_counter5 < 5)
+ begin
+ init_counter5 = init_counter5 + 1;
+ end else if (init_counter1 == 1 && init_counter5 == 5)
+ begin
+ case (bit_counter5)
+ 0: data1 = controller_pin1;
+ 1: data3 = controller_pin1;
+ 2: data5 = controller_pin1;
+ 3: data7 = controller_pin1;
+ endcase
+ bit_counter5 = bit_counter5+1;
+ if (bit_counter1 == 0 && bit_counter5 == 0)
+ begin
+ data = {data0, data1, data2, data3, data4, data5, data6, data7};
+ clock = 0;
+ end
+ else if (bit_counter5 == 2)
+ clock = 1;
+ end
+ end
+ end
+endmodule