Page 1 of 1

Hotel Mario Sprite Data found.

Posted: Wed Jan 12, 2011 6:19 pm
by LuigiBlood
It took me some time, but at least :
Image

GFX Data is a little special, but here, it's there, it's Mario !

Posted: Wed Jan 12, 2011 9:09 pm
by Bas
eh... what am I supposed to see here...?

Posted: Sat Jan 15, 2011 9:11 pm
by Trev
Is this like one of those magic eye pics? If I stare long enough, and squint just right ...

Posted: Sun Jan 16, 2011 3:29 am
by opt_fr_
Nice Luigiblood ! What is the compression specification ? :D

Posted: Sun Dec 09, 2012 3:03 pm
by LuigiBlood
So, it's like 2 years later that I've finally got into it.

Code: Select all

Hotel Mario Sprites Format (LuigiBlood):
4E 75 2F 09 22 40 (5E 89) = Magic Number
D3 FC = Relative Go To (Not sure about how it really works)
12 FC = 1 pixel (2 bytes, one is useless)
22 FC = 4 pixels
32 FC = 2 pixels
22 5F = End

Image horizontal resolution: 384 (0x180)
Image

But then, sometimes I get weird stuff (also happens with some sprites of Mario):
http://i326.photobucket.com/albums/k425 ... ombao0.png
And I don't talk about the colors, the fact that some sprites are a bit deformed. I don't know why it happens.

EDIT:
Discovering more stuff, will update later.

Posted: Sun Dec 09, 2012 3:13 pm
by opt_fr_
Nice one luigiblood, finally you found them ! but does it match a specific video format described in the green book ?

Good luck for the koopa(ling) sprites !

Posted: Sun Dec 09, 2012 3:19 pm
by LuigiBlood
Nah, it doesn't seem to match anything.
I'm discovering more stuff about the format, I will update the topic later (and also post sprites...)

EDIT:
All right:

Code: Select all

Hotel Mario Sprites Format (LuigiBlood):
4E 75 2F 09 22 40 = Magic Number
D3 FC = Relative Go To
5X 89 = Skip bytes (X = bytes to skip * 2)
12 FC = 1 pixel (2 bytes, one is useless)
22 FC = 4 pixels
32 FC = 2 pixels
22 5F = End
Mario seems to appear correctly now. I will update my program so it does things better...

EDIT: Mario:
http://dl.dropbox.com/u/35397316/mario_set_sub.o.png

Posted: Sun Dec 09, 2012 8:17 pm
by cdifan
These are 68000 machine languate instructions with immediate data, so-called compiled sprites.
http://www.onlinedisassembler.com wrote:

Code: Select all

4e75             rts
2f09             movel %a1,%sp@-
2240             moveal %d0,%a1
d3fc00000000     addal #0,%a1
5189             subql #8,%a1
12fc0064         moveb #100,%a1@+
22fc00000000     movel #0,%a1@+
32fc0000         movew #0,%a1@+
225f             moveal %sp@+,%a1
The rts is a subroutine terminator; each sprite subroutine starts at the instruction immediately following it and blasts a number of pixels to address register one (%a1).

Posted: Sun Dec 09, 2012 8:37 pm
by LuigiBlood
So in other words I made a very bad 68000 emulator for graphics?

Pretty cool. And weird. But I'm okay with that.

Posted: Sun Dec 09, 2012 8:51 pm
by cdifan
LuigiBlood wrote:So in other words I made a very bad 68000 emulator for graphics?
That's one way of phrasing it, yes. But why bad? It performs okay for the purpose!

Posted: Sun Dec 09, 2012 8:56 pm
by LuigiBlood
By bad I meant it doesn't do much. So, cool, I made my first emulator, after knowing like so many assemblers in different architectures that I can emulate...