diff --git a/hw/efinix_fpga/debug_profile.wizard.json b/hw/efinix_fpga/debug_profile.wizard.json index 488d3a3..34574c6 100644 --- a/hw/efinix_fpga/debug_profile.wizard.json +++ b/hw/efinix_fpga/debug_profile.wizard.json @@ -3,7 +3,7 @@ { "name": "la0", "type": "la", - "uuid": "3116afbb3c1645178391686859e56041", + "uuid": "376f85320e7b4d47a35d93dea8b58f08", "trigin_en": false, "trigout_en": false, "auto_inserted": true, diff --git a/hw/efinix_fpga/init_hex.mem b/hw/efinix_fpga/init_hex.mem index f306417..a702697 100644 --- a/hw/efinix_fpga/init_hex.mem +++ b/hw/efinix_fpga/init_hex.mem @@ -1,10 +1,10 @@ @00000000 -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 70 FD 00 00 -00 00 A2 FF 9A D8 A9 00 85 00 A9 80 85 01 20 E8 -FD 20 BA FA 20 52 F0 58 20 69 F2 6C FC FF 20 AE -FA 00 A0 00 F0 07 A9 52 A2 F0 4C 05 02 60 AD FF +00 80 4C 00 00 8D 13 90 8E 14 90 8D 1A 90 8E 1B +90 88 B9 FF FF 8D 24 90 88 B9 FF FF 8D 23 90 8C +26 90 20 FF FF A0 FF D0 E8 60 00 00 6F FD 00 00 +00 00 A2 FF 9A D8 A9 00 85 00 A9 E0 85 01 20 E7 +FD 20 B9 FA 20 52 F0 58 20 69 F2 6C FC FF 20 AD +FA 00 A0 00 F0 07 A9 52 A2 F0 4C 05 90 60 AD FF EF A2 00 60 8D FF EF 60 20 4F F2 C9 0A D0 05 A9 0D 20 4F F2 60 DA 5A A8 B2 00 AA A9 1B 20 4F F2 A9 5B 20 4F F2 98 20 4F F2 A9 3B 20 4F F2 8A 20 @@ -13,19 +13,19 @@ A9 63 20 4F F2 68 60 40 DA BA 48 E8 E8 BD 00 01 29 10 D0 06 68 FA 20 68 F2 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 3F F2 88 B1 00 20 3F F2 88 10 -F8 68 09 01 20 3F F2 20 AA FB 60 A2 08 A9 FF 20 +F8 68 09 01 20 3F F2 20 A9 FB 60 A2 08 A9 FF 20 3F F2 C9 FF D0 03 CA D0 F4 60 85 08 86 09 20 EB -F0 92 08 A9 FF 20 3F F2 A0 01 91 08 20 97 FB 60 -AA 20 E5 FC A9 FF 20 3F F2 92 08 E6 08 D0 02 E6 +F0 92 08 A9 FF 20 3F F2 A0 01 91 08 20 96 FB 60 +AA 20 E4 FC A9 FF 20 3F F2 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 12 FD A9 04 20 +E6 08 D0 02 E6 08 A5 08 A6 09 20 11 FD A9 04 20 10 F1 60 48 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 68 20 CE F0 20 EB F0 A8 A9 FF 20 3F F2 A9 00 20 39 F2 A9 FF 20 3F F2 98 A2 00 60 A9 00 20 39 F2 20 8B F1 A9 FF 20 3F F2 A9 00 20 39 F2 A2 50 A9 FF 20 3F F2 CA D0 F8 60 A2 01 A9 C8 3A -D0 FD CA D0 F8 60 85 0A 86 0B A9 FF 92 0A 20 E5 -FC A5 00 85 0C A5 01 85 0D 20 52 FB A0 00 B1 0C +D0 FD CA D0 F8 60 85 0A 86 0B A9 FF 92 0A 20 E4 +FC A5 00 85 0C A5 01 85 0D 20 51 FB A0 00 B1 0C 91 00 C8 B1 0C 91 00 C8 B1 0C 91 00 C8 B1 0C 91 00 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 A9 11 A0 04 91 00 A9 00 20 CE F0 20 EB F0 C9 FF @@ -37,205 +37,205 @@ EB A9 FF 20 3F F2 A9 FF 20 3F F2 A5 11 92 0A A5 F2 68 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 75 FB A2 00 86 02 -86 03 A9 00 20 0C FC 20 5B FB A9 2D A2 FE 20 1B -FB 20 3A F3 C9 00 20 B9 FC D0 03 4C 98 F2 A9 25 -A2 FE 20 1B FB 4C 2E F3 A9 1B A2 FE 20 1B FB A0 -05 20 C8 FB 20 0C FC AD 00 02 AE 01 02 20 12 FD -A9 0C 20 D9 FB 20 96 F1 A0 07 91 00 A0 07 A2 00 -B1 00 C9 00 20 BF FC D0 03 4C DC F2 A0 06 A2 00 -B1 00 C9 FE 20 BF FC F0 03 4C E5 F2 A2 00 A9 00 +00 60 AD E7 EF A2 00 60 60 20 74 FB A2 00 86 02 +86 03 A9 00 20 0B FC 20 5A FB A9 2C A2 FE 20 1A +FB 20 3A F3 C9 00 20 B8 FC D0 03 4C 98 F2 A9 24 +A2 FE 20 1A FB 4C 2E F3 A9 1A A2 FE 20 1A FB A0 +05 20 C7 FB 20 0B FC AD 00 90 AE 01 90 20 11 FD +A9 0C 20 D8 FB 20 96 F1 A0 07 91 00 A0 07 A2 00 +B1 00 C9 00 20 BE FC D0 03 4C DC F2 A0 06 A2 00 +B1 00 C9 FE 20 BE FC F0 03 4C E5 F2 A2 00 A9 00 D0 03 4C E9 F2 A2 00 A9 01 D0 03 4C FA F2 AD 00 -02 AE 01 02 20 3C F6 4C 2B F3 A0 06 A2 00 B1 00 -A2 00 29 F0 20 A0 FA D0 03 4C 16 F3 A9 25 A2 FE -20 1B FB 4C 2B F3 A9 0B A2 FE 20 12 FD A0 08 A2 -00 B1 00 20 12 FD A0 04 20 E7 FA 6C 00 02 4C 31 -F3 4C 31 F3 A0 0C 20 86 FA 60 20 82 FB A9 00 20 -FC FC 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 -00 91 00 A0 00 A2 00 B1 00 C9 FF 20 BF FC D0 03 -4C 71 F3 A9 4F A2 FE 20 1B FB A2 00 A9 01 4C A8 -F4 20 AC F4 A0 01 91 00 C9 01 20 B9 FC D0 C9 A2 -00 A9 00 A0 06 20 2A FD A0 07 20 BF FB E0 03 D0 -02 C9 E8 20 D8 FC F0 03 4C 9E F3 4C AA F3 A0 06 -A2 00 A9 01 20 76 FA 4C 88 F3 A9 01 20 D9 FB 20 -C9 F4 A0 01 A2 00 B1 00 C9 01 20 B9 FC D0 03 4C -D0 F3 A9 45 A2 FE 20 1B FB A2 00 A9 01 4C A8 F4 -A0 05 A2 00 B1 00 C9 AA 20 B9 FC D0 03 4C E7 F3 +90 AE 01 90 20 3C F6 4C 2B F3 A0 06 A2 00 B1 00 +A2 00 29 F0 20 9F FA D0 03 4C 16 F3 A9 24 A2 FE +20 1A FB 4C 2B F3 A9 0A A2 FE 20 11 FD A0 08 A2 +00 B1 00 20 11 FD A0 04 20 E6 FA 6C 00 90 4C 31 +F3 4C 31 F3 A0 0C 20 85 FA 60 20 81 FB A9 00 20 +FB FC 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 +00 91 00 A0 00 A2 00 B1 00 C9 FF 20 BE FC D0 03 +4C 71 F3 A9 4E A2 FE 20 1A FB A2 00 A9 01 4C A8 +F4 20 AC F4 A0 01 91 00 C9 01 20 B8 FC D0 C9 A2 +00 A9 00 A0 06 20 29 FD A0 07 20 BE FB E0 03 D0 +02 C9 E8 20 D7 FC F0 03 4C 9E F3 4C AA F3 A0 06 +A2 00 A9 01 20 75 FA 4C 88 F3 A9 01 20 D8 FB 20 +C9 F4 A0 01 A2 00 B1 00 C9 01 20 B8 FC D0 03 4C +D0 F3 A9 44 A2 FE 20 1A FB A2 00 A9 01 4C A8 F4 +A0 05 A2 00 B1 00 C9 AA 20 B8 FC D0 03 4C E7 F3 A2 00 A9 01 4C A8 F4 A2 00 A9 00 A0 00 91 00 A0 -00 A2 00 B1 00 C9 FF 20 BF FC D0 03 4C 0D F4 A9 -35 A2 FE 20 1B FB A2 00 A9 01 4C A8 F4 20 EB F5 -A0 01 91 00 A0 01 A2 00 B1 00 C9 02 20 D8 FC D0 +00 A2 00 B1 00 C9 FF 20 BE FC D0 03 4C 0D F4 A9 +34 A2 FE 20 1A FB A2 00 A9 01 4C A8 F4 20 EB F5 +A0 01 91 00 A0 01 A2 00 B1 00 C9 02 20 D7 FC D0 03 4C 2B F4 20 08 F6 A0 01 91 00 A2 00 A9 00 A0 -06 20 2A FD A0 07 20 BF FB E0 03 D0 02 C9 E8 20 -D8 FC F0 03 4C 4A F4 4C 56 F4 A0 06 A2 00 A9 01 -20 76 FA 4C 34 F4 A0 00 A2 00 18 A9 01 71 00 91 -00 A0 01 A2 00 B1 00 C9 00 20 B9 FC D0 81 A2 00 -A9 00 A0 06 20 2A FD A0 07 20 BF FB E0 03 D0 02 -C9 E8 20 D8 FC F0 03 4C 8D F4 4C 99 F4 A0 06 A2 -00 A9 01 20 76 FA 4C 77 F4 A9 01 20 D9 FB 20 71 -F5 A2 00 A9 00 4C A8 F4 20 AF FB 60 A2 00 A9 00 -20 FC FC A2 00 86 02 86 03 A9 00 20 0C FC A2 00 -A9 94 20 43 F1 4C C8 F4 60 20 12 FD A2 00 A9 FF +06 20 29 FD A0 07 20 BE FB E0 03 D0 02 C9 E8 20 +D7 FC F0 03 4C 4A F4 4C 56 F4 A0 06 A2 00 A9 01 +20 75 FA 4C 34 F4 A0 00 A2 00 18 A9 01 71 00 91 +00 A0 01 A2 00 B1 00 C9 00 20 B8 FC D0 81 A2 00 +A9 00 A0 06 20 29 FD A0 07 20 BE FB E0 03 D0 02 +C9 E8 20 D7 FC F0 03 4C 8D F4 4C 99 F4 A0 06 A2 +00 A9 01 20 75 FA 4C 77 F4 A9 01 20 D8 FB 20 71 +F5 A2 00 A9 00 4C A8 F4 20 AE FB 60 A2 00 A9 00 +20 FB FC A2 00 86 02 86 03 A9 00 20 0B FC A2 00 +A9 94 20 43 F1 4C C8 F4 60 20 11 FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F -F2 A2 00 A9 08 20 FC FC A2 01 A9 00 85 02 A9 00 -85 03 A9 AA 20 0C FC A2 00 A9 86 20 CE F0 A0 01 -20 BF FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 -00 20 39 F2 A2 00 A9 FF 20 3F F2 20 97 FB 60 20 -12 FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 -A2 00 A9 FF 20 3F F2 A2 00 A9 0D 20 FC FC A2 00 -86 02 86 03 A9 00 20 0C FC A2 00 A9 00 20 CE F0 -A0 01 20 BF FB 20 FA F0 A2 00 A9 FF 20 3F F2 A2 -00 A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 97 FB -60 20 12 FD 20 52 FB A2 00 A9 FF 20 3F F2 A2 00 +F2 A2 00 A9 08 20 FB FC A2 01 A9 00 85 02 A9 00 +85 03 A9 AA 20 0B FC A2 00 A9 86 20 CE F0 A0 01 +20 BE FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 +00 20 39 F2 A2 00 A9 FF 20 3F F2 20 96 FB 60 20 +11 FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 +A2 00 A9 FF 20 3F F2 A2 00 A9 0D 20 FB FC A2 00 +86 02 86 03 A9 00 20 0B FC A2 00 A9 00 20 CE F0 +A0 01 20 BE FB 20 FA F0 A2 00 A9 FF 20 3F F2 A2 +00 A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 96 FB +60 20 11 FD 20 51 FB A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 A0 00 91 00 -A0 00 A2 00 B1 00 C9 FF 20 B9 FC D0 03 4C B1 F5 -4C A3 F5 A2 00 A9 FF 20 3F F2 C9 FF 20 B9 FC D0 -F2 A2 00 A9 3A 20 FC FC A2 00 86 02 86 03 A9 00 -20 0C FC A2 00 A9 00 20 CE F0 A0 02 20 BF FB 20 +A0 00 A2 00 B1 00 C9 FF 20 B8 FC D0 03 4C B1 F5 +4C A3 F5 A2 00 A9 FF 20 3F F2 C9 FF 20 B8 FC D0 +F2 A2 00 A9 3A 20 FB FC A2 00 86 02 86 03 A9 00 +20 0B FC A2 00 A9 00 20 CE F0 A0 02 20 BE FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 -A2 00 A9 FF 20 3F F2 20 A5 FB 60 A2 00 A9 37 20 -FC FC A2 00 86 02 86 03 A9 00 20 0C FC A2 00 A9 -00 20 43 F1 4C 07 F6 60 A2 00 A9 29 20 FC FC A2 -00 86 02 A9 40 85 03 A9 00 20 0C FC A2 00 A9 00 -20 43 F1 4C 26 F6 60 20 12 FD 20 75 FB A0 03 A2 -00 B1 00 4C 36 F6 A0 0E 20 86 FA 60 20 12 FD A9 -00 20 FC FC 20 5B FB A2 00 A9 00 A0 00 20 2A FD -A0 01 20 BF FB E0 02 20 D8 FC F0 03 4C 62 F6 4C -C4 F6 A9 59 A2 FE 20 12 FD A0 06 20 BF FB A0 00 -20 B4 FB 20 12 FD A0 07 A2 00 A9 01 20 76 FA A0 -04 20 E7 FA A0 02 A2 00 B1 00 C9 1F 20 BF FC D0 -03 4C A6 F6 A9 5D A2 FE 20 1B FB A2 00 A9 00 A0 +A2 00 A9 FF 20 3F F2 20 A4 FB 60 A2 00 A9 37 20 +FB FC A2 00 86 02 86 03 A9 00 20 0B FC A2 00 A9 +00 20 43 F1 4C 07 F6 60 A2 00 A9 29 20 FB FC A2 +00 86 02 A9 40 85 03 A9 00 20 0B FC A2 00 A9 00 +20 43 F1 4C 26 F6 60 20 11 FD 20 74 FB A0 03 A2 +00 B1 00 4C 36 F6 A0 0E 20 85 FA 60 20 11 FD A9 +00 20 FB FC 20 5A FB A2 00 A9 00 A0 00 20 29 FD +A0 01 20 BE FB E0 02 20 D7 FC F0 03 4C 62 F6 4C +C4 F6 A9 58 A2 FE 20 11 FD A0 06 20 BE FB A0 00 +20 B3 FB 20 11 FD A0 07 A2 00 A9 01 20 75 FA A0 +04 20 E6 FA A0 02 A2 00 B1 00 C9 1F 20 BE FC D0 +03 4C A6 F6 A9 5C A2 FE 20 1A FB A2 00 A9 00 A0 02 91 00 4C B8 F6 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 76 -FA 4C 50 F6 A9 5D A2 FE 20 1B FB 20 AA FB 60 A0 -00 B1 16 E6 16 D0 02 E6 17 60 AD 3D 02 8D 38 02 -20 7B F7 A9 38 A2 02 20 12 FD 20 F3 FC 4C 02 02 -A5 14 38 E9 02 85 14 B0 02 C6 15 60 AD 42 02 D0 -11 20 19 F7 4C 99 FA AD 42 02 D0 06 20 19 F7 4C -93 FA 20 19 F7 85 02 86 03 20 F0 F6 A0 01 B1 14 +00 18 A9 01 71 00 91 00 A0 00 A2 00 A9 01 20 75 +FA 4C 50 F6 A9 5C A2 FE 20 1A FB 20 A9 FB 60 A0 +00 B1 16 E6 16 D0 02 E6 17 60 AD 3D 90 8D 38 90 +20 7B F7 A9 38 A2 90 20 11 FD 20 F2 FC 4C 02 90 +A5 14 38 E9 02 85 14 B0 02 C6 15 60 AD 42 90 D0 +11 20 19 F7 4C 98 FA AD 42 90 D0 06 20 19 F7 4C +92 FA 20 19 F7 85 02 86 03 20 F0 F6 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 D3 F6 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 12 FD A5 18 A6 19 4C -12 FD 20 DA F6 EE 3E 02 D0 F8 EE 3F 02 D0 F3 60 -20 7B F7 AD 59 02 AE 5A 02 20 12 FD AD 5B 02 AE -5C 02 20 12 FD 4C 02 02 84 08 20 0C FC 20 6D F7 -A5 08 4C 3C FC 84 08 20 0C FC 20 6D F7 A5 08 4C -7D FC 48 A0 05 B9 14 00 99 32 02 88 10 F7 68 85 -14 86 15 20 8F FB 85 16 86 17 20 8F FB 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 +A6 09 60 AC 44 90 EE 44 90 99 45 90 60 A9 45 A2 +90 18 6D 44 90 90 01 E8 4C 11 FD A5 18 A6 19 4C +11 FD 20 DA F6 EE 3E 90 D0 F8 EE 3F 90 D0 F3 60 +20 7B F7 AD 59 90 AE 5A 90 20 11 FD AD 5B 90 AE +5C 90 20 11 FD 4C 02 90 84 08 20 0B FC 20 6D F7 +A5 08 4C 3B FC 84 08 20 0B FC 20 6D F7 A5 08 4C +7C FC 48 A0 05 B9 14 00 99 32 90 88 10 F7 68 85 +14 86 15 20 8E FB 85 16 86 17 20 8E FB 85 18 86 +19 A9 00 A8 91 18 C8 91 18 C8 B1 18 8D 03 90 C8 +B1 18 8D 04 90 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 75 FB A0 05 A5 19 91 00 +09 85 0B 05 0A F0 25 20 74 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 CF F6 AA -D0 0B A2 05 BD 32 02 95 14 CA 10 F8 60 C9 25 D0 +A5 0B 91 00 88 A5 0A 91 00 20 02 90 20 CF F6 AA +D0 0B A2 05 BD 32 90 95 14 CA 10 F8 60 C9 25 D0 09 B1 16 C9 25 D0 09 20 D3 F6 20 DD F6 4C F5 F7 -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 D3 +A9 00 A2 0B 9D 39 90 CA 10 FA B1 16 C9 2D D0 05 +8E 39 90 F0 19 C9 2B D0 05 8E 3A 90 F0 10 C9 20 +D0 05 8E 3B 90 F0 07 C9 23 D0 09 8E 3C 90 20 D3 F6 4C 7A F8 A2 20 C9 30 D0 06 AA 20 D3 F6 B1 16 -8E 3D 02 C9 2A D0 09 20 D3 F6 20 19 F7 4C C3 F8 -20 25 F7 8D 3E 02 8E 3F 02 8C 40 02 8C 41 02 B1 +8E 3D 90 C9 2A D0 09 20 D3 F6 20 19 F7 4C C3 F8 +20 25 F7 8D 3E 90 8E 3F 90 8C 40 90 8C 41 90 B1 16 C9 2E D0 1B 20 D3 F6 B1 16 C9 2A D0 09 20 D3 -F6 20 19 F7 4C EA F8 20 25 F7 8D 40 02 8E 41 02 +F6 20 19 F7 4C EA F8 20 25 F7 8D 40 90 8E 41 90 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 -D3 F6 4C F0 F8 8C 44 02 A2 45 8E 59 02 A2 02 8E -5A 02 20 D3 F6 C9 63 D0 0E 20 19 F7 8D 45 02 A9 -00 8D 46 02 4C 14 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 07 F7 A4 03 30 0B AC 43 02 F0 06 8C 45 -02 EE 44 02 A0 0A 20 A8 F7 4C 14 FA C9 6E D0 15 -20 19 F7 85 08 86 09 A0 00 B1 18 91 08 C8 B1 18 -91 08 4C F5 F7 C9 6F D0 27 20 07 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 63 F7 68 A0 08 20 A8 F7 4C 14 FA -C9 70 D0 0D A2 00 8E 42 02 E8 8E 3C 02 A9 78 D0 -27 C9 73 D0 0C 20 19 F7 8D 59 02 8E 5A 02 4C 14 -FA C9 75 D0 0B 20 FC F6 A0 0A 20 B5 F7 4C 14 FA -C9 78 F0 04 C9 58 D0 29 48 AD 3C 02 F0 0A A9 30 -20 63 F7 A9 58 20 63 F7 20 FC F6 A0 10 20 B5 F7 -68 C9 78 D0 09 AD 59 02 AE 5A 02 20 49 FD 4C 14 -FA 4C F5 F7 AD 59 02 AE 5A 02 20 33 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 85 F7 20 90 F7 AD 39 02 F0 03 20 85 -F7 4C F5 F7 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 12 FD A5 08 A6 09 20 B8 FD AC 5D 02 4C 86 -FA 85 08 86 09 20 75 F0 4C 1F 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 87 FE 90 05 4A -4A 4A 4A 18 29 0F AA BD 7C FE 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 86 FA A0 05 4C 86 FA A0 -08 4C 86 FA 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 68 FB -A0 03 A5 03 91 00 88 A5 02 91 00 88 8A 91 00 68 -88 91 00 60 85 10 20 8F FB 85 0A 86 0B 85 0C 86 -0D 20 E5 FC 20 8F FB 85 02 86 03 60 20 24 FC A6 -03 A4 10 C0 0A D0 39 A5 02 05 09 05 08 D0 11 E0 -80 D0 0D A0 0B B9 70 FE 91 0A 88 10 F8 4C B4 FC -8A 10 1D A9 2D A0 00 91 0A E6 0A D0 02 E6 0B A5 -08 A6 09 20 E5 FB 85 08 86 09 4C 80 FC 20 24 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 60 FE 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 97 FB A9 01 4C 10 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 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 38 FB 29 02 F0 06 B1 08 -69 20 91 08 C8 D0 EC E6 09 D0 E8 A5 0A A6 0B 60 -20 8F FB 85 0A 86 0B E8 8E 31 02 AA E8 8E 30 02 -20 E5 FC 20 8F FB 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 -9C FD 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 12 FD A0 -02 A9 2A 91 00 C8 A9 02 91 00 A5 08 A6 09 20 C2 -F7 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 62 61 64 20 74 -6F 6B 65 6E 3A 20 25 78 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 +F0 08 C9 4C F0 04 C9 6C D0 0B A9 FF 8D 42 90 20 +D3 F6 4C F0 F8 8C 44 90 A2 45 8E 59 90 A2 90 8E +5A 90 20 D3 F6 C9 63 D0 0D 20 19 F7 8D 45 90 A2 +00 A9 01 4C 1C FA C9 64 F0 04 C9 69 D0 2D A2 00 +AD 3B 90 F0 02 A2 20 AD 3A 90 F0 02 A2 2B 8E 43 +90 20 07 F7 A4 03 30 0B AC 43 90 F0 06 8C 45 90 +EE 44 90 A0 0A 20 A8 F7 4C 13 FA C9 6E D0 15 20 +19 F7 85 08 86 09 A0 00 B1 18 91 08 C8 B1 18 91 +08 4C F5 F7 C9 6F D0 27 20 07 F7 AC 3C 90 F0 17 +48 86 10 05 10 05 02 05 03 0D 40 90 0D 41 90 F0 +06 A9 30 20 63 F7 68 A0 08 20 A8 F7 4C 13 FA C9 +70 D0 0D A2 00 8E 42 90 E8 8E 3C 90 A9 78 D0 27 +C9 73 D0 0C 20 19 F7 8D 59 90 8E 5A 90 4C 13 FA +C9 75 D0 0B 20 FC F6 A0 0A 20 B5 F7 4C 13 FA C9 +78 F0 04 C9 58 D0 29 48 AD 3C 90 F0 0A A9 30 20 +63 F7 A9 58 20 63 F7 20 FC F6 A0 10 20 B5 F7 68 +C9 78 D0 09 AD 59 90 AE 5A 90 20 48 FD 4C 13 FA +4C F5 F7 AD 59 90 AE 5A 90 20 32 FD 8D 5B 90 8E +5C 90 AD 40 90 0D 41 90 F0 15 AE 40 90 EC 5B 90 +AD 41 90 A8 ED 5C 90 B0 06 8E 5B 90 8C 5C 90 38 +AD 3E 90 ED 5B 90 AA AD 3F 90 ED 5C 90 B0 03 A9 +00 AA 49 FF 8D 3F 90 8A 49 FF 8D 3E 90 AD 39 90 +D0 03 20 85 F7 20 90 F7 AD 39 90 F0 03 20 85 F7 +4C F5 F7 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 90 60 A9 00 85 08 A9 F0 85 +09 A9 00 85 0A A9 90 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 90 88 88 98 18 65 00 85 +08 A6 01 90 01 E8 86 09 A0 01 B1 08 AA 88 B1 08 +20 11 FD A5 08 A6 09 20 B7 FD AC 5D 90 4C 85 FA +85 08 86 09 20 75 F0 4C 1E 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 86 FE 90 05 4A 4A +4A 4A 18 29 0F AA BD 7B FE 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 85 FA A0 05 4C 85 FA A0 08 +4C 85 FA 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 67 FB A0 +03 A5 03 91 00 88 A5 02 91 00 88 8A 91 00 68 88 +91 00 60 85 10 20 8E FB 85 0A 86 0B 85 0C 86 0D +20 E4 FC 20 8E FB 85 02 86 03 60 20 23 FC A6 03 +A4 10 C0 0A D0 39 A5 02 05 09 05 08 D0 11 E0 80 +D0 0D A0 0B B9 6F FE 91 0A 88 10 F8 4C B3 FC 8A +10 1D A9 2D A0 00 91 0A E6 0A D0 02 E6 0B A5 08 +A6 09 20 E4 FB 85 08 86 09 4C 7F FC 20 23 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 5F FE 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 +96 FB A9 01 4C 0F 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 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 37 FB 29 02 F0 06 B1 08 69 +20 91 08 C8 D0 EC E6 09 D0 E8 A5 0A A6 0B 60 20 +8E FB 85 0A 86 0B E8 8E 31 90 AA E8 8E 30 90 20 +E4 FC 20 8E FB 85 0C 86 0D A0 00 84 10 B1 0C 18 +65 0A 91 0C C8 B1 0C 65 0B 91 0C CE 30 90 F0 11 +A4 10 B1 08 C8 D0 02 E6 09 84 10 20 68 F0 4C 9B +FD CE 31 90 D0 EA 60 85 08 86 09 A9 00 8D 2A 90 +8D 2B 90 A0 01 B1 00 AA 88 B1 00 20 11 FD A0 02 +A9 2A 91 00 C8 A9 90 91 00 A5 08 A6 09 20 C2 F7 +AD 2A 90 AE 2B 90 60 A9 32 85 08 A9 90 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 62 61 64 20 74 6F +6B 65 6E 3A 20 25 78 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 diff --git a/hw/efinix_fpga/super6502.xml b/hw/efinix_fpga/super6502.xml index 8098232..a237ea4 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 e5efbe0..4f0ad6c 100644 --- a/sw/bios/Makefile +++ b/sw/bios/Makefile @@ -7,6 +7,8 @@ NAME=bios BIN=$(NAME).bin HEX=$(NAME).hex +FPGA_IMG=../../hw/efinix_fpga/init_hex.mem + LISTS=lists TESTS=tests @@ -19,6 +21,7 @@ all: $(HEX) $(HEX): $(BIN) objcopy --input-target=binary --output-target=verilog $(BIN) $(HEX) + diff $(HEX) $(FPGA_IMG) $(BIN): $(OBJS) diff --git a/sw/bios/bootloader.s b/sw/bios/bootloader.s index 35ee887..d602d64 100644 --- a/sw/bios/bootloader.s +++ b/sw/bios/bootloader.s @@ -13,7 +13,7 @@ _sd_readblock = $6 buf = $8200 addrh = $0000 -addrl = $0001 +addrl = $0000 .segment "BOOTSECTOR" @@ -34,11 +34,47 @@ _main: ldx #>str jsr _cputs + lda #<_fat_count + ldx #>_fat_count + jsr pushax + lda $8010 + ldx #$0 + jsr pushax + ldy #$04 + jsr _cprintf + + ; this is offset from bpb? + + lda #<_fat_sectors + ldx #>_fat_sectors + jsr pushax + lda $8026 + sta sreg + ldx $8027 + stx sreg + 1 + lda $8024 + ldx $8025 + jsr pusheax + ldy #$06 + jsr _cprintf + + lda #<_reserved_sect + ldx #>_reserved_sect + jsr pushax + lda $800E + pha + ldx $800F + jsr pushax + ldy #$04 + jsr _cprintf + lda #addrh sta sreg + 1 - lda #addrl jsr pusheax lda #buf jsr _SD_printBuf - lda #<_reserved_sect - ldx #>_reserved_sect - jsr pushax - lda $800E - ldx $800F - jsr pushax - ldy #$04 + lda #rd_word + jsr pushax + + lda buf + ldx #$00 + jsr pushax + ldy #$4 jsr _cprintf + ; we need to read from data segment 0, that will be the first directory entry + ; that has sector offset $00ef_e000 + + lda #$00 + sta sreg + lda #$00 + sta sreg+1 + lda #$f0 + ldx #$77 + jsr pusheax + lda #buf + jsr pushax + lda #ptr1 + jsr _SD_readSingleBlock + + lda #buf + jsr _SD_printBuf + @end: bra @end _reserved_sect: - .asciiz "Reserved Sectors: %x\r\n" + .asciiz "Reserved Sectors: %x\r\n" +_fat_sectors: + .asciiz "Sectors per fat: %lx\r\n" +_fat_count: + .asciiz "Fat Count: %x\r\n" str: .asciiz "Hello from the bootloader!\r\n" - +rd_word: .asciiz "Read: %x\r\n" _end: .res (440+_start-_end) diff --git a/sw/fsdir/hello.txt b/sw/fsdir/hello.txt deleted file mode 100644 index 270c611..0000000 --- a/sw/fsdir/hello.txt +++ /dev/null @@ -1 +0,0 @@ -hello, world! diff --git a/sw/kernel/Makefile b/sw/kernel/Makefile index 2873eb7..08e7a59 100644 --- a/sw/kernel/Makefile +++ b/sw/kernel/Makefile @@ -7,6 +7,8 @@ NAME=kernel O65 = $(NAME).o65 +FSDIR=../fsdir + LISTS=lists SRCS=$(wildcard *.s) $(wildcard *.c) @@ -16,6 +18,7 @@ OBJS+=$(patsubst %.c,%.o,$(filter %c,$(SRCS))) # Make sure the kernel linked to correct address, no relocation! all: $(O65) + cp $(O65) $(FSDIR) $(O65): $(OBJS) $(LD) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ diff --git a/sw/kernel/link.ld b/sw/kernel/link.ld index ee26638..fd1f6ca 100644 --- a/sw/kernel/link.ld +++ b/sw/kernel/link.ld @@ -28,7 +28,6 @@ FILES FORMATS { o65: os = super, version = 0, type = small, - import = LUNIXKERNEL, export = _init; } diff --git a/sw/script/copy_files.sh b/sw/script/copy_files.sh index 17bc144..4ff38da 100644 --- a/sw/script/copy_files.sh +++ b/sw/script/copy_files.sh @@ -1,8 +1,8 @@ DEVICE=/dev/mmcblk0 TMPMOUNT=/tmp/sd -FSDIR=fsdir +FSDIR=../fsdir -V= +V=-v echo "$(tput bold setaf 11)Mounting Device$(tput sgr 0)" mkdir $V -p $TMPMOUNT @@ -16,4 +16,4 @@ echo echo "$(tput bold setaf 11)Unmounting Device$(tput sgr 0)" sudo umount $V $DEVICE rmdir $V $TMPMOUNT -echo \ No newline at end of file +echo