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

Main - Posts by RANDY Ruler of Zexernet

Pages: 1 2 3

RANDY Ruler of Zexernet
Posted on 07-17-07 08:09 AM, in Super Mario Advance 2 editor in the works Link | Quote | ID: 55604


Shyguy
Level: 23

Posts: 1/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I have begun work on an editor for SMW: SMA2. I have most of the data located in the ROM (other than the overworld events), & I have overworld (again, other than the events) & title screen editing implemented (in Visual Basic, though I am contemplating a rewrite using C & GTK+). The level editor is waiting on me describing how the objects are structured, since the actual object definitions in the ROM are done by ASM code. I have not tried to do anything much with the music yet, though since it appears to be PCM (I sent it to /dev/dsp & heard Mario & Luigi talking), extraction & reinsertion might be doable.

The ROM has around 1MB of free space at the end, which means plenty of room for custom stuff. All of the data is uncompressed (except perhaps some of the sounds - I did not check too closely), which certainly makes my job easier. Also, the level format is similar (though not identical) to the SNES version (at least, as given by SMW Central), so I could potentially have an editor done in a few weeks (after I return from vacation).

I would also like to program a feature to convert IPSes for the SNES version of SMW to work on SMA2, but that is highly unlikely (& would certainly not support ASM hacks, which seem to be rather common).

If anyone has any suggestions for other features (so long as they are not too outlandish ), feel free to make them here. I will check when I get back from vacation (around August 6, & with no computers, so no more work will be done until then).

RANDY Ruler of Zexernet
Posted on 07-17-07 08:11 AM, in Introduce yourself here! Don't clog up General Chat... Link | Quote | ID: 55605


Shyguy
Level: 23

Posts: 2/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I am RANDY. I always write my name like that (I guess I just never switched to lowercase letters like everyone else). I got first place in the AATM State Math Contest all 4 years in high school & was the valedictorian (though I was mysteriously popular & only missed homecoming king by a few votes). I currently write programs in my spare time & am studying Computer Science in college (though I have no clue what job I actually eventually want - just something with programming). I am the ruler of the dimension of Zexernet, which currently does not have any physical presence due to a lack of technology.

I have occasionally wandered into Acmlm's ROM Hack Domain in the past (I have no idea which version I first saw, though it was red & blue & hosted at overclocked.org). I started making an editor for SMA2 about 2 weeks ago (details in the SMW Hacking section), though I am about to go on vacation for 3 weeks, so it will have to wait. I also decompiled the decompressor for the SMA4 level card levels & then saw that someone else already had (d'oh!). I am taking a printout with me on this vacation in hopes of writing a compressor (though it might be hard (or at least slow) using just my TI-92+). These 2 things finally convinced me to join.

RANDY Ruler of Zexernet
Posted on 07-17-07 08:20 AM, in Introduce yourself here! Don't clog up General Chat... Link | Quote | ID: 55611


Shyguy
Level: 23

Posts: 3/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Posted by NightKev
Uh...wtf is "Zexernet"?



It is an imaginary land that is supposed to be in a spacetime region disjoint from the normal universe. Basically, something from my childhood imaginings that I never gave up. It amuses some of my friends (probably partly because I also call it the Land of the Flying Cheese).

RANDY Ruler of Zexernet
Posted on 07-17-07 08:26 AM, in Super Mario Advance 2 editor in the works Link | Quote | ID: 55616


Shyguy
Level: 23

Posts: 4/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Posted by NightKev
Make an editor for SMB3 (SMA4 I think) instead. We don't need more smw editors.


No promises on that one, but if I can get a compressor made that is compatible with the level card decompressor in SMA4 (& I am taking the decompilation of the decompressor with me on vacation, since I cannot really do anything useful on SMA2 without a computer), I might make a level card maker.

Also, as was mentioned above, this is for the GBA version of SMW. I have read in several places where people requested such a thing or lamented its nonexistence.

RANDY Ruler of Zexernet
Posted on 07-17-07 06:59 PM, in Super Mario Advance 2 editor in the works Link | Quote | ID: 55679


Shyguy
Level: 23

Posts: 5/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I finished the SMA4 level compressor & tested it for compatibility (on Doors o' Plenty, since that utilizes more features of the compression format than the other levels I currently have loaded). If someone has an editor for the level format, I would gladly give them the compressor code, but be warned that the source looks terrible. If not, I *might* write a level editor myself once I have made more progress on SMA2. It also gets better compression than Nintendo originally did.

As for ROM expansion: It is straightforward to expand it (up to ~29MB free space/32MB total), but is more than ~1MB really necessary? The levels & graphics can only be up to a certain size each anyway (without completely redoing the formats), though I suppose the music might be a bit more flexible. I would make it an option if I did include it, at any rate, or else I could just have it allocate space past the end of the ROM as necessary (since the GBA format has no internal size markers).

RANDY Ruler of Zexernet
Posted on 08-24-07 02:26 AM, in Game Genie Code List Link | Quote | ID: 63528


Shyguy
Level: 23

Posts: 7/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Hmm...hopefully this does not show up twice, since I tried to post it about a day ago & it did not.

For Super Mario Bros. (I made these, as far as I know):
ASLEYV skip the number of lives screen
EOPELA grayscale
YANIES go through pipes & blocks horizontally
VANSSA+VNESSA automatically kill all enemies

RANDY Ruler of Zexernet
Posted on 10-01-07 05:35 AM, in SMA4 level card level compressor (rev. 2 of 10-01-07 05:36 AM) Link | Quote | ID: 66807


Shyguy
Level: 23

Posts: 10/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I am not sure if this has been posted before, but I once saw someone say that the Super Mario Advance 4 level e-cards are encrypted (the actual level data, not the raw e-Reader card data). They are not - they are merely compressed using a dictionary compressor, after which the data & offset streams are separately compressed using range coding, then concatenated. Someone else already decompiled the decompressor, so I made a compressor.

Call compress with the size of the level, a pointer to the level data, the mode (0x00 or 0x80, use whichever gives a smaller output size), & a pointer to the destination buffer (which should be large enough - how large is left as an exercise for the reader). It writes the complete level (suitable for placing in the EEPROM save, though there might be more needed to print a level card) to the destination buffer.

Code for compressor ((poorly) written in ISO C99):

#include<stdint.h>
int range(int size,int*src,int ws,char*dst){
unsigned di=0,c[0x1000],t[0x1001],l=0,w=0xFFFFFFFF;
for(int x=0;x<ws;x++){c[x]=1;t[x]=x;}t[ws]=ws;
for(int si=0;si<size;si++){int n=src[si];
l+=t[n]*(w/=t[ws]);w*=c[n]++;for(int x=n;x<ws;t[++x]++);
if(t[ws]>0xFFFF){t[0]=0;for(int x=0;x<ws;x++)t[x+1]=t[x]+(c[x]=c[x]>>1|1);}
while((l&0xFF000000)==(l+w&0xFF000000)){dst[di++]=l>>24;l<<=8;w<<=8;}
while(w<=0xFFFF){w=(0x10000-(l&0xFFFF))<<8;dst[di++]=l>>24;l<<=8;}}
while((l&0xFF000000)==(l+w&0xFF000000)){dst[di++]=l>>24;l<<=8;w<<=8;}
dst[di++]=(l>>24);return di;}
#define MIN(x,y) ((x)<(y)?(x): (y))
int compress(uint32_t size,uint8_t*src,uint8_t mode,uint8_t*dst){
int data[0x10000],offset[0x4000],di=0,oi=0,ws=mode&0x80?0x1000:0x200,ds,os;
dst[0]='A';dst[1]='S';dst[2]='R';dst[3]='0';
dst[4]=mode;dst[5]=size>>16;dst[6]=size>>8&0xFF;dst[7]=size&0xFF;
for(int si=0;si<size; ){int bo,bc=0;
for(int off=1;off<=MIN(si,ws);off++){int c;
for(c=0;c<MIN(size-si,0x102);c++)if(src[si-off+c]!=src[si+c])break;
if(c>bc){bo=off;bc=c;}}
if(bc>2){data[di++]=bc+0xFD;offset[oi++]=bo-1;si+=bc;}
else data[di++]=src[si++];}
ds=range(di,data,0x200,dst+12);
os=range(oi,offset,ws,dst+ds+12);
dst[8]=ds+12>>24;dst[9]=ds+12>>16&0xFF;
dst[10]=ds+12>>8&0xFF;dst[11]=ds+12&0xFF;
return ds+12+os;}

RANDY Ruler of Zexernet
Posted on 10-15-07 05:48 PM, in How big is your "My Documents" folder? Link | Quote | ID: 67747


Shyguy
Level: 23

Posts: 15/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
randy@twocheese ~ $ du -sh .

513M .

In 15102 normal files, 1984 directories, 1934 symbolic links, & 5 pipes (found using ls & grep)

Wow...lots of files but not that much space.

RANDY Ruler of Zexernet
Posted on 12-08-07 04:49 PM, in NES Super Mario 1 - Infinite Time Code Link | Quote | ID: 71377


Shyguy
Level: 23

Posts: 21/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
If you load one of the transition screens (or any other level with time limit=0) & do not have the right flag set, it times out instantly. Another infinite time GG code (found somewhere on the Internet long ago) is SZTLTN.

RANDY Ruler of Zexernet
Posted on 03-03-08 04:33 PM, in Super Mario Advance 2 editor update Link | Quote | ID: 79662


Shyguy
Level: 23

Posts: 26/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I started making an editor for SMW: SMA2 last fall, but I somehow got distracted by school & such. Last time I was going to write it in Visual Basic, but since it was too slow (noticeable pauses during rendering) & I am using Linux I decided C & GTK+ would be better since it then will work on both Windows & Linux. Since I have a greater portion of the ROM map completed, I have less of an excuse for not working on it this time.

The GTK+ version now supports displaying the overworld (but not editing it yet - hopefully that will be done this week). After overworld editing is in place I will make the title screen editor (since it is the same other than having an extra layer & no paths) & editor(s) for the other world maps. The actual level editing part is pending me writing definitions for all the objects or else figuring out how to extract them from the ASM automatically. (I would rather do the latter since it would support custom blocks, but it seems a bit infeasible right now.)

If you have any feature requests, feel free to tell me, but I might already have them planned , & I cannot guarantee I will implement them if I do not.

RANDY Ruler of Zexernet
Posted on 03-04-08 02:32 AM, in Super Mario Advance 2 editor update Link | Quote | ID: 79693


Shyguy
Level: 23

Posts: 27/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I know Lunar Magic exists. We already discussed whether this was redundant when I started last fall, & I concluded that there was enough demand to warrant it (in addition to it being one of my pet projects, of course).

Also, I am hoping to have some sort of "extract levels from SNES IPS" feature, but even so, an editor would be nice to fix things that did not quite make it (such as ASM hacks or custom blocks) or to take advantage of GBA-only features.

RANDY Ruler of Zexernet
Posted on 03-04-08 04:53 PM, in Super Mario Advance 2 editor update Link | Quote | ID: 79722


Shyguy
Level: 23

Posts: 28/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Another thing: Since you guys are my primary user base, would it be better to have one window with tabs for the overworld, levels, etc., or a separate window for each component of the game? I am leaning toward one tabbed window, but there is no difference in difficulty of coding, so which looks (& works) best for the community?

RANDY Ruler of Zexernet
Posted on 03-04-08 10:17 PM, in Super Mario Advance 2 editor update Link | Quote | ID: 79741


Shyguy
Level: 23

Posts: 29/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
As for making the overworld bigger: That would be nearly impossible, since the current overworld fills an entire BG layer. I am considering music editing (probably export/import for the PCM parts), though.

What is wrong with overworld editing? I am not sure what I should do differently from LM (mainly because LM does not seem to work that well in Linux).

RANDY Ruler of Zexernet
Posted on 03-06-08 05:59 AM, in Super Mario Advance 2 editor update Link | Quote | ID: 79836


Shyguy
Level: 23

Posts: 30/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I cannot guarantee there will be no Easter eggs , but I will not hide any important functionality in them. They would be merely cosmetic. Then again, I value conciseness & small executables, so Easter eggs are unlikely.

As for overworld editing: I am not sure if LM supports copy & paste of regions of overworld tiles, but I will support that. It should make it slightly easier. I already had it in the Visual Basic prototype, so I know a reasonably efficient way to do it.

RANDY Ruler of Zexernet
Posted on 03-11-08 05:37 AM, in Super Mario Advance 2 editor update Link | Quote | ID: 80161


Shyguy
Level: 23

Posts: 31/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
ExGFX *might* happen. There is plenty of room in the ROM (even without expansion), & the lack of bankswitching makes it much simpler than on the SNES. Then again, I would have to study the way Lunar Magic does it a bit more if I wanted it to be even remotely compatible or similar.

But as for IPS translation - I am running into problems with lots of the data being formatted very slightly differently (an extra bit or byte here & there, stuff in different orders, etc.). It might be doable, but rather involved, so I will probably just release the plain editor first.

RANDY Ruler of Zexernet
Posted on 03-30-08 11:33 PM, in Super Mario Advance 2 editor update Link | Quote | ID: 81230


Shyguy
Level: 23

Posts: 37/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Posted by troopa pride
I think you could implement easter eggs, but none that effects editing.
For example:You can put in alternet interfaces or even mini game



Easter eggs are currently the last of my worries with the increasing number of school projects & similar such stuff to do. I have not added anything since spring break (4 weeks ago, if I remember correctly), & this week does not look good either.

RANDY Ruler of Zexernet
Posted on 05-08-08 04:39 PM, in Today I had a weird dream. Link | Quote | ID: 83114


Shyguy
Level: 23

Posts: 41/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Last night I dreamt I made a bagpipes out of some plastic straws & a cereal box.
Hmm...no really weird dreams yet this month.

RANDY Ruler of Zexernet
Posted on 12-10-08 08:49 AM, in Board2Base (rev. 2 of 12-10-08 09:09 AM) Link | Quote | ID: 96366


Shyguy
Level: 23

Posts: 45/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
Going meta at 2_-2-5_1:


EDIT: I missed the tunnel entrance at 1_-2, so I moved this to -5_1.

RANDY Ruler of Zexernet
Posted on 12-10-08 07:25 PM, in 1-letter Swap (rev. 2 of 12-10-08 07:27 PM) Link | Quote | ID: 96402


Shyguy
Level: 23

Posts: 46/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
SPUN

RANDY Ruler of Zexernet
Posted on 12-17-08 07:43 AM, in Oh, the places we've seen... Link | Quote | ID: 97021


Shyguy
Level: 23

Posts: 47/89
EXP: 65765
Next: 1958

Since: 07-17-07
From: Arizona, US

Last post: 4637 days
Last view: 262 days
I ran into Acmlm's ROM Hack Domain (how I got there, I remember not) long ago when it was called that & had an orange background. I played Strange Mario Bros. 1 & 2 & Strange Mario World a little bit. Then I forgot about it for a long time. Then one day I decided I wanted to play Strange Mario World again, but instead of finding it I ended up here.
Pages: 1 2 3


Main - Posts by RANDY Ruler of Zexernet

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

Page rendered in 0.233 seconds. (329KB of memory used)
MySQL - queries: 136, rows: 168/168, time: 0.222 seconds.