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

Main - Posts by Kawa

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189

Kawa
Posted on 12-26-09 10:51 AM, in Ask Kawa - cos I obviously have nothing better to do (rev. 2 of 12-30-09 08:53 PM) Link | Quote | ID: 124150


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3072/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Are you having (or, if you answer this after today, "Did you have") a fun Christmas day?
I was depressed all day, but all in all I have to say it wasn't half bad. Let's see what today brings.

What is love?
I forgot

What is your net worth?
Probably more than, say, Paulguy but I have no concrete idea.

How much wood could a woodchuck chuck if a woodchuck could chuck wood?
I'm not the pheasant plucker, I'm the pheasant plucker's son and I'm only plucking pheasants 'til the pheasant pluckers come.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 10:55 AM, in Ask Kawa - cos I obviously have nothing better to do Link | Quote | ID: 124152


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3073/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Do you think I should buy New Super Mario Bros. Wii, Pokemon Emerald, or Super Mario Bros: The Movie?
Mo' like deja moo.
<Kawa> Not the movie, I can tell you that


____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 06:05 PM, in asm programming = slave labor Link | Quote | ID: 124166


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3074/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
What kind of game do you want to make, and how does the ASM programming fit in?

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 06:22 PM, in asm programming = slave labor Link | Quote | ID: 124173


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3075/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
And what CPU would that be?

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 06:34 PM, in asm programming = slave labor Link | Quote | ID: 124176


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3076/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
I'm starting to get some ideas here. Why specifically the SNES?

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 06:38 PM, in asm programming = slave labor Link | Quote | ID: 124179


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3077/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Butt out Paulguy. I haven't offered to code anything and I wasn't planning to. I'm just trying to help in some way I can.

Besides, I can barely even read SNES ASM.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 06:47 PM, in asm programming = slave labor Link | Quote | ID: 124181


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3078/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Those are pretty good reasons on first glance, except for the palette thing.

The Super Gameboy, Color Gameboy, Gameboy Advance and DS all use the exact same color format. The only difference is the amount of palette entries.

Still, the other two are perfectly good reasons. Got any more?

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-26-09 11:17 PM, in The many faces of the Nintendo DS Link | Quote | ID: 124200


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3079/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
I have a classic DS Phat with a firmware hack. DS Lite is too small and feels... I dunno, waxy. DSi? Never even considered it.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-27-09 04:47 PM, in asm programming = slave labor Link | Quote | ID: 124256


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3080/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
No it isn't. On any system, there's several levels of speed.

ASM is at the very top, but if it's badly written it drops a level or two.
C is right below it. Given a proper compiler, it is so fast that only very intensive parts might require some inline ASM work. C++ is often one (or one half) level below that, but only because of extra OO overhead. Using a C++ compiler, yet writing plain C with it could even help create faster ASM output.

Somewhere at the bottom are interpreted languages, not counting any game script interpreter you might use.

Now, the SNES might not be the fastest horse in the stable but I think, if you write good C code, it'll work fine.


And now, some life experience: I write C on the Gameboy Advance. One of the first things I learned is to use native-width integers for stuff like parameters and globals, and only use other types in structs and stuff. This because having a byte or halfword parameter or return value would require extra ASM code to make sure it is a byte or halfword. With native ints, that code can be left out, making the resultant ASM smaller and faster.

These days, most if not all games are written in C (or C++) with preciously little ASM work. Most I've seen that's consistently done in ASM is stuff like sound mixing.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-27-09 05:09 PM, in asm programming = slave labor Link | Quote | ID: 124260


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3081/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Posted by DahrkDaiz
You have to love for it to be any good.
No matter what language you write in.

I won't code in COBOL for anything less than five hundred though

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-27-09 06:32 PM, in asm programming = slave labor Link | Quote | ID: 124269


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3082/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Well, I have some GBA C code to draw stuff like a tilemap. It's quite close to the SNES, format-wise, as far as I can remember so if you want I can give you some sample code. I also have a simple tile-based print function that could theoretically work on any system with tilemaps.

Sprites I'm not too certain about, so I'd rather not give (possible) C code for that until I've studied the ASM side of it myself.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-27-09 06:57 PM, in asm programming = slave labor Link | Quote | ID: 124275


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3083/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
What do you mean, "it doesn't work"?

Anyway, here's some sample code. It's just from the top of my head and unfit for consumption, but it's the basics.

//Just imagine this is more, about one screenfull.
//The ones are wall pieces, two, three and four are
//shadow variations and five is floor. Can you visualize the data?
const u16 someMapData[] =
{
1, 1, 1, 1, 1, 1, ...
1, 2, 3, 3, 3, 3, ...
1, 4, 5, 5, 5, 5, ...
1, 4, 5, 5, 5, 5, ...
1, 4, 5, 5, 5, 5, ...
1, 4, 5, 5, 5, 5, ...
...
};

void LoadTestMap()
{
//Again, top of my head.
memcpy(someMapData, BG0, sizeof(someMapData));
}
Assuming you have, through similar methods, loaded the graphics tiles into their proper memory area, you should get whatever you visualized on screen. This all assumes you have a header file to describe whatever "BG0" is supposed to be -- in this case, a pointer to the VRAM area where the bottom background layer is stored.

Also note that I used "const u16" instead of just "int" -- for one, such data should be defined constant so it doesn't take up extra RAM, and for two it really should match the type of the target.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-27-09 09:08 PM, in Ask Kawa - cos I obviously have nothing better to do Link | Quote | ID: 124306


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3084/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Did you get anything nice for christmas?
A hundred bucks. I have it in my pocket right now.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-28-09 10:53 AM, in Ask Kawa - cos I obviously have nothing better to do Link | Quote | ID: 124355


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3085/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
What would your opinion on Reality Television shows be?
It would be the same as it always has been: Reality TV shows aren't that real, in my opinion.

Hypothetical situation
Kill the bannable n00bs. That oughta keep food stocks up for a while.

Ofcourse, you could also seriously consider various ways to escape, assuming the one giving the hypothetical situation is not a dick. Preferably, you do so before food runs out. But this is the faster answer.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-28-09 12:39 PM, in Red's Random Art Dump Link | Quote | ID: 124365


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3086/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Heh, that beadie sprite looks about as cute as most of those I've seen.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-29-09 11:34 AM, in asm programming = slave labor Link | Quote | ID: 124452


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3087/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Hey, nobody's perfect, and by extension nothing we make is perfect. Ofcourse CPUs have flaws! When they fixed the floating point division bug in the early Pentiums, it was still flawed in other ways.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-29-09 11:39 AM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 124453


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3088/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
I hereby propose cutting off .Net stack traces to the last relevant line. For SWR's error, that would be
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. 
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Daiz.NES.Reuben.ProjectView.MoveLevelTo_Clicked(Object sender, EventArgs e)

The rest is irrelevant. Daisy would know that "MoveLevelTo" is a ToolStripItem.

I propose this because I've seen a lot of very deep error logs and nearly always could stop reading before the fifth line. Sure, to laymen in the audience it makes you look cool, but seriously people!

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-29-09 09:14 PM, in How was animation usually done in games? Link | Quote | ID: 124504


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3089/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
Reserving dedicated space for all 128 sprites is just plain wrong from the start.

How animation is usually done (mind the present tense) depends on the game, really, but the GBA Metroid games for example were very heavy on object cluster-based animation, wherein each part of the larger sprite (arms, head, body, legs) were a single hardware sprite. Going by the many spritesheets I've seen, Castlevania games, at the very least since Rondo of Blood on the PCE, have used the same system.

Super Mario Bros 1 had a simple 2x3 mapping going that could fit most objects. Specialcase code handled those objects that seemed to be 2x2 or less, which was actually only a collission matter. Bowser was simply two of those stuck together in turn. Note that because it had no bankswitching, every single 8x8 tile in the whole game was loaded once on startup.

River City Ransom EX, with its fairly extensive character editor, had most if not all different eyes, hair pieces and color sets all at the same time. The only thing that changes about a given character is the pose, and some of those overruled the hair and eyes.


____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-29-09 11:09 PM, in How was animation usually done in games? Link | Quote | ID: 124508


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3090/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
DKC and Earthworm Jim were works of art, VRAM management-wise. I suggest you keep those far out of your mind.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu

Kawa
Posted on 12-30-09 11:52 AM, in How was animation usually done in games? Link | Quote | ID: 124536


CHIKKN NI A BAAZZKIT!!!
80's Cheerilee is best pony
Level: 138

Posts: 3091/5344
EXP: 30950376
Next: 712605

Since: 02-20-07
From: The Netherlands

Last post: 4500 days
Last view: 2635 days
That could work.

One method that I've seen is to have clusters of graphics about 1/4th of the total available, and each level specifies which of those clusters is to be loaded. This has the following tricks:
1) Level headers specify one cluster less than total, because the player will always be there.
2) Certain sets of enemies can be used together in a given level.
3) These chunks contain all the parts for the enemies they allow.
4) Large enemies may take up an entire chunk.

Also note that, depending on the player's state, you can upload another chunk for it. For example, you start Super Mario Bros 3 as regular, small Mario. The top chunk, which contains Mario's tiles, only has (most of?) small Mario's tiles, but no big. When you grab a Super Mushroom, that chunk is replaced with one that has (most of?) Super Mario's tiles. Depending on your actions, another chunk may be uploaded if all the tiles for a given form/costume don't fit in a single chunk.

A variant is used by the original Sonic the Hedgehog on the Genesis/Mega Drive, where each kind of "actor" had a hardcoded spot in VRAM that it'd try to put its graphics. Sonic himself, having a lot of animation frames, only loaded a small part of his total into his hardcoded part of VRAM, switching in other parts where needed, as Mario does in the above example. So the original Sonic wasn't "chunked" per se, but there were still certain "impossible" enemy combinations.

____________________
Wife make lunch - Shampoo
Opera - give it a spin
Spare some of your free time?
<GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered
Kawa rocks — byuu
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189


Main - Posts by Kawa

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

Page rendered in 0.224 seconds. (347KB of memory used)
MySQL - queries: 33, rows: 65/67, time: 0.206 seconds.