1
0
mirror of https://github.com/KarolS/millfork.git synced 2026-04-20 18:16:35 +00:00

Really early and very incomplete PC-88 support

This commit is contained in:
Karol Stasiak
2018-07-02 00:31:47 +02:00
parent 62e94d96f7
commit 9512e8e7ae
12 changed files with 218 additions and 9 deletions
+2 -2
View File
@@ -57,12 +57,12 @@ Default: native if targeting 65816, no otherwise.
* `-fjmp-fix`, `-fno-jmp-fix` Whether should prevent indirect JMP bug on page boundary.
`.ini` equivalent: `prevent_jmp_indirect_bug`.
Default: no if targeting a 65C02-compatible architecture, yes otherwise.
Default: no if targeting a 65C02-compatible architecture or a non-6502 architecture, yes otherwise.
* `-fzp-register`, `-fno-zp-register` Whether should reserve 2 bytes of zero page as a pseudoregister.
Increases language features.
`.ini` equivalent: `zeropage_register`.
Default: yes.
Default: yes if targeting a 6502-based architecture, no otherwise.
* `-fdecimal-mode`, `-fno-decimal-mode` Whether decimal mode should be available.
`.ini` equivalent: `decimal_mode`.
+10 -1
View File
@@ -45,6 +45,8 @@ Read [the NES programming guide](./famicom-programming-guide.md) for more info.
* `apple2` Apple II+/IIe/Enhanced IIe
* `pc88` NEC PC-88 (very incomplete and not usable for anything yet)
The primary and most tested platform is Commodore 64.
Currently, targets that assume that the program will be loaded from disk or tape are better tested.
@@ -115,6 +117,8 @@ Every platform is defined in an `.ini` file with an appropriate name.
* `huc6280` (Hudson HuC6280; experimental)
* `65816` (WDC 65816/65802; experimental; currently only programs that use only 16-bit addressing are supported)
* `z80` (Zilog Z80; experimental and very incomplete)
* `modules` comma-separated list of modules that will be automatically imported
@@ -141,7 +145,10 @@ Every platform is defined in an `.ini` file with an appropriate name.
#### `[allocation]` section
* `zp_pointers` either a list of comma separated zeropage addresses that can be used by the program as zeropage pointers, or `all` for all. Each value should be the address of the first of two free bytes in the zeropage.
* `zp_pointers`
either a list of comma separated zeropage addresses that can be used by the program as zeropage pointers, or `all` for all.
Each value should be the address of the first of two free bytes in the zeropage.
Only used for 6502-based targets.
* `segments` a comma-separated list of segment names.
A segment named `default` is always required.
@@ -192,6 +199,8 @@ Default: `after_code`.
* `<segment>:<addr>:<addr>` - inclusive range of bytes in a given segment
* `d88` - a D88 floppy disk image for PC-88
* `extension` target file extension, with or without the dot
* `bbc_inf` should the `.inf` file with file metadata for BBC Micro be created