Okay , im gunna start from scratch a project using mmc3 step by step. This compile fine. I get a .nes.
I copied this config to understand.
NOW ATTACHED is my cart.s.
The only thing I manage to do is write FA at $8000 ( see code attached ).
Please help me understand whats going on, I though I had to put the reset at e000, NADA at e000 in the memory viewer.
Like I want to be able to write code like I use to , but the mmc3 mapper is confusing me , i dont even know where to start, I had a power on, I had a rodata, I had my vectors, my nmi, everything. Now I cant even write to the ppu normally. please help me setup a basic cart.s !!!!! MY ultimate goal is to have back my game so i can keep wrting is in using mmc3.
SO far so good?
Attached is a skeletton cart.s in ASM only with the segment organised. I want to load the ppu and setup, lets say the bgcolor to another one. help plz.
I copied this config to understand.
NOW ATTACHED is my cart.s.
The only thing I manage to do is write FA at $8000 ( see code attached ).
Please help me understand whats going on, I though I had to put the reset at e000, NADA at e000 in the memory viewer.
Like I want to be able to write code like I use to , but the mmc3 mapper is confusing me , i dont even know where to start, I had a power on, I had a rodata, I had my vectors, my nmi, everything. Now I cant even write to the ppu normally. please help me setup a basic cart.s !!!!! MY ultimate goal is to have back my game so i can keep wrting is in using mmc3.
Code:
MEMORY {#RAM Addresses: # Zero page ZP: start = $00, size = $100, type = rw, define = yes;#note OAM: start = $0200, size = $0100, define = yes;#note, sprites stored here in the RAMRAM: start = $0300, size = $0400, define = yes;#note, I located the c stack at 700-7ff, see belowWRAM: start = $6000, size = $2000, define = yes;#INES Header: HEADER: start = $0, size = $10, file = %O ,fill = yes;#ROM Addresses: PRG0: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG1: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG2: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG3: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG4: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG5: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG6: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG7: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG8: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG9: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG10: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG11: start = $8000, size = $2000, file = %O, fill = yes, define = yes;PRG12: start = $8000, size = $2000, file = %O, fill = yes, define = yes; PRG: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;PRG15: start = $e000, size = $2000, file = %O ,fill = yes, define = yes;# make sure the reset code is in e000-ffff, see below# ! 16 Banks of 8K CHR ROM CHR: start = $0000, size = $20000, file = %O, fill = yes;}SEGMENTS { HEADER: load = HEADER, type = ro; # this needs to be in the fixed bank between e000 and ffff LOWCODE: load = PRG, type = ro, optional = yes; INIT: load = PRG, type = ro, define = yes, optional = yes; CODE: load = PRG, type = ro, define = yes; RODATA: load = PRG, type = ro, define = yes; DATA: load = PRG, run = RAM, type = rw, define = yes; CHARS: load = CHR, type = rw; BSS: load = RAM, type = bss, define = yes; HEAP: load = RAM, type = bss, optional = yes; ZEROPAGE: load = ZP, type = zp; ONCE: load = PRG, type = ro, define = yes;XRAM: load = WRAM, type = bss, define = yes;BANK0: load = PRG0, type = ro, define = yes;BANK1: load = PRG1, type = ro, define = yes;BANK2: load = PRG2, type = ro, define = yes;BANK3: load = PRG3, type = ro, define = yes;BANK4: load = PRG4, type = ro, define = yes;BANK5: load = PRG5, type = ro, define = yes;BANK6: load = PRG6, type = ro, define = yes;BANK7: load = PRG7, type = ro, define = yes;BANK8: load = PRG8, type = ro, define = yes;BANK9: load = PRG9, type = ro, define = yes;BANK10: load = PRG10, type = ro, define = yes;BANK11: load = PRG11, type = ro, define = yes;BANK12: load = PRG12, type = ro, define = yes;STARTUP: load = PRG15, type = ro, define = yes;# needs to be in the e000-ffff fixed bank# SAMPLES: load = PRG, start = $f000, type = ro;VECTORS: load = PRG15, start = $fffa, type = ro;}FEATURES { CONDES: segment = INIT, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; CONDES: type = interruptor, segment = RODATA, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__;}}
Attached is a skeletton cart.s in ASM only with the segment organised. I want to load the ppu and setup, lets say the bgcolor to another one. help plz.
Statistics: Posted by v.depatie — Wed Jan 01, 2025 6:23 pm — Replies 5 — Views 212