(NOOB) good MMC chip explanations/tutorials?
Moderator: Moderators
- toggle switch
- Posts: 139
- Joined: Fri Sep 30, 2016 8:57 pm
Re: (NOOB) good MMC chip explanations/tutorials?
i don't mean to be overly sarcastic here, but think about how embarrassing it would be if your NES game felt outdated!
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
Re: (NOOB) good MMC chip explanations/tutorials?
You make a good point. But boy do these parallax effects look good.lidnariq wrote: ↑Mon May 17, 2021 7:38 pmYou're selling both yourself and the simple mappers short with that sentiment: the majority of games for the NES and Famicom use things barely any better (NROM, UNROM, ANROM, MMC1), at most relying on CHR RAM for fancy effects. Thinking that you have to have fancy nametable mirroring or sophisticated CHR banking to make a compelling game is foolhardy, and an instance of Perfect being the enemy of the Good Enough.puppydrum64 wrote: ↑Mon May 17, 2021 7:04 pm There are just a lot of things that NROM can't do and that's always going to make me feel like my game is "outdated."
NESmaker targets an oversize version of UNROM. It's really nothing fancy. The only significant difference is that now you literally cannot buy mask ROMs for cheaper than Flash, so UNROM512 can support self-programming.Even when developing on NESMaker, which uses a really complex mapper chip,
EDIT: Fixed a bug but forgot to assemble it prior to attaching the file.
Re: (NOOB) good MMC chip explanations/tutorials?
"9 sprites on a scanline" flag for the top split, "sprite 0" for the bottom split, and if you use the 2006-2005-2005-2006 scrolling sequence you can imply some vertical parallax too. That way you can have a scrolling pattern that's longer than just what fits in 16 banks.puppydrum64 wrote: ↑Tue May 18, 2021 8:57 pm You make a good point. But boy do these parallax effects look good.
Re: (NOOB) good MMC chip explanations/tutorials?
DMC IRQ can also be used for timing splits, and while it's a bit intimidating to set up, it's ultimately not that bad once you figure it out.
Re: (NOOB) good MMC chip explanations/tutorials?
Reminder: Battletoads is basicly 256k NROM game with CHR RAM. No scanline IRQs or CHR banks. And it's The Ultimate NES Special Effect Game.
Re: (NOOB) good MMC chip explanations/tutorials?
You can do a lot of interesting visual effects on the NES without using complex mappers... In addition to Battletoads, I can also mention Bee 52, which has some of the most impressive parallax effects on the system.
Sword Master looks absolutely stunning for an NES game (it could arguably pass for an early 16-bit title!), and even though it uses an MMC3, most of its effects could be pulled off with just CHR-RAM and no special mapper.
Bucky O'Hare is another game full of special effects, many of which can be replicated without the aid of a mapper.
Sword Master looks absolutely stunning for an NES game (it could arguably pass for an early 16-bit title!), and even though it uses an MMC3, most of its effects could be pulled off with just CHR-RAM and no special mapper.
Bucky O'Hare is another game full of special effects, many of which can be replicated without the aid of a mapper.
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
Re: (NOOB) good MMC chip explanations/tutorials?
Both Sword Master and Bucky O'Hare used CHR bank swapping (I adapted their technique into my game) but I'm guessing your point is that you can do it without that.tokumaru wrote: ↑Wed May 19, 2021 5:22 am You can do a lot of interesting visual effects on the NES without using complex mappers... In addition to Battletoads, I can also mention Bee 52, which has some of the most impressive parallax effects on the system.
Sword Master looks absolutely stunning for an NES game (it could arguably pass for an early 16-bit title!), and even though it uses an MMC3, most of its effects could be pulled off with just CHR-RAM and no special mapper.
Bucky O'Hare is another game full of special effects, many of which can be replicated without the aid of a mapper.
Re: (NOOB) good MMC chip explanations/tutorials?
See also previous topic Homebrew complexity, which discusses what's achievable by one person in spare time.
Re: (NOOB) good MMC chip explanations/tutorials?
Yes, my point is that CHR-RAM can sometimes make up for the lack of CHR bankswitching, meaning that certain special effects are possible even without a mapper.puppydrum64 wrote: ↑Wed May 19, 2021 6:17 amI'm guessing your point is that you can do it without that.
Just because a game uses a specific mapper, that doesn't mean that the mapper is necessary for everything the game does.
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
Re: (NOOB) good MMC chip explanations/tutorials?
Speaking of mappers I can't get my VRC6 test rom to work on ASM6. This is what I've come up with for the header (I'll list the constants below as well)tokumaru wrote: ↑Wed May 19, 2021 7:14 amYes, my point is that CHR-RAM can sometimes make up for the lack of CHR bankswitching, meaning that certain special effects are possible even without a mapper.puppydrum64 wrote: ↑Wed May 19, 2021 6:17 amI'm guessing your point is that you can do it without that.
Just because a game uses a specific mapper, that doesn't mean that the mapper is necessary for everything the game does.
Code: Select all
PRG_COUNT = 2 ;1 = 16KB, 2 = 32KB
CHR_COUNT = 4 ;1 = 8KB, 2 = 16KB, ETC
MIRRORING = %0001
MAPPER_LOW = $80
MAPPER_HIGH = $10 ;together these make mapper 24
FAMICOM_NES = %0000
PLAY_CHOICE_TEN = %0010
VS_SYSTEM = %0001
.db "NES", $1a ;identification of the iNES header
.db PRG_COUNT ;number of 16KB PRG-ROM pages
.db CHR_COUNT ;number of 8KB CHR-ROM pages
.db MAPPER_LOW|MIRRORING ;mapper bottom 4 bits and mirroring
.db MAPPER_HIGH|FAMICOM_NES ;mapper top 4 bits, NES
.dsb 8, $00 ;clear the remaining bytes
.base $10000-(PRG_COUNT*$4000) ;$8000, switchable 16k PRG-ROM bank
; BANK CONTENTS GO HERE
.pad $BFFF
.base $C000 ;8K switchable PRG-ROM bank
; BANK CONTENTS GO HERE
.pad $DFFF
.base $E000 ;8K fixed PRG-ROM bank
Reset:
; reset code left out for brevity
NMI:
;nmi code left out for brevity
IRQ:
rti
MainGameLoop:
JMP MainGameLoop
;----------------------------------------------------------------
; interrupt vectors
;----------------------------------------------------------------
.org $fffa
.dw NMI
.dw Reset
.dw IRQ
;----------------------------------------------------------------
; CHR-ROM banks
;----------------------------------------------------------------
.incbin "astrobirds_00.chr"
.incbin "astrobirds_01.chr"
.incbin "astrobirds_02.chr"
.incbin "astrobirds_03.chr"
;EOF
EDIT: Forgot to list mirroring (it's in the source file so that's not the issue)
Re: (NOOB) good MMC chip explanations/tutorials?
.pad $BFFF
I believe this would be 1 byte too small, try
.pad $c000
The same with the other .pad
I believe this would be 1 byte too small, try
.pad $c000
The same with the other .pad
nesdoug.com -- blog/tutorial on programming for the NES
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
Re: (NOOB) good MMC chip explanations/tutorials?
Alright, that worked! Thank you so much!
Re: (NOOB) good MMC chip explanations/tutorials?
I don't mind at all, infact im quite happy to know im not alone in things this and that im welcome enough here to get some genuine feedback and opinions. i do realize i lack some much needed knowledge about these things before i attempt to make anything even remotely close to a game. But i was more really looking to make something thats more a proof of concept than anything. Im thinking some sort of slideshow program that can load in new nametables with up/down and tilesets with left/right or something. I know its probably the lamest and most worthless use of the MMC3 and other chips like it, but ive always found that building pyraminds upside down is my way of doing things.
in either case. Thank you for the response and for opening my eyes a little bit more :^)
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
Re: (NOOB) good MMC chip explanations/tutorials?
You mean the bugged sprite overflow flag in $2002? Also how does the 2006-2005-2006-2005 thing work?lidnariq wrote: ↑Tue May 18, 2021 9:15 pm"9 sprites on a scanline" flag for the top split, "sprite 0" for the bottom split, and if you use the 2006-2005-2005-2006 scrolling sequence you can imply some vertical parallax too. That way you can have a scrolling pattern that's longer than just what fits in 16 banks.puppydrum64 wrote: ↑Tue May 18, 2021 8:57 pm You make a good point. But boy do these parallax effects look good.