Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Thank You for your continued support and contributions!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Plugins/Viewers
| | |-+  NES plugin - a proposal
« previous next »
  • Print
Pages: 1 ... 4 5 [6] 7 8 ... 10

Author Topic: NES plugin - a proposal  (Read 62472 times)

Offline LambdaCalculus

  • Member
  • *
  • Posts: 2257
  • Dreaming of Turing Machines...
    • The Nostalgia Roadtrip
Re: NES plugin - a proposal
« Reply #75 on: August 06, 2007, 09:46:08 AM »
Quote from: Multimedia Mike on August 05, 2007, 02:32:50 PM
Dracula's Curse's mapper (MMC5, iNES mapper #5) has its registers mapped down in the 0x5xxx range somewhere.

That's the problem. Dracula's Curse is the only known American NES game to use this mapper, so it's not a huge problem, even though it is a very cool game.

Actually, I think the NES port of Romance of the Three Kingdoms II also uses the MMC5, if I remember correctly. The MMC5 didn't gain too much widespread useage, as you said. But I think there's a tiny handful of later NES games that made use of it.

Actually, on that subject: wasn't there some emulator out there that printed the mapper information onscreen when you load a ROM? Or am I crazy?
Logged
Former Rockbox dev. Rising from the ashes...

Players: iPod Video /w 128GB SSD mod, H320 /w 128GB SSD mod

Offline Multimedia Mike

  • Member
  • *
  • Posts: 13
  • Multimedia Gangster
    • Breaking Eggs And Making Omelettes Blog
Re: NES plugin - a proposal
« Reply #76 on: August 06, 2007, 01:17:38 PM »
Quote from: LambdaCalculus379 on August 06, 2007, 09:46:08 AM
Actually, on that subject: wasn't there some emulator out there that printed the mapper information onscreen when you load a ROM? Or am I crazy?

There are probably emulators that print the data on screen. Looking over the options for TuxNES, -H or --show-header show the header bytes for diagnostics, and it's easy to find the mappers in there. It occurred to me that someone has probably compiled a collection of games and the mapper they used. I google for "nes mapper list" and what appears, but a forgotten document I put up on tuxnes.sf.net: http://tuxnes.sourceforge.net/nesmapper.txt
This list shows 11 games that use MMC5.
Logged

Offline LambdaCalculus

  • Member
  • *
  • Posts: 2257
  • Dreaming of Turing Machines...
    • The Nostalgia Roadtrip
Re: NES plugin - a proposal
« Reply #77 on: August 06, 2007, 01:23:26 PM »
Ooh, perfect! If it's okay, I'm going to post this onto the wiki later on!
Logged
Former Rockbox dev. Rising from the ashes...

Players: iPod Video /w 128GB SSD mod, H320 /w 128GB SSD mod

Offline Multimedia Mike

  • Member
  • *
  • Posts: 13
  • Multimedia Gangster
    • Breaking Eggs And Making Omelettes Blog
Re: NES plugin - a proposal
« Reply #78 on: August 06, 2007, 01:29:26 PM »
Quote from: LambdaCalculus379 on August 06, 2007, 01:23:26 PM
Ooh, perfect! If it's okay, I'm going to post this onto the wiki later on!

I hope you're not waiting for my permission; that data isn't exactly mine to begin with. I posted that document in 1999. More searching reveals that no one ever endeavored to update that list. So it might be the most authoritative compilation out there.
Logged

Offline LambdaCalculus

  • Member
  • *
  • Posts: 2257
  • Dreaming of Turing Machines...
    • The Nostalgia Roadtrip
Re: NES plugin - a proposal
« Reply #79 on: August 06, 2007, 01:39:59 PM »
I was about to until I saw your reply. I at least downloaded the list and I'm going over it with a fine-tooth comb for the moment.

I actually have noticed that some of the mapper info/data is a bit outdated. For example, the game Fire Emblem is said to be using a mapper known as MMC4, and from what I have gleamed from my research, is about the only known game to use this mapper. It's listed as MMC2 on this list.

Also, there's one other game that'll be a major pain in the keister: Konami's Lagrange Point, since it contains Konami's VRC7 chip, as well as a Yamaha YM2413 FM chip onboard for enhanced music. A problem, to be sure.

Other than that, it's a very good starting point for mapper information, but we'll all need to keep hunting down those last few games that aren't listed on here.
Logged
Former Rockbox dev. Rising from the ashes...

Players: iPod Video /w 128GB SSD mod, H320 /w 128GB SSD mod

Offline Multimedia Mike

  • Member
  • *
  • Posts: 13
  • Multimedia Gangster
    • Breaking Eggs And Making Omelettes Blog
Re: NES plugin - a proposal
« Reply #80 on: August 06, 2007, 01:58:51 PM »
Quote from: LambdaCalculus379 on August 06, 2007, 01:39:59 PM
I actually have noticed that some of the mapper info/data is a bit outdated. For example, the game Fire Emblem is said to be using a mapper known as MMC4, and from what I have gleamed from my research, is about the only known game to use this mapper. It's listed as MMC2 on this list.

There was only one game to use MMC2-- (Mike Tyson's) Punch-Out!!. I remember that the programming specs for MMC4 were practically identical to MMC2. According to the TuxNES feature list ( http://tuxnes.sourceforge.net/features.php ), another game called Family War also used MMC4. Perusing the TuxNES source, it looks like the same code handled both MMC2 and MMC4.

There is precedent for this type of hardware redundancy. Look up Startropics 1 & 2. They are both listed as MMC3 games. As you can see from the actual hardware ( http://multimedia.cx/nesgallery/hkrom.jpg ), it is actually MMC6B, which seems to function, for all intents and purposes, as MMC3.

Quote from: LambdaCalculus379 on August 06, 2007, 01:39:59 PM
Also, there's one other game that'll be a major pain in the keister: Konami's Lagrange Point, since it contains Konami's VRC7 chip, as well as a Yamaha YM2413 FM chip onboard for enhanced music. A problem, to be sure.

Other than that, it's a very good starting point for mapper information, but we'll all need to keep hunting down those last few games that aren't listed on here.

I urge you to keep your eyes on the prize here. If you want to impress people with the ability to play NES games on an iPod, stick to the biggies: SMB1/2/3, Mega Man 1..6, Ninja Gaiden 1/2/3, Castlevania 1 & 2 (leave 3 for later), and those types of games. Japan-only NES games are famous for using all manner of odd mappers. Focus on those later. Much later.

But for the technically curious, check out the mapper database ( http://www.tripoint.org/kevtris/mappers/mappers.html ) at Kevtris' site (arguably the hardest of the hardcore NES hackers).
Logged

Offline LambdaCalculus

  • Member
  • *
  • Posts: 2257
  • Dreaming of Turing Machines...
    • The Nostalgia Roadtrip
Re: NES plugin - a proposal
« Reply #81 on: August 06, 2007, 02:17:04 PM »
Very good insight, Mike. Back to the books I go...  :)

And I'm bookmarking Kevtris' site as well. This guy's got a LOT of serious info on hand!
Logged
Former Rockbox dev. Rising from the ashes...

Players: iPod Video /w 128GB SSD mod, H320 /w 128GB SSD mod

Offline ComposerDude

  • Member
  • *
  • Posts: 53
  • ComposerDude - Go Kubuntu!
    • RainfallWare - The home of ComposerDude
Re: NES plugin - a proposal
« Reply #82 on: August 08, 2007, 05:31:31 PM »
GodEater on Rockboy:
Quote from: GodEater on July 08, 2007, 02:34:18 PM
Most of the current devs wish we'd never implemented it in the first place to be honest, and those that like it in a "it makes Rockbox look cool" kind of way still have no plans to work on it's code. So the only way it's going to get changed is if the people who actually use it make those changes themselves.

Since I'm attempting porting another emulator to Rockbox, and I DO use Rockboy on a regular basis, I have a couple of questions:

MultimediaMike: Seeing some similarity betwixt the NES and the Gameboy, might it be good practice for me to attempt some work patching Rockboy before writing a full-scale port?

Llorean or other devs: Is there any one person regularly commiting to Rockboy? Would the devs appreciate some more time spent on it on by someone with interest?

Another small announcement is that I have school starting in about 2 weeks. It's a Computer and Information Systems major, so time could get scarce for me. Thankfully, I haven't committed to any dates as to WHEN the NES plugin will be ready. Like I like to say, that's kind of a 'once upon a time in a galaxy far, far away' for me. Slowly, but surely, fellow travelers :).

ComposerDude
Logged
Ipod Nano 1G 1GB, iRiver H320
Never trust a four-color window without a frame. You'll only see a penguin on the other side; trust the penguin any day!
Plugin Progress at the TuxNES Port Development page

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: NES plugin - a proposal
« Reply #83 on: August 08, 2007, 05:36:01 PM »
The devs always love anyone willing to spend time working on any part of the code. Rockboy is a thorn more or less because "nobody is interested in maintaining it, as the core functionality is often both more interesting and more important, but users are more interested in games as often as not" so it generates a high support load that often must be answered with "Nobody is working on it right now." So, yeah, if someone did any work, it'd be great. I believe kkurbjun (Karl Kurbjun) is the developer who's done the most work on it in the semi-recent past, but I wouldn't qualify it as regularly committing necessarily.
Logged

Offline midgey

  • Developer
  • Member
  • *
  • Posts: 50
Re: NES plugin - a proposal
« Reply #84 on: August 08, 2007, 07:08:01 PM »
Quote from: ComposerDude
MultimediaMike: Seeing some similarity betwixt the NES and the Gameboy, might it be good practice for me to attempt some work patching Rockboy before writing a full-scale port?

If you've never writing any code using the Rockbox API, it will probably be helpful to take a look at other plugins. You may want to see how Rockboy implements its own malloc and how it uses the audio buffer to store the ROM. A lot of Rockboy is very similar to gnuboy, hence it being a port. Give a look to rockboy.c, sys_rockbox.c, and rbsound.c to see the custom rewritten code for Rockbox.

In regards to submitting patches for Rockboy, it's always welcome! I think the only ones that have done any work on Rockboy in the past year or so have been Karl Kurbjun and myself. I believe Karl understands the core emulation a bit better than me; I've only done things like custom palettes, RTC support, and adapting the scaling code to work on smaller screened targets (e.g. H10, Nano). Recently I've rewritten the LCD code to be more unified between color and greyscale targets and added greyscale iPod support (FS#7546, testers are needed!)

If you're looking to work on Rockboy, you could attempt to port iBoy's COP support or their custom dynamic translator and assembler cpu core. Additionally, any speed optimizations would be nice and I'm sure there are plenty of useful options and features that we are missing.

I'm glad to see someone is taking a serious interest in porting an NES emulator to Rockbox! I believe I'd be willing to help out where I can assuming I find time away from my current project (shh... it's a secret ;) ) Good luck with porting and feel free to visit in IRC.
Logged

Offline LambdaCalculus

  • Member
  • *
  • Posts: 2257
  • Dreaming of Turing Machines...
    • The Nostalgia Roadtrip
Re: NES plugin - a proposal
« Reply #85 on: August 09, 2007, 12:51:49 AM »
I think that it's also appropriate to announce that I will also be rather busy during the fall preparing for school as well, so I'll try to get to working on TuxNES when I can at least get some free time. Between this and working for a bunch of bland "Normals", my time's kind of short. I found a good amount of useful information regarding the NES, but alas, dear friends, for I am fated to become a slave of that dreaded monster we call "Real Life".

But I know that "Bob" will give me the Slack I need to forge ahead! I found my dad's old copy of the timeless classic, "The C Programming Language", and I've been studying it when I have free time.

More info about this most Holy of Scriptures for hackers can be found here:

http://en.wikipedia.org/wiki/The_C_Programming_Language

ComposerDude: If you can find a copy of this book, by all means, pick it up! My C knowledge is actually digging its way back out of my subconscious thanks to it!
« Last Edit: August 09, 2007, 12:54:31 AM by LambdaCalculus379 »
Logged
Former Rockbox dev. Rising from the ashes...

Players: iPod Video /w 128GB SSD mod, H320 /w 128GB SSD mod

Offline ComposerDude

  • Member
  • *
  • Posts: 53
  • ComposerDude - Go Kubuntu!
    • RainfallWare - The home of ComposerDude
Re: NES plugin - a proposal
« Reply #86 on: August 09, 2007, 01:31:45 PM »
And I thought it had more to do with subgenius than subconscious! But still, I have an edition from '88 that I've been borrowing from one of my professors. Mr. Calculus, NesDevWiki is a treasure trove! Already any sinking feelings about researching sound and etc and graphics and etc are being lifted like a haze on a hot humid summer day (Stinky, but the light is welcome :))
Logged
Ipod Nano 1G 1GB, iRiver H320
Never trust a four-color window without a frame. You'll only see a penguin on the other side; trust the penguin any day!
Plugin Progress at the TuxNES Port Development page

Offline Multimedia Mike

  • Member
  • *
  • Posts: 13
  • Multimedia Gangster
    • Breaking Eggs And Making Omelettes Blog
Re: NES plugin - a proposal
« Reply #87 on: August 09, 2007, 01:40:31 PM »
Quote from: ComposerDude on August 08, 2007, 05:31:31 PM
MultimediaMike: Seeing some similarity betwixt the NES and the Gameboy, might it be good practice for me to attempt some work patching Rockboy before writing a full-scale port?

Err, similar in what ways? The NES and the Gameboy have the same control schemes and the similarities generally end there. Different CPUs. Different PPUs. Different audio capabilities. Different memory mapping schemes.

I think what you were driving at, though, was that programming RockBox emulators for each will require C coding. In that respect, fixing Rockboy will provide some training in the domain.
Logged

Offline LambdaCalculus

  • Member
  • *
  • Posts: 2257
  • Dreaming of Turing Machines...
    • The Nostalgia Roadtrip
Re: NES plugin - a proposal
« Reply #88 on: August 09, 2007, 01:46:20 PM »
Quote from: ComposerDude on August 09, 2007, 01:31:45 PM
NesDevWiki is a treasure trove!

My thoughts exactly! I was floored when I first navigated to the site!

At least with this information, we should be well to do to get something started up!
Logged
Former Rockbox dev. Rising from the ashes...

Players: iPod Video /w 128GB SSD mod, H320 /w 128GB SSD mod

Offline Multimedia Mike

  • Member
  • *
  • Posts: 13
  • Multimedia Gangster
    • Breaking Eggs And Making Omelettes Blog
Re: NES plugin - a proposal
« Reply #89 on: August 09, 2007, 05:41:45 PM »
Quote from: LambdaCalculus379 on August 09, 2007, 01:46:20 PM
Quote from: ComposerDude on August 09, 2007, 01:31:45 PM
NesDevWiki is a treasure trove!

My thoughts exactly! I was floored when I first navigated to the site!

At least with this information, we should be well to do to get something started up!

Indeed! This is the first I have seen of the site (I've been out of the scene for awhile). So you may wish to take my earlier advice with a grain of salt w.r.t. targeting Super Mario Bros. first. From http://nesdevwiki.org/wiki/index.php/Emulator_Tests#Hard-To-Emulate_Games

Quote
Among the most popular NROM games, which are generally the first targets against which an emulator author tests his or her work, Super Mario Bros. is probably the hardest to emulate.
Logged

  • Print
Pages: 1 ... 4 5 [6] 7 8 ... 10
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Plugins/Viewers
| | |-+  NES plugin - a proposal
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.097 seconds with 14 queries.