A First Attempt: Nanaca Crash

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
A First Attempt: Nanaca Crash
by on (#71802)
First of all, Hello!

I've been only reading the boards for a while, mainly because of the excellent source of info they constitute. (And for that, thanks to the community!)

I finally had the time to complete something resembling a game. I decided to make a NES version of a kinda old flash game called "NANACA†CRASH!!" (the link goes to the original game), because it does not have "levels", nor a lot of content to make for it, I could focus on learning the technical aspects of making a NES game.

This is what I have now, the game has ugly graphics, and a couple of bugs (mainly nametables corruption because my division routine takes long enough to go past the vblank in some cases that I havent completely figured out yet), but I'm happy that overall, it works.

I hope I can now make a new game more relaxed, with everything I learned from this one.

I only tested the game with FCEUX and Nestopia, I tried to follow all the guidelines and stuff, but I'm not sure if it would run on real hardware nor I have the means to test it.

Get the .nes file here

And once again, thanks for all your indirect help and guidance!!!

by on (#71803)
I like it, it's very interesting! I think it's a great port. Good job! I have a couple questions, though...


Why is it so big? Are you using a template for a ROM board that has that much memory that you don't use?


Not a question really, but it doesn't play on FCEUXD or Nintendulator, but does on VNES and Nestopia. Also says it has invalid header data, just saying. Maybe fix this? I'd doubt it would work on real hardware if two emulators deject it, unless you do some REALLY fancy stuff, haha.


Good job, keep it up, how long have you been working on this if you don't mind me asking? I'm just interested in how fast other developers work. :)

by on (#71806)
129.95 meter! Some kind of record? :)

by on (#71809)
I got it to work on FCEUX by renaming the file.
I think it choked on some of the characters in the filename...

This is really good for a first attempt.

by on (#71960)
Thanks a lot for trying it!

I began with it around July, but I didn't had a lot of time back then to dedicate to it. Only recently I had enough free time so I decided to try to wrap it up as much as I could and "finish" it.

The big size its because I padded the file with lots of zero-filled chr-roms. I didn't liked that Nestopia detected it as an non-standard board, so I thought that filling the rom sizes to match an existing one would be better. Maybe I trusted Nestopia too much :P I'd really like to have real hardware to test it, but its hard to get it here. Maybe I have more luck in the future :)

Overall, It was a very enjoyable experience! I will try to begin another thing soon!!! :D

by on (#71961)
Some of the newer emulators insist on the PRG and CHR size being a power of 2.

by on (#71969)
Kreese wrote:
129.95 meter! Some kind of record? :)

If it's a record, I broke it :D

by on (#71970)
1145.20m

Quite addictive, just like the original. :)

by on (#72721)
Dwedit wrote:
Some of the newer emulators insist on the PRG and CHR size being a power of 2.


What is the reason behind this? Such restriction also exists on real mappers?

I removed the padding from the final .nes and tried it on Nintendulator with success.

I'm uploading it again, and now the file also includes the ugly and shameful source, and also two pages of a mockup famicom manual I did just for fun.

http://www.zlashstudios.com/files/nanakura_wsrc.7z

by on (#72723)
zlash wrote:
What is the reason behind this? Such restriction also exists on real mappers?
Almost all real-world games use a single chip of ROM for the code; those have a certain number of address lines; the number of bytes in that chip is therefore 2**(that number). Even those that have multiple ROMs still have to use at least ceil(log2(size in bytes)) address lines. It's also not really clear what "this game has 192KiB of ROM" means — somewhere that 192KiB actually corresponds to 18 address lines, so somehow some part of it is necessarily duplicated until it takes 256KiB.

Special mappers could be constructed that didn't have this constraint by having RAM decoded to part of that power-of-two range, but I don't know that I've ever heard of one.

by on (#72732)
I seem to remember 6 megabit games on TG16; 10, 12, 20, and 24 megabit games on Super NES; and 96 megabit games on Nintendo 64. (Is there a Super NES counterpart to BootGod's NesCartDB so that I can check for examples?) As I understand it, the area past the nominal end of ROM was mirrors of the last part (e.g. 8 Mbit, followed by the same 2 Mbit four times). Were odd-sized mask ROMs just not made before the early 1990s?

by on (#72741)
Great first project! (Should be moved to Homebrew Projects btw.)

Criticism:
- in-game music/sfx would totally kick ass
- the button assignments seem unintuitive, have to press START to select in menus, A to exit the credits screen, B to launch the thing..

by on (#72781)
tepples wrote:
I seem to remember 6 megabit games on TG16; 10, 12, 20, and 24 megabit games on Super NES; and 96 megabit games on Nintendo 64. (Is there a Super NES counterpart to BootGod's NesCartDB so that I can check for examples?) As I understand it, the area past the nominal end of ROM was mirrors of the last part (e.g. 8 Mbit, followed by the same 2 Mbit four times). Were odd-sized mask ROMs just not made before the early 1990s?


Those cartridges had multiple ROM chips in them. For example, 24 megabit SNES carts contained three 8 megabit ROMs.

by on (#72804)
AWJ wrote:
tepples wrote:
I seem to remember 6 megabit games on TG16; 10, 12, 20, and 24 megabit games on Super NES; and 96 megabit games on Nintendo 64. (Is there a Super NES counterpart to BootGod's NesCartDB so that I can check for examples?) As I understand it, the area past the nominal end of ROM was mirrors of the last part (e.g. 8 Mbit, followed by the same 2 Mbit four times). Were odd-sized mask ROMs just not made before the early 1990s?


Those cartridges had multiple ROM chips in them. For example, 24 megabit SNES carts contained three 8 megabit ROMs.


Same for the TG16 games. Grouped roms (3megabit = 2+1(mirror=2), 6megabit=4+2(mirror = 4), 20megabit=4+8+8 ).