Skip navigation
NintendoAge
Welcome, Guest! Please Login or Join
Loading...

New Geminim demo Updated: 12/29 - Nearly a full game

Dec 29, 2007 at 10:55:53 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
Alright.  I've worked some more and now I've got what I'd consider a fully playable game.  You can go through the levels and get a rank after 20 levels are done.  There are things I need to still do to make the game better, but this is about it in terms of what'll be in the game.

Hope you enjoy it.  See if you can get a perfect 20/20.

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list


Edited: 01/03/2008 at 12:09 AM by Sivak

Dec 30, 2007 at 1:34:16 PM
bunnyboy (81)
avatar
(Funktastic B) < Master Higgins >
Posts: 7704 - Joined: 02/28/2007
California
Profile
I think my total score is now 0 for 80...

Dec 30, 2007 at 1:39:38 PM
NationalGameDepot (279)
avatar
(Dr. NGD) < Bonk >
Posts: 15286 - Joined: 08/16/2006
Tennessee
Profile
I went 0 for 15 and stopped....
~~NGD

-------------------------
Proud replier of post #1000 in the infamous Joel thread

Dec 30, 2007 at 2:09:13 PM
KHAN Games (89)
avatar
(Kevin Hanley) < Master Higgins >
Posts: 8124 - Joined: 06/21/2007
Florida
Profile
0 for 14 here. Doesn't really seem possible to beat him.

-------------------------

gauauu: look, we all paid $10K at some point in our lives for the privilege of hanging out with Kevin


Dec 30, 2007 at 3:46:50 PM
EVIL OVERLORD
Dain (226)
avatar
(Dain Anderson) < Founder >
Posts: 12134 - Joined: 08/14/2006
North Carolina
Profile
If you haven't played this game before (I forget the site that has this game), you'll pull your hair out the first, oh, 2 hours or so. Once you get the algorithms down, it's actually a fun puzzle game. Great job, Sivak!

Dec 30, 2007 at 5:52:05 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
Well, I'll give a hint so you can get some wins.  For the first levels where you have 2 rows only, look at the number of gems in each.  If the rows have an equal amount in them, go second.  Otherwise, go first and make it so both rows are equal. 

The site Dain mentioned is here:  http://www.transience.com.au/pearl3.html

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list


Edited: 12/30/2007 at 06:18 PM by Sivak

Jan 1, 2008 at 10:10:25 PM
Little Samson (27)
avatar
(D H) < Meka Chicken >
Posts: 916 - Joined: 09/20/2007
Maryland
Profile
Wow, that's an impressive game! Thanks to your hint, I was able to figure the rest out...

-------------------------
 

Jan 1, 2008 at 11:00:40 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
Hopefully it'll be more impressive when I get random numbers to work and the computer makes less obvious "this is a losing move" situations.

I was going to try to add music, but unfortunately there are serious ram issues in attempting that, so music may have to be out of this game.  I figured a game that is free of graphical and audio glitches that happen for no reason is a better outcome.

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list

Jan 1, 2008 at 11:58:35 PM
albailey (55)
avatar
(Al Bailey) < Lolo Lord >
Posts: 1523 - Joined: 04/10/2007
Ontario
Profile
I used the random number code provided at www.6502.org  for sudoku.  There doesnt appear to be any licensing or other issues (ie: its free to use)
If you cant find it or get it working, I can send you mine.   It was written for ca65.
I've got it broken into a separate .asm file which you can just include if you are using ca65.


Are you low on RAM or ROM  as far as adding music? 

Al

-------------------------

My Gameboy collection  97% complete.          My N64 collection   88% complete



 My Gamecube collection  99% complete        My NES collection   97% complete


Jan 2, 2008 at 12:44:21 AM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
Originally posted by: albailey
Are you low on RAM or ROM  as far as adding music?


I really have no idea.  Basically, the inclusion of the NSF music file is not a problem, but making the call to its play routine is.  There are right now 2 outcomes, both of which are bad:

1.  Setting everything in $0200-$02FF = to $00 at the beginning causes graphical glithces due to sprite problems.  Mainly things don't show up.  This mode "plays" the best, but graphical glithces are not acceptable.

2.  Setting everything in $0200-$02FF = to $FE (in an effort to hide the sprites) at the beginning causes the triangle wave and noise wave to play notes for no reason and there is an occassional sprite flickering on the title screen and random jittering of the screen at points.

Basically, it SEEMS that the NSF somehow uses parts of memory in the game that the game needs and it's causing conflicts.

It's a pity because I managed to get the NSF to play, although doing that causes sound effects to no longer work and I have no idea how I could have both music playing and sound effects if I use an NSF...

I think we'll be going music-less for this one.

There's a whole post I made about this at nesdev:  http://nesdev.parodius.com/bbs/viewtopic.php?t=3812

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list

Jan 2, 2008 at 12:11:25 PM
albailey (55)
avatar
(Al Bailey) < Lolo Lord >
Posts: 1523 - Joined: 04/10/2007
Ontario
Profile
In the sample code you posted on nesdev,  you are setting all the memory in 0300-03FF to $FE  

Try swapping the lines in your reset "STA $0200,X"  and "STA $0300,X"
 
Edit:I would have to see the NSF playback code to know what memory it is using.  It is likely using page 3  (0300-03FF) but I really am just guessing.

Al

-------------------------

My Gameboy collection  97% complete.          My N64 collection   88% complete



 My Gamecube collection  99% complete        My NES collection   97% complete



Edited: 01/02/2008 at 12:12 PM by albailey

Jan 2, 2008 at 2:34:00 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
Swapping the positions of those didn't work.  Me wonders why bunnyboy had us writing $FE to $0300...

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list

Jan 2, 2008 at 3:35:18 PM
albailey (55)
avatar
(Al Bailey) < Lolo Lord >
Posts: 1523 - Joined: 04/10/2007
Ontario
Profile
Post a link to the revised ROM (where you write FE to 0200 and $00 to 0300)
 
I'll run it in an emulator and take a look at the memory to see if I can spot anything.

Al

-------------------------

My Gameboy collection  97% complete.          My N64 collection   88% complete



 My Gamecube collection  99% complete        My NES collection   97% complete


Jan 2, 2008 at 4:00:09 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
See attachment for the glitched one.

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list

Jan 2, 2008 at 5:17:19 PM
albailey (55)
avatar
(Al Bailey) < Lolo Lord >
Posts: 1523 - Joined: 04/10/2007
Ontario
Profile
I doubt this is the problem, but your IRQ address is set to 0000.
You should be able to declare something like this:

irq:
  rti

and have your IRQ  vector point to that.

The other thing is that I think you need to reset the stack pointer AFTER  you clear your memory in the reset routine.   I know that the wiki example code for a reset does the stack reset first,  but that might be wrong.  Otherwise the stack pointer gets set to zero.

Neither of these are related to the problem you are having.

I see that when the sound starts to ramp upward, the stack gets hosed.  I dont know why this is.  The notes increase several times and then pow, the stack gets wrecked.

I do see that the sound routine is altering the memory at 0200.  If you change your sprites to be somewhere else, you'll be fine,  but the other problems will still be there.  For example, on Nintendulator it constantly resets, while FCEU does not.

I'll keep digging.
Al

-------------------------

My Gameboy collection  97% complete.          My N64 collection   88% complete



 My Gamecube collection  99% complete        My NES collection   97% complete


Jan 2, 2008 at 6:04:46 PM
KHAN Games (89)
avatar
(Kevin Hanley) < Master Higgins >
Posts: 8124 - Joined: 06/21/2007
Florida
Profile
Does anyone else get really excited that this sort of communication is going on between people coding for new NES games?

-------------------------

gauauu: look, we all paid $10K at some point in our lives for the privilege of hanging out with Kevin


Jan 2, 2008 at 6:24:20 PM
albailey (55)
avatar
(Al Bailey) < Lolo Lord >
Posts: 1523 - Joined: 04/10/2007
Ontario
Profile
OK, I fixed the IRQ and stack and it didnt make a difference.
If I make the sprites be 0400 instead 0200 the problems go away,  but sound doesnt work.   If I write FE to both 0200 and 0400, the glitch comes back.

This implies to me that the values in 0200 are related to the sound registers, and if the values are too big, they outlast the duration of the NMI.

This is just a guess.

If you want to see if tis true, add the call to invoke the sound code within your reset handler where you have your infinite loop. 

Basically,  you have to set a flag in your NMI code.  And you check that flag in your reset.  If its set, you clear it and run your sound routine.  It will be reset by the next NMI call anyways.

Hope this helps.  I'm out of ideas.
Al

-------------------------

My Gameboy collection  97% complete.          My N64 collection   88% complete



 My Gamecube collection  99% complete        My NES collection   97% complete


Jan 2, 2008 at 9:19:21 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
I have taken the time to mod the code to have the sprites be on page $0400 instead of $0200 and this has seemed to fix everything...

I had to do some tweaks in changing all those $02XX to $04XX's...  Grr...  Though I did it with labels that make it so I need only change a label now instead of these random numbers.

Anyway, the game now plays the intro ditty I wrote during "Get ready"

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list

Jan 2, 2008 at 10:13:28 PM
Little Samson (27)
avatar
(D H) < Meka Chicken >
Posts: 916 - Joined: 09/20/2007
Maryland
Profile
Originally posted by: Sivak

Anyway, the game now plays the intro ditty I wrote during "Get ready"

Cool! Has the file in the original post been updated?


-------------------------
 

Jan 2, 2008 at 11:33:46 PM
Sivak (44)
avatar
(Sivak -) < Kraid Killer >
Posts: 2370 - Joined: 05/04/2007
Ohio
Profile
Originally posted by: Little Samson

Originally posted by: Sivak

Anyway, the game now plays the intro ditty I wrote during "Get ready"


Cool! Has the file in the original post been updated?


Not yet.  I'm trying to find out how I can make the music play and not make the sound effects sound bad.  Right now, both can play, but the sound effects don't sound like they should.

Update:  There is a new file now, although only the intro jingles are heard.  No in-game theme.

-------------------------
My website: Here

Battle Kid 2 demo videos: Playlist
Battle Kid demo videos: Playlist

Check out my current: Want list
Check out my current: Extras list


Edited: 01/03/2008 at 12:10 AM by Sivak