It is currently Tue May 23, 2017 1:44 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Mon Mar 13, 2017 10:42 am 
Offline

Joined: Tue Jul 01, 2014 4:02 pm
Posts: 229
What I do find to be great is how much growth I've seen in the community just since I've started this. Three years ago, when I started poking around asking people about homebrew and post market development and whatnot, the average person (even retro-game-lover) had no idea what I was talking about. More recently, I've started to get some great responses from people, not only knowing that it's a thing but citing homebrew games they've played or like or want to try. In just three years, our project went from becoming *holy hell, someone is making a new NES game* to *another NES game from an indie team...*, and I'm totally ok with that, because it demonstrates the interest to continue to develop for the system is growing and awareness of it is growing. And I also think that has to do with the number of quality releases being produced demonstrating that this is not just a hobby or novelty, but is a true design choice by creatives.

Cool stuff all around. And again, I appreciate all the dialog and feedback :-)


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 12:01 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 9639
Location: Rio de Janeiro - Brazil
BTW, the game is looking pretty good! Forgot to say anything before! :mrgreen:


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 12:07 pm 
Offline

Joined: Tue Jul 01, 2014 4:02 pm
Posts: 229
Tokumaru - thanks man. That means a lot. I knew NOTHING when I started this. You, Kasumi, Rainwarrior and a few others helped me go light years beyond where I could've expected taking this. It's to the point where now, I feel like I can do any thing at all I want to...it's just a matter of what I can make fit. It's a really cool thing, and the project definitely owes its existence to you guys and your patience. And I hope the documentary gets picked up for good distro and it upticks the awareness of what people here are doing. :-)


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 4:07 pm 
Offline

Joined: Tue Jul 01, 2014 4:02 pm
Posts: 229
Rainwarrior - I did find an anomaly in the music play mode...I WAS restarting the index at zero, but after 9 notes instead of after 8...for whatever reason. Odd. But anyway, I tried to get the bug you found to happen...but never got it to happen. Question - did this ONLY happen when you futzed around with the address to artificial give yourself lots of notes, or did it happen organically from collecting notes and then playing a bunch, too?


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 5:06 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5173
Location: Canada
JoeGtake2 wrote:
Rainwarrior - I did find an anomaly in the music play mode...I WAS restarting the index at zero, but after 9 notes instead of after 8...for whatever reason. Odd. But anyway, I tried to get the bug you found to happen...but never got it to happen. Question - did this ONLY happen when you futzed around with the address to artificial give yourself lots of notes, or did it happen organically from collecting notes and then playing a bunch, too?

No, I only gave myself a lot of notes to try and reproduce the problem. The first time it happened when I had like 50 notes I'd collected over an hour or so. (To try and reproduce the problem, I cheated to be able to get enough notes faster. All I did to get more notes was type $FF into that byte of memory $73A like I said, though.)

0. Obtain notes (by whatever means you think is "safe", if loading $73A is invalid somehow)
1. Press Start
2. Rapidly tap directions and B and A and select. Try to hit all 12 combinations in quick succession, maybe? I find this very reliably triggers the breakpoint I mentioned after a few seconds.

Or just use the FM2 movie and it will happen automatically.

The breakpoint I mentioned will trigger before there are any visible effects. (Y seems to gradually rise as I keep hitting notes, and eventually corrupts various things. e.g. at Y=16 it corrups your coins at $73A, which can't be seen until the coin display is redrawn. The player palette changes around Y=$41 or so, I think that's the first immediately visible thing.)


Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 4:21 am 
Offline

Joined: Tue Jul 01, 2014 4:02 pm
Posts: 229
Yeah - what you're describing makes sense if y continues to increase passed 8 (which it should behard limted at) as the entered song pattern is an 8 byte array...and beyond that it's be messing with overwriting other variables. And the player changing color and losing melee is likely a change to the player's state variable to one where he doesn't have use of melee and is using an alternative palette to show the status effect, so that tracks.

But i checked and i definitely cap this at at y maxing at 8...and i did exactly what you said multiple times and couldn't repeat this. Very odd.

Are you running it ok fceux? The virtual machine? Something othet?
Thanks!


Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 8:09 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5173
Location: Canada
It happened the first time in GGVM, which is why I started to play it in FCEUX instead.

The only other emulator I know that has mapper 30 is Bizhawk, and I just duplicated it there by the following means:

1. Start the game.
2. Use the RAM watch to freeze address $73D so the notes don't count down. (Gives me infinite notes, a slightly different means than sticking $FF in that value.)
3. Rapidly tap up/down/left/right/b/a/select. (I'm just wiggling my fingers on all the keys here. Definitely important to be using select, I think.)
4. After a few seconds...
Attachment:
mystic origins beta jar.2017-03-14 11.04.53.png
mystic origins beta jar.2017-03-14 11.04.53.png [ 16.08 KiB | Viewed 414 times ]


So... that's 3 different emulators I can produce it in. Again, the FM2 will reproduce it for you if you can't figure out the input.

Does the FM2 not work? Do you need a savestate? What would help here?

(The ROM is from the beta jar, mysticsearches/game.nes)

One thing I notice is that the STA $072A,Y at $FECD never has the value Y=9 with this problem. It skips to Y=A (or other higher values) instead, and after that you don't have to press notes quickly, any new note will increment Y even if you wait a long time between notes.


Last edited by rainwarrior on Tue Mar 14, 2017 8:32 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 8:31 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5173
Location: Canada
Here.

The Y value at $FECD is fetched from $732. You do check if it's 9 at $FED6, but you only check for equality (BNE instead of BCC), so if it ever happens to get past 9, you have a problem because the check for equality won't help you there.

The problem isn't specifically in that check though. It's back at $FECD with that STA $072A, Y. This fragment of a trace should explain everything:
Code:
A:01 X:01 Y:14 S:F7 P:nvUbdIzC         $FEC7: AC 32 07  LDY $0732 = #$08
A:01 X:01 Y:08 S:F7 P:nvUbdIzC         $FECA: AD 66 07  LDA $0766 = #$0C
A:0C X:01 Y:08 S:F7 P:nvUbdIzC         $FECD: 99 2A 07  STA $072A,Y @ $0732 = #$08
A:0C X:01 Y:08 S:F7 P:nvUbdIzC         $FED0: AD 32 07  LDA $0732 = #$0C

As you can see, Y=8 causes it to corrupt itself with whatever was in $766, so the problem is triggered before it even has a chance to hit 9 anyway.

(Stuff added in a later edit copied below, just in case it was missed.)


Last edited by rainwarrior on Tue Mar 14, 2017 9:22 am, edited 2 times in total.

Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 9:13 am 
Offline

Joined: Tue Jul 01, 2014 4:02 pm
Posts: 229
I'd be curious to know if this patch fixes the problem?

I fixed one or two of the other bugs here, so memory addresses may be slightly different, but in the same general area.

I did cap that lookup with a bcc in stead of an equivocation...I guess it's possible multiple inputs were being pressed in the same frame artificially advancing the value or something....but...I can't quite figure out how. I still couldn't reproduce it from my keyboard (so maybe it had to do with how you were able to mash inputs on controller). But let me know if this seems to fix it?


Attachments:
File comment: Tweaked revisions
game.nes [512.02 KiB]
Downloaded 26 times
Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 9:23 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5173
Location: Canada
This was in an edit to my last post, but in case you missed it:

Putting $766 in a watch explains why pressing select is necessary. $766 is the note played, right? The values higher than 7 are all on the select notes. That actually makes reproducing even easier. Just hold select and hit right 9 times in quick succession and you'll trigger the corruption of $732, after which you can just keep pressing notes at your leisure to gradually increment it and start corrupting other things above that space in memory.

That gives me a really easy way to trigger it without cheating at all.
1. Collect 1 note to get 9.
2. Press start.
3. Hold select, and hit right 9 times quickly. ($732 is now corrupted with a value higher than 9.)
4. Now just play notes until stuff corrupts. (You'll need to find more notes to play for this, but you can do this at your leisure. With a few more notes you'll corrupt the note counter, though, giving yourself tons.)


Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 9:25 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5173
Location: Canada
JoeGtake2 wrote:
I'd be curious to know if this patch fixes the problem?

Yes, changing the CMP #9 to a CMP #8 (now at $FED5) fixed it.


Top
 Profile  
 
PostPosted: Tue Mar 14, 2017 9:35 am 
Offline

Joined: Tue Jul 01, 2014 4:02 pm
Posts: 229
Thank god. Thanks for the bug report! It actually drew my attention to another potential problem that I fixed while I was at it.

Now, there seems to be only one lingering *bug* that I can't track down, and that's random instances of hurt cycle going on forever. That'll be next, after I do some memory management. i'm against a brick wall right now, with only bytes to spare to make changes! Time to optimize.


Top
 Profile  
 
PostPosted: Sun Apr 09, 2017 12:47 pm 
Offline

Joined: Sun Nov 23, 2014 12:16 pm
Posts: 140
I'm trying to beta test the game and the current emulator that I have is FCEUX 2.2.2, which from what I understand is supposed to be a petty good NES emulator to use.

When I load the file game.nes I get the following error message.

Quote:
iNES mapper #30 is not supported at all.


Does anyone have a fix for this? Thanks.


Top
 Profile  
 
PostPosted: Sun Apr 09, 2017 12:54 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 5677
Location: Seattle
For the moment, change it to mapper 2.

The only difference is whether the hardware is supposed to support self-flashing.


Top
 Profile  
 
PostPosted: Sun Apr 09, 2017 12:55 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 9639
Location: Rio de Janeiro - Brazil
Erockbrox wrote:
I'm trying to beta test the game and the current emulator that I have is FCEUX 2.2.2

Any reason why you can't download another emulator, or even a more recent version of FCEUX?

Quote:
which from what I understand is supposed to be a petty good NES emulator to use.

Actually, it leaves a lot to be desired when it come to accuracy, and accuracy is a pretty important aspect when beta testing a game.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
cron
Powered by phpBB® Forum Software © phpBB Group