(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-10-24 11:37 AM
0 users currently in The Pit of Despair.
Acmlm's Board - I3 Archive - The Pit of Despair - I'm really busy now to work on my hack, but want to contribute to the community New poll | | Thread closed
Pages: 1 2 3 4 5 6Add to favorites | Next newer thread | Next older thread
User Post
jp

Red Paragoomba


 





Since: 12-19-05
From: Uruguay

Last post: 6638 days
Last view: 6638 days
Posted on 02-17-06 05:17 PM Link
Hi, I've been hired to draw some comics so I have ZERO time to work on my hack.

I was quite near of releasing the first demo, which had some innovative features. I think they might be useful for the community, and since I won't be able to use them now, I'd rather share them:

* Changing Mario's GFX, at any time. This was to allow using different clothes/armor or even characters, at different levels, or part of a level.

* The ability to customize all of Mario's palette in a level (normally only 5 colors remain, the rest are overwritten). This allows further customization of the character for each level.

* A method for doing cut scenes, with graphics and text (a little rudimentary but works)

I might be forgetting others, like ASM bypasses and unimplemented features, but those are the most relevant.

If anybody wants some info on those techniques, let me now and I'll reply here. The concepts are simple, but may be long to explain.
Swedishmartin

Micro-Goomba


 





Since: 02-10-06
From: Sweden

Last post: 6528 days
Last view: 6528 days
Posted on 02-17-06 05:25 PM Link
First post! Or maybe second, I dunno.

Wow, sounds like it's gonna be one hell of a hack. I've never heard of cutscenes and character changing in different parts of stages earlier. Oh, some screenshots to illustrate your concept would be really nice. If you have any time for that, that is.


(edited by Swedishmartin on 02-17-06 04:25 PM)
(edited by Swedishmartin on 02-17-06 04:26 PM)
(edited by Swedishmartin on 02-17-06 04:26 PM)
Neo

Cheep-cheep








Since: 11-19-05

Last post: 6290 days
Last view: 6290 days
Posted on 02-17-06 06:01 PM Link
Originally posted by Swedishmartin
Oh, some screenshots to illustrate your concept would be really nice. If you have any time for that, that is.


Screenshots are Here
jp

Red Paragoomba


 





Since: 12-19-05
From: Uruguay

Last post: 6638 days
Last view: 6638 days
Posted on 02-17-06 06:18 PM Link
In my hack I used custom sprites for Mario, and for testing this technique I used the normal Mario set.


Before


After

Mario's palette appears garbled only because my custom sprites uses colors differently. Don't pay attention to that.

The technique, which I apparently (and appropiately) had named DMArio, consists of extracting Mario's sprites from a ZSNES savestate, storing them somewhere in the ROM, and setting up a Blocktool block to trigger a DMA transfer of the stored sprites in the ROM, into the snes's GFX memory. If it sounds technical, it is , but to put it simple it's just a 'copy and paste'.

Some notes:

* Anything you write to the ROM has to be protected by a RATS tag, so that Lunar Magic knows it must not be overwritten, otherwise it might get corrupted!

* The code of my block to trigger the DMA transfer was:

A9 05 8D FC 1D A9 00 8D 02 43 A9 90 8D 03 43 A9 22 8D 04 43 A9 FF 8D 05 43 A9 5F 8D 06 43 A9 00 8D 81 21 A9 20 8D 82 21 A9 7E 8D 83 21 A9 80 8D 01 43 A9 00 8D 00 43 A9 01 8D 0B 42 60

However keep in mind that it uses a fixed source address which I don't remember right now (I feel like my IQ dropped 20 points since I'm not hacking SMW anymore! ) I think it was a little after &H111111, I'll look into it later. The number is in the hex code anyway, if you feel like looking for it

I also had a small Basic program for automatically extracting sprites from a ZSNES savestate, I can provide that too if needed.
Clockwork JB

Flurry








Since: 02-12-06
From: Melbourne, Australia

Last post: 6302 days
Last view: 6301 days
Posted on 02-17-06 08:10 PM Link
Whoa...

You really need to release a demo of this hack.
C:/xkas bio.asm
Compiled ASM code








Since: 11-17-05

Last post: 6291 days
Last view: 6290 days
Posted on 02-17-06 10:23 PM Link
Nice code, you really motivate me to learn DMA

BTW, here the disasambly of your code(I hope I didn't mixed the high and low byte ):

LDA #$05
STA $1DFC //Play a sound effect(useless for the DMA)
LDA #$00
STA $4302 //offset to load from(Low byte)
LDA #$90
STA $4303 //offset to load from(High byte)
LDA #$22
STA $4304 //bank to load from
LDA #$FF
STA $4305 //Number of byte to load(Low byte)
LDA #$5F
STA $4306 //Number of byte to load(High byte)
LDA #$00
STA $2181 //set VRAM pointer(Low byte)
LDA #$20
STA $2182 //set VRAM pointer(High byte)
LDA #$7E
STA $2183 //set VRAM pointer(bank)
LDA #$80
STA $4301 //DMA to pointer previously saved at 7E2180
LDA #$00
STA $4300 //set DMA type to 00(I dunno wich type the value 00 give)
LDA #$01
STA $420B //enable DMA channel 0
RTS //end of the code


(edited by Bio on 02-17-06 09:23 PM)
(edited by Bio on 02-17-06 09:46 PM)
(edited by Bio on 02-17-06 09:51 PM)
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6305 days
Last view: 6291 days
Posted on 02-17-06 10:46 PM Link
*insert shock here*
Now how to apply this out of a custom block, and into the routine for changing from Mario to Luigi and vice-versa?
jp

Red Paragoomba


 





Since: 12-19-05
From: Uruguay

Last post: 6638 days
Last view: 6638 days
Posted on 02-17-06 10:47 PM Link
Impressive disassembling! I wrote that like one month ago but now I don't remember it very well... There were a lot of DMA docs and trial-and-error involved.

DMA is great. It's very very fast and using its power a creative hacker can do a lot of interesting stuff... For example, how about changing the whole Map16 data when you touch a block? That can be done, only a way has to be found to refresh the changes (otherwise they'd only be visible when you scroll the screen)

-- Edit --
Techokami: The code is very simple, you can insert it in any other block or subroutine (just remove the final hex, 60. You can also remove the hex at the beginning (i think it's A9 xx 8D FC 1D, i'm guessing), which only plays a sound effect).

HOWEVER, before you can use this, you need to have a new set of sprites saved somewhere in your ROM! Otherwise you'll only get some random noise instead of Mario.

If you want to use it to toggle between Luigi/Mario, you would have to add some code that loads between 2 different source addresses, depending on which character you're using.

In this case, you'd need 2 sets of sprites saved into the ROM, one for Mario and one for Luigi. (You can't load default sprites with this method)

Getting and saving the sprite sets is probably the most difficult part:

1. Change Mario's sprites in any SMW ROM, using your favorite tile editor
2. Run it on ZSNES, enter a level and save the state
3. Extract Mario's sprites (see below)
4. Place the extracted bytes in an empty space of the ROM
5. Put RATS tags to protect the new data

About 3 : I have a little program that does it automatically and writes a binary file, I'll upload it soon.

About 4 : Make sure OVERWRITE the bytes, don't insert or delete, or you will corrupt the ROM. Use your favorite hex editor.

About 5 : If you need help on this, search in google for RATS SMW Hacking and something should show up. If you can't find it, I still have the docs.


Once you manage to save the new sprites to the ROM, all you have to do is execute the code (using a block, for example), but of course, the source address must be the address where the sprites begin!

The source address is in SNES format, so you have to write down the address in your hex editor, then convert it with Lunar Address to SNES format.

One final complication: The bytes of the address in SNES code must be flipped (for exampe, if you have an address 7E 00 FF, in hex code it would be FF 00 7E

I hope that isn't as confusing as it looks, I might write a decent tutorial later. Of course if you have any questions, I'll be glad to help.


(edited by jp on 02-17-06 10:23 PM)
ZTaimat

260








Since: 11-19-05

Last post: 6357 days
Last view: 6291 days
Posted on 02-17-06 11:32 PM Link
Must have demo now!!

...please please PLEASE finish up or block-off your current level(s) and release a demo! We're all drooling over you, you god you!
Clockwork JB

Flurry








Since: 02-12-06
From: Melbourne, Australia

Last post: 6302 days
Last view: 6301 days
Posted on 02-17-06 11:39 PM Link
Gee, all this SNES code goes way over my head. I think I'll just stick to good GFX and solid level design for my hacks. That and custom music.
Deleted User
Banned


 





Since: 05-08-06

Last post: None
Last view: 6291 days
Posted on 02-17-06 11:48 PM Link
Good to see you back here jp .
Originally posted by ZTaimat
Must have demo now!!

...please please PLEASE finish up or block-off your current level(s) and release a demo! We're all drooling over you, you god you!
He said that he doesn´t have too much time for work on the hack, so, we will have to wait .
Clockwork JB

Flurry








Since: 02-12-06
From: Melbourne, Australia

Last post: 6302 days
Last view: 6301 days
Posted on 02-17-06 11:57 PM Link
Originally posted by andres
He said that he doesn´t have too much time for work on the hack, so, we will have to wait .


That doesn't mean we're going to wait patiently. Btw Great work jp. Keep it up.
jp

Red Paragoomba


 





Since: 12-19-05
From: Uruguay

Last post: 6638 days
Last view: 6638 days
Posted on 02-18-06 01:09 AM Link
My intention was to release the latest version of my hack, but currently it's a MESS, because I rearranged completely the palette usage, so I'll have to repair all the palette levels.

Also, I haven't made the cut-scenes' graphics or texts, and they are necessary for the story to have a minimum of coherence.

But maybe I'll release it anyway, after some fixes. It could inspire other hackers.

Meanwhile, I'll post some more screenshots, and describe other features:


Title screen
It's almost finished, the logo is in Japanese because it looks cool but I was considering making it again in English.


Title screen 2


Overworld (barely worked on, sprites not done)


Sword powerup! Replaces the cape. Can't fly, but can fall very slowly. In the story, it's a martial art called "Falling leaf" that is learnt from the Great Sensei, a (not very humble) old man who adopts Chiaki.


Sub-Machine Gun powerup. Replaces fireball with a fast shooting rifle. Can destroy some objects like cars and walls -- it's a lot of fun


Tree climbing! However, I don't recommend trying to kill the bird with that kick.


That little man with the garbled palette and standing on the cliff is the Great Sensei. The red dots are 'seagull' SFX blocks that were meant to be hidden in the release version, though I was planning a better implementation. The enemy on the right is a goat that has been K.O.'d.


Jumping over a child with a motorcycle! Don't try at home.


A statue of The Emperor, a fair and generous ruler... or is he?
Seagulls are animated.
Cars were restyled as old models, to allow for a contrast when Chiaki goes, years later, to the big city Cosmopolis and the empire capital, Megalopolis.


Chiaki at school! But it's certainly a paradox since she should be a kid in that level.
C:/xkas bio.asm
Compiled ASM code








Since: 11-17-05

Last post: 6291 days
Last view: 6290 days
Posted on 02-18-06 01:24 AM Link
Originally posted by jp

Title screen
It's almost finished, the logo is in Japanese because it looks cool but I was considering making it again in English.


Title screen 2

I really would like to know how you manage to make two title screen

Originally posted by jp

Sub-Machine Gun powerup. Replaces fireball with a fast shooting rifle. Can destroy some objects like cars and walls -- it's a lot of fun

so that how you used the DMA stuff, great work
Originally posted by jp

That little man with the garbled palette and standing on the cliff is the Great Sensei. The red dots are 'seagull' SFX blocks that were meant to be hidden in the release version, though I was planning a better implementation.

you could use levelASM to make it play the SFX each X frame

Originally posted by jp

Jumping over a child with a motorcycle! Don't try at home.

disguised yoshi, I hope you have disabled the tongue


Your hack seem awesome


(edited by Bio on 02-18-06 12:24 AM)
(edited by Bio on 02-18-06 12:25 AM)
(edited by Bio on 02-18-06 12:29 AM)
jp

Red Paragoomba


 





Since: 12-19-05
From: Uruguay

Last post: 6638 days
Last view: 6638 days
Posted on 02-18-06 01:39 AM Link
>I really would like to know how you manage to make two title screen

Actually is a vertical scrolling level with two layers moving at different speeds.


Originally posted by jp

Sub-Machine Gun powerup. Replaces fireball with a fast shooting rifle. Can destroy some objects like cars and walls -- it's a lot of fun

>so that how you used the DMA stuff, great work

In this case it was much simpler: just used fireball-sensitive blocks.


Originally posted by jp

That little man with the garbled palette and standing on the cliff is the Great Sensei. The red dots are 'seagull' SFX blocks that were meant to be hidden in the release version, though I was planning a better implementation.


>you could use levelASM to make it play the SFX each X frame

The problem is that I only want the SFX in that area of the level. Also I wanted the SFX to be played at random intervals. I had plans to implement it, but never got to it.


Originally posted by jp

Jumping over a child with a motorcycle! Don't try at home.

>disguised yoshi, I hope you have disabled the tongue

Hehe... Of course, that would have been very embarrassing!
I also planned to use DMA to change it into different vehicles.

Your hack seem really awesome


Thanks... But with so much new coding and GFX it was almost a new game... way too much work for one person.
It's more likely that I make it as a comic than a game
asdf

Link's Awakening
‭‮‭‮ಠ_ಠ








Since: 11-18-05

Last post: 6292 days
Last view: 6290 days
Posted on 02-18-06 02:37 AM Link
You should continue work on it, though. You've already gotten this far, no point in stopping now - or worse - accidently hiring a leeching moron to help you with the hack.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 6291 days
Last view: 6290 days
Posted on 02-18-06 04:35 AM Link
Originally posted by jp
*liquid ownage*
Holy crap.
Xkeeper
Took the board down in a blaze of glory, only to reveal how truly moronical ||bass is.


 





Since: 11-17-05
From: Henderson, Nevada

Last post: 6290 days
Last view: 6290 days
Skype
Posted on 02-18-06 04:39 AM Link
I'm drowning in my own saliva from this.
ghettoyouth

Panser








Since: 11-19-05
From: Germany

Last post: 6404 days
Last view: 6404 days
Posted on 02-18-06 05:06 AM Link

the best OW i've ever seen! it
Crysillion

Red Paragoomba


 





Since: 01-10-06

Last post: 6641 days
Last view: 6641 days
Posted on 02-18-06 06:49 AM Link
This has got to be the worst idea for a Mario hack I've ever seen. I'm not sure why people think they can turn a mario game into some Anime shitfest. I suppose you're going to include a touching story line mixed with drama, romance, and horror too?

I don't like it, and I'm guessing criticism is welcome, so here it is. It's stupid.

This isn't KOJA NO BANSHU LOL NO JUTSU II. It's Super Mario World.
Pages: 1 2 3 4 5 6Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - The Pit of Despair - I'm really busy now to work on my hack, but want to contribute to the community | Thread closed


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.042 seconds; used 451.39 kB (max 586.76 kB)