News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015  (Read 10313 times)

Quick Curly

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: Gyromite Mario Edition *UPDATE* Now Koopamite
« Reply #20 on: August 16, 2015, 07:59:58 pm »
Looks pretty awesome! I like the title screen, and how well the modified graphics blend together (to me).

Concerning the turnips, I tried to look into it for you.

0x1CDF - 96 - Turnip (Top tile)
0x1CE0 - 97 - Turnip (Bottom tile)

0x1FAC - 02 - Turnip Palette Attribute (Top, Green)
0x1FAF - 01 - Turnip Palette Attribute (Bottom, Red)

If you want both tiles of the turnip to use the green palette, change 0x1FAF to 02.
If you want both tiles of the turnip to use the red palette, change 0x1FAC to 01.
Similarly, you can change both to 00 or 03 to use the other parts of the sprite palette.
That way, both tiles will use the same part of the palette, since that seems to be what you would prefer, by the sounds of it.

As for being able to use 4 tiles for the turnip instead of 2, that might require some work. Unfortunately, that might be beyond me.

Here are some pages you might want to read concerning sprites:
PPU OAM - Nesdev wiki
PPU sprite evaluation - Nesdev wiki
Sprite size - Nesdev wiki

Quote
Most programs write to a copy of OAM somewhere in CPU addressable RAM (often $0200-$02FF) and then copy it to OAM each frame using the OAMDMA ($4014) register.

Here is $0200-$02FF (0x100) in RAM when the emulation is paused as soon as Phase 01 appears on the screen.

2D FF 20 88 - Weird sprite, X: 88, Y: 2D, palette 0, unimplemented
90 6A 42 79 - Top of smick's back, X: 79, Y: 90, palette 2, horizontal flip
98 6B 42 79 - Bottom of smick's back, X: 79, Y: 98, palette 2, horizontal flip
90 68 42 80 - Top of smick's front, X: 80, Y: 90, palette 2, horizontal flip
98 69 42 80 - Bottom of smick's front, X: 80, Y: 98, palette 2, horizontal flip
50 6A 42 E9 - Top of smick's back, X: E9, Y: 50, palette 2, horizontal flip
58 6B 42 E9 - Bottom of smick's back, X: E9, Y: 58, palette 2, horizontal flip
50 68 42 F0 - Top of smick's front, X: F0, Y: 50, palette 2, horizontal flip
58 69 42 F0 - Bottom of smick's front, X: F0, Y: 58, palette 2, horizontal flip
EC FD 42 F1 - Blank sprite
F4 FD 42 F1 - Blank sprite
EC FD 42 F8 - Blank sprite
F4 FD 42 F8 - Blank sprite
EC FD 42 F1 - Blank sprite
F4 FD 42 F1 - Blank sprite
EC FD 42 F8 - Blank sprite
F4 FD 42 F8 - Blank sprite
51 96 02 6C - Turnip top, X: 6C, Y: 51, palette 2
59 97 01 6C - Turnip bottom, X: 6C, Y: 59, palette 1
61 96 02 BC - Turnip top, X: BC, Y: 61, palette 2
69 97 01 BC - Turnip bottom, X: BC, Y: 69, palette 1
ED FD 02 F4 - Blank sprite
F5 FD 01 F4 - Blank sprite
3A 00 00 18 - Professor (left side, front, head), X: 18, Y: 3A, palette 0
42 01 00 18 - Professor (left side, front, hand), X: 18, Y: 42, palette 0
4A 02 00 18 - Professor (left side, front, foot), X: 18, Y: 4A, palette 0
3A 03 00 20 - Professor (right side, back, head), X: 20, Y: 3A, palette 0
42 04 00 20 - Professor (right side, back, hand), X: 20, Y: 42, palette 0
4A 05 00 20 - Professor (right side, back, foot), X: 20, Y: 4A, palette 0
F4 00 00 00 - Doesn't appear: Professor sprite, X: 00, Y: F4, palette 0
F4 00 00 00 - Doesn't appear: Professor sprite, X: 00, Y: F4, palette 0
F4 00 00 00 - Doesn't appear: Professor sprite, X: 00, Y: F4, palette 0
F4 00 00 00 - Doesn't appear: Professor sprite, X: 00, Y: F4, palette 0
F4 00 00 00 - Doesn't appear: Professor sprite, X: 00, Y: F4, palette 0
A8 54 01 1C - Dynamite fuse, X: 1C, Y: A8, palette 1
B0 50 03 18 - Dynamite, X: 18, Y: B0, palette 3
B8 51 03 18 - Dynamite, X: 18, Y: B8, palette 3
B0 52 03 20 - Dynamite, X: 20, Y: B0, palette 3
B8 53 03 20 - Dynamite, X: 20, Y: B8, palette 3
38 54 01 4C - Dynamite fuse, X: 4C, Y: 38, palette 1
40 50 03 48 - Dynamite, X: 48, Y: 40, palette 3
48 51 03 48 - Dynamite, X: 48, Y: 48, palette 3
40 52 03 50 - Dynamite, X: 50, Y: 40, palette 3
48 53 03 50 - Dynamite, X: 50, Y: 48, palette 3
78 54 01 5C - Dynamite fuse, X: 5C, Y: 78, palette 1
80 50 03 58 - Dynamite, X: 58, Y: 80, palette 3
88 51 03 58 - Dynamite, X: 58, Y: 88, palette 3
80 52 03 60 - Dynamite, X: 60, Y: 80, palette 3
88 53 03 60 - Dynamite, X: 60, Y: 88, palette 3
28 54 01 CC - Dynamite fuse, X: CC, Y: 28, palette 1
30 50 03 C8 - Dynamite, X: C8, Y: 30, palette 3
38 51 03 C8 - Dynamite, X: C8, Y: 38, palette 3
30 52 03 D0 - Dynamite, X: D0, Y: 30, palette 3
38 53 03 D0 - Dynamite, X: D0, Y: 38, palette 3
E7 FD 00 20 - Blank sprite
E8 FD 01 10 - Blank sprite
F8 FD 81 10 - Blank sprite
E8 FD 41 24 - Blank sprite
F8 FD C1 24 - Blank sprite
E7 FD 00 40 - Blank sprite
E8 FD 01 30 - Blank sprite
F8 FD 81 30 - Blank sprite
E8 FD 41 44 - Blank sprite
F8 FD C1 44 - Blank sprite

So, it appears that Gyromite uses 8x8 sprites. Sprite tile #$FD is blank, and it appears quite a bit on the screen. Perhaps "things" can be manipulated somehow in some way so that you can fit in an extra 2 tiles for each turnip.
There are a few blank tiles available in the CHR-ROM for sprite graphics.
From the way the turnip related data is set up, it seems that there are a maximum of 3 turnips in each level. So, there should be room (at least, in theory).
An idea for a Mario-related change could even be the vegetables (Veggies/Sprouts).
However, a consideration that comes to mind is a potential risk for sprite flickering.
There are other people more experienced with this area who could probably help you out more with this than I can at this point, if it's really something you choose to look into. However, hopefully this can help you and others get started. As always, best of luck.

JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Gyromite Mario Edition *UPDATE* Now Koopamite
« Reply #21 on: August 16, 2015, 08:56:26 pm »
I'll look into it Curly, thanks.

Here is the Gyromite Editor I'm working on at the same time. It's not much, but it does the job of basic level editing as far as tiles are concerned and then it exports the locations to a sheet in a .txt file which can be copied directly into the rom in a hex editor.


Jeville

  • Sr. Member
  • ****
  • Posts: 397
    • View Profile
Re: Gyromite Mario Edition *UPDATE* Now Koopamite
« Reply #22 on: August 16, 2015, 09:08:43 pm »
If you want, you can look into the turnip from Ice Climber. It's only a little too big and doesn't take a lot to adjust to fit it into 2 tiles.


JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Gyromite Mario Edition *UPDATE* Now Koopamite
« Reply #23 on: August 17, 2015, 10:59:31 am »
Looks pretty awesome! I like the title screen, and how well the modified graphics blend together (to me).

Now I'm working on the levels. Still not sure what is going to replace the Dynamite. I was thinking of the ? boxes, or even Mario dolls. It would be kinda of funny having Bowser send Koopas to train and threaten them to grab Mario doll bombs to escape the training rooms. Now that I wrote this, I think this is what I'm going to do lol Mario Doll it is.

As for the music. Do you think you could find the address? Theres three tunes in the game. I can switch them using the RAM in FCEUX but I can't find them in the ROM file. Since the JABU's hack removes the option to test ROB, obviously, since he's not needed to play this hack. Maybe this would help to switch music eventually. I could have every 5 levels be a bonus round with a different tune. I like the idea someone pointed out of putting the W1-2 of SMB in there at some point. Since I'm going to focus on level design, I could implement this while I'm doing it.

I have three tiles I can use for other purposes. My question is this : Can we assign an effect to them? Like when the main character (Professor) hits a Smick, he dies. Can we assign that function to tile 04 (Right connector). Could be useful if I wanted to add pits or water in the levels.



August 19, 2015, 07:45:35 pm - (Auto Merged - Double Posts are not allowed before 7 days.)


To emphasize that Bowser is throwing the Koopa troopa in a training session, I placed Bowser in the hud at the top as he watches the progress of his minion. Dyamite was changed to Mario dolls that explode. Still need to find out how to change the palette of bowser. It uses the same as the red pipe. Other than that, the first 5 phases have been changed.

And I've looked into the TURNIP

0x1FAC

02 FA FC 01 02 FC F0 00 F5 F3

02 - Palette control of top turnip
FA - Controls Y position of Top Turnip
FC - controls x position of top turnip
01 - Palette control of bottom turnip
02 - COntrols Y position of bottom turnip
FC - controls x position of bottom turnip
F0 - Adds a third part to Turnip (with palette)
00 - Controls Y position of previous part
F5 - Controls x position of previous part
F3 - Adds a fourth part to turnip (with palette)
00 - Controls Y position of previous part
FD - Controls x position of previous part

Unfortunatly, adding two tiles sends the game into flicker hell! Litterally. Any turnips drawn before the last one is erased as well. They are still there, but are invisible.
« Last Edit: August 20, 2015, 12:19:43 am by JUg »

JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #24 on: August 26, 2015, 10:15:27 pm »
Alright, so here is a graphical update. Still have to find a way to change some palettes around for the hud, which I can't seem to figure out. I haven't found a way to assign the Player's color palette to the hud above, it would certainly fix Bowser's color scheme and allow me to add background effects behind the vines at the same time. If anyone can help me out, I would appreciate.

Other than that, I'll have to find someone to help me fix the pipe backround. This will be fix with the palette of the vine if I can use another one for the hud. The other issue I'm running into is that in the level coding, 0B (Blue pipe movement) and 0C (Red pipe movement) are used to define the pattern of where the pipe needs to be brought down, and this somehow destroys the tiles in its path at the same time. I could live with it being completly black. These two tiles apparently use the same 8x8 tiles as the Black Background, so they point to 0x3f14 but are assigned a different set of colors.

Finally, the plan is to find someone to mess around with the code to add Bullet Bills coming out of the light blue pipes and make the game more like a maze gauntlet.


Chpexo

  • Hero Member
  • *****
  • Posts: 727
    • View Profile
.
« Reply #25 on: August 26, 2015, 10:38:53 pm »
.
« Last Edit: January 01, 2016, 12:26:41 pm by Chpexo »

Grimlock

  • Sr. Member
  • ****
  • Posts: 372
  • Graphics Artist, Level Designer
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #26 on: August 26, 2015, 10:43:11 pm »
Your hack is really looking pretty neat, I still have my original Gyromite cart from when I was a wee munchkin (insert nostalgia here). 

I'm looking forward to your release!  :thumbsup:

I would have to agree with Chpexo, I personally like the all black background as well.  The pattern gives off a somewhat busy look.

JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #27 on: August 26, 2015, 11:21:20 pm »
What if I make the background less busy? There is no darker tone for the blue I'm using in the NES palette. This is how It will look when I find a way to fix the hud palettes to match the player's palette (for the vines).



So if I am going to fix the vine background, I need to change one color, but in order to do this, I need to change the following (in short, everything in the HUD needs to use the same set of colors) :



But since I can't use the sprite palette, I need to rethink all my background palette colors.
« Last Edit: August 27, 2015, 12:50:53 pm by JUg »

Vanya

  • Hero Member
  • *****
  • Posts: 1874
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #28 on: August 26, 2015, 11:42:25 pm »
What about the lighter background color under the pipes?
Isn't that an easy fix by just swapping the colors on the relevant palette and then redrawing any tiles that go wierd?

JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #29 on: August 26, 2015, 11:50:58 pm »
The color glitch is caused by the pipes. The tiles below the pipes use the same colors as the pipe themselves. These tiles are there to limit the pipe's movements. In the editor, you need to place those tiles. It's always 1 less tile than the total of tiles used by the pipe. So a 5 tile long pipe needs 4 tiles of movement under it to work. I could make the last color be black, but then, that would change all the light blue colors in the HUD.

Chpexo

  • Hero Member
  • *****
  • Posts: 727
    • View Profile
.
« Reply #30 on: August 27, 2015, 07:20:28 pm »
.
« Last Edit: January 01, 2016, 12:27:54 pm by Chpexo »

Vanya

  • Hero Member
  • *****
  • Posts: 1874
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #31 on: August 28, 2015, 03:53:11 am »
The color glitch is caused by the pipes. The tiles below the pipes use the same colors as the pipe themselves. These tiles are there to limit the pipe's movements. In the editor, you need to place those tiles. It's always 1 less tile than the total of tiles used by the pipe. So a 5 tile long pipe needs 4 tiles of movement under it to work. I could make the last color be black, but then, that would change all the light blue colors in the HUD.

I'd change the palette for the pipes to use the dark blue instead of the light blue so the background tiles match up.
Then change the the side pipes to use the green pipe palette.
And finally, pick new colors for the first palette and use that palette for the HUD.

Resulting in something like this:

JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #32 on: August 28, 2015, 09:31:43 am »
I'd change the palette for the pipes to use the dark blue instead of the light blue so the background tiles match up.
Then change the the side pipes to use the green pipe palette.
And finally, pick new colors for the first palette and use that palette for the HUD.



That's the plan, however, that not how easy it is. I still have to find a way to change where the hud picks it choice of colors, because until I do, it will and always use the same as the two pipes. So I have to keep the light there until I find a way. I need to move the colors chosen for one of the tiles into the last four colors because it uses the same, then change the first 4 so and apply them to something else. Which I can't seem to figure out. I can't find the Name table for the background tiles aside from the 4 8x8 tiles combinations.
« Last Edit: August 28, 2015, 09:45:16 am by JUg »

Chpexo

  • Hero Member
  • *****
  • Posts: 727
    • View Profile
.
« Reply #33 on: August 28, 2015, 04:27:52 pm »
.
« Last Edit: January 01, 2016, 12:28:50 pm by Chpexo »

JUg

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Koopamite (Gyromite Hack) *UPDATE* 08/17/2015
« Reply #34 on: August 29, 2015, 02:07:53 pm »
Modify addresses 0x3734 and 0x3735 to the value $55 to change the top part of Bowser's palette. I'll leave the other half to you.

Thanks. It did allow me to find a way to change the entire first line of the hud to the first 4 colors by looking around those addresses, but I've hit a wall again. The only thing I was able to do was change the first line of the hud in all game modes, after that, I can't find any values that have any effect aside form glitching the game so badly that it just hangs. I'm definatly going to need some help at this point. I think I've reached my knowledge limit. Been at this for 5 hours now and I can't find the correct values. Going to keep trying for sure though.