NES emulation

I think Mario 3 was faster than Mario 1 but I tried only few ROm (less than 10). The two Mario and Yoshi were working perfectly, there was some graphical BUGs on Bobble Bubble and Bomerman 2 (Mapper 65 I think). It can be because I removed a lot of code to save memory. I wasn't able to make some malloc for iNesHead struct, ROM and VROM tables, anyway I used pointers to LO-RAM and solved my memory problems.
 
Originally posted by IceMan2k@Aug 21, 2003 @ 03:31 AM

You need more gerbils :ph34r:

:lol: :D :p Maybe but I think gerbils are hard to control :) they could eat all the code and there would be no more NES emu.
 
Have you considered some means of profiling it? If the border is visible at all, one low-hassle way might be to change the backdrop/border color in each major section of code...
 
Why would someone write an NES emulator for the Dreamcast in SH2 asm? Especially with NesterDC versions 6 and 7 to choose from (both seem nearly perfect but perhaps slightly different, 7.1 apparently has some issues). That reminds me, the *new* port of SMS plus to DC is as perfect as I've ever seen an emulator. It also supports saving, which the old one lacked.
 
There isn't that much of a difference between the two, so by excercising a little caution you get a program that's both source- and binary-compatible across the whole SuperH family. For integer application code about the only instruction not in the SH2 set is the dynamic shift, the rest of the enhancements are related to floating-point and the MMU.
 
@vtb:

You mentioned memory problems with your NES emu.... .

As far as I remember, the SEGA_MEM library of SGL or SBL provides allocation functionality for supplied memory areas that the normal malloc, realloc cannot access. I think of the extended RAM on cartridge or the low workRAM you'r using.

Why not trying to use this lib and please think of using the extra RAM on PAR that most of us have.

bye,

The Rockin'-B
 
Originally posted by IBarracudaI@Aug 22, 2003 @ 04:57 AM

Humm..

searching around i've found a NES emulator written in SH2 assembly for the dreamcast... maybe this can be helpfull :unsure:

link

Thanks IBarracudaI ;), with your link and this SH2 source I found the complete emu source of Gleam, I'll have a look on it soon :).
 
Originally posted by Rockin'-B@Aug 23, 2003 @ 03:39 PM

@vtb:

You mentioned memory problems with your NES emu.... .

As far as I remember, the SEGA_MEM library of SGL or SBL provides allocation functionality for supplied memory areas that the normal malloc, realloc cannot access. I think of the extended RAM on cartridge or the low workRAM you'r using.

Why not trying to use this lib and please think of using the extra RAM on PAR that most of us have.

bye,

The Rockin'-B

good advice, I never used Sega MEM lib and his MEM_Malloc. I need to read doc and I'll remove my pointers to the LO-RAM if it works.
 
I was thinking and I know shit bout Programming and Saturn Hardware tech, but wouldn't it be easier to port Nester, than FCE Ultra? I mean the 1st is more compatible than the latter..... Also a Gameboy emu should work out really good using the source of Gnuboy...
 
After putting Super Mario into a byte table, I've sent the prog into Saturn memory with my Commcard. I took only ten minutes to correct my bug (black screen) :D :D

I can't swear it works perfectly bu I fnished onr lrvrl and played a little on the second level. There is a frameskip of 3 and it's yet a bit slow but it's not so bad for a simple port.

the binary file is here
 
I gave your binary a whirl on satourne (old version), couldn't get to the Sega logo....did u get it to work on satourne?

Edit: Tried it on a real saturn, works for the most part. There's a weird thing with the refresh rate (a black horizontal line on the left side of the screen), and it's still somewhat too slow to play. The colors and the graphics are on the money though.

On a side note, I met Mario and Luigi at the parade in the Village on friday night, Luigi was carrying around a boombox playing the mario bros theme. :banana
 
Originally posted by slinga@Nov 3, 2003 @ 12:23 AM

I gave your binary a whirl on satourne (old version), couldn't get to the Sega logo....did u get it to work on satourne?

I use a old satourne too to perform test and it fails many times but works when I make an ISO file. I can give you an ISO release if you prefer. I gave that binary for commcard owners and wiil give more binaries since I have now a commcard too.

I need now to find a way to debug my code with a commcard I think there is snasm or a debugger, but forgot where I can find that.

Edit: Tried it on a real saturn, works for the most part. There's a weird thing with the refresh rate (a black horizontal line on the left side of the screen), and it's still somewhat too slow to play. The colors and the graphics are on the money though.

I know there is this bug it's because I modified quickly the code to write directly into Saturn video memory and I missed something. About the speed I will try to improve it but I find FCEU code a little messy (strange indent, goto use, etc..), well I'm not quite good enough to give my opinion about FCEU :blush: .

But I think SMS Plus was easier to understand.

On a side note, I met Mario and Luigi at the parade in the Village on friday night, Luigi was carrying around a boombox playing the mario bros theme

Did you ask for an autograph ? :ph34r:
 
VBT: Are you enabling dual CPU's on this release? Or does SBL by default use dual cpus?
 
Originally posted by slinga@Nov 5, 2003 @ 06:11 PM

VBT: Are you enabling dual CPU's on this release? Or does SBL by default use dual cpus?

I'm not using dual CPU yet on this NES emu but I'm thinking about that and will start with a simple prog. When that simple prog will work I will add dual CPU support to SMS emu and NES emu. Also, it seems to be a little harder on SBL because I didn't see any functions like slSlaveFunc.

Anyway I corrected a problem on the NES emu, it no more crashes at the end of the second level of Mario.

Take it here.
 
vbt, here's a thought... try to get multiprocessing running on the 68k (say, run the sound on it) before using the second SH-2, and see how that runs.
 
That'd probably be insanely hard, if it was possible at all. You probably couldn't emulate all of the sound subsytem on the 68k, and you'd have to get the 68k and SH2 code to work together.

I... think perhaps his current approach is better. Once he figures out how to use the two SH2s together properly, he can apply what he's learned to his emulators. Emulators which, BTW, I find incredibly cool. Keep it up man!
 
Back
Top