What's new

Nes

aprentice

Moderator
got some more progress :) (these are all public domain demo roms, no commercial run yet)

zel_demo3.gif


amiga_demo1.gif


wall_demo1.gif
 

hap

New member
sprites and joypad next? :)

Over here I've improved behaviour of IRQ/BRK simultaneous with NMI and fixed a few undocumented opcodes, thanks to blargg's newest test ROMs. I think I'll add savestate/movie support next.
 

aprentice

Moderator
sprites and joypad next? :)

Over here I've improved behaviour of IRQ/BRK simultaneous with NMI and fixed a few undocumented opcodes, thanks to blargg's newest test ROMs. I think I'll add savestate/movie support next.

sounds good :) i heard that test rom is mapper1, is that true? hmm, theres more to IRQ/BRK interrupts like getting them timed right? darn :p

Im working on getting super mario bros to work before i add joypad and sprites, it wont boot for some reason and just shows a gray screen but it doesnt crash or execute any illegal ops, everything looks peaceful so i need to spend a little time debugging it.
 

aprentice

Moderator
no status update for awhile so here is one, havent had much time lately but got some work done. implemented mappers 0,1,2,3 and 66, not sure how well though because some games run with glitches, especially mapper 1 games. sprite limited is implemented but sprite 0 code doesnt work for some reason. added zip support as well. sound is pretty decent, coded by gigaherz. here are some screens :p

c_mariobros.gif


c_supermariobros.gif


c_zel.gif


Source: here if anyone cares to help me find what im doing wrong with mmc1 :p
 
Last edited:

smcd

Active member
Your C++ is very much C :p Nice progress though. It makes me want to learn to do graphics work again, still...
 

hap

New member
Nice fog in Super Mario Bros ;)

I had a peek at your MMC1 code:
- reg 0 vertical/horizontal mirroring not implemented
- reg 3 prg bank is 4 bits, so AND with $F, not 7
- reg 3 32K switch mode lowest bit is ignored, so AND with $E

Do nestest.nes and blargg's CPU opcode test pass?
 

aprentice

Moderator
Nice fog in Super Mario Bros ;)

I had a peek at your MMC1 code:
- reg 0 vertical/horizontal mirroring not implemented
- reg 3 prg bank is 4 bits, so AND with $F, not 7
- reg 3 32K switch mode lowest bit is ignored, so AND with $E

Do nestest.nes and blargg's CPU opcode test pass?

the opcode test roms fail miserably, they show opcodes as wrong that are impossible to be wrong, i think an opcode it uses to operate is implemented wrong in my cpu, the main opcodes i can never be sure of is ADC and SBC
 

hap

New member
You'd make CPU debugging a lot easier for yourself if you removed duplicate code by separating address modes and opcodes by using #defines (it should be the same speed as before)
 

_Chrono_

aka Chrono Archangel
*bump* !!!

Went out drinking with ShizZy last week and he made me want to get back into emu programming (did a shitty Chip8 emu a while back). So here I am, starting on a NES emu :p

Nothing to show for yet cause I ahrdly get anytime to work on it but I'm motivated enough to at least try and get commercial games up and running in the long run. I'll probably end up asking questions here XD

How long did it take most of you guys to get games running?
 

ShizZy

Emulator Developer
@ mudlord, nice job

@ chrono, haha, likely, though I think I could give you a run for your money with booze too ;-)
 

Danny

Programmer | Moderator
I might join in on this :p

I think me and chrono would be having our own mini code off though as we are the least experienced out of the other guys :p
 

ShizZy

Emulator Developer
This is true. No matter who you are, you have all the time in the world to emu code until you actually learn pretty well how to do it, then it ALL goes away ;)
 

_Chrono_

aka Chrono Archangel
Nah Shiz, you're just lazy

Back on topic, I did start my cpu core. Using a giant switch for the isntructions right now which kinda seems weird but is it just me but I don't know how I could pull off a jump table using C#... (and I don't want to hear anyone tell me to use C/C++ :p)
 

Top