aboutsummaryrefslogtreecommitdiff
path: root/config/nrom.cfg
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2025-01-23 13:57:45 +0100
committerMiquel Sabaté Solà <mikisabate@gmail.com>2025-02-04 22:00:02 +0100
commit0aefffacb5cb08202f7ba53b6e3b9a7303b1d66e (patch)
tree5eecba9e8b955ee31827208eeb9e8541700b241d /config/nrom.cfg
parent7d8da8b4fb9826ce21dbe821596509823f7ec16f (diff)
downloadcode.nes-0aefffacb5cb08202f7ba53b6e3b9a7303b1d66e.tar.gz
code.nes-0aefffacb5cb08202f7ba53b6e3b9a7303b1d66e.zip
Use custom configurations everywhere
Moreover, I have introduced a linker configuration for MMC1 as well, so to properly implement the `basics/persist.s` example. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'config/nrom.cfg')
-rw-r--r--config/nrom.cfg24
1 files changed, 24 insertions, 0 deletions
diff --git a/config/nrom.cfg b/config/nrom.cfg
new file mode 100644
index 0000000..41a1f2a
--- /dev/null
+++ b/config/nrom.cfg
@@ -0,0 +1,24 @@
+##
+# Same as the default NROM configuration provided by cc65, but with C stuff
+# stripped away (e.g. namely, there are no more segments like 'STARTUP').
+
+MEMORY {
+ # iNES header
+ HEADER: file = %O, start = $0000, size = $0010, fill = yes;
+
+ # Fixed ROM.
+ ROM0: file = %O, start = $8000, size = $7FFA, fill = yes, define = yes;
+
+ # Hardware Vectors.
+ ROMV: file = %O, start = $FFFA, size = $0006, fill = yes;
+
+ # 1 8k CHR Bank
+ ROM2: file = %O, start = $0000, size = $2000, fill = yes;
+}
+
+SEGMENTS {
+ HEADER: load = HEADER, type = ro;
+ CODE: load = ROM0, type = ro, define = yes;
+ VECTORS: load = ROMV, type = rw;
+ CHARS: load = ROM2, type = rw;
+}