From 145a984a48b5766287895843145393a4e4000e39 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Tue, 11 Nov 2025 15:50:52 +0000 Subject: [PATCH 01/75] Adds pointers and LSP --- BitMagic.Libraries | 2 +- BitMagic.TemplateEngine | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index 376e6cf..40e1a6e 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit 376e6cf8d3dd6962c15454a2d3b9921e4b3ab3cc +Subproject commit 40e1a6eba10daa91e9067327443d55017c3bcd17 diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index 49d3c80..a4c4829 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit 49d3c80c1e47a3c4a967e89f0b66500d12d4bce9 +Subproject commit a4c48299dfac71e219436afb1454280640146e11 diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index f08905e..0eaec0d 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit f08905e88dae86bc805fb0412f81098d0a9da92f +Subproject commit 0eaec0dc14d6b01af54115d5f43cbd83772b6dc2 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 4f38d1e..b27e798 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 4f38d1e85c744eb823c0ecf09edcb84c98bce22c +Subproject commit b27e798d2e2067c57a82ff053fd33c52880bc9a4 From 167bb8774716c12b7766eebad8c1347b6b2d647e Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 15 Nov 2025 13:26:20 +0000 Subject: [PATCH 02/75] Check disk for update time --- BitMagic.Libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index 40e1a6e..7b99f84 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit 40e1a6eba10daa91e9067327443d55017c3bcd17 +Subproject commit 7b99f84e9440402c2b67d952950c765259d325d3 From cfa0bceb259224204a48e4e514dcad8888f259cf Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 16 Nov 2025 14:24:27 +0000 Subject: [PATCH 03/75] Emulate SPI reads properly --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index ceb351e..b2343af 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit ceb351e8ec797360d4a65b5bfa2f40a78689e01f +Subproject commit b2343af14fa56736c6b97d934ba1d8bf9dc0025d From 59eac43ad3e4e7381679d80ac4edd0cb87bbc33b Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 22 Nov 2025 12:02:42 +0000 Subject: [PATCH 04/75] Throw compiler error if .word \ .byte isn't recognised --- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 0eaec0d..522cd5b 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 0eaec0dc14d6b01af54115d5f43cbd83772b6dc2 +Subproject commit 522cd5b5729189b42ecdd046b95ae034a1b91438 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index b27e798..acd8a34 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit b27e798d2e2067c57a82ff053fd33c52880bc9a4 +Subproject commit acd8a349585f0a3e01ea4aaac428e58642547743 From d1b86042e6203a711181773a2107e3e79118478d Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Tue, 16 Dec 2025 18:01:57 +0000 Subject: [PATCH 05/75] Fix stepping and releasee examples and documentation --- BitMagic.Documentation | 2 +- BitMagic.Examples | 2 +- BitMagic.X16Debugger | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 1bade71..3e49560 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 1bade71c3f8fdc7e98dd04c973caea0c958505df +Subproject commit 3e49560c5637b6a3361458733e4d4aec5fd44012 diff --git a/BitMagic.Examples b/BitMagic.Examples index 7a6bb15..55ccd75 160000 --- a/BitMagic.Examples +++ b/BitMagic.Examples @@ -1 +1 @@ -Subproject commit 7a6bb15deab26a14a7a4dcb4565d82e2845dea42 +Subproject commit 55ccd7594308043be4aa1361fd26476505a9bc77 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index acd8a34..ea8a965 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit acd8a349585f0a3e01ea4aaac428e58642547743 +Subproject commit ea8a9655176999f635a3c9318ea50d9ec49538b4 From 8aeeaea1778cf70110b5b0ac726e66aa35e5f833 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Tue, 16 Dec 2025 18:34:51 +0000 Subject: [PATCH 06/75] Add some debugging --- .github/workflows/build-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 3a5407a..11edd89 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -109,6 +109,7 @@ jobs: - name: Build Core Wrapper working-directory: BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux run: | + ls -l chmod +x build.sh ./build.sh ls -l From 66fd8505f81d011218dd634dc70752737aeec95a Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 20 Dec 2025 13:27:48 +0000 Subject: [PATCH 07/75] Add hash to linux run --- .github/workflows/build-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 11edd89..8d49389 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -110,6 +110,7 @@ jobs: working-directory: BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux run: | ls -l + md5sum core.obj chmod +x build.sh ./build.sh ls -l From 2eba1f580229ba49b8596b8f30683112cde91b97 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 20 Dec 2025 13:37:36 +0000 Subject: [PATCH 08/75] trade ubuntu update --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 8d49389..4c3972e 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -92,7 +92,7 @@ jobs: build-linux: needs: build-windows - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout From 8faf8f832beb0e3109ab894264e699806a83a60b Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 20 Dec 2025 13:44:19 +0000 Subject: [PATCH 09/75] Try to fix linux build --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index b2343af..4ad0292 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit b2343af14fa56736c6b97d934ba1d8bf9dc0025d +Subproject commit 4ad02922d66a56f179547a44d59d304824b3552a From c4d392589ab888dce9cc4e6183fe48182a3991e7 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 20 Dec 2025 13:53:10 +0000 Subject: [PATCH 10/75] Try to fix linux build --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 4ad0292..a58a5c8 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 4ad02922d66a56f179547a44d59d304824b3552a +Subproject commit a58a5c8266030d1c3f77949138ba379a0e466814 From cd18bd4da4811c84085493c330b0d361d4afb1f8 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 21 Dec 2025 10:31:33 +0000 Subject: [PATCH 11/75] Fix stepover --- BitMagic.X16Debugger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index ea8a965..4d8f127 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit ea8a9655176999f635a3c9318ea50d9ec49538b4 +Subproject commit 4d8f1275828c49e4d764828e6f8ee1baae0af557 From 0a0ceb0f7f792276e256ca23fabf9236163651ea Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Tue, 30 Dec 2025 11:54:48 +0000 Subject: [PATCH 12/75] Fix vstop bug, and enable line irqs past line 480. --- BitMagic.VSC | 2 +- BitMagic.X16Emulator | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.VSC b/BitMagic.VSC index 65f7f52..ffa2645 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 65f7f5226a74260075091712bbdf8caedaa873bf +Subproject commit ffa264510f925db0e9c1f3606e6519ef21a6221d diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index a58a5c8..4b8ab2f 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit a58a5c8266030d1c3f77949138ba379a0e466814 +Subproject commit 4b8ab2f86530c646625349d74659d16fe76c53c6 From cfcce9ed768fa924c11bf74918202cc196f34dba Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 3 Jan 2026 15:04:19 +0000 Subject: [PATCH 13/75] Add ability to promote lines to initialisation, improve colour formatting, segment address protection --- BitMagic.TemplateEngine | 2 +- BitMagic.VSC | 2 +- BitMagic.X16Compiler | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index a4c4829..03aa9af 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit a4c48299dfac71e219436afb1454280640146e11 +Subproject commit 03aa9afac91eb14fe77c10e26a83e82766a6d8c2 diff --git a/BitMagic.VSC b/BitMagic.VSC index ffa2645..a5b9f7b 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit ffa264510f925db0e9c1f3606e6519ef21a6221d +Subproject commit a5b9f7b1c8d06e9849c1d4b878f54f875df666c8 diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 522cd5b..bafc008 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 522cd5b5729189b42ecdd046b95ae034a1b91438 +Subproject commit bafc0080819a57e1b757582387955c437eea0c3f From 74cf7bf323301df166e927cda871e2994c3e2def Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 26 Jan 2026 20:53:51 +0000 Subject: [PATCH 14/75] Add error handling --- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index bafc008..d164d7d 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit bafc0080819a57e1b757582387955c437eea0c3f +Subproject commit d164d7dddb132f75b99a9172ea97569fb0fba967 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 4d8f127..d845833 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 4d8f1275828c49e4d764828e6f8ee1baae0af557 +Subproject commit d84583319b1dfa776225d0be1c0bd6db4435d1ad From 84aecfb2e291a80303f982d50d6a7f5a25fd28b2 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:58:45 +0000 Subject: [PATCH 15/75] Fix reference look up --- BitMagic.TemplateEngine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index 03aa9af..667fb61 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit 03aa9afac91eb14fe77c10e26a83e82766a6d8c2 +Subproject commit 667fb619662751999323aba0e979da32d8b185aa From 4f60d073baab1452e602b271f77c7061c9230aff Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:46:55 +0000 Subject: [PATCH 16/75] Fix breakpoint incorrectly firing after a load --- BitMagic.Libraries | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index 7b99f84..96e66d8 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit 7b99f84e9440402c2b67d952950c765259d325d3 +Subproject commit 96e66d893b1beb3e62b7d980b80ca3575a8d9d2e diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index d164d7d..11b580a 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit d164d7dddb132f75b99a9172ea97569fb0fba967 +Subproject commit 11b580acb89c47d90126d5aa4454d3a4fd4dde63 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index d845833..f6c6ec4 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit d84583319b1dfa776225d0be1c0bd6db4435d1ad +Subproject commit f6c6ec4ca938075719fab4f6c7f2e8ec3ff1e5ef From 223051e0bae4e2bc65e485a77ca75446b27b2d48 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 8 Feb 2026 15:14:29 +0000 Subject: [PATCH 17/75] Change how files are written to disk so we can set precedence --- BitMagic.TemplateEngine | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index 667fb61..7f6bc17 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit 667fb619662751999323aba0e979da32d8b185aa +Subproject commit 7f6bc17783feb95ec0ec68ba26f9fc02f7c47a90 diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 11b580a..4a2d531 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 11b580acb89c47d90126d5aa4454d3a4fd4dde63 +Subproject commit 4a2d531be1d422e15315d9453da9e0ba0f08db8f diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index f6c6ec4..2a2765d 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit f6c6ec4ca938075719fab4f6c7f2e8ec3ff1e5ef +Subproject commit 2a2765d44a3312ee9a7d679bd12fd8cb1ad5bced From 7f828a128665526b86a9e063a93682ed0104a372 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 8 Feb 2026 16:37:09 +0000 Subject: [PATCH 18/75] Fix loading and add Clear() to Manager --- BitMagic.TemplateEngine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index 7f6bc17..65350bf 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit 7f6bc17783feb95ec0ec68ba26f9fc02f7c47a90 +Subproject commit 65350bf3659e6c70efda9b65f45806c7f928049e From 699b9981aca96cacab7c2f217c9bfcfe7bd1dc50 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 9 Feb 2026 20:49:15 +0000 Subject: [PATCH 19/75] Adds Debug Actions and assembly load protection --- BitMagic.TemplateEngine | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index 65350bf..6d657a0 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit 65350bf3659e6c70efda9b65f45806c7f928049e +Subproject commit 6d657a0ff8b9569eb31903a2725ef8704250e0a0 diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 4a2d531..afc81c1 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 4a2d531be1d422e15315d9453da9e0ba0f08db8f +Subproject commit afc81c14d1414582bd60f95af02cb48a6fc65101 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 2a2765d..3012b8b 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 2a2765d44a3312ee9a7d679bd12fd8cb1ad5bced +Subproject commit 3012b8b4845f12ce9fdc43fe0cce720a5a109427 diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 4b8ab2f..9e828ad 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 4b8ab2f86530c646625349d74659d16fe76c53c6 +Subproject commit 9e828adcdd5292d1f5d5ad756353bcc260ae6772 From 0b63978d5d4ef003c8e0e781aa4b927f3b491953 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 9 Feb 2026 21:01:38 +0000 Subject: [PATCH 20/75] Add constants --- BitMagic.Libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index 96e66d8..e4d2b83 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit 96e66d893b1beb3e62b7d980b80ca3575a8d9d2e +Subproject commit e4d2b834b17c9697668c4d81dfdf8930df0ae272 From 4c1fbf7e187adc8965c2f66df2356b8a3d5d089d Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:05:21 +0000 Subject: [PATCH 21/75] Handle DebugActions better --- BitMagic.Libraries | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index e4d2b83..b8e1398 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit e4d2b834b17c9697668c4d81dfdf8930df0ae272 +Subproject commit b8e1398891738fdd24f8c85256f9847d5038a91a diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index afc81c1..b36ec58 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit afc81c14d1414582bd60f95af02cb48a6fc65101 +Subproject commit b36ec5871bb3a67c36bc3b808adbc5c8639086b6 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 3012b8b..4f0cad6 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 3012b8b4845f12ce9fdc43fe0cce720a5a109427 +Subproject commit 4f0cad6e0a6cf4f5339b615309659b26a91944e1 From d08336a3d54ebd315c49866eb801b35ba030706a Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 14 Mar 2026 12:00:12 +0000 Subject: [PATCH 22/75] Profiler and branch detection --- BitMagic.VSC | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BitMagic.VSC b/BitMagic.VSC index a5b9f7b..9d56c38 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit a5b9f7b1c8d06e9849c1d4b878f54f875df666c8 +Subproject commit 9d56c38271fc58bcbad199f132f49ce6d98495fd diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index b36ec58..8deed32 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit b36ec5871bb3a67c36bc3b808adbc5c8639086b6 +Subproject commit 8deed3205704c1aecdae4c75fef871427ecf7146 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 4f0cad6..30d6d84 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 4f0cad6e0a6cf4f5339b615309659b26a91944e1 +Subproject commit 30d6d8433d75d03ddde761eff7f4ef15b488a31e diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 9e828ad..bd1f14b 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 9e828adcdd5292d1f5d5ad756353bcc260ae6772 +Subproject commit bd1f14ba5fb13ffa2d1dd4a8ae865a5943c2f66a From cffb8de7d83391285d58f8407de024d743d8ab79 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 22 Mar 2026 11:13:15 +0000 Subject: [PATCH 23/75] Change window to be non-static --- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.VSC b/BitMagic.VSC index 9d56c38..665f18c 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 9d56c38271fc58bcbad199f132f49ce6d98495fd +Subproject commit 665f18c5ac8f65b3e6cb20a6422578b4c7416795 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 30d6d84..03dbd18 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 30d6d8433d75d03ddde761eff7f4ef15b488a31e +Subproject commit 03dbd1806561707787299cdc1917bb03ad20b11d diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index bd1f14b..adfe902 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit bd1f14ba5fb13ffa2d1dd4a8ae865a5943c2f66a +Subproject commit adfe90221488966e93e885553e0cd662e1642636 From d1968298231212507cdf8a96c01a621ed8c68829 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 22 Mar 2026 12:25:27 +0000 Subject: [PATCH 24/75] Add file system watcher to keep files inline --- BitMagic.Libraries | 2 +- BitMagic.X16Debugger | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index b8e1398..78889b5 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit b8e1398891738fdd24f8c85256f9847d5038a91a +Subproject commit 78889b55554115fc07860bd6600a83959f93117d diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 03dbd18..4a8d540 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 03dbd1806561707787299cdc1917bb03ad20b11d +Subproject commit 4a8d540e5d92fbd34dace789a4123c1e0f1776e3 From a1c8dac15d9cf7f1cc04e1b18b373ec292ac31de Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 22 Mar 2026 12:40:03 +0000 Subject: [PATCH 25/75] Add a time check to the file cache --- BitMagic.Libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.Libraries b/BitMagic.Libraries index 78889b5..bb8b3e1 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit 78889b55554115fc07860bd6600a83959f93117d +Subproject commit bb8b3e155629d55e39e9138935363169d53b8204 From 7156b0370efc537ddcde85c13032c53082e49ff3 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 18 Apr 2026 12:31:55 +0100 Subject: [PATCH 26/75] Fix for multiple labels on a line --- BitMagic.X16Compiler | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 8deed32..35b2103 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 8deed3205704c1aecdae4c75fef871427ecf7146 +Subproject commit 35b21039b805e82a3226ffa0e0611cfc8e6b02a1 From 189a79536ad8040f0a32ba515743009e8d8b9da3 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Thu, 10 Sep 2026 19:02:06 +0100 Subject: [PATCH 27/75] Push to dev --- .editorconfig | 19 +++++++++++++++++++ .gitignore | 2 ++ .gitmodules | 3 +++ BitMagic.Documentation | 2 +- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- BitMagic.sln | 35 +++++++++++++++++++++++++++++++++-- External/BitMagic.ZiModem | 1 + 9 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 .editorconfig create mode 160000 External/BitMagic.ZiModem diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ddfb873 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,19 @@ +root = true + +[*.cs] + +# S125: Sections of code should not be commented out +# Commented-out code is used deliberately throughout this codebase (asm-mirroring +# notes, disabled diagnostics, WIP scaffolding) -- suppress project-wide. +dotnet_diagnostic.S125.severity = none + +# S6640: Using "unsafe" code blocks is security-sensitive +# Unsafe code is unavoidable here -- native interop, pinned emulator state, raw +# memory spans over the core's buffers -- suppress project-wide. +dotnet_diagnostic.S6640.severity = none + +# S3776: Cognitive Complexity of methods should not be too high +# Emulator dispatch, opcode handling and DAP request handlers are inherently +# branchy; splitting them for the metric's sake hurts readability -- suppress +# project-wide. +dotnet_diagnostic.S3776.severity = none diff --git a/.gitignore b/.gitignore index 10d625b..0ba6d75 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ test.zip publish.bat *- Backup.* *.ods +*.log +CLAUDE.md diff --git a/.gitmodules b/.gitmodules index 90c797d..3e798c9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,3 +28,6 @@ [submodule "BitMagic.Examples"] path = BitMagic.Examples url = https://github.com/Yazwh0/BitMagic.Examples.git +[submodule "External/BitMagic.ZiModem"] + path = External/BitMagic.ZiModem + url = https://github.com/Yazwh0/BitMagic.ZiModem.git diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 3e49560..df1af39 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 3e49560c5637b6a3361458733e4d4aec5fd44012 +Subproject commit df1af39f8451ce87afc3ffb5c44aa9803c369cc4 diff --git a/BitMagic.VSC b/BitMagic.VSC index 665f18c..68f7d81 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 665f18c5ac8f65b3e6cb20a6422578b4c7416795 +Subproject commit 68f7d810d8c8de759a75281326a0b6e011efe1e6 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 4a8d540..7f65782 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 4a8d540e5d92fbd34dace789a4123c1e0f1776e3 +Subproject commit 7f65782ddf555db2fb8c87354dd8548c09bb24bb diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index adfe902..767ff6a 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit adfe90221488966e93e885553e0cd662e1642636 +Subproject commit 767ff6a6776a52ed660a0027ea906fc5336f73da diff --git a/BitMagic.sln b/BitMagic.sln index 7e4df12..dbcb241 100644 --- a/BitMagic.sln +++ b/BitMagic.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.4.33403.182 +# Visual Studio Version 18 +VisualStudioVersion = 18.9.12112.369 stable MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "X16D", "BitMagic.X16Debugger\X16D\X16D.csproj", "{1A61AC4C-C457-44E1-844D-DE1E5FCCF6E2}" EndProject @@ -99,6 +99,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMagic.ImageHelper.Tester EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X16KernelTokenGenerator", "BitMagic.X16Debugger\X16KernelTokenGenerator\X16KernelTokenGenerator.csproj", "{315F6888-5BEC-4C36-811C-CB162EA85EFE}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ZiModem", "ZiModem", "{EA9A9461-65C5-4A08-AC88-D691CA7E6D96}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZiModem.Net", "External\BitMagic.ZiModem\managed\ZiModem.Net\ZiModem.Net.csproj", "{169D0060-163E-95B7-FD6B-8E961F82C176}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZiModemHost", "External\BitMagic.ZiModem\native\ZiModemHost.vcxproj", "{7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -481,6 +487,28 @@ Global {315F6888-5BEC-4C36-811C-CB162EA85EFE}.Release|x64.Build.0 = Release|Any CPU {315F6888-5BEC-4C36-811C-CB162EA85EFE}.Release|x86.ActiveCfg = Release|Any CPU {315F6888-5BEC-4C36-811C-CB162EA85EFE}.Release|x86.Build.0 = Release|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Debug|Any CPU.Build.0 = Debug|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Debug|x64.ActiveCfg = Debug|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Debug|x64.Build.0 = Debug|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Debug|x86.ActiveCfg = Debug|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Debug|x86.Build.0 = Debug|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Release|Any CPU.ActiveCfg = Release|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Release|Any CPU.Build.0 = Release|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Release|x64.ActiveCfg = Release|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Release|x64.Build.0 = Release|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Release|x86.ActiveCfg = Release|Any CPU + {169D0060-163E-95B7-FD6B-8E961F82C176}.Release|x86.Build.0 = Release|Any CPU + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Debug|Any CPU.ActiveCfg = Debug|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Debug|Any CPU.Build.0 = Debug|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Debug|x64.ActiveCfg = Debug|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Debug|x64.Build.0 = Debug|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Debug|x86.ActiveCfg = Debug|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|Any CPU.ActiveCfg = Release|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|Any CPU.Build.0 = Release|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|x64.ActiveCfg = Release|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|x64.Build.0 = Release|x64 + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|x86.ActiveCfg = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -515,6 +543,9 @@ Global {CF8BC7BD-5BBA-48D2-A334-747D0D11FFB3} = {25ADB53E-2320-490D-BA5D-A919AF7B42E5} {B47D2EDF-10E7-477B-B0FF-C308AC152CE1} = {25ADB53E-2320-490D-BA5D-A919AF7B42E5} {315F6888-5BEC-4C36-811C-CB162EA85EFE} = {A8C28097-0281-4E86-BEA0-8864A21B72B9} + {EA9A9461-65C5-4A08-AC88-D691CA7E6D96} = {56C1711B-E0BB-40B0-BAF6-77E3206969A6} + {169D0060-163E-95B7-FD6B-8E961F82C176} = {EA9A9461-65C5-4A08-AC88-D691CA7E6D96} + {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1} = {EA9A9461-65C5-4A08-AC88-D691CA7E6D96} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {DFCB7DF5-52B3-4B9B-9814-3EC16549A76F} diff --git a/External/BitMagic.ZiModem b/External/BitMagic.ZiModem new file mode 160000 index 0000000..00b728d --- /dev/null +++ b/External/BitMagic.ZiModem @@ -0,0 +1 @@ +Subproject commit 00b728d3da41987286dbfb77f4ad113d31cb47f9 From 24e11652f788c93acd80ea5cae806017e3afa366 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Thu, 10 Sep 2026 19:11:52 +0100 Subject: [PATCH 28/75] Update build-test.yml --- .github/workflows/build-test.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 4c3972e..c0c0675 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -100,6 +100,16 @@ jobs: with: submodules: recursive + # 8.0 runtime is needed by the ZiModem vendoring tool (tools/Vendoring targets + # net8.0, run by the CMake build below); 10.0 keeps the C# project builds on the + # same SDK the runner image already uses. + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: | + 8.0.x + 10.0.x + - name: Copy artifacts uses: actions/download-artifact@v4 with: @@ -120,6 +130,19 @@ jobs: mkdir -p BitMagic.X16Emulator/X16Emulator/EmulatorCore/x64/Release cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16Emulator/EmulatorCore/x64/Release/. + # The Linux core is a prebuilt core.obj linked by build.sh, so unlike the Windows + # job (where the EmulatorCore.vcxproj build triggers this) nothing has built the + # ZiModem host .so yet. BitMagic.X16Emulator.csproj -copies + # build/native/bin/libzimodem_host.so, so it must exist before "Build Debugger". + # cmake / gcc / make ship on the ubuntu-24.04 image; mirrors the by-hand build in + # External/BitMagic.ZiModem (default generator, single-config, tests off). + - name: Build ZiModem Host + working-directory: External/BitMagic.ZiModem + run: | + cmake -S native -B build/native -DZIMODEM_BUILD_TESTS=OFF + cmake --build build/native --target zimodem_host -j"$(nproc)" + ls -l build/native/bin + - name: Build Debugger run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release --nologo From 590dfdc65d82adba11a166ca22268b1fb07865a7 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Thu, 10 Sep 2026 19:56:45 +0100 Subject: [PATCH 29/75] CI: build the ZiModem host .so in the Linux job The Linux job assembles a prebuilt core.obj rather than running the EmulatorCore MSBuild, so nothing produced libzimodem_host.so and "Build Debugger" failed with MSB3030 (BitMagic.X16Emulator.csproj - copies it). Add a Setup .NET step (the ZiModem vendoring tool targets net8.0) and a cmake configure+build for the zimodem_host target, compiled -DZIMODEM_HOST_MSABI=ON so its ABI boundary matches the emulator core's Windows-convention MASM call sites. Bumps BitMagic.X16Emulator and External/BitMagic.ZiModem. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01Uk34uMstSvTv3J42xWMeWS --- .github/workflows/build-test.yml | 10 +++++++--- BitMagic.X16Emulator | 2 +- External/BitMagic.ZiModem | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index c0c0675..ed672b9 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -134,12 +134,16 @@ jobs: # job (where the EmulatorCore.vcxproj build triggers this) nothing has built the # ZiModem host .so yet. BitMagic.X16Emulator.csproj -copies # build/native/bin/libzimodem_host.so, so it must exist before "Build Debugger". - # cmake / gcc / make ship on the ubuntu-24.04 image; mirrors the by-hand build in - # External/BitMagic.ZiModem (default generator, single-config, tests off). + # cmake / gcc / make ship on the ubuntu-24.04 image. + # + # ZIMODEM_HOST_MSABI=ON: the emulator core calls this .so from hand-written x64 MASM + # that uses the Windows calling convention on every platform, so this dedicated copy + # is compiled with __attribute__((ms_abi)) on its ABI boundary. It forbids building + # the (SysV-convention) test suites, hence tests OFF. - name: Build ZiModem Host working-directory: External/BitMagic.ZiModem run: | - cmake -S native -B build/native -DZIMODEM_BUILD_TESTS=OFF + cmake -S native -B build/native -DZIMODEM_HOST_MSABI=ON -DZIMODEM_BUILD_TESTS=OFF cmake --build build/native --target zimodem_host -j"$(nproc)" ls -l build/native/bin diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 767ff6a..716145a 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 767ff6a6776a52ed660a0027ea906fc5336f73da +Subproject commit 716145a0bd35eba2fbafc107379f5afa88c65d31 diff --git a/External/BitMagic.ZiModem b/External/BitMagic.ZiModem index 00b728d..4050558 160000 --- a/External/BitMagic.ZiModem +++ b/External/BitMagic.ZiModem @@ -1 +1 @@ -Subproject commit 00b728d3da41987286dbfb77f4ad113d31cb47f9 +Subproject commit 405055804365ec34734ea4d3ea07656117fc5ff4 From 12f30348ec66aa13c0d4020c048b7972b4b27ce0 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Fri, 11 Sep 2026 09:31:41 +0100 Subject: [PATCH 30/75] Update BitMagic.X16Emulator --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 716145a..91acfe2 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 716145a0bd35eba2fbafc107379f5afa88c65d31 +Subproject commit 91acfe24a0a5c806e6ead867f569119eb5a7f0e1 From ac5e1531f998e76bd281d9a2821a56df5535f64c Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Fri, 11 Sep 2026 11:11:23 +0100 Subject: [PATCH 31/75] Documentation change --- BitMagic.Documentation | 2 +- BitMagic.VSC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index df1af39..6e9d761 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit df1af39f8451ce87afc3ffb5c44aa9803c369cc4 +Subproject commit 6e9d7617991e85e38c0e920ef6569dd78021a1f6 diff --git a/BitMagic.VSC b/BitMagic.VSC index 68f7d81..4b04fbc 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 68f7d810d8c8de759a75281326a0b6e011efe1e6 +Subproject commit 4b04fbc2597f9b3e081e072686f6d84a18ab8ea7 From 788ce31a84b329395854dec454fc98750de9e556 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 10:23:48 +0100 Subject: [PATCH 32/75] Fix logging and cwd in the extension --- BitMagic.Documentation | 2 +- BitMagic.Libraries | 2 +- BitMagic.VSC | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 6e9d761..1807ca6 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 6e9d7617991e85e38c0e920ef6569dd78021a1f6 +Subproject commit 1807ca6d47860a0264957e9e976a4584482e128e diff --git a/BitMagic.Libraries b/BitMagic.Libraries index bb8b3e1..c8884d5 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit bb8b3e155629d55e39e9138935363169d53b8204 +Subproject commit c8884d55bc94343e830434dfbcc89f6108b033cc diff --git a/BitMagic.VSC b/BitMagic.VSC index 4b04fbc..3f11355 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 4b04fbc2597f9b3e081e072686f6d84a18ab8ea7 +Subproject commit 3f1135517c061d07751f764b3f6e47c38c14b4c3 From fc5d43e12388d98c6f6345e2d8ed52bddfa1f2ff Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 12:19:54 +0100 Subject: [PATCH 33/75] Add wifi enable --- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.VSC b/BitMagic.VSC index 3f11355..7c23d48 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 3f1135517c061d07751f764b3f6e47c38c14b4c3 +Subproject commit 7c23d4838878f8ac8231aea6f11ed0de1becf72f diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 7f65782..2005ae3 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 7f65782ddf555db2fb8c87354dd8548c09bb24bb +Subproject commit 2005ae3683b0496a0604e31a1a7809c2a3e406da diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 91acfe2..8303c71 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 91acfe24a0a5c806e6ead867f569119eb5a7f0e1 +Subproject commit 8303c71bccfba20050a3481c3493e6b38348dceb From 2fb18d2015432b82035b678519da9c5ce48a1512 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 12:22:51 +0100 Subject: [PATCH 34/75] add wifi enable --- BitMagic.Documentation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 1807ca6..fa46dd9 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 1807ca6d47860a0264957e9e976a4584482e128e +Subproject commit fa46dd9f8e3bab44bcefcff693523f7affa1004c From 6bf0d955c00bfd56b31c8a04aedaf1c8a1ec34ab Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 12:34:10 +0100 Subject: [PATCH 35/75] Adds wifi options to the emulator and website --- BitMagic.Documentation | 2 +- BitMagic.X16Emulator | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index fa46dd9..d6c0a9f 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit fa46dd9f8e3bab44bcefcff693523f7affa1004c +Subproject commit d6c0a9f15651fdea4698ea262c4d7ae67f777b58 diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 8303c71..28a3b50 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 8303c71bccfba20050a3481c3493e6b38348dceb +Subproject commit 28a3b50beb6ce227fba6d43122b2e867401d51c4 From db0438d3ae0c6d453c39f6da900ad290168a6910 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 13:12:42 +0100 Subject: [PATCH 36/75] Add windows build --- .github/workflows/build-test.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index ed672b9..002756c 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -162,9 +162,17 @@ jobs: run: | cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Debugger/X16D/bin/Release/net6.0/. + - name: Build Emulator + run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release --nologo + + - name: Copy Wrapper to Emulator + run: | + cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16E/bin/Release/net6.0/. + - name: Create Version File run: | echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net6.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net6.0/version.txt echo "${{ github.sha }}" > version.txt - name: Archive Debugger @@ -174,6 +182,13 @@ jobs: filename: '../../../../../BitMagic-TheDebugger.Linux.tar.gz' directory: BitMagic.X16Debugger/X16D/bin/Release/net6.0 + - name: Archive Emulator + uses: thedoctor0/zip-release@0.7.1 + with: + type: 'tar' + filename: '../../../../../BitMagic-TheEmulator.Linux.tar.gz' + directory: BitMagic.X16Emulator/X16E/bin/Release/net6.0 + # - name: Copy artifacts (Setup) # uses: actions/download-artifact@v3 # with: @@ -203,6 +218,7 @@ jobs: title: "Release Build" files: | BitMagic-TheDebugger.Linux.tar.gz + BitMagic-TheEmulator.Linux.tar.gz BitMagic-TheEmulator.Windows.zip BitMagic-TheDebugger.Windows.zip version.txt @@ -217,6 +233,7 @@ jobs: title: "Development Build" files: | BitMagic-TheDebugger.Linux.tar.gz + BitMagic-TheEmulator.Linux.tar.gz BitMagic-TheEmulator.Windows.zip BitMagic-TheDebugger.Windows.zip version.txt From 92cc0cdab14fb5ecceb0dca0f1a10cb5e156adde Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 13:22:01 +0100 Subject: [PATCH 37/75] better build --- .github/workflows/build-test.yml | 97 ++++++++++++++++++++++++-------- 1 file changed, 73 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 002756c..043acef 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -5,21 +5,52 @@ on: branches: ["main", "develop"] jobs: - build-windows: + build-core: runs-on: windows-2022 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v7.0.1 with: submodules: recursive - name: Setup MSBuild.exe - uses: microsoft/setup-msbuild@v1.3.1 + uses: microsoft/setup-msbuild@v5 - name: Build Emulator Core run: msbuild 'BitMagic.X16Emulator/X16Emulator/EmulatorCore/EmulatorCore.vcxproj' /p:configuration=Release /p:platform=x64 + # core.obj is the portable input build-linux links into EmulatorCore.so; EmulatorCore.dll + # is what build-windows needs directly. Split out so build-windows and build-linux can run + # in parallel off this one small job instead of build-linux waiting on the full Windows build. + - name: Save Core Artifacts + uses: actions/upload-artifact@v7.0.1 + with: + name: EmulatorCore + path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\core.obj + + - name: Save Core DLL Artifact + uses: actions/upload-artifact@v7.0.1 + with: + name: EmulatorCoreDll + path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll + + build-windows: + needs: build-core + runs-on: windows-2022 + + steps: + - name: Checkout + uses: actions/checkout@v7.0.1 + with: + submodules: recursive + + - name: Download Core + uses: actions/download-artifact@v4 + with: + name: EmulatorCoreDll + path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release + - name: Build Debugger run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release --nologo @@ -45,12 +76,6 @@ jobs: echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net6.0/version.txt echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net6.0/version.txt - - name: Save Core Artifacts - uses: actions/upload-artifact@v4 - with: - name: EmulatorCore - path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\core.obj - - name: Archive Emulator uses: thedoctor0/zip-release@0.7.1 with: @@ -66,7 +91,7 @@ jobs: directory: BitMagic.X16Debugger/X16D/bin/Release/net6.0 - name: Setup VS Dev - uses: seanmiddleditch/gha-setup-vsdevenv@v4 + uses: seanmiddleditch/gha-setup-vsdevenv@v5 # - name: Build MSI # working-directory: BitMagic.X16Emulator @@ -79,24 +104,24 @@ jobs: # path: BitMagic.X16Emulator\X16ESetup\Release\X16ESetup.msi - name: Save Emulator Artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7.0.1 with: name: BitMagic-TheEmulator path: BitMagic.X16Emulator/X16E/bin/Release/net6.0/BitMagic-TheEmulator.Windows.zip - name: Save Debugger Artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7.0.1 with: name: BitMagic-TheDebugger path: BitMagic.X16Debugger/X16D/bin/Release/net6.0/BitMagic-TheDebugger.Windows.zip build-linux: - needs: build-windows + needs: build-core runs-on: ubuntu-24.04 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v7.0.1 with: submodules: recursive @@ -173,7 +198,6 @@ jobs: run: | echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net6.0/version.txt echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net6.0/version.txt - echo "${{ github.sha }}" > version.txt - name: Archive Debugger uses: thedoctor0/zip-release@0.7.1 @@ -189,6 +213,24 @@ jobs: filename: '../../../../../BitMagic-TheEmulator.Linux.tar.gz' directory: BitMagic.X16Emulator/X16E/bin/Release/net6.0 + - name: Save Linux Artifacts + uses: actions/upload-artifact@v7.0.1 + with: + name: BitMagic-Linux + path: | + BitMagic-TheDebugger.Linux.tar.gz + BitMagic-TheEmulator.Linux.tar.gz + + release: + needs: [build-windows, build-linux] + runs-on: ubuntu-24.04 + permissions: + contents: write + + steps: + - name: Create Version File + run: echo "${{ github.sha }}" > version.txt + # - name: Copy artifacts (Setup) # uses: actions/download-artifact@v3 # with: @@ -207,15 +249,21 @@ jobs: name: BitMagic-TheEmulator path: . -# todo: replace these with https://github.com/softprops/action-gh-release + - name: Copy artifacts (Linux) + uses: actions/download-artifact@v4 + with: + name: BitMagic-Linux + path: . + - name: Create Github Release - uses: "marvinpinto/action-automatic-releases@latest" + uses: softprops/action-gh-release@v3.0.3 if: github.ref == 'refs/heads/main' with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" + token: "${{ secrets.GITHUB_TOKEN }}" prerelease: false - automatic_release_tag: "latest" - title: "Release Build" + tag_name: "latest" + target_commitish: "${{ github.sha }}" + name: "Release Build" files: | BitMagic-TheDebugger.Linux.tar.gz BitMagic-TheEmulator.Linux.tar.gz @@ -224,13 +272,14 @@ jobs: version.txt - name: Create Github Development Release - uses: "marvinpinto/action-automatic-releases@latest" + uses: softprops/action-gh-release@v3.0.3 if: github.ref == 'refs/heads/develop' with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" + token: "${{ secrets.GITHUB_TOKEN }}" prerelease: true - automatic_release_tag: "prerelease" - title: "Development Build" + tag_name: "prerelease" + target_commitish: "${{ github.sha }}" + name: "Development Build" files: | BitMagic-TheDebugger.Linux.tar.gz BitMagic-TheEmulator.Linux.tar.gz From 2b604ddb498e299ec7b4d0ed51a62fecb861996b Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 13:25:52 +0100 Subject: [PATCH 38/75] build fix --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 043acef..b9a4ae3 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -15,7 +15,7 @@ jobs: submodules: recursive - name: Setup MSBuild.exe - uses: microsoft/setup-msbuild@v5 + uses: microsoft/setup-msbuild@v3.0.0 - name: Build Emulator Core run: msbuild 'BitMagic.X16Emulator/X16Emulator/EmulatorCore/EmulatorCore.vcxproj' /p:configuration=Release /p:platform=x64 From 1e19ef78e00d6df3848867d117c485809a229c01 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 13:33:52 +0100 Subject: [PATCH 39/75] fix build --- .github/workflows/build-test.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index b9a4ae3..a58bb4a 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -20,6 +20,11 @@ jobs: - name: Build Emulator Core run: msbuild 'BitMagic.X16Emulator/X16Emulator/EmulatorCore/EmulatorCore.vcxproj' /p:configuration=Release /p:platform=x64 + # BitMagic.X16Emulator.csproj -copies this unconditionally, in Release too, + # so it must exist before "Build Debugger"/"Build Emulator" in build-windows. + - name: Build ZiModem Host + run: msbuild 'External/BitMagic.ZiModem/native/ZiModemHost.vcxproj' /p:configuration=Release /p:platform=x64 + # core.obj is the portable input build-linux links into EmulatorCore.so; EmulatorCore.dll # is what build-windows needs directly. Split out so build-windows and build-linux can run # in parallel off this one small job instead of build-linux waiting on the full Windows build. @@ -35,6 +40,12 @@ jobs: name: EmulatorCoreDll path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll + - name: Save ZiModem Host Artifact + uses: actions/upload-artifact@v7.0.1 + with: + name: ZiModemHostDll + path: External\BitMagic.ZiModem\build\native\bin\zimodem_host.dll + build-windows: needs: build-core runs-on: windows-2022 @@ -51,6 +62,12 @@ jobs: name: EmulatorCoreDll path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release + - name: Download ZiModem Host + uses: actions/download-artifact@v4 + with: + name: ZiModemHostDll + path: External\BitMagic.ZiModem\build\native\bin + - name: Build Debugger run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release --nologo From de2b6af5678d5c7d4af89dde0b72382815ac2e7e Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 13:42:19 +0100 Subject: [PATCH 40/75] Add prerequsite check for linux --- .github/workflows/build-test.yml | 5 +++++ BitMagic.X16Emulator | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index a58bb4a..c72be68 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -211,6 +211,11 @@ jobs: run: | cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16E/bin/Release/net6.0/. + - name: Copy Prerequisite Check + run: | + cp BitMagic.X16Emulator/X16E/check-prerequisites.sh BitMagic.X16Emulator/X16E/bin/Release/net6.0/. + chmod +x BitMagic.X16Emulator/X16E/bin/Release/net6.0/check-prerequisites.sh + - name: Create Version File run: | echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net6.0/version.txt diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 28a3b50..fc6a46b 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 28a3b50beb6ce227fba6d43122b2e867401d51c4 +Subproject commit fc6a46b846270f86a814f59316d9f15ae89aa121 From 59bef29575c96acdf991a6422529481491cbcfb8 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 15:02:37 +0100 Subject: [PATCH 41/75] Move to net10 --- .github/workflows/build-test.yml | 54 ++++++++++++++++---------------- BitMagic.Libraries | 2 +- BitMagic.TemplateEngine | 2 +- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- Directory.Build.props | 2 +- 7 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index c72be68..94509dc 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -57,13 +57,13 @@ jobs: submodules: recursive - name: Download Core - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: EmulatorCoreDll path: BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release - name: Download ZiModem Host - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: ZiModemHostDll path: External\BitMagic.ZiModem\build\native\bin @@ -75,37 +75,37 @@ jobs: run: dotnet build 'BitMagic.TemplateEngine/BitMagic.TemplateEngine.Runner' /p:configuration=Release --nologo - name: Copy Core to Debugger - run : copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net6.0\EmulatorCore.dll' + run : copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\EmulatorCore.dll' - name: Build Emulator run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release --nologo - name: Copy Core to Emulator - run: copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Emulator\X16E\bin\Release\net6.0\EmulatorCore.dll' + run: copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Emulator\X16E\bin\Release\net10.0\EmulatorCore.dll' - name: Copy TemplateRunner to Debugger run: | - new-item 'BitMagic.X16Debugger\X16D\bin\Release\net6.0\TemplateEngine' -type directory -force - copy-item 'BitMagic.TemplateEngine\BitMagic.TemplateEngine.Runner\bin\Release\net6.0\*.*' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net6.0\TemplateEngine' -Recurse -Force + new-item 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\TemplateEngine' -type directory -force + copy-item 'BitMagic.TemplateEngine\BitMagic.TemplateEngine.Runner\bin\Release\net10.0\*.*' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\TemplateEngine' -Recurse -Force - name: Create Version File run: | - echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net6.0/version.txt - echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net6.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net10.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net10.0/version.txt - name: Archive Emulator uses: thedoctor0/zip-release@0.7.1 with: type: 'zip' filename: 'BitMagic-TheEmulator.Windows.zip' - directory: BitMagic.X16Emulator/X16E/bin/Release/net6.0 + directory: BitMagic.X16Emulator/X16E/bin/Release/net10.0 - name: Archive Debugger uses: thedoctor0/zip-release@0.7.1 with: type: 'zip' filename: 'BitMagic-TheDebugger.Windows.zip' - directory: BitMagic.X16Debugger/X16D/bin/Release/net6.0 + directory: BitMagic.X16Debugger/X16D/bin/Release/net10.0 - name: Setup VS Dev uses: seanmiddleditch/gha-setup-vsdevenv@v5 @@ -124,13 +124,13 @@ jobs: uses: actions/upload-artifact@v7.0.1 with: name: BitMagic-TheEmulator - path: BitMagic.X16Emulator/X16E/bin/Release/net6.0/BitMagic-TheEmulator.Windows.zip + path: BitMagic.X16Emulator/X16E/bin/Release/net10.0/BitMagic-TheEmulator.Windows.zip - name: Save Debugger Artifacts uses: actions/upload-artifact@v7.0.1 with: name: BitMagic-TheDebugger - path: BitMagic.X16Debugger/X16D/bin/Release/net6.0/BitMagic-TheDebugger.Windows.zip + path: BitMagic.X16Debugger/X16D/bin/Release/net10.0/BitMagic-TheDebugger.Windows.zip build-linux: needs: build-core @@ -146,14 +146,14 @@ jobs: # net8.0, run by the CMake build below); 10.0 keeps the C# project builds on the # same SDK the runner image already uses. - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v6.0.0 with: dotnet-version: | 8.0.x 10.0.x - name: Copy artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: EmulatorCore path: BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux @@ -197,43 +197,43 @@ jobs: - name: Copy TemplateRunner to Debugger run: | - mkdir BitMagic.X16Debugger/X16D/bin/Release/net6.0/TemplateEngine - cp -R -v BitMagic.TemplateEngine/BitMagic.TemplateEngine.Runner/bin/Release/net6.0/* BitMagic.X16Debugger/X16D/bin/Release/net6.0/TemplateEngine + mkdir BitMagic.X16Debugger/X16D/bin/Release/net10.0/TemplateEngine + cp -R -v BitMagic.TemplateEngine/BitMagic.TemplateEngine.Runner/bin/Release/net10.0/* BitMagic.X16Debugger/X16D/bin/Release/net10.0/TemplateEngine - name: Copy Wrapper run: | - cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Debugger/X16D/bin/Release/net6.0/. + cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Debugger/X16D/bin/Release/net10.0/. - name: Build Emulator run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release --nologo - name: Copy Wrapper to Emulator run: | - cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16E/bin/Release/net6.0/. + cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16E/bin/Release/net10.0/. - name: Copy Prerequisite Check run: | - cp BitMagic.X16Emulator/X16E/check-prerequisites.sh BitMagic.X16Emulator/X16E/bin/Release/net6.0/. - chmod +x BitMagic.X16Emulator/X16E/bin/Release/net6.0/check-prerequisites.sh + cp BitMagic.X16Emulator/X16E/check-prerequisites.sh BitMagic.X16Emulator/X16E/bin/Release/net10.0/. + chmod +x BitMagic.X16Emulator/X16E/bin/Release/net10.0/check-prerequisites.sh - name: Create Version File run: | - echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net6.0/version.txt - echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net6.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net10.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net10.0/version.txt - name: Archive Debugger uses: thedoctor0/zip-release@0.7.1 with: type: 'tar' filename: '../../../../../BitMagic-TheDebugger.Linux.tar.gz' - directory: BitMagic.X16Debugger/X16D/bin/Release/net6.0 + directory: BitMagic.X16Debugger/X16D/bin/Release/net10.0 - name: Archive Emulator uses: thedoctor0/zip-release@0.7.1 with: type: 'tar' filename: '../../../../../BitMagic-TheEmulator.Linux.tar.gz' - directory: BitMagic.X16Emulator/X16E/bin/Release/net6.0 + directory: BitMagic.X16Emulator/X16E/bin/Release/net10.0 - name: Save Linux Artifacts uses: actions/upload-artifact@v7.0.1 @@ -260,19 +260,19 @@ jobs: # path: . - name: Copy artifacts (Debugger) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: BitMagic-TheDebugger path: . - name: Copy artifacts (Emulator) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: BitMagic-TheEmulator path: . - name: Copy artifacts (Linux) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: BitMagic-Linux path: . diff --git a/BitMagic.Libraries b/BitMagic.Libraries index c8884d5..bb89910 160000 --- a/BitMagic.Libraries +++ b/BitMagic.Libraries @@ -1 +1 @@ -Subproject commit c8884d55bc94343e830434dfbcc89f6108b033cc +Subproject commit bb8991003c46345cf6435391702ad1e162115ea5 diff --git a/BitMagic.TemplateEngine b/BitMagic.TemplateEngine index 6d657a0..81fb66e 160000 --- a/BitMagic.TemplateEngine +++ b/BitMagic.TemplateEngine @@ -1 +1 @@ -Subproject commit 6d657a0ff8b9569eb31903a2725ef8704250e0a0 +Subproject commit 81fb66e43307c76425828a136bfcedd5a1aac315 diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 35b2103..840905d 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 35b21039b805e82a3226ffa0e0611cfc8e6b02a1 +Subproject commit 840905d40d5e0b2452ce0c5a012035c980fd23fe diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 2005ae3..45baf65 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 2005ae3683b0496a0604e31a1a7809c2a3e406da +Subproject commit 45baf650bc56c08d39e0945dcf909d3168ab85ad diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index fc6a46b..48b9ee8 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit fc6a46b846270f86a814f59316d9f15ae89aa121 +Subproject commit 48b9ee8bf79e809581f4d9bf8471884ff6c3f15b diff --git a/Directory.Build.props b/Directory.Build.props index f369cd4..8408993 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,7 @@ X16 Emulator and Debugger NugetProject\butterfly.jpg - + true From e56686311844166018dbb8061cdd08e634e8eed6 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 15:40:34 +0100 Subject: [PATCH 42/75] Linux fix --- .github/workflows/build-test.yml | 9 +++++++++ BitMagic.X16Emulator | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 94509dc..44b5538 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -83,6 +83,10 @@ jobs: - name: Copy Core to Emulator run: copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Emulator\X16E\bin\Release\net10.0\EmulatorCore.dll' + - name: Fetch ROM + run: BitMagic.X16Emulator\X16E\fetch-rom.bat BitMagic.X16Emulator\X16E\bin\Release\net10.0 + shell: cmd + - name: Copy TemplateRunner to Debugger run: | new-item 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\TemplateEngine' -type directory -force @@ -211,6 +215,11 @@ jobs: run: | cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16E/bin/Release/net10.0/. + - name: Fetch ROM + run: | + chmod +x BitMagic.X16Emulator/X16E/fetch-rom.sh + BitMagic.X16Emulator/X16E/fetch-rom.sh 'BitMagic.X16Emulator/X16E/bin/Release/net10.0' + - name: Copy Prerequisite Check run: | cp BitMagic.X16Emulator/X16E/check-prerequisites.sh BitMagic.X16Emulator/X16E/bin/Release/net10.0/. diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 48b9ee8..f287125 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 48b9ee8bf79e809581f4d9bf8471884ff6c3f15b +Subproject commit f2871254206590d745e3dd984999193a9a702f73 From b0341d2d93bf0435d68bdfd2553ed394c9fcf8ca Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 15:42:34 +0100 Subject: [PATCH 43/75] rom copy script fix --- .github/workflows/build-test.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 44b5538..a820b39 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -83,9 +83,8 @@ jobs: - name: Copy Core to Emulator run: copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Emulator\X16E\bin\Release\net10.0\EmulatorCore.dll' - - name: Fetch ROM - run: BitMagic.X16Emulator\X16E\fetch-rom.bat BitMagic.X16Emulator\X16E\bin\Release\net10.0 - shell: cmd + - name: Copy ROM Fetch Script + run: copy-item 'BitMagic.X16Emulator\X16E\fetch-rom.bat' -Destination 'BitMagic.X16Emulator\X16E\bin\Release\net10.0\fetch-rom.bat' - name: Copy TemplateRunner to Debugger run: | @@ -215,10 +214,10 @@ jobs: run: | cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Emulator/X16E/bin/Release/net10.0/. - - name: Fetch ROM + - name: Copy ROM Fetch Script run: | - chmod +x BitMagic.X16Emulator/X16E/fetch-rom.sh - BitMagic.X16Emulator/X16E/fetch-rom.sh 'BitMagic.X16Emulator/X16E/bin/Release/net10.0' + cp BitMagic.X16Emulator/X16E/fetch-rom.sh BitMagic.X16Emulator/X16E/bin/Release/net10.0/. + chmod +x BitMagic.X16Emulator/X16E/bin/Release/net10.0/fetch-rom.sh - name: Copy Prerequisite Check run: | From da978d5fee64a3f2e939f3d22476ebaaa9cc008c Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 16:15:24 +0100 Subject: [PATCH 44/75] Linux fix --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index f287125..8db3551 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit f2871254206590d745e3dd984999193a9a702f73 +Subproject commit 8db3551c0691ddee438a2c4da7d1ea28920cd12d From 0c525719bbac9105b6614609bc9923e91feb0585 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 16:17:22 +0100 Subject: [PATCH 45/75] Fix rom batch --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 8db3551..5123bb4 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 8db3551c0691ddee438a2c4da7d1ea28920cd12d +Subproject commit 5123bb4d7d476195beec382f1b0bd76883ea02b6 From 9a19a14f9f0c30b02c51227e5c9f952c3d8c0381 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 16:38:27 +0100 Subject: [PATCH 46/75] Fix library location --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 5123bb4..3116374 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 5123bb4d7d476195beec382f1b0bd76883ea02b6 +Subproject commit 3116374da5e0dbdbf2bae44bf1716cd2f95df2ff From 2ab0c7d6b3e36cfb5085a89f96b0b5f2d7f520f0 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 16:50:18 +0100 Subject: [PATCH 47/75] OnClose fix --- BitMagic.X16Emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 3116374..0a862ad 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 3116374da5e0dbdbf2bae44bf1716cd2f95df2ff +Subproject commit 0a862ad03a686833a1dafd5e8e5aa10e96fb5f5d From 8f61ba8c45440747336dd315ff94f01fd46345fc Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 17:05:42 +0100 Subject: [PATCH 48/75] Fix compiler warnings --- .github/workflows/build-test.yml | 4 ++-- BitMagic.X16Compiler | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index a820b39..1a2a9cf 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -110,8 +110,8 @@ jobs: filename: 'BitMagic-TheDebugger.Windows.zip' directory: BitMagic.X16Debugger/X16D/bin/Release/net10.0 - - name: Setup VS Dev - uses: seanmiddleditch/gha-setup-vsdevenv@v5 + # - name: Setup VS Dev + # uses: seanmiddleditch/gha-setup-vsdevenv@v5 # - name: Build MSI # working-directory: BitMagic.X16Emulator diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 840905d..75133d3 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 840905d40d5e0b2452ce0c5a012035c980fd23fe +Subproject commit 75133d3351ce7def9e4718d6793bb5c1fdba27d0 From fa0dcd42490468a0896e46167046a25ee737c529 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 12 Sep 2026 18:13:03 +0100 Subject: [PATCH 49/75] Add scale --- BitMagic.Documentation | 2 +- BitMagic.X16Emulator | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index d6c0a9f..7655fc3 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit d6c0a9f15651fdea4698ea262c4d7ae67f777b58 +Subproject commit 7655fc363de3ac9f05b921a59fa7807849d9f186 diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 0a862ad..9dea586 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 0a862ad03a686833a1dafd5e8e5aa10e96fb5f5d +Subproject commit 9dea5861164b200a3e52cbce4b97bf22f188c852 From c53c8724495bb90504dee073e14a5e1e720dff83 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 13 Sep 2026 15:44:52 +0100 Subject: [PATCH 50/75] MCP addition --- .github/workflows/build-test.yml | 53 ++++++++++++++++++++++++++++++++ .gitmodules | 3 ++ BitMagic.X16MCP | 1 + External/BitMagic.ZiModem | 2 +- 4 files changed, 58 insertions(+), 1 deletion(-) create mode 160000 BitMagic.X16MCP diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 1a2a9cf..5a27b03 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -91,10 +91,21 @@ jobs: new-item 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\TemplateEngine' -type directory -force copy-item 'BitMagic.TemplateEngine\BitMagic.TemplateEngine.Runner\bin\Release\net10.0\*.*' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\TemplateEngine' -Recurse -Force + - name: Build X16M + run: dotnet build 'BitMagic.X16MCP/X16M/X16M.csproj' /p:configuration=Release --nologo + + # Bundles the just-built Debugger next to X16M (under x16d/) so X16M finds it with no + # configuration needed - see X16M's Program.cs connection resolution order. + - name: Bundle X16D into X16M + run: | + new-item 'BitMagic.X16MCP\X16M\bin\Release\net10.0\x16d' -type directory -force + copy-item 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\*' -Destination 'BitMagic.X16MCP\X16M\bin\Release\net10.0\x16d' -Recurse -Force + - name: Create Version File run: | echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net10.0/version.txt echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net10.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16MCP/X16M/bin/Release/net10.0/version.txt - name: Archive Emulator uses: thedoctor0/zip-release@0.7.1 @@ -110,6 +121,13 @@ jobs: filename: 'BitMagic-TheDebugger.Windows.zip' directory: BitMagic.X16Debugger/X16D/bin/Release/net10.0 + - name: Archive X16M + uses: thedoctor0/zip-release@0.7.1 + with: + type: 'zip' + filename: 'BitMagic-TheMCP.Windows.zip' + directory: BitMagic.X16MCP/X16M/bin/Release/net10.0 + # - name: Setup VS Dev # uses: seanmiddleditch/gha-setup-vsdevenv@v5 @@ -135,6 +153,12 @@ jobs: name: BitMagic-TheDebugger path: BitMagic.X16Debugger/X16D/bin/Release/net10.0/BitMagic-TheDebugger.Windows.zip + - name: Save X16M Artifacts + uses: actions/upload-artifact@v7.0.1 + with: + name: BitMagic-TheMCP + path: BitMagic.X16MCP/X16M/bin/Release/net10.0/BitMagic-TheMCP.Windows.zip + build-linux: needs: build-core runs-on: ubuntu-24.04 @@ -207,6 +231,16 @@ jobs: run: | cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Debugger/X16D/bin/Release/net10.0/. + - name: Build X16M + run: dotnet build 'BitMagic.X16MCP/X16M/X16M.csproj' /p:configuration=Release --nologo + + # Bundles the just-built Debugger next to X16M (under x16d/) so X16M finds it with no + # configuration needed - see X16M's Program.cs connection resolution order. + - name: Bundle X16D into X16M + run: | + mkdir -p BitMagic.X16MCP/X16M/bin/Release/net10.0/x16d + cp -R BitMagic.X16Debugger/X16D/bin/Release/net10.0/* BitMagic.X16MCP/X16M/bin/Release/net10.0/x16d + - name: Build Emulator run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release --nologo @@ -228,6 +262,7 @@ jobs: run: | echo "${{ github.sha }}" > BitMagic.X16Debugger/X16D/bin/Release/net10.0/version.txt echo "${{ github.sha }}" > BitMagic.X16Emulator/X16E/bin/Release/net10.0/version.txt + echo "${{ github.sha }}" > BitMagic.X16MCP/X16M/bin/Release/net10.0/version.txt - name: Archive Debugger uses: thedoctor0/zip-release@0.7.1 @@ -243,6 +278,13 @@ jobs: filename: '../../../../../BitMagic-TheEmulator.Linux.tar.gz' directory: BitMagic.X16Emulator/X16E/bin/Release/net10.0 + - name: Archive X16M + uses: thedoctor0/zip-release@0.7.1 + with: + type: 'tar' + filename: '../../../../../BitMagic-TheMCP.Linux.tar.gz' + directory: BitMagic.X16MCP/X16M/bin/Release/net10.0 + - name: Save Linux Artifacts uses: actions/upload-artifact@v7.0.1 with: @@ -250,6 +292,7 @@ jobs: path: | BitMagic-TheDebugger.Linux.tar.gz BitMagic-TheEmulator.Linux.tar.gz + BitMagic-TheMCP.Linux.tar.gz release: needs: [build-windows, build-linux] @@ -279,6 +322,12 @@ jobs: name: BitMagic-TheEmulator path: . + - name: Copy artifacts (X16M) + uses: actions/download-artifact@v8.0.1 + with: + name: BitMagic-TheMCP + path: . + - name: Copy artifacts (Linux) uses: actions/download-artifact@v8.0.1 with: @@ -297,8 +346,10 @@ jobs: files: | BitMagic-TheDebugger.Linux.tar.gz BitMagic-TheEmulator.Linux.tar.gz + BitMagic-TheMCP.Linux.tar.gz BitMagic-TheEmulator.Windows.zip BitMagic-TheDebugger.Windows.zip + BitMagic-TheMCP.Windows.zip version.txt - name: Create Github Development Release @@ -313,6 +364,8 @@ jobs: files: | BitMagic-TheDebugger.Linux.tar.gz BitMagic-TheEmulator.Linux.tar.gz + BitMagic-TheMCP.Linux.tar.gz BitMagic-TheEmulator.Windows.zip BitMagic-TheDebugger.Windows.zip + BitMagic-TheMCP.Windows.zip version.txt diff --git a/.gitmodules b/.gitmodules index 3e798c9..cf0c57d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -31,3 +31,6 @@ [submodule "External/BitMagic.ZiModem"] path = External/BitMagic.ZiModem url = https://github.com/Yazwh0/BitMagic.ZiModem.git +[submodule "BitMagic.X16MCP"] + path = BitMagic.X16MCP + url = https://github.com/Yazwh0/BitMagic.X16MCP.git diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP new file mode 160000 index 0000000..96902f8 --- /dev/null +++ b/BitMagic.X16MCP @@ -0,0 +1 @@ +Subproject commit 96902f8c52323f27d492fe2bfcf76c267c1c9460 diff --git a/External/BitMagic.ZiModem b/External/BitMagic.ZiModem index 4050558..5f335bc 160000 --- a/External/BitMagic.ZiModem +++ b/External/BitMagic.ZiModem @@ -1 +1 @@ -Subproject commit 405055804365ec34734ea4d3ea07656117fc5ff4 +Subproject commit 5f335bc993431f9363a57f0e731894822929cde4 From 9eaf92a7109266c055df5f0b211866fc87d471ae Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 13 Sep 2026 16:29:43 +0100 Subject: [PATCH 51/75] MCP Fix --- BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 7655fc3..ab10781 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 7655fc363de3ac9f05b921a59fa7807849d9f186 +Subproject commit ab10781dc3938c469169afd01d432d2fe0cd0924 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 96902f8..acd4e25 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 96902f8c52323f27d492fe2bfcf76c267c1c9460 +Subproject commit acd4e25c34ef1bd207f2373b722afb2a71aa31aa From 23cb200ea03c79bbd541f581945bb7c4ffee4423 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 13 Sep 2026 16:43:25 +0100 Subject: [PATCH 52/75] MCP --- BitMagic.X16MCP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index acd4e25..878388e 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit acd4e25c34ef1bd207f2373b722afb2a71aa31aa +Subproject commit 878388e40d08a8aa0fd2123feb269457cfe25472 From fa704967fa0c72abf6c0ad0e31b8876d852fefcc Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 13 Sep 2026 17:03:59 +0100 Subject: [PATCH 53/75] MCP --- BitMagic.X16MCP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 878388e..55f611a 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 878388e40d08a8aa0fd2123feb269457cfe25472 +Subproject commit 55f611aadaea6fe08de552defc8da0411cdfd22a From 60fd19f87aa52bf2e0bd027712105e2754924dde Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 13 Sep 2026 21:17:09 +0100 Subject: [PATCH 54/75] MCP --- BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index ab10781..79bbc25 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit ab10781dc3938c469169afd01d432d2fe0cd0924 +Subproject commit 79bbc25ed8671d6423c74269589b51f625ef1de3 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 55f611a..2368a5b 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 55f611aadaea6fe08de552defc8da0411cdfd22a +Subproject commit 2368a5b498a89e4fd236f4e0c3b6d10fe7df50af From 4e14afbf5b842cf6288c00daf13dc2eca7c604f7 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 14 Sep 2026 18:22:37 +0100 Subject: [PATCH 55/75] Test MCP push --- .config/dotnet-tools.json | 13 +++++ .github/workflows/build-test.yml | 85 ++++++++++++++++++++++++++++++++ BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- version.json | 4 ++ 5 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 .config/dotnet-tools.json create mode 100644 version.json diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..c213df6 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "nbgv": { + "version": "3.10.94", + "commands": [ + "nbgv" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 5a27b03..91fac65 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -5,6 +5,45 @@ on: branches: ["main", "develop"] jobs: + # No `needs:` - this has no dependency on build-core, so it runs in parallel with it + # rather than serializing behind a job it doesn't need anything from. + version: + runs-on: ubuntu-24.04 + + outputs: + nuget-version: ${{ steps.nbgv.outputs.nuget-version }} + + steps: + - name: Checkout + uses: actions/checkout@v7.0.1 + with: + submodules: false + fetch-depth: 0 + + - name: Setup .NET + uses: actions/setup-dotnet@v6.0.0 + with: + dotnet-version: 10.0.x + + - name: Restore dotnet tools + run: dotnet tool restore + + # PublicRelease drops the git-commit-hash prerelease suffix, giving a clean X.Y.Z for + # real releases; without it every commit gets its own unique X.Y.Z-g automatically - + # both computed purely from local git history, no tag required either way. + - name: Compute version + id: nbgv + shell: bash + run: | + if [ "${{ github.ref }}" = "refs/heads/main" ]; then + PUBLIC_RELEASE=true + else + PUBLIC_RELEASE=false + fi + VERSION=$(dotnet nbgv get-version -v NuGetPackageVersion --public-release=$PUBLIC_RELEASE) + echo "nuget-version=$VERSION" >> "$GITHUB_OUTPUT" + echo "Computed version: $VERSION" + build-core: runs-on: windows-2022 @@ -13,6 +52,7 @@ jobs: uses: actions/checkout@v7.0.1 with: submodules: recursive + fetch-depth: 0 - name: Setup MSBuild.exe uses: microsoft/setup-msbuild@v3.0.0 @@ -55,6 +95,7 @@ jobs: uses: actions/checkout@v7.0.1 with: submodules: recursive + fetch-depth: 0 - name: Download Core uses: actions/download-artifact@v8.0.1 @@ -168,6 +209,7 @@ jobs: uses: actions/checkout@v7.0.1 with: submodules: recursive + fetch-depth: 0 # 8.0 runtime is needed by the ZiModem vendoring tool (tools/Vendoring targets # net8.0, run by the CMake build below); 10.0 keeps the C# project builds on the @@ -369,3 +411,46 @@ jobs: BitMagic-TheDebugger.Windows.zip BitMagic-TheMCP.Windows.zip version.txt + + nuget-publish: + needs: [version, build-windows, build-linux] + runs-on: ubuntu-24.04 + + steps: + - name: Checkout + uses: actions/checkout@v7.0.1 + with: + submodules: recursive + + - name: Setup .NET + uses: actions/setup-dotnet@v6.0.0 + with: + dotnet-version: 10.0.x + + - name: Copy artifacts (Debugger Windows) + uses: actions/download-artifact@v8.0.1 + with: + name: BitMagic-TheDebugger + path: . + + - name: Copy artifacts (Linux) + uses: actions/download-artifact@v8.0.1 + with: + name: BitMagic-Linux + path: . + + # X16M.csproj bundles these per-RID (see the comment above its RuntimeIdentifiers + # property) - staged one level above the project directory so the SDK's implicit + # Compile/Content globs don't sweep up X16D's own loose .cs library sources. + - name: Stage X16D bundles + run: | + mkdir -p BitMagic.X16MCP/x16d-win-x64 + unzip -q BitMagic-TheDebugger.Windows.zip -d BitMagic.X16MCP/x16d-win-x64 + mkdir -p BitMagic.X16MCP/x16d-linux-x64 + tar -xzf BitMagic-TheDebugger.Linux.tar.gz -C BitMagic.X16MCP/x16d-linux-x64 + + - name: Pack X16M + run: dotnet pack 'BitMagic.X16MCP/X16M/X16M.csproj' -c Release -o nupkgs /p:Version=${{ needs.version.outputs.nuget-version }} + + - name: Push to NuGet + run: dotnet nuget push "nupkgs/*.nupkg" -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 79bbc25..3156901 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 79bbc25ed8671d6423c74269589b51f625ef1de3 +Subproject commit 3156901a79dd21328daaf03906cdb7a95e2f2c90 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 2368a5b..35c7ad2 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 2368a5b498a89e4fd236f4e0c3b6d10fe7df50af +Subproject commit 35c7ad205710a3702abe4510c9801afc4062d1c7 diff --git a/version.json b/version.json new file mode 100644 index 0000000..7b6e9a3 --- /dev/null +++ b/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} From e2ff926a21d356c9260fdc0d02ee38e1c443b593 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 14 Sep 2026 18:51:36 +0100 Subject: [PATCH 56/75] Adds more versioning --- .github/workflows/build-test.yml | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 91fac65..1f39f23 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -87,7 +87,7 @@ jobs: path: External\BitMagic.ZiModem\build\native\bin\zimodem_host.dll build-windows: - needs: build-core + needs: [build-core, version] runs-on: windows-2022 steps: @@ -110,7 +110,7 @@ jobs: path: External\BitMagic.ZiModem\build\native\bin - name: Build Debugger - run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release --nologo + run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release /p:Version=${{ needs.version.outputs.nuget-version }} --nologo - name: Build TemplateRunner run: dotnet build 'BitMagic.TemplateEngine/BitMagic.TemplateEngine.Runner' /p:configuration=Release --nologo @@ -119,7 +119,7 @@ jobs: run : copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\EmulatorCore.dll' - name: Build Emulator - run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release --nologo + run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release /p:Version=${{ needs.version.outputs.nuget-version }} --nologo - name: Copy Core to Emulator run: copy-item 'BitMagic.X16Emulator\X16Emulator\EmulatorCore\x64\Release\EmulatorCore.dll' -Destination 'BitMagic.X16Emulator\X16E\bin\Release\net10.0\EmulatorCore.dll' @@ -133,7 +133,7 @@ jobs: copy-item 'BitMagic.TemplateEngine\BitMagic.TemplateEngine.Runner\bin\Release\net10.0\*.*' -Destination 'BitMagic.X16Debugger\X16D\bin\Release\net10.0\TemplateEngine' -Recurse -Force - name: Build X16M - run: dotnet build 'BitMagic.X16MCP/X16M/X16M.csproj' /p:configuration=Release --nologo + run: dotnet build 'BitMagic.X16MCP/X16M/X16M.csproj' /p:configuration=Release /p:Version=${{ needs.version.outputs.nuget-version }} --nologo # Bundles the just-built Debugger next to X16M (under x16d/) so X16M finds it with no # configuration needed - see X16M's Program.cs connection resolution order. @@ -201,7 +201,7 @@ jobs: path: BitMagic.X16MCP/X16M/bin/Release/net10.0/BitMagic-TheMCP.Windows.zip build-linux: - needs: build-core + needs: [build-core, version] runs-on: ubuntu-24.04 steps: @@ -259,7 +259,7 @@ jobs: ls -l build/native/bin - name: Build Debugger - run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release --nologo + run: dotnet build 'BitMagic.X16Debugger/X16D/X16D.csproj' /p:configuration=Release /p:Version=${{ needs.version.outputs.nuget-version }} --nologo - name: Build TemplateRunner run: dotnet build 'BitMagic.TemplateEngine/BitMagic.TemplateEngine.Runner' /p:configuration=Release --nologo @@ -274,7 +274,7 @@ jobs: cp BitMagic.X16Emulator/X16Emulator/EmulatorCoreLinux/EmulatorCore.so BitMagic.X16Debugger/X16D/bin/Release/net10.0/. - name: Build X16M - run: dotnet build 'BitMagic.X16MCP/X16M/X16M.csproj' /p:configuration=Release --nologo + run: dotnet build 'BitMagic.X16MCP/X16M/X16M.csproj' /p:configuration=Release /p:Version=${{ needs.version.outputs.nuget-version }} --nologo # Bundles the just-built Debugger next to X16M (under x16d/) so X16M finds it with no # configuration needed - see X16M's Program.cs connection resolution order. @@ -284,7 +284,7 @@ jobs: cp -R BitMagic.X16Debugger/X16D/bin/Release/net10.0/* BitMagic.X16MCP/X16M/bin/Release/net10.0/x16d - name: Build Emulator - run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release --nologo + run: dotnet build 'BitMagic.X16Emulator/X16E/X16E.csproj' /p:configuration=Release /p:Version=${{ needs.version.outputs.nuget-version }} --nologo - name: Copy Wrapper to Emulator run: | @@ -415,6 +415,8 @@ jobs: nuget-publish: needs: [version, build-windows, build-linux] runs-on: ubuntu-24.04 + permissions: + id-token: write # enable GitHub OIDC token issuance, needed for NuGet Trusted Publishing steps: - name: Checkout @@ -452,5 +454,14 @@ jobs: - name: Pack X16M run: dotnet pack 'BitMagic.X16MCP/X16M/X16M.csproj' -c Release -o nupkgs /p:Version=${{ needs.version.outputs.nuget-version }} + # Exchanges this job's GitHub OIDC token for a short-lived (1 hour) NuGet API key via + # the trusted-publishing policy configured on nuget.org for Yazwh0/BitMagic + + # build-test.yml -- no long-lived NUGET_API_KEY secret to store or rotate. + - name: NuGet login (OIDC -> temp API key) + uses: NuGet/login@v1 + id: nuget-login + with: + user: ${{ secrets.NUGET_USER }} + - name: Push to NuGet - run: dotnet nuget push "nupkgs/*.nupkg" -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate + run: dotnet nuget push "nupkgs/*.nupkg" --api-key ${{ steps.nuget-login.outputs.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate From 0421fce4e7ab55487abbeb37fa8e746df041751a Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 14 Sep 2026 19:07:55 +0100 Subject: [PATCH 57/75] MCP Build --- BitMagic.X16MCP | 2 +- Directory.Build.props | 44 +++++++++++++++++++++++++++++++----------- LICENSE => LICENSE.txt | 0 3 files changed, 34 insertions(+), 12 deletions(-) rename LICENSE => LICENSE.txt (100%) diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 35c7ad2..4269bd3 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 35c7ad205710a3702abe4510c9801afc4062d1c7 +Subproject commit 4269bd341acd9d10c733b5323187a87ff0c7aed9 diff --git a/Directory.Build.props b/Directory.Build.props index 8408993..6564972 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,16 +1,38 @@ + - BitMagic - 0.1.0 - BitMagic X16 Emulator and Debugger - Yazwh0 - Yazwh0 - AGPL-3.0-or-later - X16 Emulator and Debugger - NugetProject\butterfly.jpg - - - + 0.1.0 + BitMagic X16 Emulator and Debugger + Yazwh0 + X16 Emulator and Debugger + + LICENSE.txt true + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE.txt similarity index 100% rename from LICENSE rename to LICENSE.txt From 6b849c732db446259499faf5b0d8500703cc6ec7 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 14 Sep 2026 19:26:35 +0100 Subject: [PATCH 58/75] Better MCP readme --- BitMagic.X16MCP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 4269bd3..3534433 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 4269bd341acd9d10c733b5323187a87ff0c7aed9 +Subproject commit 3534433c24b44d97d2ec1ead808dcc964b4aa025 From 4e0e25d26579acc53a54b4fe700ccf87b17fc94a Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 14 Sep 2026 21:01:33 +0100 Subject: [PATCH 59/75] Adds layers and sprites to the MCP --- BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 3156901..b25ae9f 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 3156901a79dd21328daaf03906cdb7a95e2f2c90 +Subproject commit b25ae9fcaca70e75ce4ec0a646bf410bf5762ef9 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 3534433..319de4e 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 3534433c24b44d97d2ec1ead808dcc964b4aa025 +Subproject commit 319de4efc5ea1fd825b20224a4b9e9994b166340 From 0e8fc4c1ffaef25513aec6c36798da0c4dfb1265 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Mon, 14 Sep 2026 21:04:57 +0100 Subject: [PATCH 60/75] Adds cpu history --- BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index b25ae9f..095f3de 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit b25ae9fcaca70e75ce4ec0a646bf410bf5762ef9 +Subproject commit 095f3dee7cb698c29dc0186aa5ffe614232d072c diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 319de4e..2dcf046 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 319de4efc5ea1fd825b20224a4b9e9994b166340 +Subproject commit 2dcf04645e687afe0cb35e91462e7812e60ad4cb From 51bb614f1511b362754e2e7e38daaacf92aabbf5 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Thu, 17 Sep 2026 21:00:31 +0100 Subject: [PATCH 61/75] Memory Defense --- BitMagic.Documentation | 2 +- BitMagic.X16Debugger | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 095f3de..f7d18cc 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 095f3dee7cb698c29dc0186aa5ffe614232d072c +Subproject commit f7d18cce8b0498223443bfc910c1a971fa014b39 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 45baf65..e0f8eb4 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 45baf650bc56c08d39e0945dcf909d3168ab85ad +Subproject commit e0f8eb4c367b9f38a900a7ac2a4e7d5a8fef1191 From 092752c8f0ee2d0095ba2ba8d74b16b155296e65 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Fri, 18 Sep 2026 19:09:42 +0100 Subject: [PATCH 62/75] Add memory viewer --- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16MCP | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.VSC b/BitMagic.VSC index 7c23d48..557fa8f 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 7c23d4838878f8ac8231aea6f11ed0de1becf72f +Subproject commit 557fa8fc9a3dd87dd30975ca299abd2f9ac3e53c diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index e0f8eb4..1b36a02 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit e0f8eb4c367b9f38a900a7ac2a4e7d5a8fef1191 +Subproject commit 1b36a02b84f6e537232769b50bf1573009584e49 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 2dcf046..8c25f14 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 2dcf04645e687afe0cb35e91462e7812e60ad4cb +Subproject commit 8c25f143855f4f081ef175464a464d46ac70df2d From 5367d3b3d58e8786fedcd6da90241aff4b8d261d Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 12:36:40 +0100 Subject: [PATCH 63/75] Add MCP attach capability --- BitMagic.Documentation | 2 +- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16MCP | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index f7d18cc..a749e28 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit f7d18cce8b0498223443bfc910c1a971fa014b39 +Subproject commit a749e28a788a1ecc8e7a4f0d87d561e755917c5b diff --git a/BitMagic.VSC b/BitMagic.VSC index 557fa8f..f489a36 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 557fa8fc9a3dd87dd30975ca299abd2f9ac3e53c +Subproject commit f489a367cf07cb04c8660eb5f83843e665548af5 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 1b36a02..c8d6345 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 1b36a02b84f6e537232769b50bf1573009584e49 +Subproject commit c8d6345c4d2a4ff9756d7e920e3f93dcfeacd556 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 8c25f14..d271227 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 8c25f143855f4f081ef175464a464d46ac70df2d +Subproject commit d271227675d435ed24516a9dcd35a40a2cec5a31 From 284ccef38e2ec63a385a347c82a43be4a752c95d Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 13:01:48 +0100 Subject: [PATCH 64/75] Changes to MCP to fix connectivity --- BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index a749e28..a9a01ac 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit a749e28a788a1ecc8e7a4f0d87d561e755917c5b +Subproject commit a9a01ac2e6e3465f2f3c0e80a63d51d682672a31 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index d271227..370d9bc 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit d271227675d435ed24516a9dcd35a40a2cec5a31 +Subproject commit 370d9bcd2b0d1e3a046997432208c4c223ae20c2 From 0a0db05ad1e9dd41272368f0886f65942e4fc289 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 15:12:39 +0100 Subject: [PATCH 65/75] Adds global variables --- BitMagic.X16Compiler | 2 +- BitMagic.X16Debugger | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index 75133d3..c2ed1a1 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit 75133d3351ce7def9e4718d6793bb5c1fdba27d0 +Subproject commit c2ed1a1d0f909d442cc495eac1e6afb79608f59d diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index c8d6345..737146a 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit c8d6345c4d2a4ff9756d7e920e3f93dcfeacd556 +Subproject commit 737146afd79fe968e1f46ea5c6b15989724b0c80 From 06598a39ba7865cf8e7daf7fa0ba12ebfa5a9978 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 15:25:56 +0100 Subject: [PATCH 66/75] MCP Globals --- BitMagic.X16MCP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 370d9bc..c8a9507 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 370d9bcd2b0d1e3a046997432208c4c223ae20c2 +Subproject commit c8a9507b8f7a04b68d8fd42f80b174471e1c5344 From 38ef73833a00e04e851470fc6c8c6f8975070c92 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 16:15:17 +0100 Subject: [PATCH 67/75] Fix memory read bugs --- BitMagic.X16Debugger | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 737146a..bfdc4af 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 737146afd79fe968e1f46ea5c6b15989724b0c80 +Subproject commit bfdc4af8089cf47b298938e3116ea755efd99dd2 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index c8a9507..e99d4ac 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit c8a9507b8f7a04b68d8fd42f80b174471e1c5344 +Subproject commit e99d4ac48c47edd738a9b575c4ba4778c52132cb From 77258bc05c260d2d771eaefdd1bbb20d54e57414 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 16:44:40 +0100 Subject: [PATCH 68/75] Use memory handler --- BitMagic.X16Debugger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index bfdc4af..f090a83 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit bfdc4af8089cf47b298938e3116ea755efd99dd2 +Subproject commit f090a838a9ab766b19d81ec65eb7f8032c8105bb From 33f7888c1d19c79f3484ddfbfa754b12e0bce931 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 17:11:35 +0100 Subject: [PATCH 69/75] Should now resolve memory references --- BitMagic.X16MCP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index e99d4ac..931da17 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit e99d4ac48c47edd738a9b575c4ba4778c52132cb +Subproject commit 931da170465a991e6db249fa6537388c8f27582e From 520e01f4614875a7c63e0e84c76d22956eeb0f87 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sat, 19 Sep 2026 17:27:25 +0100 Subject: [PATCH 70/75] Improves documentation --- BitMagic.Documentation | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index a9a01ac..16fc95c 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit a9a01ac2e6e3465f2f3c0e80a63d51d682672a31 +Subproject commit 16fc95c0f2f100803465ede0557a3a439b10d28b diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 931da17..921d65d 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 931da170465a991e6db249fa6537388c8f27582e +Subproject commit 921d65de00c95aedbd6889404dfcf392baffa2e5 From 2b199bc38df7bcce6029e9588db40f61501fded3 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 20 Sep 2026 11:49:18 +0100 Subject: [PATCH 71/75] Build tools and MCP syntax --- BitMagic.X16Debugger | 2 +- BitMagic.X16MCP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index f090a83..7db8f01 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit f090a838a9ab766b19d81ec65eb7f8032c8105bb +Subproject commit 7db8f0179f1f906ceac07176339e36eb3fa0bf26 diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 921d65d..a806a26 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 921d65de00c95aedbd6889404dfcf392baffa2e5 +Subproject commit a806a263a033ce88efb19ce9c3c85f268bfff941 From 3652bab187be2f71512061cb18965170641dc7ca Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 20 Sep 2026 14:51:52 +0100 Subject: [PATCH 72/75] Allow either a space or comma to delimit --- BitMagic.X16Compiler | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitMagic.X16Compiler b/BitMagic.X16Compiler index c2ed1a1..618cfe9 160000 --- a/BitMagic.X16Compiler +++ b/BitMagic.X16Compiler @@ -1 +1 @@ -Subproject commit c2ed1a1d0f909d442cc495eac1e6afb79608f59d +Subproject commit 618cfe968f2d360aaf9ab5496174474a375763b4 From 07ee9e959efa7e02151def4fa29eea199036288e Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 20 Sep 2026 15:34:53 +0100 Subject: [PATCH 73/75] Adds keyboard and mouse input --- BitMagic.Documentation | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16MCP | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 16fc95c..63b0ee7 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 16fc95c0f2f100803465ede0557a3a439b10d28b +Subproject commit 63b0ee7b958fcef32b8cd87823fc509314330334 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 7db8f01..352c84c 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 7db8f0179f1f906ceac07176339e36eb3fa0bf26 +Subproject commit 352c84c03a5409e065f7a65aeafbb209cbb3e3be diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index a806a26..35bf10f 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit a806a263a033ce88efb19ce9c3c85f268bfff941 +Subproject commit 35bf10f34545ac38d01b352adb7d24224d415316 From 6339fd04ddf1226b83b9df0e1afa604c178df795 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Sun, 20 Sep 2026 21:16:47 +0100 Subject: [PATCH 74/75] Add MCP functionality and enable StopOnEntry --- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16MCP | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BitMagic.VSC b/BitMagic.VSC index f489a36..53ffd7d 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit f489a367cf07cb04c8660eb5f83843e665548af5 +Subproject commit 53ffd7d8a27d18df5aa8cdbe5dc2ad1e36223992 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 352c84c..8257349 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 352c84c03a5409e065f7a65aeafbb209cbb3e3be +Subproject commit 8257349b131b7559e9e1f25f5c7276163618437a diff --git a/BitMagic.X16MCP b/BitMagic.X16MCP index 35bf10f..40c51ac 160000 --- a/BitMagic.X16MCP +++ b/BitMagic.X16MCP @@ -1 +1 @@ -Subproject commit 35bf10f34545ac38d01b352adb7d24224d415316 +Subproject commit 40c51ac30481dcf2fcd80e8f5b15fc6a86e1a195 From a4d5e4e64f98f823a810e05f8aa35bac96a23c89 Mon Sep 17 00:00:00 2001 From: Yazwh0 <90315107+Yazwh0@users.noreply.github.com> Date: Tue, 22 Sep 2026 18:24:13 +0100 Subject: [PATCH 75/75] Set variables and release --- BitMagic.Documentation | 2 +- BitMagic.VSC | 2 +- BitMagic.X16Debugger | 2 +- BitMagic.X16Emulator | 2 +- BitMagic.sln | 19 ++++++++++++++++++- 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/BitMagic.Documentation b/BitMagic.Documentation index 63b0ee7..7a7d359 160000 --- a/BitMagic.Documentation +++ b/BitMagic.Documentation @@ -1 +1 @@ -Subproject commit 63b0ee7b958fcef32b8cd87823fc509314330334 +Subproject commit 7a7d3598a2286587e008e7f2bc8d9f5cad32a48e diff --git a/BitMagic.VSC b/BitMagic.VSC index 53ffd7d..7ea36a5 160000 --- a/BitMagic.VSC +++ b/BitMagic.VSC @@ -1 +1 @@ -Subproject commit 53ffd7d8a27d18df5aa8cdbe5dc2ad1e36223992 +Subproject commit 7ea36a5dc75ffa5bd571bd76dfb060398e012ed0 diff --git a/BitMagic.X16Debugger b/BitMagic.X16Debugger index 8257349..26da019 160000 --- a/BitMagic.X16Debugger +++ b/BitMagic.X16Debugger @@ -1 +1 @@ -Subproject commit 8257349b131b7559e9e1f25f5c7276163618437a +Subproject commit 26da01906dd09e9acb56792c7200a850f3e9c17d diff --git a/BitMagic.X16Emulator b/BitMagic.X16Emulator index 9dea586..92e32a1 160000 --- a/BitMagic.X16Emulator +++ b/BitMagic.X16Emulator @@ -1 +1 @@ -Subproject commit 9dea5861164b200a3e52cbce4b97bf22f188c852 +Subproject commit 92e32a1f63897c8284f8b00fcd9bb41b16c3d12e diff --git a/BitMagic.sln b/BitMagic.sln index dbcb241..fc5a181 100644 --- a/BitMagic.sln +++ b/BitMagic.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 18 -VisualStudioVersion = 18.9.12112.369 stable +VisualStudioVersion = 18.9.12112.369 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "X16D", "BitMagic.X16Debugger\X16D\X16D.csproj", "{1A61AC4C-C457-44E1-844D-DE1E5FCCF6E2}" EndProject @@ -105,6 +105,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZiModem.Net", "External\Bit EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZiModemHost", "External\BitMagic.ZiModem\native\ZiModemHost.vcxproj", "{7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BitMagic.X16Debugger", "BitMagic.X16Debugger", "{97EF9954-7ECC-2AD4-D902-769250895DF7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMagic.X16Debugger.Tests", "BitMagic.X16Debugger\BitMagic.X16Debugger.Tests\BitMagic.X16Debugger.Tests.csproj", "{C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -509,6 +513,18 @@ Global {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|x64.ActiveCfg = Release|x64 {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|x64.Build.0 = Release|x64 {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1}.Release|x86.ActiveCfg = Release|x64 + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Debug|x64.ActiveCfg = Debug|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Debug|x64.Build.0 = Debug|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Debug|x86.ActiveCfg = Debug|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Debug|x86.Build.0 = Debug|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Release|Any CPU.Build.0 = Release|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Release|x64.ActiveCfg = Release|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Release|x64.Build.0 = Release|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Release|x86.ActiveCfg = Release|Any CPU + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -546,6 +562,7 @@ Global {EA9A9461-65C5-4A08-AC88-D691CA7E6D96} = {56C1711B-E0BB-40B0-BAF6-77E3206969A6} {169D0060-163E-95B7-FD6B-8E961F82C176} = {EA9A9461-65C5-4A08-AC88-D691CA7E6D96} {7E3EFF57-92D4-4994-8681-7D99B3F5A5A1} = {EA9A9461-65C5-4A08-AC88-D691CA7E6D96} + {C44DD593-D0B9-47B0-B3F6-58E02C55A5D7} = {97EF9954-7ECC-2AD4-D902-769250895DF7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {DFCB7DF5-52B3-4B9B-9814-3EC16549A76F}