ANESE/thirdparty/nes_snd_emu/nes_apu
Daniel Prilik cfe1d2b94d Mapper 1 Support
So, lots of early assumptions proved to be wrong.
This meant that there was a bunch of code that had to be rewritten.

1) iNES format stores ROMs in 16k / 8k chunks, but that does _not_
   mean that all mappers bank along those lines!

I rewrote the entire ROM File parsing logic, and instead of chunking
the raw ROM into banks at the iNES parsing stage, it is done on a
mapper-per-mapper basis

2) Cartridges are _not_ just dumb data storage devices, and can have
   cycle-dependant logic!

To be fair, I knew I would have to cross this bridge someday. I had
to expand the Cartridge / Mapper interfaces to expose more of the
NES's. This is in both directions: Giving the Cartridge acess to the
NES's cycling logic, and also giving the NES a direct way to get
mirror modes from the cartridge (dynamically)

I was hoping that getting Mapper 1 working would also get Zelda
working, but alas, it's crasahing for some reason! As usual, I
suspect it's some shitty timings, and I can confirm, I am failing
a bunch of the NMI timing tests...

I _really_ don't want to go back into the hellhole that is the PPU,
but gosh darnit, I wanna play Zelda!

But hey, at least Megaman II works now :D

PS: I've been working on this commit for probably, oh, 8h total?
Not all at once mind you, it's been over the span of several days.
Now that i'm back in Toronto, i've been a bit busy, what with the
holidays, and old friends, and Wolfenstein II / DOOM taking up my
time.
2017-12-27 16:34:48 -05:00
..
apu_snapshot.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
apu_snapshot.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
blargg_common.h fix windows build 2017-12-20 00:19:30 -05:00
blargg_source.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Blip_Buffer.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Blip_Buffer.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Blip_Synth.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Multi_Buffer.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Multi_Buffer.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nes_Apu.cpp Mapper 1 Support 2017-12-27 16:34:48 -05:00
Nes_Apu.h Mapper 1 Support 2017-12-27 16:34:48 -05:00
Nes_Namco.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nes_Namco.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nes_Oscs.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nes_Oscs.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nes_Vrc6.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nes_Vrc6.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nonlinear_Buffer.cpp APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00
Nonlinear_Buffer.h APU courtesy of Blargg's 💯 nes_snd_emu library 2017-12-20 00:00:56 -05:00