Zelda Compilation Album on Cart

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Zelda Compilation Album on Cart
by on (#236400)
Greetings,

Coming to you from the chipmusic community and fresh off the Nerdy Nights presses. Decided to pick up ASM for my project. Figured learn by doing is better then theorizing and just pondering tutorials. Also been wanting to do this kind of a project for a while, but didn't want to bug any experienced coder to do all the heavy lifting for me.

Project is basically a collection/compilation of my favorite tunes and tracks from the various Zelda games playable on the NES with a nice looking GUI, selection cursor, and title/graphics.

Currently done with my entire ROM's asm, (apart from implementing UNROM bank switching when I inevitably run out of 32kb for all the tracks I'm trying to add) I have the UNROM format figured out and CHR RAM working. Seemed straight forward enough to convert from NROM. Even if I don't breach 32kb (which I will) I think only needing one ROM to burn and de/resolder is saving me time/effort/money. So once I finish all the music (all written with MML/ppmck) and add them in, giving me my final size, I will know how many UNROM banks to use and make the bank switching all happen. after, it's just a matter of buying the appropriately sized EPROMS (or use the 27C512 ones I already have), burn them, and desolder/re-populate UNROM donor carts. Going to post updates and examples here when I have a chance to.

Been lurking here for a while gathering tips, info, general knowledge and it has helped tremendously. So thanks to all of you already.

Things I had fun learning how to do by lurking and/or experimenting:
• Scrolling sprites at different speeds (parallax)
• Adding despawning and respawing limits for looping an animation only in a fixed window
• Making smooth intuitive animation behavior for my selection sprites and cursor
• Dynamically update tiles (track list) on the hidden nametable for creating more than 2 pages of content
• Maximizing my color variability on screen by hugging the appropriate attribute tiles and simply scrolling the screen in code ($2005 writes) to center it on screen again.

I know nothing I'm doing is groundbreaking (understandably, being a novice and all), but I'm thoroughly loving learning how to code for the system I grew up with and love.

Will be hopefully posting significant updates and possibly asking about things I may not understand here if I can't figure out how to implement something on my own or can't fix a bug.

Latest update:
Update 5 (playing clips of all finished tracks)

Previous updates on facebook some showing more behind the scenes:
Update 4 (Graphics done/ Tiles updating correctly with nametable viewer demo of that)
Update 3 (music example)

Screenshot:
Image

Labelmockups:
Image
Re: Zelda Compilation Album on Cart
by on (#236430)
This looks great. I love the logo screen and I love the silhouette from the label getting revealed by the clouds passing by. Cool project!
Re: Zelda Compilation Album on Cart
by on (#236530)
Looking for suggestions on tracks to add if anyone has some favorites that might work on the NES.

Currently in here:
Midnas Lament
Windfall Island
Kikoriko Village
Deku Tree
Oath To Order
Song of Storms
Great Fairy Fountain
Ocarina of Time: Title Theme
Tal Tal Heights
Zelda's Lullaby
Dragon Roost Island
Market
Ballad of the Windfish

Currently working on:
KaeporaGaeboro
Kokiri Forest
Lost Woods
Kotaka Koume

Planned:
Majora's Mask: Title Theme
Bolero of Fire

Want to do but probably can't from channel limits:
Garudo Valley
Lon Lon Ranch
Re: Zelda Compilation Album on Cart
by on (#236633)
Have been unsoldering mask roms to take a break from mml and coding for the time being. And then with boards ready and waiting, I decided to wire up a socket and do some hardware tests.

_While there where issues at first_
Wiring confusion: 27C010 vs 27C512 (Solution = lift and ground pin 22 (OE/Vpp) of 27C512)
Mirroring solder joints: Seemingly labeled backwards on solder mask. I didn't know the convention 'V' was not for vertical "mirroring" but for vertical "scrolling"
Boot code: Was not waiting enough vBlanks. Placed two before reset routine and two right after to prepare for drawing. That fixed it.

All is fixed and running smoothly on hardware.

Video:
Hardware Test
Re: Zelda Compilation Album on Cart
by on (#236636)
TylerBarnes wrote:
Mirroring solder joints: Seemingly labeled backwards on solder mask. I didn't know the convention 'V' was not for vertical "mirroring" but for vertical "scrolling"

Not backwards. viewtopic.php?p=235743#p235743
Re: Zelda Compilation Album on Cart
by on (#236638)
koitsu wrote:
TylerBarnes wrote:
Mirroring solder joints: Seemingly labeled backwards on solder mask. I didn't know the convention 'V' was not for vertical "mirroring" but for vertical "scrolling"

Not backwards. viewtopic.php?p=235743#p235743


Yes, 'seemingly' meant here to describe 'To those that assume it refers to mirroring' (i.e. me)