diff --git a/hw/efinix_fpga/debug_profile.wizard.json b/hw/efinix_fpga/debug_profile.wizard.json index 73565a8..f161bb2 100644 --- a/hw/efinix_fpga/debug_profile.wizard.json +++ b/hw/efinix_fpga/debug_profile.wizard.json @@ -3,12 +3,12 @@ { "name": "la0", "type": "la", - "uuid": "68ae6f6753aa4c41b26baf6770f0d8e4", + "uuid": "fc5ad0b7db9846e2b64719110e7975d8", "trigin_en": false, "trigout_en": false, "auto_inserted": true, "capture_control": false, - "data_depth": 8192, + "data_depth": 16384, "input_pipeline": 1, "probes": [ { @@ -36,31 +36,11 @@ "width": 16, "probe_type": 1 }, - { - "name": "cpu_nmib", - "width": 1, - "probe_type": 1 - }, - { - "name": "cpu_irqb", - "width": 1, - "probe_type": 1 - }, - { - "name": "cpu_data_out", - "width": 8, - "probe_type": 1 - }, { "name": "cpu_phi2", "width": 1, "probe_type": 1 }, - { - "name": "cpu_rdy", - "width": 1, - "probe_type": 1 - }, { "name": "spi_clk", "width": 1, @@ -85,16 +65,6 @@ "name": "spi_controller/active", "width": 1, "probe_type": 1 - }, - { - "name": "spi_controller/r_clock_counter", - "width": 9, - "probe_type": 1 - }, - { - "name": "spi_controller/r_baud_rate", - "width": 8, - "probe_type": 1 } ] } @@ -362,209 +332,35 @@ }, { "name": "la0_probe5", - "net": "cpu_nmib", - "path": [] - }, - { - "name": "la0_probe6", - "net": "cpu_irqb", - "path": [] - }, - { - "name": "la0_probe7[0]", - "net": "cpu_data_out[0]", - "path": [] - }, - { - "name": "la0_probe7[1]", - "net": "cpu_data_out[1]", - "path": [] - }, - { - "name": "la0_probe7[2]", - "net": "cpu_data_out[2]", - "path": [] - }, - { - "name": "la0_probe7[3]", - "net": "cpu_data_out[3]", - "path": [] - }, - { - "name": "la0_probe7[4]", - "net": "cpu_data_out[4]", - "path": [] - }, - { - "name": "la0_probe7[5]", - "net": "cpu_data_out[5]", - "path": [] - }, - { - "name": "la0_probe7[6]", - "net": "cpu_data_out[6]", - "path": [] - }, - { - "name": "la0_probe7[7]", - "net": "cpu_data_out[7]", - "path": [] - }, - { - "name": "la0_probe8", "net": "cpu_phi2", "path": [] }, { - "name": "la0_probe9", - "net": "cpu_rdy", - "path": [] - }, - { - "name": "la0_probe10", + "name": "la0_probe6", "net": "spi_clk", "path": [] }, { - "name": "la0_probe11", + "name": "la0_probe7", "net": "spi_mosi", "path": [] }, { - "name": "la0_probe12", + "name": "la0_probe8", "net": "sd_cs", "path": [] }, { - "name": "la0_probe13", + "name": "la0_probe9", "net": "spi_miso", "path": [] }, { - "name": "la0_probe14", + "name": "la0_probe10", "net": "active", "path": [ "spi_controller" ] - }, - { - "name": "la0_probe15[0]", - "net": "r_clock_counter[0]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[1]", - "net": "r_clock_counter[1]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[2]", - "net": "r_clock_counter[2]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[3]", - "net": "r_clock_counter[3]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[4]", - "net": "r_clock_counter[4]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[5]", - "net": "r_clock_counter[5]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[6]", - "net": "r_clock_counter[6]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[7]", - "net": "r_clock_counter[7]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe15[8]", - "net": "r_clock_counter[8]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[0]", - "net": "r_baud_rate[0]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[1]", - "net": "r_baud_rate[1]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[2]", - "net": "r_baud_rate[2]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[3]", - "net": "r_baud_rate[3]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[4]", - "net": "r_baud_rate[4]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[5]", - "net": "r_baud_rate[5]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[6]", - "net": "r_baud_rate[6]", - "path": [ - "spi_controller" - ] - }, - { - "name": "la0_probe16[7]", - "net": "r_baud_rate[7]", - "path": [ - "spi_controller" - ] } ] } @@ -578,7 +374,7 @@ ], "session": { "wizard": { - "data_depth": 8192, + "data_depth": 16384, "capture_control": false, "selected_nets": [ { @@ -625,32 +421,6 @@ "net_idx_left": 15, "net_idx_right": 0 }, - { - "name": "cpu_nmib", - "width": 1, - "clk_domain": "clk_50", - "selected_probe_type": "DATA AND TRIGGER", - "child": [], - "path": [] - }, - { - "name": "cpu_irqb", - "width": 1, - "clk_domain": "clk_50", - "selected_probe_type": "DATA AND TRIGGER", - "child": [], - "path": [] - }, - { - "name": "cpu_data_out", - "width": 8, - "clk_domain": "clk_50", - "selected_probe_type": "DATA AND TRIGGER", - "child": [], - "path": [], - "net_idx_left": 7, - "net_idx_right": 0 - }, { "name": "cpu_phi2", "width": 1, @@ -659,14 +429,6 @@ "child": [], "path": [] }, - { - "name": "cpu_rdy", - "width": 1, - "clk_domain": "clk_50", - "selected_probe_type": "DATA AND TRIGGER", - "child": [], - "path": [] - }, { "name": "spi_clk", "width": 1, @@ -708,30 +470,6 @@ "path": [ "spi_controller" ] - }, - { - "name": "r_clock_counter", - "width": 9, - "clk_domain": "clk_50", - "selected_probe_type": "DATA AND TRIGGER", - "child": [], - "path": [ - "spi_controller" - ], - "net_idx_left": 8, - "net_idx_right": 0 - }, - { - "name": "r_baud_rate", - "width": 8, - "clk_domain": "clk_50", - "selected_probe_type": "DATA AND TRIGGER", - "child": [], - "path": [ - "spi_controller" - ], - "net_idx_left": 7, - "net_idx_right": 0 } ], "top_module": "super6502", diff --git a/hw/efinix_fpga/init_hex.mem b/hw/efinix_fpga/init_hex.mem index b095bf6..ad3eb76 100644 --- a/hw/efinix_fpga/init_hex.mem +++ b/hw/efinix_fpga/init_hex.mem @@ -2,151 +2,151 @@ 8D 0E 02 8E 0F 02 8D 15 02 8E 16 02 88 B9 FF FF 8D 1F 02 88 B9 FF FF 8D 1E 02 8C 21 02 20 FF FF A0 FF D0 E8 60 A2 FF 9A D8 A9 F0 85 00 A9 7E 85 -01 20 CD F8 20 38 F7 20 45 F0 58 20 E6 F0 6C FC -FF 20 2C F7 00 A0 00 F0 07 A9 45 A2 F0 4C 00 02 -60 AD FF EF A2 00 60 8D FF EF 60 20 CC F0 C9 0A -D0 05 A9 0D 20 CC F0 60 DA 5A A8 B2 00 AA A9 1B -20 CC F0 A9 5B 20 CC F0 98 20 CC F0 A9 3B 20 CC -F0 8A 20 CC F0 A9 48 20 CC F0 7A FA 60 DA A9 1B -20 CC F0 A9 63 20 CC F0 68 60 40 DA BA 48 E8 E8 -BD 00 01 29 10 D0 06 68 FA 20 E5 F0 40 4C AD F0 -A9 01 8D DB EF 60 9C DB EF 60 A9 00 8D DA EF AD -DB EF 30 FB AD D9 EF 60 8D E6 EF 60 48 8D E6 EF -AD E7 EF 89 02 D0 F9 68 60 AD E6 EF A2 00 60 AD -E7 EF A2 00 60 60 20 B8 F7 A2 00 86 02 86 03 A9 -00 20 38 F8 20 91 F7 A9 14 A2 F9 20 6F F7 20 28 -F1 C9 00 20 50 F8 D0 03 4C 15 F1 A9 F0 A2 F8 20 -6F F7 4C 1C F1 A9 05 A2 F9 20 6F F7 4C 1F F1 4C -1F F1 A0 0C 20 1F F7 60 20 C5 F7 A9 00 20 80 F8 -20 9A F2 4C 5F F1 A0 00 A2 00 18 A9 01 71 00 91 -00 A0 00 A2 00 B1 00 C9 FF 20 56 F8 D0 03 4C 5F -F1 A9 36 A2 F9 20 6F F7 A2 00 A9 01 4C 96 F2 20 -B1 F4 A0 01 91 00 C9 01 20 50 F8 D0 C9 A2 00 A9 -00 A0 06 20 C4 F8 A0 07 20 09 F8 E0 03 D0 02 C9 -E8 20 6F F8 F0 03 4C 8C F1 4C 98 F1 A0 06 A2 00 -A9 01 20 0F F7 4C 76 F1 A9 01 20 23 F8 20 0B F5 -A0 01 A2 00 B1 00 C9 01 20 50 F8 D0 03 4C BE F1 -A9 2C A2 F9 20 6F F7 A2 00 A9 01 4C 96 F2 A0 05 -A2 00 B1 00 C9 AA 20 50 F8 D0 03 4C D5 F1 A2 00 -A9 01 4C 96 F2 A2 00 A9 00 A0 00 91 00 A0 00 A2 -00 B1 00 C9 FF 20 56 F8 D0 03 4C FB F1 A9 1C A2 -F9 20 6F F7 A2 00 A9 01 4C 96 F2 20 2D F6 A0 01 -91 00 A0 01 A2 00 B1 00 C9 02 20 6F F8 D0 03 4C -19 F2 20 87 F6 A0 01 91 00 A2 00 A9 00 A0 06 20 -C4 F8 A0 07 20 09 F8 E0 03 D0 02 C9 E8 20 6F F8 -F0 03 4C 38 F2 4C 44 F2 A0 06 A2 00 A9 01 20 0F -F7 4C 22 F2 A0 00 A2 00 18 A9 01 71 00 91 00 A0 -01 A2 00 B1 00 C9 00 20 50 F8 D0 81 A2 00 A9 00 -A0 06 20 C4 F8 A0 07 20 09 F8 E0 03 D0 02 C9 E8 -20 6F F8 F0 03 4C 7B F2 4C 87 F2 A0 06 A2 00 A9 -01 20 0F F7 4C 65 F2 A9 01 20 23 F8 20 B3 F5 A2 -00 A9 00 4C 96 F2 20 F9 F7 60 20 9E F7 A2 00 A9 -00 20 B6 F0 A2 00 A9 00 A0 01 20 C4 F8 A0 02 20 -09 F8 E0 03 D0 02 C9 E8 20 6F F8 F0 03 4C C3 F2 -4C CF F2 A0 01 A2 00 A9 01 20 0F F7 4C AD F2 A2 -00 A9 FF 20 BC F0 A2 00 A9 00 20 B6 F0 A2 00 A9 -00 A0 00 91 00 A0 00 A2 00 B1 00 C9 50 20 6F F8 -F0 03 4C F8 F2 4C 0D F3 A2 00 A9 FF 20 BC F0 A0 -00 A2 00 18 A9 01 71 00 91 00 4C E5 F2 20 EF F7 -60 20 80 F8 A0 05 A2 00 B1 00 09 40 A2 00 20 BC -F0 A0 04 20 12 F8 A2 00 A5 03 86 02 86 03 A2 00 -20 BC F0 A0 04 20 12 F8 A0 00 A6 03 A5 02 84 03 -84 02 A2 00 20 BC F0 A0 04 20 12 F8 8A A6 02 A4 -03 84 02 A0 00 84 03 A2 00 20 BC F0 A0 01 A2 00 -B1 00 20 BC F0 A0 00 A2 00 B1 00 09 01 A2 00 20 -BC F0 20 F4 F7 60 A9 00 20 80 F8 20 88 F7 4C A1 -F3 A0 01 A2 00 18 A9 01 71 00 91 00 A0 01 A2 00 -B1 00 C9 09 A9 00 A2 00 2A D0 03 4C A1 F3 4C B3 -F3 A2 00 A9 FF 20 BC F0 A0 00 91 00 C9 FF 20 56 -F8 D0 CE A0 00 A2 00 B1 00 4C BC F3 20 E1 F7 60 -20 96 F8 A0 01 20 09 F8 20 96 F8 20 76 F3 A0 00 -20 AC F8 A0 01 20 09 F8 1A D0 01 E8 20 96 F8 A2 -00 A9 FF 20 BC F0 A0 00 20 AC F8 20 E1 F7 60 20 -96 F8 A0 01 20 09 F8 20 96 F8 20 76 F3 A0 00 20 -AC F8 A0 01 20 09 F8 A0 00 20 FE F7 C9 02 A9 00 -A2 00 2A D0 03 4C 1B F4 4C 2E F4 A0 01 20 09 F8 -1A D0 01 E8 20 96 F8 A2 00 A9 04 20 75 F4 20 E1 -F7 60 20 96 F8 A0 01 20 09 F8 20 96 F8 20 76 F3 -A0 00 20 AC F8 A0 01 20 09 F8 A0 00 20 FE F7 C9 -02 A9 00 A2 00 2A D0 03 4C 5E F4 4C 71 F4 A0 01 -20 09 F8 1A D0 01 E8 20 96 F8 A2 00 A9 04 20 75 -F4 20 E1 F7 60 20 80 F8 4C 9A F4 A0 02 20 09 F8 -20 96 F8 A2 00 A9 FF 48 A0 03 A2 00 A9 01 20 0F -F7 68 20 BC F0 A0 00 20 AC F8 A0 00 B1 00 08 A0 -00 A2 00 B1 00 38 E9 01 91 00 28 D0 CE 20 EF F7 -60 20 88 F7 A2 00 A9 FF 20 BC F0 A2 00 A9 00 20 -B0 F0 A2 00 A9 FF 20 BC F0 A2 00 A9 00 20 80 F8 -A2 00 86 02 86 03 A9 00 20 38 F8 A2 00 A9 94 20 -11 F3 20 76 F3 A0 00 91 00 A2 00 A9 FF 20 BC F0 -A2 00 A9 00 20 B6 F0 A2 00 A9 FF 20 BC F0 A0 00 -A2 00 B1 00 4C 07 F5 20 D2 F7 60 20 96 F8 A2 00 -A9 FF 20 BC F0 A2 00 A9 00 20 B0 F0 A2 00 A9 FF -20 BC F0 A2 00 A9 08 20 80 F8 A2 01 A9 00 85 02 -A9 00 85 03 A9 AA 20 38 F8 A2 00 A9 86 20 11 F3 -A0 01 20 09 F8 20 32 F4 A2 00 A9 FF 20 BC F0 A2 -00 A9 00 20 B6 F0 A2 00 A9 FF 20 BC F0 20 E1 F7 -60 20 96 F8 A2 00 A9 FF 20 BC F0 A2 00 A9 00 20 -B0 F0 A2 00 A9 FF 20 BC F0 A2 00 A9 0D 20 80 F8 -A2 00 86 02 86 03 A9 00 20 38 F8 A2 00 A9 00 20 -11 F3 A0 01 20 09 F8 20 C0 F3 A2 00 A9 FF 20 BC -F0 A2 00 A9 00 20 B6 F0 A2 00 A9 FF 20 BC F0 20 -E1 F7 60 20 96 F8 20 88 F7 A2 00 A9 FF 20 BC F0 -A2 00 A9 00 20 B0 F0 A2 00 A9 FF 20 BC F0 A0 00 -91 00 A0 00 A2 00 B1 00 C9 FF 20 50 F8 D0 03 4C -F3 F5 4C E5 F5 A2 00 A9 FF 20 BC F0 C9 FF 20 50 -F8 D0 F2 A2 00 A9 3A 20 80 F8 A2 00 86 02 86 03 -A9 00 20 38 F8 A2 00 A9 00 20 11 F3 A0 02 20 09 -F8 20 EF F3 A2 00 A9 FF 20 BC F0 A2 00 A9 00 20 -B6 F0 A2 00 A9 FF 20 BC F0 20 EF F7 60 20 88 F7 -A2 00 A9 FF 20 BC F0 A2 00 A9 00 20 B0 F0 A2 00 -A9 FF 20 BC F0 A2 00 A9 37 20 80 F8 A2 00 86 02 -86 03 A9 00 20 38 F8 A2 00 A9 00 20 11 F3 20 76 -F3 A0 00 91 00 A2 00 A9 FF 20 BC F0 A2 00 A9 00 -20 B6 F0 A2 00 A9 FF 20 BC F0 A0 00 A2 00 B1 00 -4C 83 F6 20 D2 F7 60 20 88 F7 A2 00 A9 FF 20 BC -F0 A2 00 A9 00 20 B0 F0 A2 00 A9 FF 20 BC F0 A2 -00 A9 29 20 80 F8 A2 00 86 02 A9 40 85 03 A9 00 -20 38 F8 A2 00 A9 00 20 11 F3 20 76 F3 A0 00 91 -00 A2 00 A9 FF 20 BC F0 A2 00 A9 00 20 B6 F0 A2 -00 A9 FF 20 BC F0 A0 00 A2 00 B1 00 4C DF F6 20 -D2 F7 60 20 96 F8 20 B8 F7 A0 05 A2 00 B1 00 4C -F2 F6 A0 0E 20 1F F7 60 20 96 F8 20 B8 F7 A0 03 -A2 00 B1 00 4C 07 F7 A0 0E 20 1F F7 60 A0 00 18 -71 00 91 00 48 C8 8A 71 00 91 00 AA 68 60 C8 48 -18 98 65 00 85 00 90 02 E6 01 68 60 A0 00 F0 07 -A9 45 A2 F0 4C 00 02 60 A9 00 85 08 A9 F0 85 09 -A9 00 85 0A A9 02 85 0B A2 DA A9 FF 85 10 A0 00 -E8 F0 0D B1 08 91 0A C8 D0 F6 E6 09 E6 0B D0 F0 -E6 10 D0 EF 60 85 08 86 09 20 68 F0 4C 73 F7 85 -08 86 09 A0 00 B1 08 F0 0E C8 84 10 20 5B F0 A4 -10 D0 F2 E6 09 D0 EE 60 A4 00 D0 02 C6 01 C6 00 -60 A5 00 38 E9 02 85 00 90 01 60 C6 01 60 A5 00 -38 E9 03 85 00 90 01 60 C6 01 60 A5 00 38 E9 04 -85 00 90 01 60 C6 01 60 A5 00 38 E9 06 85 00 90 -01 60 C6 01 60 A5 00 38 E9 07 85 00 90 01 60 C6 -01 60 E6 00 D0 02 E6 01 60 A0 01 B1 00 AA 88 B1 -00 E6 00 F0 05 E6 00 F0 03 60 E6 00 E6 01 60 A0 -03 4C 1F F7 A0 06 4C 1F F7 A0 08 4C 1F F7 85 08 -86 09 A2 00 B1 08 60 A0 01 B1 00 AA 88 B1 00 60 -A0 03 B1 00 85 03 88 B1 00 85 02 88 B1 00 AA 88 -B1 00 60 A2 00 18 65 00 48 8A 65 01 AA 68 60 A9 -00 AA A0 00 84 02 84 03 48 20 AB F7 A0 03 A5 03 -91 00 88 A5 02 91 00 88 8A 91 00 68 88 91 00 60 -D0 06 A2 00 8A 60 D0 FA A2 00 A9 01 60 F0 F9 30 -F7 A2 00 8A 60 F0 02 10 EF A2 00 8A 60 F0 E9 90 -E7 A2 00 8A 60 F0 DB A2 00 8A 2A 60 A0 00 B1 00 -A4 00 F0 07 C6 00 A0 00 91 00 60 C6 01 C6 00 91 -00 60 A9 00 A2 00 48 A5 00 38 E9 02 85 00 B0 02 -C6 01 A0 01 8A 91 00 68 88 91 00 60 48 84 10 A0 -01 B1 00 85 09 88 B1 00 85 08 A4 10 68 91 08 4C -E1 F7 A0 00 91 00 C8 48 8A 91 00 68 60 A9 25 85 -08 A9 02 85 09 A9 00 A8 A2 02 F0 0A 91 08 C8 D0 -FB E6 09 CA D0 F6 C0 00 F0 05 91 08 C8 D0 F7 60 -45 72 72 6F 72 20 69 6E 69 74 20 53 44 20 43 41 -52 44 0D 0A 00 53 44 20 43 61 72 64 20 69 6E 69 -74 0D 0A 00 53 74 61 72 74 0D 0A 00 6F 70 5F 63 -6F 6E 64 20 65 72 72 6F 72 0D 0A 00 49 46 20 43 -6F 6E 64 0D 0A 00 47 6F 20 49 44 4C 45 0D 0A 00 +01 20 72 F8 20 F0 F6 20 45 F0 58 20 03 F1 6C FC +FF 20 E4 F6 00 A0 00 F0 07 A9 45 A2 F0 4C 00 02 +60 AD FF EF A2 00 60 8D FF EF 60 20 E9 F0 C9 0A +D0 05 A9 0D 20 E9 F0 60 DA 5A A8 B2 00 AA A9 1B +20 E9 F0 A9 5B 20 E9 F0 98 20 E9 F0 A9 3B 20 E9 +F0 8A 20 E9 F0 A9 48 20 E9 F0 7A FA 60 DA A9 1B +20 E9 F0 A9 63 20 E9 F0 68 60 40 DA BA 48 E8 E8 +BD 00 01 29 10 D0 06 68 FA 20 02 F1 40 4C AD F0 +48 A0 04 B1 00 09 40 20 D9 F0 88 B1 00 20 D9 F0 +88 10 F8 68 09 01 20 D9 F0 20 AC F7 60 A9 01 8D +DB EF 60 9C DB EF 60 A9 00 8D DA EF AD DB EF 30 +FB AD D9 EF 60 8D E6 EF 60 48 8D E6 EF AD E7 EF +89 02 D0 F9 68 60 AD E6 EF A2 00 60 AD E7 EF A2 +00 60 60 20 70 F7 A2 00 86 02 86 03 A9 00 20 DD +F7 20 49 F7 A9 B9 A2 F8 20 27 F7 20 45 F1 C9 00 +20 F5 F7 D0 03 4C 32 F1 A9 95 A2 F8 20 27 F7 4C +39 F1 A9 AA A2 F8 20 27 F7 4C 3C F1 4C 3C F1 A0 +0C 20 D7 F6 60 20 7D F7 A9 00 20 25 F8 20 B7 F2 +4C 7C F1 A0 00 A2 00 18 A9 01 71 00 91 00 A0 00 +A2 00 B1 00 C9 FF 20 FB F7 D0 03 4C 7C F1 A9 DB +A2 F8 20 27 F7 A2 00 A9 01 4C B3 F2 20 69 F4 A0 +01 91 00 C9 01 20 F5 F7 D0 C9 A2 00 A9 00 A0 06 +20 69 F8 A0 07 20 C1 F7 E0 03 D0 02 C9 E8 20 14 +F8 F0 03 4C A9 F1 4C B5 F1 A0 06 A2 00 A9 01 20 +C7 F6 4C 93 F1 A9 01 20 C8 F7 20 C3 F4 A0 01 A2 +00 B1 00 C9 01 20 F5 F7 D0 03 4C DB F1 A9 D1 A2 +F8 20 27 F7 A2 00 A9 01 4C B3 F2 A0 05 A2 00 B1 +00 C9 AA 20 F5 F7 D0 03 4C F2 F1 A2 00 A9 01 4C +B3 F2 A2 00 A9 00 A0 00 91 00 A0 00 A2 00 B1 00 +C9 FF 20 FB F7 D0 03 4C 18 F2 A9 C1 A2 F8 20 27 +F7 A2 00 A9 01 4C B3 F2 20 E5 F5 A0 01 91 00 A0 +01 A2 00 B1 00 C9 02 20 14 F8 D0 03 4C 36 F2 20 +3F F6 A0 01 91 00 A2 00 A9 00 A0 06 20 69 F8 A0 +07 20 C1 F7 E0 03 D0 02 C9 E8 20 14 F8 F0 03 4C +55 F2 4C 61 F2 A0 06 A2 00 A9 01 20 C7 F6 4C 3F +F2 A0 00 A2 00 18 A9 01 71 00 91 00 A0 01 A2 00 +B1 00 C9 00 20 F5 F7 D0 81 A2 00 A9 00 A0 06 20 +69 F8 A0 07 20 C1 F7 E0 03 D0 02 C9 E8 20 14 F8 +F0 03 4C 98 F2 4C A4 F2 A0 06 A2 00 A9 01 20 C7 +F6 4C 82 F2 A9 01 20 C8 F7 20 6B F5 A2 00 A9 00 +4C B3 F2 20 B1 F7 60 20 56 F7 A2 00 A9 00 20 D3 +F0 A2 00 A9 00 A0 01 20 69 F8 A0 02 20 C1 F7 E0 +03 D0 02 C9 E8 20 14 F8 F0 03 4C E0 F2 4C EC F2 +A0 01 A2 00 A9 01 20 C7 F6 4C CA F2 A2 00 A9 FF +20 D9 F0 A2 00 A9 00 20 D3 F0 A2 00 A9 00 A0 00 +91 00 A0 00 A2 00 B1 00 C9 50 20 14 F8 F0 03 4C +15 F3 4C 2A F3 A2 00 A9 FF 20 D9 F0 A0 00 A2 00 +18 A9 01 71 00 91 00 4C 02 F3 20 A7 F7 60 A9 00 +20 25 F8 20 40 F7 4C 59 F3 A0 01 A2 00 18 A9 01 +71 00 91 00 A0 01 A2 00 B1 00 C9 09 A9 00 A2 00 +2A D0 03 4C 59 F3 4C 6B F3 A2 00 A9 FF 20 D9 F0 +A0 00 91 00 C9 FF 20 FB F7 D0 CE A0 00 A2 00 B1 +00 4C 74 F3 20 99 F7 60 20 3B F8 A0 01 20 C1 F7 +20 3B F8 20 2E F3 A0 00 20 51 F8 A0 01 20 C1 F7 +1A D0 01 E8 20 3B F8 A2 00 A9 FF 20 D9 F0 A0 00 +20 51 F8 20 99 F7 60 20 3B F8 A0 01 20 C1 F7 20 +3B F8 20 2E F3 A0 00 20 51 F8 A0 01 20 C1 F7 A0 +00 20 B6 F7 C9 02 A9 00 A2 00 2A D0 03 4C D3 F3 +4C E6 F3 A0 01 20 C1 F7 1A D0 01 E8 20 3B F8 A2 +00 A9 04 20 2D F4 20 99 F7 60 20 3B F8 A0 01 20 +C1 F7 20 3B F8 20 2E F3 A0 00 20 51 F8 A0 01 20 +C1 F7 A0 00 20 B6 F7 C9 02 A9 00 A2 00 2A D0 03 +4C 16 F4 4C 29 F4 A0 01 20 C1 F7 1A D0 01 E8 20 +3B F8 A2 00 A9 04 20 2D F4 20 99 F7 60 20 25 F8 +4C 52 F4 A0 02 20 C1 F7 20 3B F8 A2 00 A9 FF 48 +A0 03 A2 00 A9 01 20 C7 F6 68 20 D9 F0 A0 00 20 +51 F8 A0 00 B1 00 08 A0 00 A2 00 B1 00 38 E9 01 +91 00 28 D0 CE 20 A7 F7 60 20 40 F7 A2 00 A9 FF +20 D9 F0 A2 00 A9 00 20 CD F0 A2 00 A9 FF 20 D9 +F0 A2 00 A9 00 20 25 F8 A2 00 86 02 86 03 A9 00 +20 DD F7 A2 00 A9 94 20 B0 F0 20 2E F3 A0 00 91 +00 A2 00 A9 FF 20 D9 F0 A2 00 A9 00 20 D3 F0 A2 +00 A9 FF 20 D9 F0 A0 00 A2 00 B1 00 4C BF F4 20 +8A F7 60 20 3B F8 A2 00 A9 FF 20 D9 F0 A2 00 A9 +00 20 CD F0 A2 00 A9 FF 20 D9 F0 A2 00 A9 08 20 +25 F8 A2 01 A9 00 85 02 A9 00 85 03 A9 AA 20 DD +F7 A2 00 A9 86 20 B0 F0 A0 01 20 C1 F7 20 EA F3 +A2 00 A9 FF 20 D9 F0 A2 00 A9 00 20 D3 F0 A2 00 +A9 FF 20 D9 F0 20 99 F7 60 20 3B F8 A2 00 A9 FF +20 D9 F0 A2 00 A9 00 20 CD F0 A2 00 A9 FF 20 D9 +F0 A2 00 A9 0D 20 25 F8 A2 00 86 02 86 03 A9 00 +20 DD F7 A2 00 A9 00 20 B0 F0 A0 01 20 C1 F7 20 +78 F3 A2 00 A9 FF 20 D9 F0 A2 00 A9 00 20 D3 F0 +A2 00 A9 FF 20 D9 F0 20 99 F7 60 20 3B F8 20 40 +F7 A2 00 A9 FF 20 D9 F0 A2 00 A9 00 20 CD F0 A2 +00 A9 FF 20 D9 F0 A0 00 91 00 A0 00 A2 00 B1 00 +C9 FF 20 F5 F7 D0 03 4C AB F5 4C 9D F5 A2 00 A9 +FF 20 D9 F0 C9 FF 20 F5 F7 D0 F2 A2 00 A9 3A 20 +25 F8 A2 00 86 02 86 03 A9 00 20 DD F7 A2 00 A9 +00 20 B0 F0 A0 02 20 C1 F7 20 A7 F3 A2 00 A9 FF +20 D9 F0 A2 00 A9 00 20 D3 F0 A2 00 A9 FF 20 D9 +F0 20 A7 F7 60 20 40 F7 A2 00 A9 FF 20 D9 F0 A2 +00 A9 00 20 CD F0 A2 00 A9 FF 20 D9 F0 A2 00 A9 +37 20 25 F8 A2 00 86 02 86 03 A9 00 20 DD F7 A2 +00 A9 00 20 B0 F0 20 2E F3 A0 00 91 00 A2 00 A9 +FF 20 D9 F0 A2 00 A9 00 20 D3 F0 A2 00 A9 FF 20 +D9 F0 A0 00 A2 00 B1 00 4C 3B F6 20 8A F7 60 20 +40 F7 A2 00 A9 FF 20 D9 F0 A2 00 A9 00 20 CD F0 +A2 00 A9 FF 20 D9 F0 A2 00 A9 29 20 25 F8 A2 00 +86 02 A9 40 85 03 A9 00 20 DD F7 A2 00 A9 00 20 +B0 F0 20 2E F3 A0 00 91 00 A2 00 A9 FF 20 D9 F0 +A2 00 A9 00 20 D3 F0 A2 00 A9 FF 20 D9 F0 A0 00 +A2 00 B1 00 4C 97 F6 20 8A F7 60 20 3B F8 20 70 +F7 A0 05 A2 00 B1 00 4C AA F6 A0 0E 20 D7 F6 60 +20 3B F8 20 70 F7 A0 03 A2 00 B1 00 4C BF F6 A0 +0E 20 D7 F6 60 A0 00 18 71 00 91 00 48 C8 8A 71 +00 91 00 AA 68 60 C8 48 18 98 65 00 85 00 90 02 +E6 01 68 60 A0 00 F0 07 A9 45 A2 F0 4C 00 02 60 +A9 00 85 08 A9 F0 85 09 A9 00 85 0A A9 02 85 0B +A2 DA A9 FF 85 10 A0 00 E8 F0 0D B1 08 91 0A C8 +D0 F6 E6 09 E6 0B D0 F0 E6 10 D0 EF 60 85 08 86 +09 20 68 F0 4C 2B F7 85 08 86 09 A0 00 B1 08 F0 +0E C8 84 10 20 5B F0 A4 10 D0 F2 E6 09 D0 EE 60 +A4 00 D0 02 C6 01 C6 00 60 A5 00 38 E9 02 85 00 +90 01 60 C6 01 60 A5 00 38 E9 03 85 00 90 01 60 +C6 01 60 A5 00 38 E9 04 85 00 90 01 60 C6 01 60 +A5 00 38 E9 06 85 00 90 01 60 C6 01 60 A5 00 38 +E9 07 85 00 90 01 60 C6 01 60 E6 00 D0 02 E6 01 +60 A0 01 B1 00 AA 88 B1 00 E6 00 F0 05 E6 00 F0 +03 60 E6 00 E6 01 60 A0 03 4C D7 F6 A0 05 4C D7 +F6 A0 08 4C D7 F6 85 08 86 09 A2 00 B1 08 60 A0 +01 B1 00 AA 88 B1 00 60 A2 00 18 65 00 48 8A 65 +01 AA 68 60 A9 00 AA A0 00 84 02 84 03 48 20 63 +F7 A0 03 A5 03 91 00 88 A5 02 91 00 88 8A 91 00 +68 88 91 00 60 D0 06 A2 00 8A 60 D0 FA A2 00 A9 +01 60 F0 F9 30 F7 A2 00 8A 60 F0 02 10 EF A2 00 +8A 60 F0 E9 90 E7 A2 00 8A 60 F0 DB A2 00 8A 2A +60 A0 00 B1 00 A4 00 F0 07 C6 00 A0 00 91 00 60 +C6 01 C6 00 91 00 60 A9 00 A2 00 48 A5 00 38 E9 +02 85 00 B0 02 C6 01 A0 01 8A 91 00 68 88 91 00 +60 48 84 10 A0 01 B1 00 85 09 88 B1 00 85 08 A4 +10 68 91 08 4C 99 F7 A0 00 91 00 C8 48 8A 91 00 +68 60 A9 25 85 08 A9 02 85 09 A9 00 A8 A2 02 F0 +0A 91 08 C8 D0 FB E6 09 CA D0 F6 C0 00 F0 05 91 +08 C8 D0 F7 60 45 72 72 6F 72 20 69 6E 69 74 20 +53 44 20 43 41 52 44 0D 0A 00 53 44 20 43 61 72 +64 20 69 6E 69 74 0D 0A 00 53 74 61 72 74 0D 0A +00 6F 70 5F 63 6F 6E 64 20 65 72 72 6F 72 0D 0A +00 49 46 20 43 6F 6E 64 0D 0A 00 47 6F 20 49 44 +4C 45 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/hw/efinix_fpga/super6502.xml b/hw/efinix_fpga/super6502.xml index 91bbcc4..495eacf 100644 --- a/hw/efinix_fpga/super6502.xml +++ b/hw/efinix_fpga/super6502.xml @@ -1,5 +1,5 @@ - + diff --git a/sw/bootloader/devices/sd_card.c b/sw/bootloader/devices/sd_card.c index 7193233..537450e 100644 --- a/sw/bootloader/devices/sd_card.c +++ b/sw/bootloader/devices/sd_card.c @@ -94,6 +94,7 @@ void SD_powerUpSeq() /******************************************************************************* Send command to SD card *******************************************************************************/ +/* void SD_command(uint8_t cmd, uint32_t arg, uint8_t crc) { // transmit command to sd card @@ -108,6 +109,7 @@ void SD_command(uint8_t cmd, uint32_t arg, uint8_t crc) // transmit crc spi_exchange(crc|0x01); } +*/ /******************************************************************************* Read R1 from SD card diff --git a/sw/bootloader/devices/sd_card_asm.s b/sw/bootloader/devices/sd_card_asm.s new file mode 100644 index 0000000..99622d0 --- /dev/null +++ b/sw/bootloader/devices/sd_card_asm.s @@ -0,0 +1,32 @@ +.export _SD_command + +.importzp sp + +.autoimport on + +; void SD_command(uint8_t cmd, uint32_t arg, uint8_t crc) + +; The plan: push crc to stack, load arg into tmp1 through 4 + +.proc _SD_command: near + + pha ; Push CRC to cpu stack + ldy #$04 + lda (sp),y ; Load CMD + ora #$40 ; start bit + jsr _spi_exchange + + dey +arg_loop: ; send ARG + lda (sp),y + jsr _spi_exchange + dey + bpl arg_loop + + pla ; Pull CRC from stack + ora #$01 ; stop bit + jsr _spi_exchange + jsr incsp5 ; pop all off stack + rts + +.endproc