From 446f4e7539a9185c11e302d3ebde3dc0bac41d71 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sun, 6 Aug 2023 21:41:15 -0700 Subject: [PATCH] Get bios calls starting to work --- hw/efinix_fpga/addr_decode.sv | 2 +- hw/efinix_fpga/init_hex.mem | 512 +++++++++++++-------------- hw/efinix_fpga/ip/uart/settings.json | 8 +- hw/efinix_fpga/ip/uart/uart.v | 2 +- hw/efinix_fpga/super6502.xml | 2 +- sw/bios/Makefile | 2 +- sw/bios/devices/interrupt.s | 5 +- sw/bios/devices/sd_print.c | 2 +- sw/bios/link.ld | 3 +- sw/bios/main.c | 28 +- sw/bootloader/bootloader.s | 4 + sw/script/format_disk.sh | 8 +- 12 files changed, 280 insertions(+), 298 deletions(-) diff --git a/hw/efinix_fpga/addr_decode.sv b/hw/efinix_fpga/addr_decode.sv index bde918f..b137400 100644 --- a/hw/efinix_fpga/addr_decode.sv +++ b/hw/efinix_fpga/addr_decode.sv @@ -19,6 +19,6 @@ assign o_divider_cs = i_addr >= 16'hefe8 && i_addr <= 16'hefef; assign o_uart_cs = i_addr >= 16'hefe6 && i_addr <= 16'hefe7; assign o_spi_cs = i_addr >= 16'hefd8 && i_addr <= 16'hefdb; assign o_leds_cs = i_addr == 16'hefff; -assign o_sdram_cs = i_addr < 16'h8000; +assign o_sdram_cs = i_addr < 16'he000; endmodule \ No newline at end of file diff --git a/hw/efinix_fpga/init_hex.mem b/hw/efinix_fpga/init_hex.mem index ad3eb76..61a5629 100644 --- a/hw/efinix_fpga/init_hex.mem +++ b/hw/efinix_fpga/init_hex.mem @@ -1,257 +1,257 @@ @00000000 -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 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 -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 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 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 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 -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 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 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 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 -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 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 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 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 9A F0 25 F0 9B F0 +00 80 4C 00 00 8D 13 02 8E 14 02 8D 1A 02 8E 1B +02 88 B9 FF FF 8D 24 02 88 B9 FF FF 8D 23 02 8C +26 02 20 FF FF A0 FF D0 E8 60 00 00 0B FE 00 00 +00 00 A2 FF 9A D8 A9 00 85 00 A9 80 85 01 20 83 +FE 20 3F FB 20 52 F0 58 20 CC F1 6C FC FF 20 33 +FB 00 A0 00 F0 07 A9 52 A2 F0 4C 05 02 60 AD FF +EF A2 00 60 8D FF EF 60 20 B2 F1 C9 0A D0 05 A9 +0D 20 B2 F1 60 DA 5A A8 B2 00 AA A9 1B 20 B2 F1 +A9 5B 20 B2 F1 98 20 B2 F1 A9 3B 20 B2 F1 8A 20 +B2 F1 A9 48 20 B2 F1 7A FA 60 DA A9 1B 20 B2 F1 +A9 63 20 B2 F1 68 60 40 DA BA 48 E8 E8 BD 00 01 +29 10 D0 06 68 FA 20 CB F1 40 68 FA 7C BF F0 C5 +F0 C9 F0 CA F0 20 9A F0 40 40 20 68 F0 40 48 A0 +04 B1 00 09 40 20 A2 F1 88 B1 00 20 A2 F1 88 10 +F8 68 09 01 20 A2 F1 20 2F FC 60 A2 08 A9 FF 20 +A2 F1 C9 FF D0 03 CA D0 F4 60 85 08 86 09 20 EB +F0 92 08 A9 FF 20 A2 F1 A0 01 91 08 20 1C FC 60 +AA 20 6A FD A9 FF 20 A2 F1 92 08 E6 08 D0 02 E6 +09 CA D0 F0 60 85 08 86 09 20 EB F0 C9 02 B0 12 +E6 08 D0 02 E6 08 A5 08 A6 09 20 97 FD A9 04 20 +10 F1 60 48 A9 FF 20 A2 F1 A9 00 20 96 F1 A9 FF +20 A2 F1 68 20 CE F0 20 EB F0 A8 A9 FF 20 A2 F1 +A9 00 20 9C F1 A9 FF 20 A2 F1 98 A2 00 60 A9 00 +20 9C F1 20 8B F1 A9 FF 20 A2 F1 A9 00 20 9C F1 +A2 50 A9 FF 20 A2 F1 CA D0 F8 60 A2 01 A9 C8 3A +D0 FD CA D0 F8 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 FA FB A2 +00 86 02 86 03 A9 00 20 91 FC 20 E0 FB A9 EA A2 +FE 20 A0 FB 20 93 F2 C9 00 20 3E FD D0 03 4C FB +F1 A9 E2 A2 FE 20 A0 FB 4C 87 F2 A9 D8 A2 FE 20 +A0 FB A9 A6 A2 FE 20 A0 FB A0 05 20 4D FC 20 91 +FC AD 00 02 AE 01 02 20 97 FD A9 0C 20 5E FC 20 +80 F5 A0 07 91 00 A9 CA A2 FE 20 A0 FB A0 07 A2 +00 B1 00 C9 00 20 44 FD D0 03 4C 4D F2 A0 06 A2 +00 B1 00 C9 FE 20 44 FD F0 03 4C 56 F2 A2 00 A9 +00 D0 03 4C 5A F2 A2 00 A9 01 D0 03 4C 6B F2 AD +00 02 AE 01 02 20 C1 F6 4C 84 F2 A0 06 A2 00 B1 +00 A2 00 29 F0 20 25 FB D0 03 4C 84 F2 A9 BB A2 +FE 20 A0 FB 6C 00 02 4C 8A F2 4C 8A F2 A0 0C 20 +0B FB 60 20 07 FC A9 00 20 81 FD 20 6E F1 4C CA +F2 A0 00 A2 00 18 A9 01 71 00 91 00 A0 00 A2 00 +B1 00 C9 FF 20 44 FD D0 03 4C CA F2 A9 0C A2 FF +20 A0 FB A2 00 A9 01 4C 01 F4 20 05 F4 A0 01 91 +00 C9 01 20 3E FD D0 C9 A2 00 A9 00 A0 06 20 C5 +FD A0 07 20 44 FC E0 03 D0 02 C9 E8 20 5D FD F0 +03 4C F7 F2 4C 03 F3 A0 06 A2 00 A9 01 20 FB FA +4C E1 F2 A9 01 20 5E FC 20 22 F4 A0 01 A2 00 B1 +00 C9 01 20 3E FD D0 03 4C 29 F3 A9 02 A2 FF 20 +A0 FB A2 00 A9 01 4C 01 F4 A0 05 A2 00 B1 00 C9 +AA 20 3E FD D0 03 4C 40 F3 A2 00 A9 01 4C 01 F4 +A2 00 A9 00 A0 00 91 00 A0 00 A2 00 B1 00 C9 FF +20 44 FD D0 03 4C 66 F3 A9 F2 A2 FE 20 A0 FB A2 +00 A9 01 4C 01 F4 20 44 F5 A0 01 91 00 A0 01 A2 +00 B1 00 C9 02 20 5D FD D0 03 4C 84 F3 20 61 F5 +A0 01 91 00 A2 00 A9 00 A0 06 20 C5 FD A0 07 20 +44 FC E0 03 D0 02 C9 E8 20 5D FD F0 03 4C A3 F3 +4C AF F3 A0 06 A2 00 A9 01 20 FB FA 4C 8D F3 A0 +00 A2 00 18 A9 01 71 00 91 00 A0 01 A2 00 B1 00 +C9 00 20 3E FD D0 81 A2 00 A9 00 A0 06 20 C5 FD +A0 07 20 44 FC E0 03 D0 02 C9 E8 20 5D FD F0 03 +4C E6 F3 4C F2 F3 A0 06 A2 00 A9 01 20 FB FA 4C +D0 F3 A9 01 20 5E FC 20 CA F4 A2 00 A9 00 4C 01 +F4 20 34 FC 60 A2 00 A9 00 20 81 FD A2 00 86 02 +86 03 A9 00 20 91 FC A2 00 A9 94 20 43 F1 4C 21 +F4 60 20 97 FD A2 00 A9 FF 20 A2 F1 A2 00 A9 00 +20 96 F1 A2 00 A9 FF 20 A2 F1 A2 00 A9 08 20 81 +FD A2 01 A9 00 85 02 A9 00 85 03 A9 AA 20 91 FC +A2 00 A9 86 20 CE F0 A0 01 20 44 FC 20 25 F1 A2 +00 A9 FF 20 A2 F1 A2 00 A9 00 20 9C F1 A2 00 A9 +FF 20 A2 F1 20 1C FC 60 20 97 FD A2 00 A9 FF 20 +A2 F1 A2 00 A9 00 20 96 F1 A2 00 A9 FF 20 A2 F1 +A2 00 A9 0D 20 81 FD A2 00 86 02 86 03 A9 00 20 +91 FC A2 00 A9 00 20 CE F0 A0 01 20 44 FC 20 FA +F0 A2 00 A9 FF 20 A2 F1 A2 00 A9 00 20 9C F1 A2 +00 A9 FF 20 A2 F1 20 1C FC 60 20 97 FD 20 D7 FB +A2 00 A9 FF 20 A2 F1 A2 00 A9 00 20 96 F1 A2 00 +A9 FF 20 A2 F1 A0 00 91 00 A0 00 A2 00 B1 00 C9 +FF 20 3E FD D0 03 4C 0A F5 4C FC F4 A2 00 A9 FF +20 A2 F1 C9 FF 20 3E FD D0 F2 A2 00 A9 3A 20 81 +FD A2 00 86 02 86 03 A9 00 20 91 FC A2 00 A9 00 +20 CE F0 A0 02 20 44 FC 20 25 F1 A2 00 A9 FF 20 +A2 F1 A2 00 A9 00 20 9C F1 A2 00 A9 FF 20 A2 F1 +20 2A FC 60 A2 00 A9 37 20 81 FD A2 00 86 02 86 +03 A9 00 20 91 FC A2 00 A9 00 20 43 F1 4C 60 F5 +60 A2 00 A9 29 20 81 FD A2 00 86 02 A9 40 85 03 +A9 00 20 91 FC A2 00 A9 00 20 43 F1 4C 7F F5 60 +20 97 FD 20 FA FB A0 07 20 44 FC 20 97 FD A2 00 +A9 FF A0 00 20 AD FD A2 00 A9 FF 20 A2 F1 A2 00 +A9 00 20 96 F1 A2 00 A9 FF 20 A2 F1 A2 00 A9 11 +20 81 FD A0 0E 20 4D FC 20 91 FC A2 00 A9 00 20 +CE F0 20 EB F0 A0 05 91 00 A0 05 A2 00 B1 00 C9 +FF 20 3E FD D0 03 4C 88 F6 A2 00 A9 00 A0 02 20 +C5 FD 4C FD F5 A2 00 A9 FF 20 A2 F1 A0 04 91 00 +C9 FF 20 3E FD D0 03 4C FD F5 4C 11 F6 A0 02 A2 +00 A9 01 20 FB FA E0 06 D0 02 C9 1B 20 3E FD D0 +D4 A0 04 A2 00 B1 00 C9 FE 20 44 FD D0 03 4C 75 +F6 A2 00 A9 00 A0 00 20 C5 FD A0 01 20 44 FC E0 +02 20 5D FD F0 03 4C 3C F6 4C 67 F6 A0 09 20 44 +FC 20 97 FD A2 00 A9 FF 48 A0 0A A2 00 A9 01 20 +FB FA 68 20 A2 F1 A0 00 20 AD FD A0 00 A2 00 A9 +01 20 FB FA 4C 2A F6 A2 00 A9 FF 20 A2 F1 A2 00 +A9 FF 20 A2 F1 A0 07 20 44 FC 20 97 FD A0 06 A2 +00 B1 00 A0 00 20 AD FD A2 00 A9 FF 20 A2 F1 A2 +00 A9 00 20 9C F1 A2 00 A9 FF 20 A2 F1 A0 05 A2 +00 B1 00 4C A6 F6 A0 0E 20 0B FB 60 20 97 FD 20 +FA FB A0 03 A2 00 B1 00 4C BB F6 A0 0E 20 0B FB +60 20 97 FD A9 00 20 81 FD 20 E0 FB A2 00 A9 00 +A0 00 20 C5 FD A0 01 20 44 FC E0 02 20 5D FD F0 +03 4C E7 F6 4C 49 F7 A9 16 A2 FF 20 97 FD A0 06 +20 44 FC A0 00 20 39 FC 20 97 FD A0 07 A2 00 A9 +01 20 FB FA A0 04 20 6C FB A0 02 A2 00 B1 00 C9 +1F 20 44 FD D0 03 4C 2B F7 A9 1A A2 FF 20 A0 FB +A2 00 A9 00 A0 02 91 00 4C 3D F7 A2 00 A9 20 20 +68 F0 A0 02 A2 00 18 A9 01 71 00 91 00 A0 00 A2 +00 A9 01 20 FB FA 4C D5 F6 A9 1A A2 FF 20 A0 FB +20 2F FC 60 A0 00 B1 16 E6 16 D0 02 E6 17 60 AD +3D 02 8D 38 02 20 00 F8 A9 38 A2 02 20 97 FD 20 +78 FD 4C 02 02 A5 14 38 E9 02 85 14 B0 02 C6 15 +60 AD 42 02 D0 11 20 9E F7 4C 1E FB AD 42 02 D0 +06 20 9E F7 4C 18 FB 20 9E F7 85 02 86 03 20 75 +F7 A0 01 B1 14 AA 88 B1 14 60 A0 00 84 08 84 09 +B1 16 38 E9 30 90 2C C9 0A B0 28 20 58 F7 48 A5 +08 A6 09 06 08 26 09 06 08 26 09 65 08 85 08 8A +65 09 85 09 06 08 26 09 68 65 08 85 08 90 D1 E6 +09 B0 CD A5 08 A6 09 60 AC 44 02 EE 44 02 99 45 +02 60 A9 45 A2 02 18 6D 44 02 90 01 E8 4C 97 FD +A5 18 A6 19 4C 97 FD 20 5F F7 EE 3E 02 D0 F8 EE +3F 02 D0 F3 60 20 00 F8 AD 59 02 AE 5A 02 20 97 +FD AD 5B 02 AE 5C 02 20 97 FD 4C 02 02 84 08 20 +91 FC 20 F2 F7 A5 08 4C C1 FC 84 08 20 91 FC 20 +F2 F7 A5 08 4C 02 FD 48 A0 05 B9 14 00 99 32 02 +88 10 F7 68 85 14 86 15 20 14 FC 85 16 86 17 20 +14 FC 85 18 86 19 A9 00 A8 91 18 C8 91 18 C8 B1 +18 8D 03 02 C8 B1 18 8D 04 02 A5 16 85 08 A5 17 +85 09 A0 00 B1 16 F0 0B C9 25 F0 07 C8 D0 F5 E6 +17 D0 F1 98 18 65 16 85 16 90 02 E6 17 38 E5 08 +85 0A A5 17 E5 09 85 0B 05 0A F0 25 20 FA FB A0 +05 A5 19 91 00 88 A5 18 91 00 88 A5 09 91 00 88 +A5 08 91 00 88 A5 0B 91 00 88 A5 0A 91 00 20 02 +02 20 54 F7 AA D0 0B A2 05 BD 32 02 95 14 CA 10 +F8 60 C9 25 D0 09 B1 16 C9 25 D0 09 20 58 F7 20 +62 F7 4C 7A F8 A9 00 A2 0B 9D 39 02 CA 10 FA B1 +16 C9 2D D0 05 8E 39 02 F0 19 C9 2B D0 05 8E 3A +02 F0 10 C9 20 D0 05 8E 3B 02 F0 07 C9 23 D0 09 +8E 3C 02 20 58 F7 4C FF F8 A2 20 C9 30 D0 06 AA +20 58 F7 B1 16 8E 3D 02 C9 2A D0 09 20 58 F7 20 +9E F7 4C 48 F9 20 AA F7 8D 3E 02 8E 3F 02 8C 40 +02 8C 41 02 B1 16 C9 2E D0 1B 20 58 F7 B1 16 C9 +2A D0 09 20 58 F7 20 9E F7 4C 6F F9 20 AA F7 8D +40 02 8E 41 02 B1 16 C9 7A F0 19 C9 68 F0 15 C9 +74 F0 11 C9 6A F0 08 C9 4C F0 04 C9 6C D0 0B A9 +FF 8D 42 02 20 58 F7 4C 75 F9 8C 44 02 A2 45 8E +59 02 A2 02 8E 5A 02 20 58 F7 C9 63 D0 0E 20 9E +F7 8D 45 02 A9 00 8D 46 02 4C 99 FA C9 64 F0 04 +C9 69 D0 2D A2 00 AD 3B 02 F0 02 A2 20 AD 3A 02 +F0 02 A2 2B 8E 43 02 20 8C F7 A4 03 30 0B AC 43 +02 F0 06 8C 45 02 EE 44 02 A0 0A 20 2D F8 4C 99 +FA C9 6E D0 15 20 9E F7 85 08 86 09 A0 00 B1 18 +91 08 C8 B1 18 91 08 4C 7A F8 C9 6F D0 27 20 8C +F7 AC 3C 02 F0 17 48 86 10 05 10 05 02 05 03 0D +40 02 0D 41 02 F0 06 A9 30 20 E8 F7 68 A0 08 20 +2D F8 4C 99 FA C9 70 D0 0D A2 00 8E 42 02 E8 8E +3C 02 A9 78 D0 27 C9 73 D0 0C 20 9E F7 8D 59 02 +8E 5A 02 4C 99 FA C9 75 D0 0B 20 81 F7 A0 0A 20 +3A F8 4C 99 FA C9 78 F0 04 C9 58 D0 29 48 AD 3C +02 F0 0A A9 30 20 E8 F7 A9 58 20 E8 F7 20 81 F7 +A0 10 20 3A F8 68 C9 78 D0 09 AD 59 02 AE 5A 02 +20 E4 FD 4C 99 FA 4C 7A F8 AD 59 02 AE 5A 02 20 +CE FD 8D 5B 02 8E 5C 02 AD 40 02 0D 41 02 F0 15 +AE 40 02 EC 5B 02 AD 41 02 A8 ED 5C 02 B0 06 8E +5B 02 8C 5C 02 38 AD 3E 02 ED 5B 02 AA AD 3F 02 +ED 5C 02 B0 03 A9 00 AA 49 FF 8D 3F 02 8A 49 FF +8D 3E 02 AD 39 02 D0 03 20 0A F8 20 15 F8 AD 39 +02 F0 03 20 0A F8 4C 7A F8 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 FF E0 80 B0 02 A0 00 +84 02 84 03 60 E0 00 D0 06 AA D0 03 A9 01 60 A2 +00 8A 60 A0 00 F0 07 A9 52 A2 F0 4C 05 02 60 A9 +00 85 08 A9 F0 85 09 A9 00 85 0A A9 02 85 0B A2 +CD 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 8C 5D 02 88 +88 98 18 65 00 85 08 A6 01 90 01 E8 86 09 A0 01 +B1 08 AA 88 B1 08 20 97 FD A5 08 A6 09 20 53 FE +AC 5D 02 4C 0B FB 85 08 86 09 20 75 F0 4C A4 FB +85 08 86 09 A0 00 B1 08 F0 0E C8 84 10 20 68 F0 +A4 10 D0 F2 E6 09 D0 EE 60 E0 00 D0 15 4A AA BD +44 FF 90 05 4A 4A 4A 4A 18 29 0F AA BD 39 FF A2 +00 60 38 A9 00 AA 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 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 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 0B FB A0 +05 4C 0B FB A0 08 4C 0B FB 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 18 49 FF 69 01 48 +8A 49 FF 69 00 AA A5 02 49 FF 69 00 85 02 A5 03 +49 FF 69 00 85 03 68 60 A9 00 AA A0 00 84 02 84 +03 48 20 ED FB A0 03 A5 03 91 00 88 A5 02 91 00 +88 8A 91 00 68 88 91 00 60 85 10 20 14 FC 85 0A +86 0B 85 0C 86 0D 20 6A FD 20 14 FC 85 02 86 03 +60 20 A9 FC A6 03 A4 10 C0 0A D0 39 A5 02 05 09 +05 08 D0 11 E0 80 D0 0D A0 0B B9 2D FF 91 0A 88 +10 F8 4C 39 FD 8A 10 1D A9 2D A0 00 91 0A E6 0A +D0 02 E6 0B A5 08 A6 09 20 6A FC 85 08 86 09 4C +05 FD 20 A9 FC A9 00 48 A0 20 A9 00 06 08 26 09 +26 02 26 03 2A C5 10 90 04 E5 10 E6 08 88 D0 EC +A8 B9 1D FF 48 A5 08 05 09 05 02 05 03 D0 D9 A0 +00 68 91 0A F0 03 C8 D0 F8 A5 0C A6 0D 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 01 B1 00 85 09 +88 B1 00 85 08 4C 1C FC A9 01 4C 95 FD 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 1C FC A0 00 91 00 C8 48 8A 91 00 68 60 85 0A +86 0B A2 00 A0 00 B1 0A F0 08 C8 D0 F9 E6 0B E8 +D0 F4 98 60 85 08 86 09 85 0A 86 0B A0 00 B1 08 +F0 14 20 BD FB 29 02 F0 06 B1 08 69 20 91 08 C8 +D0 EC E6 09 D0 E8 A5 0A A6 0B 60 20 14 FC 85 0A +86 0B E8 8E 31 02 AA E8 8E 30 02 20 6A FD 20 14 +FC 85 0C 86 0D A0 00 84 10 B1 0C 18 65 0A 91 0C +C8 B1 0C 65 0B 91 0C CE 30 02 F0 11 A4 10 B1 08 +C8 D0 02 E6 09 84 10 20 68 F0 4C 37 FE CE 31 02 +D0 EA 60 85 08 86 09 A9 00 8D 2A 02 8D 2B 02 A0 +01 B1 00 AA 88 B1 00 20 97 FD A0 02 A9 2A 91 00 +C8 A9 02 91 00 A5 08 A6 09 20 47 F8 AD 2A 02 AE +2B 02 60 A9 32 85 08 A9 02 85 09 A9 00 A8 A2 00 +F0 0A 91 08 C8 D0 FB E6 09 CA D0 F6 C0 2C F0 05 +91 08 C8 D0 F7 60 0D 0A 52 65 61 64 69 6E 67 20 +73 65 63 74 6F 72 3A 20 30 78 00 45 72 72 6F 72 +20 74 6F 6B 65 6E 3A 0D 0A 00 0D 0A 52 65 73 70 +6F 6E 73 65 3A 0D 0A 00 53 75 63 63 65 73 73 0D +0A 00 45 72 72 6F 72 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 25 32 78 00 0D 0A 00 30 31 32 +33 34 35 36 37 38 39 41 42 43 44 45 46 2D 32 31 +34 37 34 38 33 36 34 38 00 00 01 02 0C 09 0A 10 +40 50 A0 D0 66 66 66 66 A6 88 88 66 66 66 66 66 +66 66 66 66 09 00 00 00 00 00 00 00 33 33 33 33 +33 00 00 00 50 55 55 25 22 22 22 22 22 22 22 22 +22 02 00 00 40 44 44 14 11 11 11 11 11 11 11 11 +11 01 00 70 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 A7 F0 32 F0 A8 F0 diff --git a/hw/efinix_fpga/ip/uart/settings.json b/hw/efinix_fpga/ip/uart/settings.json index cee281a..a571cf2 100644 --- a/hw/efinix_fpga/ip/uart/settings.json +++ b/hw/efinix_fpga/ip/uart/settings.json @@ -23,12 +23,12 @@ }, "output": { "external_source_source": [ - "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.v", - "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart.v", "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.vhd", - "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_define.vh" + "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_define.vh", + "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.v", + "/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart.v" ] }, "sw_version": "2023.1.150", - "generated_date": "2023-07-23T03:23:04.338270" + "generated_date": "2023-08-06T21:23:16.380430" } \ No newline at end of file diff --git a/hw/efinix_fpga/ip/uart/uart.v b/hw/efinix_fpga/ip/uart/uart.v index 3814be2..ae1a2df 100644 --- a/hw/efinix_fpga/ip/uart/uart.v +++ b/hw/efinix_fpga/ip/uart/uart.v @@ -43,7 +43,7 @@ // //////////////////////////////////////////////////////////////////////////////// -`define IP_UUID _8d7ceb45e0e64e208e634a02f6a59365 +`define IP_UUID _d5f4d7c01b1345bca7e33275f3464327 `define IP_NAME_CONCAT(a,b) a``b `define IP_MODULE_NAME(name) `IP_NAME_CONCAT(name,`IP_UUID) module uart ( diff --git a/hw/efinix_fpga/super6502.xml b/hw/efinix_fpga/super6502.xml index 495eacf..1c9b7d7 100644 --- a/hw/efinix_fpga/super6502.xml +++ b/hw/efinix_fpga/super6502.xml @@ -1,5 +1,5 @@ - + diff --git a/sw/bios/Makefile b/sw/bios/Makefile index 51b5dd4..65a5116 100644 --- a/sw/bios/Makefile +++ b/sw/bios/Makefile @@ -2,7 +2,7 @@ CC=../cc65/bin/cl65 CFLAGS=-T -t none -I. --cpu "65C02" LDFLAGS=-C link.ld -m $(NAME).map -NAME=bootloader +NAME=bios BIN=$(NAME).bin HEX=$(NAME).hex diff --git a/sw/bios/devices/interrupt.s b/sw/bios/devices/interrupt.s index 34cb908..862ae82 100644 --- a/sw/bios/devices/interrupt.s +++ b/sw/bios/devices/interrupt.s @@ -45,7 +45,10 @@ irq: PLA ; Restore accumulator contents ; --------------------------------------------------------------------------- ; BRK detected, stop -break: +break: + pla + plx + jmp (bios_table,x) bios_table: diff --git a/sw/bios/devices/sd_print.c b/sw/bios/devices/sd_print.c index 2dcac25..099b8fc 100644 --- a/sw/bios/devices/sd_print.c +++ b/sw/bios/devices/sd_print.c @@ -157,7 +157,7 @@ void SD_printBuf(uint8_t *buf) for(i = 0; i < SD_BLOCK_LEN; i++) { cprintf("%2x", *buf++); - if(colCount == 19) + if(colCount == 31) { cputs("\r\n"); colCount = 0; diff --git a/sw/bios/link.ld b/sw/bios/link.ld index b1a51cf..53ef73c 100644 --- a/sw/bios/link.ld +++ b/sw/bios/link.ld @@ -1,7 +1,8 @@ MEMORY { ZP: start = $0, size = $100, type = rw, define = yes; - SDRAM: start = $200, size = $7cf0, type = rw, define = yes; + SDRAM: start = $200, size = $7e00, type = rw, define = yes; + BOOTLOADER: start = $8000, size = $1000, type = rw, define = yes; ROM: start = $F000, size = $1000, file = %O; } diff --git a/sw/bios/main.c b/sw/bios/main.c index d22de3d..e1c3455 100644 --- a/sw/bios/main.c +++ b/sw/bios/main.c @@ -11,7 +11,8 @@ #define KERNEL_LOAD_ADDR 0xD000 -uint8_t buf[512]; +//uint8_t buf[512]; +uint8_t *buf = (uint8_t*)0x8000; int main() { // array to hold responses @@ -50,30 +51,7 @@ int main() { //SD_printDataErrToken(token); } - // update address to 0x00000100 - // addr = 0x00000100; - - // // fill buffer with 0x55 - // for(i = 0; i < 512; i++) buf[i] = 0x55; - - // cputs("Writing 0x55 to sector: 0x"); - // cprintf("%x", (uint8_t)(addr >> 24)); - // cprintf("%x", (uint8_t)(addr >> 16)); - // cprintf("%x", (uint8_t)(addr >> 8)); - // cprintf("%x", (uint8_t)addr); - - // // write data to sector - // res[0] = SD_writeSingleBlock(addr, buf, &token); - - // cputs("\r\nResponse:\r\n"); - // //SD_printR1(res[0]); - - // // if no errors writing - // if(res[0] == 0x00) - // { - // if(token == SD_DATA_ACCEPTED) - // cputs("Write successful\r\n"); - // } + __asm__ ("jmp (%v)", buf); } while(1) ; diff --git a/sw/bootloader/bootloader.s b/sw/bootloader/bootloader.s index d22b578..f05685e 100644 --- a/sw/bootloader/bootloader.s +++ b/sw/bootloader/bootloader.s @@ -7,7 +7,11 @@ _start: .byte "SUPR6502" _main: + ldx #$04 + lda #'A' brk + nop ; This byte available for something + @1: jmp @1 _end: diff --git a/sw/script/format_disk.sh b/sw/script/format_disk.sh index 99b82a6..9cd6c8f 100644 --- a/sw/script/format_disk.sh +++ b/sw/script/format_disk.sh @@ -1,6 +1,6 @@ #!/bin/bash -BOOTLOADER=bootloader/bootloader.bin +BOOTLOADER=../bootloader/bootloader.bin DEVICE=/dev/mmcblk0 TMPBOOTSECT=/tmp/bootsect TMPMOUNT=/tmp/sd @@ -13,11 +13,7 @@ sudo mkfs.vfat -F32 $DEVICE -n SUPER6502 $V echo echo "$(tput bold setaf 11)Modifying Boot Sector$(tput sgr 0)" -sudo dd if=$DEVICE of=$TMPBOOTSECT bs=512 count=1 $STATUS -sudo dd conv=notrunc if=$BOOTLOADER of=$DEVICE bs=512 skip=0 count=1 $STATUS -sudo dd conv=notrunc if=$TMPBOOTSECT of=$DEVICE bs=1 skip=0 count=90 iflag=skip_bytes,count_bytes $STATUS -sudo dd conv=notrunc if=$BOOTLOADER of=$DEVICE bs=1 skip=0 count=3 iflag=skip_bytes,count_bytes $STATUS -echo +sudo dd if=$BOOTLOADER of=$DEVICE bs=512 count=1 $STATUS echo "$(tput bold setaf 10)Done!$(tput sgr 0)"