Language…
8 users online: AJ1Ayrton, Hidincuzimsmokin, Klug, Nirv, Oskise, playagmes169, Rykon-V73, Tsquare07 - Guests: 242 - Bots: 250
Users: 64,795 (2,375 active)
Latest user: mathew

Super Mario Advance 3 hacking

@Yakov: I know it's still a long way until your tool can edit levels, but could you add a filter to EggVine Advance, similar to the one of EggVine. But here you should add a box which can be ticked, which says "Only show compatible Objects" and another one "Only show compatibel Sprites". The first would make that you can only see objects in the object window, which are compatible with the currently selected header and the latter would make that you can only see sprites in the object window, which are compatible with the currently selected Sprite Set. (In this case you must add Sprite-recognition, as Sprite-Sets are editable!!)
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31

Because I'll obviously lose track of all of the suggestion, I have made a temporary page for wxEVA, right here:

http://justyakov.com/~crap/wxeva

Also, you can post suggestions over there and I'll categorize them ASAP.


I just updated the topic title and first post.

Edit: Because it's nice to be able to edit again.

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3

Use the link I put up 2 replies ago. The one you put is broken.


Aw man, why can't you make a level name editor for the SNES version. I don't wanna go into a hex editor because I'm a big whiny baby.

:O

Originally posted by Snowshoe
Aw man, why can't you make a level name editor for the SNES version. I don't wanna go into a hex editor because I'm a big whiny baby.

:O
Give me $10 (or 3 months) and I'll change that.


i would like a editor that is easy to use like lunar magic and use friendly.


aka easier then egg vine
Originally posted by tails miles
i would like a editor that is easy to use like lunar magic and use friendly.


aka easier then egg vine

Exactly what he's working on.Free counters!

Originally posted by Jeorge535
Originally posted by tails miles
i would like a editor that is easy to use like lunar magic and use friendly.


aka easier then egg vine

Exactly what he's working on.
Only difference: it's going pretty slow, although, hopefully, not as slow as it took to make LM 1.63 to 1.69.


I don't know, if random findings really belong here, but I've found out that the GBA version of the game can hold 8 rotating/stretching sprites at once. I've tested it out with Sprite 0FA. That means it can hold the twice as many sprites as the SNES version. The normal Sprites, however work better in the SNES version. I've tried that out using normal penguins S184. Each version can hold 18 of them at once, I've put 31 of them in each 1-screen room. The SNES version is normally playable, the 13 penguins, which can't be hold are easily left out. The GBA version, however, lags extremely and runs more fluently the more penguins are defeated. So the GBA is (MUCH!) better concerning erstwhile Super FX sprites but worse concerning normal sprites. When both are placed in the same room, the GBA still shows 8 Flowers, but there are only 10 penguins left of the 31 instead of 18. In the SNES version 11 penguins remain along with four of the ten placed Flowers.

Furthermore, I detected that altering Sprite Sets in the GBA version does not work like in the SNES version. I'm using Sprite Set 0 in the test-level and I wanted to test out the Monkey-chains, which take 2 Super FX slots each and I've found out that only 4 instead of 8 of them can be in one screen at once. To make it look neater somewhat I've altered a value of the set to 64 to make the monkeys display, but it did not work. It loaded the wrong graphics; it loaded the graphics, which were in the set before and applied them to the monkey-sprites. Also, I've found out, Mattrizzle (#w{=P}), that our beloved Snowball only takes one of the 8 slots for erstwhile Super FX sprites in the GBA version, so it's possible to have 8 snowballs at once in the GBA version. But rolling two of them together while you're at the snowball causes Yoshi to lose Baby Mario, so it's still advisable to only use one of them. It's still only possible to use a single giant Tap-Tap, though.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Some other finds:
In 6-8 there is no sprite, that makes Kamek stop attacking Yoshi. In Extra 5, when you make lead the level up to X-Coordinate FF he will not go away. I guess the Sprite is tweaked in this level as well as in level F5, where Kamek aims a bit above Yoshi every time. They are all the same sprite, but all three have a different way of working.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Random note: I've somewhat updated the first post to reflect discoveries made since then.

@Yoshis Fan or anyone else: Are the two new autoscrolls S1D5 and S1D6?

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
S1D5 is the scrolling of Type-B of the SNES-version, so I guess S1D6 is Type-C. Here is a list of how the SNES scrolls scroll:
Type A If placed before X20: Extremely Slow until left side reaches X20, becomes faster, stops when screen reaches 80.
If placed after X20: Moves in faster movement back to X20, then back to 80 and stops then.

Type B Moves until LLSP reaches (6F|6D), moves downwards-left to (5D|7A), moves left to (1D|7A), moves upwards left to (08|62), moves up to (0D|6A)
moves upwards right to (23|3B), moves right to (50|3F)

Type C Moves until LLSP reaches (08|5C), moves upwards right to (24|3B), moves right to (50|3F)

Type D Moves towards lower screen location: (A0|68)

Type E Moves until LLSP reaches (0E|7F), then moves right to (A0|7F)

Type F Moves until LLSP reaches (08|40), then moves downwards right to (70|68), moves downwards left to (66|7F), moves leftwards to (48|7F)
moves upwards left to (42|5B), move rightwards down to (A0|68)

Type G Moves until LLSP reaches (08|6B), moves downwards right to (74|69), moves upwards right to (E0|6F)

Type H Moves until LLSP reaches (08|6B), moves upwards right ot (58|68), moves downwards right very shortly, moves upwards right to (E0|4D)

Type I Moves upwards right to (04|28), then unlocks the screens.

Type J Moves until LLSP reaches (C9|6F), moves downwards left to (A3|7D), moves left to (93|7D), moves upwards left to (84|6D), moves left to (26|6D)
moves downwards left to (08|7D), moves upwards left to (04|6D), then unlocks screens.

Type K If placed before X1F: Scroll until reaches D8
If placed after X1F: Scroll until reaches 1F, then until reaches D8

*Edit*
I don't think THAT they even added auto-scroll sprites. Scroll-Type-A is Sprite S1D4... At least for level 6-8. In Secret 4 and Secret 6 they use S1D4 for the fast scroll, but in 6-8 it's just as slow as in the SNES. Maybe they've tweaked it. But if they did: The hell why?? They have had a few free sprite-IDs left, so why did they need to modify an existing one? That goes up to Type-K, which is Sprite S1DE. In every level they follow a different movement-scheme:
In 6-8 it's just slow and horizontal.
In Secret 4 it's fast, scrolls horizontal, but a bit vertical, too, when it's done it unlocks the screens. The thing, that you can't go back is probably a matter of an XFE set in the screen left from it, or another tweak to the sprite...
In Secret 6 it just moves fast and horizontal
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
I think they probably edited the Sprite so the Auto Scroll depends on the X-Position.

In other news, here's an unrelated palette change I found between the SNES-GBA versions:



Not quite sure what the orange-ish colours on the side of the towers in the GBA screenshot are supposed to represent... (or why they changed it, for that matter)
@Jeorge: No idea, but the GBA-colors are in general less rich in contrast than in the SNES version. The orange colors probably represent the shine of the torches at the bottom of the Layer 3 or some torches in general.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Hmm. It's interesting, the amount of differences between the 2 versions. Here's another similar change I discovered:



This one was probably because the GBA couldn't handle the semi-transparent effects the SNES used for that background.
Hmmm... That seems interesting, I've never really noticed that before.
I didn't want to make a new thread to share this information...so...

I recently studied arm and thumb (GBA) asm and the structure of GBA headers.

In VisualBoy Advance, I found out that rom address 0x2b9c is always executed. I also found out that registers 10 and 11 are completely unused. So, I decided to hijack it in the attempt to make a trainer.

So I changed rom address 0x2 to $20 instead of $00. That makes the emulator/gba branch to rom address 0x8000C0 instead of 0x0000C0 upon the beginning of execution.

(...and yes, I made the rom twice as big on purpose. I wanted to make it not interfere with roms that have converted levels from the snes version.)

Then, I did a little asm magic in goldroad assembler:

Code
@thumb
@org 0x8002b9c
	bx r10
@arm
@org 0x88000C0
	ldr r10, =0x8800100
	ldr r11, =0x8002B9F
	b 0x80000C0
@org 0x8800100
	ldrh r1, [r2, #0x0]
	;;Insert trainer stuff here
	bx r11
@org 0x8800200
	@pool


and assembled it into a rom. I copied the important contents from the assembled rom and pasted them into the Yoshi's Island rom using a hex editor.

Now, bingo! I can now program trainers/code-hacks in asm. I simply have to replace ";;Insert trainer stuff here" with my code.

Now I'm going to make a trainer ips patch and an editor for the trainer.

And in case anybody brings it up, I already know there are automated trainer makers for the GBA. But do any of them support enable/disable key combos for every individual code?

EDIT:

Basically, this information allows for gameshark-like effects for Yoshi's Island on a flashcart (or in an emulator, which would be kind of pointless).

EDIT AGAIN:

I used the following asm code to emulate the gameshark code which disables the star timer:

Code
@thumb
@org 0x8002b9c
	bx r10
@arm
@org 0x88000C0
	ldr r10, =0x8800100
	ldr r11, =0x8002B9F
	b 0x80000C0
@org 0x8800100
	ldr r11, =0x88000B0
	ldrb r10, [r11, #$00]
	ldr r11, =0x3006F2B
	strb r10, [r11]
	ldr r10, =0x8800100
	ldr r11, =0x8002B9F
	ldrh r1, [r2, #0x0]
	bx r11
@org 0x8800300
	@pool


It works. You can see a video of it in action here:

http://www.youtube.com/watch?v=aBlEe5OSVkE
SMW2-SMA3 Title Screen / Overworld editor update

Editor will now support SMA3-YI Title screen 2D/3D editing, but wont be added till the second release.


Light OBJs starts at
ROM 0x00198C48

Dark OBJs starts at
ROM 0x00198E78

Color gradient
ROM 0x0019E904

Overworld GFX
ROM 0x001F897C


Most of the GFX data is compressed, all the GFX below uses LZ77

ROM 0x00199EA4 contains the Ground GFX LZ77 format, will be 8bpp
ROM 0x0019A890 contains the OBJ GFX LZ77 format, will be 4bpp linear, reversed-order
ROM 0x0019DABC contains the Light sky GFX, will be 4bpp linear, reversed-order
ROM 0x0019e1e0 contains the Dark sky GFX, will be 4bpp linear, reversed-order
ROM 0x0019E984 contains the in-game title with copy right date, will be 4bpp linear, reversed-order

Tile Maps

Light
ROM 0x001996A4

Dark
ROM 0x00199AA4

Title - Copy right date
ROM 0x0019F0C8


Overworld:

Level icons, Nintendo also included the icons that required extra processing from the SNES FX-Chip

Unshifted icons, not 8 pixel aligned friendly
ROM 0x001EF954

Shifted icons
ROM 0x001F3398

Secret/Bonus icons -shifted
ROM 0x001F7174

Patient/Hasty GFX
ROM 0x001F7A90

Score numbers/Blank flip tile
ROM 0x001FE17C

Perfect GFX
ROM 0x001FE38C

Score Bottom tab that shows
ROM 0x001FE754

Scrolling MAP GFX
ROM 0x00261938

Yoshi / Mario GFX
ROM 0x0025FA40

Overworld BG GFX:

Sheet 1
ROM 0x001FF38C

Sheet 2
ROM 0x001FFF20

Sheet 3
ROM 0x00200B70

Sheet 4
ROM 0x002010F0

Sheet 5
ROM 0x00201334


Misc:
The GFX to the unused/unfinished minigame Mattrizzle found in the SNES version can be found here, along with "-Nintendo- Presents"
ROM 0x002255CC

Mini Game GFX
ROM 0x00225ED0



If any one wants LZ77 locations for other GFX please PM me.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Cool, GBA YI support is definitely a good idea, too. Is there a certain scheme, so a custom GBA or custom SNES map/title screen can be ported to the other console? Maybe you could join adolif2's project of making a SNES -> GBA level converter. So in the end it becomes a ROM converter, so it can port other things, too and not only levels, but settings and ASMs, too.