It is currently Fri Nov 17, 2017 9:44 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 30 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Sun Aug 25, 2013 10:48 am 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 932
I do have ideas about how a mapper can be made for .NSF, it especially simplify if it is only NTSC, and has no expansion audio, etc

Code:
[..01 .... ...0 ....] W
  This is the major bank select register.

[..01 .... ...1 .XXX] W
  where X is the bank number:
  This is the minor bank select register.

[1BBB AAAA AAAA AAAA] R
  where B is the bank number, and A is address within bank:
  This is the bankswitched PRG ROM.

[1111 1111 1111 1XXX] R
  This is the vector ROM, which is fixed.
  It overrides the bankswitched PRG ROM.

[010. 1XXX XXXX XXXX] R
  where X is an address:
  This is a fixed PRG ROM.

[011X XXXX XXXX XXXX] RW
  This is PRG RAM.


Depending on what the $Fxxx bank is used for in the .NSF files you are using, the vector ROM might be unnecessary.

I believe this would be sufficient to implement a 2A03 only NSF player cartridge (tell me if I missed anything). The code for the player which is always present belongs in the fixed PRG ROM starting at $4800. (For example, the reset, interrupts, and code to clear the RAM) Sixteen bytes of the stack are reserved for the NSF player program, so the PLAY routine and current file number and so on can be stored there (you can also use CIRAM if you need additional RAM).

_________________
.


Top
 Profile  
 
PostPosted: Mon Aug 26, 2013 1:56 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
The simple mapper currently under consideration has 8 x 8-bit 4k bank registers, addressed at the standard NSF $5FF8-F, but also mirrored across all of $5000-5FFF. The high bank register should power on as $FF. This is more than sufficient for the 2A03 Puritans project.

However, I think zzo38's suggestion of a mapper override for the vector table is good, but only if paired with a fixed player code bank placed at $6000-7FFF (or other suitable location). In general RAM at $6000-7FFF is not necessary for homebrew NSFs (the popular NSF engines do not use it), but an always-available player location coupled with an automatic vector table would make it very easy to just drop an NSF in.

If you don't have a fixed bank available, though, there's really no point to overriding the vector table, because there's no sensible place to point the vectors at, unless you start modifying the NSF banks, at which point it's a non-issue to manually put the vector table in there.


Top
 Profile  
 
PostPosted: Mon Aug 26, 2013 7:14 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19222
Location: NE Indiana, USA (NTSC)
Code:
[010. 1XXX XXXX XXXX] R
  where X is an address:
  This is a fixed PRG ROM.

Translated into software-ese:
$4800-$4FFF: Fixed PRG ROM for player.


Top
 Profile  
 
PostPosted: Mon Aug 26, 2013 7:44 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
It was perfectly clear, tepples.


Top
 Profile  
 
PostPosted: Mon Apr 21, 2014 1:01 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
This is now a real NES cartridge!

http://bitpuritans.bandcamp.com/album/2a03-puritans
Video: https://www.youtube.com/watch?v=CYKenZOpTF0

I did the programming and infiniteneslives built the hardware. In the future I plan to release a guide with some example source code on how to use the mapper we created.


Last edited by rainwarrior on Tue Apr 22, 2014 1:30 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Apr 21, 2014 6:44 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
I can't seem to order the carts, it takes me to a "please wait" screen and sits there.


Top
 Profile  
 
PostPosted: Mon Apr 21, 2014 6:57 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
I'm not the administrator, so I can't really help you with that, but that sounds like a problem with paypal to me.


Top
 Profile  
 
PostPosted: Mon Apr 21, 2014 7:05 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
I just wanted to know if I was the only one with the problem.


Top
 Profile  
 
PostPosted: Wed Apr 23, 2014 9:24 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
Anyone interested in source code, please see: this thread

Also, compilation ROM/NSF/NSFe files are available here: http://rainwarrior.ca/projects/nes/2a03puritans.html


Top
 Profile  
 
PostPosted: Sun May 04, 2014 10:15 am 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
Sorry for bumping the thread, but I wanted to say that I placed my order and got my cassette yesterday. Apparently I was #5, woo. Regardless, this has some amazing tunes given it's just the 2A03, I guess the DPCM allows for near-infinite 'instruments'. Extends Levant is probably the most impressive 2A03 song ever composed, and it would be the second longest NES song to my knowledge, the longest being (Samurai) Zombie Nation's stage select/continue theme, though I shouldn't count it since it's just the same beat repeated with different notes.

This cassette made me wonder, would it be possible to make a music cassette with a "music video" of sorts? Such as a bunch of cutscenes ala Ninja Gaiden and some sprites running around? Or that would be quite an achievement to make?


Top
 Profile  
 
PostPosted: Sun May 04, 2014 10:30 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
Actually, KungFuFurby's track on 2A03 puritans (Null and Void) is longer than Extends Levant.

Ballblazer has procedural music that will go on "forever", though you'll feel like you've heard it all after a few minutes. Solar Jetman has some really long tracks, though they're somewhat minimal compositions. I think the Jurassic Park tracks are probably really long, but I'd have to check again. In NES games it's generally not worthwhile to spend so much data on music... Extends Levant is 61k in size, only a few of the biggest NES game soundtracks are even 32k in size. There's a big difference between having an essentially unlimited budget, and having to make 10 tracks fit into 20k of data, so it's not really fair to compare against real game soundtracks anyway.

It's possible to do animations, yes. It just requires the time and effort of an artist and programmer.


Top
 Profile  
 
PostPosted: Sun May 04, 2014 4:54 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
I haven't listened to the game that far, I only made it around track 10-11 before I had to leave. I was close to finishing it, that I know.

And I figured that a "music video" game would be quite challenging, requiring a very good artist with a creative mind, which is allegedly on the complete opposite side of the spectrum of programmers. Ironically enough, said artists could probably do something like that for a "fake-bit" game, if only because they don't have to deal with assembly language and having strict limitations.


Top
 Profile  
 
PostPosted: Sun May 04, 2014 6:15 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5822
Location: Canada
Well, what you're describing is done by the demoscene quite regularly. (e.g. high hopes by aspekt. BotB Winter Chip IV NES Flyer by miau/ui) Though, NES demos are kind of a minority. There's a lot more for C64, for example. There's lots of people doing unrestricted but retro-gaming inspired animation too. (e.g. Gamer - Turbo. Free Wilco by Bowz)

Anyhow, these things are totally doable. The hard part is finding the manpower and the will to complete the task.


Top
 Profile  
 
PostPosted: Sun May 04, 2014 7:48 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19222
Location: NE Indiana, USA (NTSC)
There are more C64 demos because the demoscene was mostly a continental Europe thing, and during the NES's commercial era, continental Europe preferred open platforms such as the Commodore 64 and ZX Spectrum. The resident PlayStation fanboy on Slashdot claims that computer gaming remained popular in Europe because computer games were far cheaper to obtain, which is important for adoption in an area with undervalued currency such as eastern Europe at the time.

So anyway, one problem with making a rhythm game is that the best known design patterns for such a game are patented in nesdev.com's home country until around the end of this decade. And if Konami v. Roxor is any indication, the patent holders are unwilling to license their so-called "valuable intellectual property" to the so-called "riff-raff".


Top
 Profile  
 
PostPosted: Sun May 04, 2014 8:27 pm 
Offline
User avatar

Joined: Fri Aug 23, 2013 2:14 am
Posts: 264
Hmm, I guess you're right, but what I was talking about would be like the Player video Rainwarrior posted, not necessarily a demo like the C64 stuff. Seeing cutscenes like Ninja Gaiden's and Vice: Project Doom (and how that game started BEFORE you got to the title screen) makes me yearn for something like a music video, with creative use of the NES' quirks and limitations. If you will, the Daicon IV of NES demos.

But it's just a suggestion, thanks for reading.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 30 posts ]  Go to page Previous  1, 2

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group