Search found 141 matches

by SusiKette
Tue Dec 11, 2018 6:09 am
Forum: Newbie Help Center
Topic: Akumajou Densetsu's weird sound initialization?
Replies: 16
Views: 9026

Re: Akumajou Densetsu's weird sound initialization?

What would one typically do to handle lag frames? Detect lag, flag it and avoid doing non critical stuff? I would simply have a variable that tells that the last frame was completed. It's set at the end of NMI and tested at the beginning of NMI. After the test it's cleared and things go on normally...
by SusiKette
Tue Dec 11, 2018 2:55 am
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

So in other words if bank swapping is not used the loading part consists only of loading the actual file to memory so that the code can read it? In one NSF I have exported the load address is $98D5 . I'm assuming that this is the address in ROM where LOAD is located (but what is actually there and d...
by SusiKette
Tue Dec 11, 2018 1:35 am
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

Using .dll seemed to be useless effort.
As for the player, do I have to map the contents of the NSF file to the $8000 - $FFFF region similarly how I map RAM to $0000 - $07FF and $6000 - $7FFF?
by SusiKette
Mon Dec 10, 2018 5:50 am
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

There might still be hope for using some of the C++ projects that has been suggested. I figured that if the necessary bits are converted to a .dll they can be imported to the program I'm using. Although I'm not exactly sure how the conversion works I guess it's worth a try. I don't think there is an...
by SusiKette
Mon Dec 10, 2018 3:11 am
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

So if I only want to support VRC6 I only need RAM address from $0000 to $07FF? One way to implement the $6000 to $7FFF could be to create a separate array and see if bits %0110 0000 0000 0000 are set to see that the address is above $6000. If this is the case, the $6000-$7FFF range array is used and...
by SusiKette
Sun Dec 09, 2018 3:41 pm
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

That would most likely work if it wasn't in C++ I already have a general idea on how I should structure the code for the CPU part, but what would be the best way to implement the RAM that the code in the NSF file uses? Should I just make a byte array that goes from $0000 to $07FF or is there a bette...
by SusiKette
Sat Dec 08, 2018 9:53 pm
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

Do you have any recommendations on the FFT library? Although if writing a resampler that has the necessary functionality for this project isn't hard to make and has usable documentation on how to make one then that can be an option as well. As for Mesen, it seemed to be written in C++ as well, so th...
by SusiKette
Sat Dec 08, 2018 4:24 pm
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Re: Writing a NSF player

If by emulating the CPU you mean defining what each opcode does and handling the program counter, then that shouldn't be too hard. I'm not sure how easy the APU would be as I have not done much audio processing. The wiki does seem to have all the algorithms, but I'm not entirely sure of how exactly ...
by SusiKette
Sat Dec 08, 2018 1:46 pm
Forum: NES Music
Topic: Writing a NSF player
Replies: 38
Views: 34587

Writing a NSF player

Long story short, I'm trying to write a NSF player to handle music and sound effects in a project I'm making and I need some help understanding the file structure and how NSF players commonly work. Do NSF players generate the sound (aside DMC samples) or do they use prerecorded samples? I probably d...
by SusiKette
Thu Dec 06, 2018 10:10 am
Forum: Newbie Help Center
Topic: Akumajou Densetsu's weird sound initialization?
Replies: 16
Views: 9026

Re: Akumajou Densetsu's weird sound initialization?

For the second part of your question, pretty much all Konami games does that. They run the entirety of game logic within NMI, espousing an "all-in-NMI" strategy. The loop you're seeing just generate pseudo-random numbers. You can replace it with a simple "here: JMP here" kind of...
by SusiKette
Thu Dec 06, 2018 8:34 am
Forum: Newbie Help Center
Topic: Akumajou Densetsu's weird sound initialization?
Replies: 16
Views: 9026

Akumajou Densetsu's weird sound initialization?

I was looking through Akumajou Densetsu's code and the reset code has a subroutine with sound initialization (most likely) at the end of it. What is weird about it is that after each register write it jumps to a subroutine that consists of nothing but NOP . Does anyone have some sort of explanation ...
by SusiKette
Sat Dec 01, 2018 6:02 pm
Forum: Newbie Help Center
Topic: Mapper CHR capacity
Replies: 6
Views: 3635

Re: Mapper CHR capacity

Are there any known games that actually use the full capacity or at least close to it?
by SusiKette
Sat Dec 01, 2018 10:33 am
Forum: Newbie Help Center
Topic: Mapper CHR capacity
Replies: 6
Views: 3635

Mapper CHR capacity

Mappers like MMC3 and VRC6 seem to have 256K CHR capacity (according to the wiki). However, taking that my calculations are correct, some games such as Mario 3, RECCA and Castlevania 3 only seem to use 128K of that space. If I remember correctly one 256 tile block is 4K in size and all 3 games I men...
by SusiKette
Mon Oct 22, 2018 2:12 am
Forum: Newbie Help Center
Topic: VRC6 CHR Select and Mirroring
Replies: 7
Views: 3653

Re: VRC6 CHR Select and Mirroring

rainwarrior wrote: ROM nametables are pages from the cartrige's CHR-ROM.
What benefits does this have? If one nametable is 1k doesn't that eat up space quiet fast?
by SusiKette
Sun Oct 21, 2018 11:47 pm
Forum: Newbie Help Center
Topic: VRC6 CHR Select and Mirroring
Replies: 7
Views: 3653

Re: VRC6 CHR Select and Mirroring

Few follow up questions: What's the difference between nametable RAM/ROM? What is the CIRAM that is mentioned in the wiki page? Do you mean by 'arbitary nametable layout' that you can decide in which order they are? If so, is this what the 'nametable' table is for on the wiki page? Does VRC6 have al...