Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #87 you mentioned a turnkey word. Not sure if this is exactly what you were thinking but here's the approach that I've been using.
It adds a turnkey vector in a known rom location (just below the three system vectors). If the MSB is non-zero then that xt is execute'd at the end of cold. I normally point this to a blk-boot word which tries to boot from the block device if available.
I also add a forth_warm entrypoint which skips most of the initialization in cold. This is useful for making prebuilt memory images to simplify distribution - e.g. load and compile a bunch of words/data, then update both the turnkey vector (to run your code) and the reset vector (to a kernel_init that jumps to warm) and then dump the memory image to the block device. Now you have a standalone 64K image with your compiled code ready to go for pymon or c65 without needing block support or your original source code.
The other thing that might be relevant is TALI_USER_HEADERS. I use this so my platform can define its own header.asm/words.asm without having to modify the core source code at all. This mirrors your suggestion of (say) TALI_USER_FORTH which could conditionally include platform-specific forth source, perhaps replacing forth_code/user_words.fs