-
-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate sources and build scripts to Nestor80 #115
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Change the CODE macro used in the kernel and in NEXTOR.SYS so that it doesn't rely anymore in the assembler being able to assemble 8080 mnemonics.
- Re-encode in UTF-8 - Add .strenc instructions - Remove redundand macros - Adjust makefile
These files are data.mac, drv.mac, kbar.mac, chgbnk.mac, rel.mac Also, makefile adjusted appripriately.
With this, M80 isn't needed anymore to assemble the Nextor kernel (sjasm is still needed)
- Replace data structures with macros and modules. - Replace multi-push and pop with single ones. - Replace "ld iy,de" with real instructions. - Replace 512 repetitions of LDI with a REPT. - Replace $ hex prefix with h suffix. - Expect MASTER_ONLY to be defined externally. The original code seems to mistakenly assume that "pop x,y,z" generates "pop x - pop y - pop z" when actually what sjasm generates is "pop z - pop y - pop x"; surprisingly, the driver seems to work fine with and without fixing this. So in this commit these are fixed, but if a BAD_POPS constant is defined then the wrong pops will be generated instead (may be useful for debugging/testing). Additionally, the makefile has been adapted accordingly.
Also adjust Makefile to properly assemble it.
Also keep it "old style" by removing escape sequences and DZs
Also change --status-verbosity to --verbosity in makefiles
Also add an explicit program name instruction to all source files.
….mac for readability
Also update README to point out that SDCC 4.2 or newer is now required.
Konamiman
force-pushed
the
adapt_to_Nestor80
branch
16 times, most recently
from
March 20, 2023 16:02
3edef07
to
7394d58
Compare
Konamiman
force-pushed
the
adapt_to_Nestor80
branch
4 times, most recently
from
March 20, 2023 16:17
d44b2cb
to
08e9147
Compare
Konamiman
force-pushed
the
adapt_to_Nestor80
branch
from
March 20, 2023 16:19
08e9147
to
289b643
Compare
This was referenced Apr 12, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Make the necessary adjustments to use the Nestor80 tools instead of the M80 tools for building Nextor (kernel, NEXTOR.SYS and tools). This includes:
.strenc
instructions to assemble them as SHIFT-JIS strings.include
instructions.kvar.mac
to longer, more descriptive names.CPM32.EXE
,M80.CPM
,L80.CPM
andLIB80.CPM
.Additional changes:
_sdcccall(1)
) is used for C code, this implies that SDCC 4.2 or newer is now required for building Nextor.Also, support for building Nextor natively in Windows has been definitely removed, Linux (or Windows + WSL) is the only available option now (macOS could work too, not tested).