From e73e4bc6d4cabab6b2ab2882d7cf89c3e5d371d6 Mon Sep 17 00:00:00 2001 From: Philip Zembrod Date: Mon, 1 Jul 2024 23:52:48 +0200 Subject: [PATCH] Remove 0376 >label BkgPenCol from vf-sys-x16.fth and update RELEASE_NOTES.md accordingly. --- 6502/C64/RELEASE_NOTES.md | 17 ++++++++++++++--- 6502/C64/src/vf-sys-x16.fth | 1 - 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/6502/C64/RELEASE_NOTES.md b/6502/C64/RELEASE_NOTES.md index 264b320..8e2a980 100644 --- a/6502/C64/RELEASE_NOTES.md +++ b/6502/C64/RELEASE_NOTES.md @@ -66,11 +66,11 @@ C64 Releases. As of now (June 2024), the different VolksForth platforms ### 6502-C64 3.9.6 - in preparation -Several dependencies of the VolksForth kernel on X16 Kernal variable addresses +The known dependencies of the VolksForth kernel +on X16 Kernal variable addresses and thus likely breakage points with new Kernal release were replaced with Kernal API calls, so the VolksForth kernel should now be much more robust -when the X16 Kernal changes. The only remaining Kernal variable used is -$0376 - BkgPenCol. +when the X16 Kernal changes. * Clearing the IOStatus is now possible through the ExtApi call ($FEAB, thanks to mooinglemur for implementing this), so the dependency on the address of @@ -88,6 +88,17 @@ $0376 - BkgPenCol. * Likewise the clearing of the Kernal variables QtSw and Insrt after each char written to the console via CHROUT: It was removed from the X16 variant as it shouldn't be necessary. +* Up to version 3.9.5, the VolksForth kernel used BkgPenCol (X16: $0376) + to set both background and pen color during initialization. It would be + great ot have e.g. an ExtApi function to set BkgPenCol, similar to the + X16 BASIC command `COLOR`. I'm planning to suggest this, + but for the time being setting the background and pen color is + instead done via PETSCII control codes instead. To reflect this change, + the CBM VolksForth word `INK-POT` has been renamed to `X16-INK-POT`, + and it contains only 3 values (border color code, background color PETSCII + control charcter, pen color PETSCII control character. This removes the + dependency on BkgPenCol and thereby on the last remaining Kernal variable + that was used by VolksForth. The cooperative multitasker was extracted from the original disk 3 (see [`disks/vforth4_3.fth`](https://github.com/forth-ev/VolksForth/blob/master/6502/C64/disks/vforth4_3.fth)) diff --git a/6502/C64/src/vf-sys-x16.fth b/6502/C64/src/vf-sys-x16.fth index 230b01e..d0852fc 100644 --- a/6502/C64/src/vf-sys-x16.fth +++ b/6502/C64/src/vf-sys-x16.fth @@ -9,7 +9,6 @@ include vf-lbls-cbm.fth 0febd >label KbdbufPeek 0feab >label ExtApi 09f2c >label BrdCol - 0376 >label BkgPenCol \ aka color \ I'm tentatively removing QtSw & Insrt from the X16 variant; \ see comment at the top of vf-sys-cbm.fth \ 0381 >label QtSw