Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,522,574
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-03-24 12:03 PM
Guest: Register | Login

Main - Posts by city41

Pages: 1 2

city41
Posted on 03-27-21 08:58 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167529


Goomba
Level: 11

Posts: 1/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Hey everyone, I am new to these forums. I thought you all might be interested in a SMA4 level editor I have been working on. You can check it out here: https://smaghetti.com

Still really early and tons of work yet to do, but it's coming along.

city41
Posted on 03-28-21 03:15 AM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167531


Goomba
Level: 11

Posts: 2/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by Plokzig

Wow, this looks interesting... even moreso the fact it's contained in a web interface. Thanks for the share


Thanks! My plan is to allow people to share and play each other's levels, kinda like mario maker. You can either play them in the browser, or grab a bunch of levels into a "playlist" and download them into one save file, and then play them on a real GBA or in a offline emulator.

That's a ways out though

city41
Posted on 03-31-21 10:24 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167542


Goomba
Level: 11

Posts: 3/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by Plokzig
Just hope you don't get a C&D. I expect you could possibly run it in Electron as a standalone application though, even if Electron is a meme within some circles


Yeah, a C&D could happen. If it does, there are some other options I could go with. The site doesn't have any Nintendo IP, as the user has to provide the rom and I am using normatt's bios. Even the graphics I extract out of the rom. Probably won't actually help, but I figured I'll do this totally clean.

city41
Posted on 04-06-21 09:52 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167553


Goomba
Level: 11

Posts: 4/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by Plokzig

I think it deserves its own thread here, which you can feel free to use the 'ROM Hacking Related Releases' forum for.


I made a thread over at romhacking.net http://www.romhacking.net/forum/index.php?topic=32546.0

But even there, only a few replies. Seems interest in SMA4 hacking has died down over the years. Not surprising really.

I am actively working on the editor and plan to for quite some time as I personally find it really interesting and fun to work on. I am working on transports (ie doors/pipes) right now.

city41
Posted on 04-07-21 04:37 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167558


Goomba
Level: 11

Posts: 5/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by Plokzig
I'm currently without a PC (typing this from a PS3 lol), so I won't be able to currently spot any issues if ever I felt like looking into it.

Two questions:
-Does the editor work with both the GoodGBA verified dump and the No-Intro US dump?
-Tested on anything other than Chrome? (As awful as Firefox has been since 4.0 users still deserve a choice)

Thank you


Yeah, I am testing on Chrome, Firefox and Safari. Both Firefox and Safari run the emulator rather slowly. Chrome runs it full speed. So Chrome is a better experience. Improving the emulator performance is on my todo list, but it's very low priority.

Honestly not sure which rom it supports, it's whichever one I happened to have It does a checksum and denies you if you try to use the wrong rom.

I just got transports working. Here is a really crappy video

https://www.youtube.com/watch?v=Okq8JQJHWnY

Turns out the info on them was a bit off, the x and y in the transport data are flipped, I documented the correct format here https://github.com/city41/smaghetti/wiki/Transports


city41
Posted on 04-16-21 03:26 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167581


Goomba
Level: 11

Posts: 6/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days


This tool I am building is really increasing the speed and accuracy of reverse engineer. It enables exploring a level, making changes to it, and seeing the changes right away.

It is here https://smaghetti.com/tools/hex-tree

city41
Posted on 04-16-21 06:30 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167583


Goomba
Level: 11

Posts: 7/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by Plokzig

This seems to be the No-Intro ROM with the renamed title "Super Mario Advance 4 - Super Mario Bros. 3 (USA, Australia) (Rev 1).gba" in DAT-o-MATIC. Given No-Intro/DAT-o-MATIC is generally preferred these days over the now dead GoodTools projects from Cowering this is a sensible choice.



oh nice, thanks for figuring that out. I'll add that to the rom modal. So far only one person has had issues here, he was trying to use an old rom he had procured years ago. It seems nowadays pretty much everyone is using this no intro rom now.

city41
Posted on 04-16-21 11:18 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167585


Goomba
Level: 11

Posts: 8/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Interesting, I didn't know any of that thanks for the explanation. I'm pretty new to rom hacking, although I have hacked neo geo roms and made tools for them, so not totally green.

I just had a teeny breakthrough. I think there was an assumption that if an object is not in bank 0, it is always five bytes. But bank 1 objects can be 4 bytes. This is good news as I have now untangled some really strange objects I just could not figure out. Turns out they are all 4 byte bank 1 objects. But it also kinda sucks because just blindly grabbing 5 bytes whenever the bank wasn't zero was pretty simple.

I kinda feel like I'm playing wheel of fortune the rendering of the level gradually reveals itself each time I figure one more thing out. Classic 1-2 (star02.level) is really coming along.

I have not made very much headway at all on levels that aren't underground type. But I'll get there.


city41
Posted on 04-23-21 09:50 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167601


Goomba
Level: 11

Posts: 9/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Anyone ever seen these before?



They are payload id 0xc for the Bubble. once you break the bubble they turn into some weird flat metal looking things that bounce on the bricks, but possibly that's because I don't have the proper graphic set turned on.

city41
Posted on 04-28-21 06:13 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 7 of 04-28-21 08:10 PM) Link | Quote | ID: 167609


Goomba
Level: 11

Posts: 10/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by XAIXER
Do they turn into these? https://tcrf.net/Super_Mario_Advance_4:_Super_Mario_Bros._3/Unused_Objects#Floating_Block


you can pick up the metal thing and then when you let go, it launches, whoa
https://www.youtube.com/watch?v=8pDc-QOBW4E

Once the bubble is popped, that little gray sliver is probably due to using the wrong graphic set. Or possibly this is just a junk item that doesn't work.

But since they don't float and mario seems to push them, doesn't seem like it's the floating block.




I have been brute forcing the game over the past several days. I wrote a script that creates a level with one object in it, runs it, and if it doesn't crash, takes a screenshot. I am doing that with every object id in the game for 4 and 5 byte objects, all banks. I will also do it for sprites. This takes a long time. About 20 hours to fully dump one object set, so about a week or more to fully dump everything.

It has enabled be to discover the ids, parameters and banks for many objects, just about all of them. I am pretty sure after this is over, the only unknowns object/sprite wise will be things that don't have show up visually in the game.

It has also discovered objects that I'm sure nintendo would consider incorrect, but are still kinda cool so I might add them to the editor anyway

And anyone familiar with this eyeball? I've never seen it before



and btw, this is what I mean by brute forcing, a small sampling of the output, it's super useful!


city41
Posted on 04-30-21 05:11 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 4 of 05-01-21 12:30 AM) Link | Quote | ID: 167613


Goomba
Level: 11

Posts: 11/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
I'm now well under way dumping all sprites. The dump revealed this clock which I've never seen before

When you collect it, it just stops the timer for about 3 real world seconds. It doesn't stop time altogether (for example enemies keep moving), so so far it seems kinda bland. But maybe there's more to it?




EDIT

floating bubble with payloads inside? whoa

https://www.youtube.com/watch?v=PoyJJWKmAbw

Pretty sure you should be able to put any payload inside. Sadly, I have not found any way to pop the bubble, nor can Mario stand on it.

city41
Posted on 05-01-21 03:01 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts (rev. 5 of 05-02-21 12:07 AM) Link | Quote | ID: 167616


Goomba
Level: 11

Posts: 12/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Oh nice, I missed that. I found more unused things that seems TCRF doesn't have yet, so could contribute there.

https://www.youtube.com/watch?v=xT-qFvvKV_E

I have put all my videos into this playlist: https://www.youtube.com/playlist?list=PLHpd9DwlchgNiYuotmrfFE70g-ksEbrxd


omg, I love the baby cheep cheeps
https://www.youtube.com/watch?v=lw5k3jCPgl8

baby cheep cheeps are normally spit out by big bertha (giant fish) in underwater levels. So not unused. But still cool they can be used on their own.

city41
Posted on 05-02-21 11:49 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167620


Goomba
Level: 11

Posts: 13/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by XAIXER
Lots of that stuff seems to be leftover from previous Mario Advances. One-way door from SMA3, ? Ball from SMA2. Wouldn't suprise me if most/all of the data from Advance 1-3 was in 4.


The one way doors are also used in SMA4, in the level Doors o' Plenty: https://www.youtube.com/watch?v=YkGqpg1xFrM I just screwed up and had the tiles that are actually for the seesaw platform being used, which made them seem like a new kinda door.

I finished dumping the sprites, but I am missing a lot. For example no koopalings showed up among many other that are missing. So I am positive there is more to find. I have some ideas in mind to run a few experiments to better understand how the sprite graphic set bytes work. I am hoping that will lead me to find the rest of the sprites, and possibly more stuff from other SMA games like you said? That would rock.




Anyway, everything here so far is so cool! @city41, have you thought about possibly experimenting with Electron to provide an offline, downloadable version of the tool that can be used on multiple platforms once it's stable enough to your own satisfaction?



Yeah I will make an offline version eventually. It probably won't be for a good while though. I want to at the very least get ereader level creation really locked down. I am also planning to move into main game level creation and overworld editing so people can make entire games. But that's a long ways off. The offline version will be truly offline, it will save levels locally.

People have been asking me to make a discord for smaghetti. I'm not a huge fan of chat though :-/ So I've been considering making a subreddit for it.

city41
Posted on 05-03-21 02:56 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167624


Goomba
Level: 11

Posts: 14/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
I'm definitely not starting my own forum, that is a lot of work (and potentially cost). The editor alone is plenty of work

I'll hold off for now. There's a little demand right now but not a ton just yet.

city41
Posted on 05-06-21 11:57 PM, in Smaghetti - a Super Mario Advance 4 level editor (rev. 3 of 05-14-21 05:34 AM) Link | Quote | ID: 167653


Goomba
Level: 11

Posts: 15/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
We've been chatting about this in the SMA4 hacking thread, but I thought it made sense to start a fresh thread.

Smaghetti is a Super Mario Advance 4 level editor, available here: https://smaghetti.com

Still early days, and a lot more work to do, but it's progressing nicely.

It creates e-reader levels that are playable in an emulator or on real hardware with an everdrive.

It's really easy to use, just draw your level, pretty similar to mario maker in that regard.




As of time of writing it has

- 105 entities (ie enemies, terrain, etc) to work with
- multi room support, with doors to move between them (pipes not yet implemented)
- a built in emulator that takes you right to your level for fast feedback
- drag and drop, panning, undo/redo, fill, etc
- keyboard shortcuts (press ? to see the list)

Still to come

- full fledged room styles (plains, sky, underwater, etc)
- the more elaborate terrain (hills, boxes, air ships, etc)
- movement vectors for platforms
- autoscroll
- saving multiple levels to one save file
- regular levels, overworld, tile editing, etc

see the what's new page for the latest https://smaghetti.com/whats-new/

warning!! warning!!

It has not even reached alpha quality yet. I am actively working on it, and things changes a lot. if you make any levels now, just be aware they may stop working as the editor advances. Once the editor is of beta quality, the level format will be locked in and from there it will be safe to make elaborate levels. For now, you're better off just playing around with it.

city41
Posted on 05-06-21 11:58 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167654


Goomba
Level: 11

Posts: 16/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
That's a good idea. For now the interest is low, but the people who are interested seem really interested. I like that, I prefer a small passionate group if I had a choice.

I started a new thread here for it. I thought that's a good first step

http://acmlm.kafuka.org/board/thread.php?id=9306

city41
Posted on 05-07-21 03:28 AM, in Smaghetti - a Super Mario Advance 4 level editor Link | Quote | ID: 167656


Goomba
Level: 11

Posts: 17/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by mellodillo
I just joined up here today after stumbling on the SMA4 thread (really stoked to see it's active!!!), and just wanted to let you know I'd be more than happy to check this out/help where I can! I was tinkering with SMA4 hex editing a bit last year, hopefully I can relearn so I can help out somehow. Would love to see this project do well


Awesome! That's great to hear.

I've created a few tools for reverse engineering and lately I've been brute forcing my way through the game. I wrote a script that tries every sprite/object combo there is and captures a screenshot if something appears on screen, then from there I filter down to the good ones. With that I have figured out a lot of things, but there's still a good deal more to find.

Here is everything that has been reverse engineered into Smaghetti
https://github.com/city41/smaghetti/tree/main/src/entities

And here are a bunch of random notes of just things I've found or figured out
https://github.com/city41/smaghetti/wiki

And also want to take this chance to also say I couldn't have done any of this without the awesome work people on this forum and other forums did well before I came along. All of the docs people wrote, the tools they made, and such were all extremely helpful!! I have it on my todo list to add a thank you page to Smaghetti. I have been collecting people's names who contributed. If you added to the SMA4 knowledge in any way, let me know and I'll make sure you're on the page.

city41
Posted on 05-07-21 03:29 PM, in Smaghetti - a Super Mario Advance 4 level editor (rev. 9 of 05-07-21 07:04 PM) Link | Quote | ID: 167660


Goomba
Level: 11

Posts: 18/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by mellodillo

I'm not sure if this is new knowledge, but I haven't seen it mentioned anywhere else, so I'll share in here: Last year I stumbled across SMW Dolphins and Porcupuffers -- the sprite hex values are on TRCF, but to get them to show up in-game correctly, the 6th graphics value for the room needs to be set to 0A.



Cool, those are fun enemies. I haven't added them yet, but they should be pretty straightforward to add now that we know everything about them.

EDIT: I added dolphin pod (the swarm of dolphins), but it acts kinda strange. Need to research it more
https://www.youtube.com/watch?v=_CuiV2StlZA

I have also found there is at least a seventh byte that influences graphic sets, the 26th byte of the level settings section. I think it's possible all twelve bytes in that area are for graphic sets, I plan to run some experiments there.

I wrote a script that will dump an entity using all graphic set combos (just six bytes for now), from there by looking at the screenshots can often determine which graphic sets an entity belongs too. Some entities only belong to one, while others can belong to all of them, and a bunch of entities are somewhere in between.



I've gotta say, it's been satisfying getting the hang of editing the hex code and piecing together the patterns behind how the various stage elements work! I think the next thing I was chasing after was the unused yellow Cheep-Cheeps and green Para-Beetles...I believe I found the address of the Yellow Cheep-Cheeps in someone's notes as an unknown entity (the description lined up with the enemy's behavior) but I have no idea how to actually make it spawn yet, if that's even possible.



My script found a green parabeetle at graphics set [5, 0, 0, 0, 0, 0] and object id 0x40. I haven't played with it yet though, so possibly it's not correct. I've not found any yellow cheep cheeps, that would be cool

EDIT: nope, 0x40 is buster beetle. So green parabeetle is still elusive.



This is incredible! Want any of my documentation that I have? Got a whole bunch of World-e info.



Yeah, please send it my way. I already have a ton of docs, I scoured the internet for them and several people have given me what they collected, but possibly I am still missing some.



youtube playlist

I've also been capturing video of unusued or interesting things in the game. The playlist is here
https://www.youtube.com/playlist?list=PLHpd9DwlchgNiYuotmrfFE70g-ksEbrxd

city41
Posted on 05-07-21 10:19 PM, in SUPER MARIO ADVANCE 4 - Hacking & Editor Efforts Link | Quote | ID: 167662


Goomba
Level: 11

Posts: 19/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Thanks for the well thought out and detailed reply, Quick Curly. Also thanks for adding it to the points of required attention, appreciate it!

I might give a Discord a go. I'll look more into it next week.

I do think for now the thread here is probably a decent start. Honestly the number of people interested in Smaghetti at this point is like ... ten. I think a lot of people have moved on, probably Lunar Magic being so mature and also Mario Maker means a new level editor isn't as interesting as it would have been before.

city41
Posted on 05-11-21 03:06 AM, in Smaghetti - a Super Mario Advance 4 level editor (rev. 2 of 05-11-21 03:07 AM) Link | Quote | ID: 167673


Goomba
Level: 11

Posts: 20/29
EXP: 5303
Next: 682

Since: 03-07-21
From: Ypsilanti, MI

Last post: 973 days
Last view: 950 days
Posted by mellodillo

Ah yeah, you need to have water enabled in the level for the dolphins to not fall off the screen, same goes for porcupuffers I believe. I forget what byte is responsible for having water at the bottom of the screen but I know it's used in "Sea to Sky" as well.



Ah good to know. I haven't done anything with water yet so that's all new to me. If anyone has any info I'd love to hear it. I'll explore the ereader water levels and add proper water support at some point.



EDIT: Something that crossed my mind while fiddling with ? blocks in the editor/after seeing your video with the item bubbles: Is it possible to put a poisonous mushroom in a ? block?


Hmmm, so far I don't think it's possible, but I'm not 100% certain yet. The poison mushroom can spawn on its own, it's in Smaghetti in the power ups section.

You might find this tool interesting https://smaghetti.com/tools/hex-tree/. After loading an ereader level you can change specific bytes and then run the level. You can also start the level in a specific room by clicking the eye icon next to the rooms before it. So if you want to go straight to room 2 on a level, click the eye icons on room 0 and 1 then play the level.

The tool is very raw and has no documentation, but eventually I will fix that I think it will be helpful in learning the last final bits about e-reader levels after the easier stuff has already been figured out. To see this tool at its current best, load star02 or star04.
Pages: 1 2


Main - Posts by city41

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.234 seconds. (327KB of memory used)
MySQL - queries: 127, rows: 159/159, time: 0.223 seconds.