Register - Login
Views: 99771183
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-02-22 10:20:04 PM
Jul - Posts by Tauwasser
Pages: 1 2 3 4
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 1/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 04-11-09 12:07:32 AM, in Help calculating pointers [GBC] (last edited by Tauwasser at 04-10-09 09:31 PM) Link
You probably haven't had a very close look at this rom...
Actually all data in every rombank but rombank 0x00 starts at 0x4001. That is, because the rombank number is stored at 0x4000 except for rombank 0x00. This is done in very many gameboy games, as the game can then relax and not track every bank swap because it just has to read from 0x4000 to know where it currently is.

Anyway, I took a look. The data you're looking for seems to be general sprite data or something that is loaded for every level. So ok, here it goes.

There is a pointertable at 0xE9B. It contains 0x10 2byte-pointers. There are many others like at 0x1016 that have the same layout. These are always referencing the following structure:

[length (2byte, signed)][source pointer (2byte)][destination pointer(2byte)][rom bank]...

All 2byte values are LE.
Now. It has two modes for copying data. If length is negative (bit 7 SET), then it will perform decompression, else it will simply copy the bytes from (rom bank) : (source pointer) to destination in ram/vram.

This will loop until a length of 0x0000 is encountered

However, if it is told to decompress, it will actually point to a structure like this:

[decompressed length (2byte)] [compressed data]...

The decompressed length should be reasonable, of course. Also, the data should not cross rom bank boundaries obviously. Anyway, it's an lzXX-style compression routine, here goes:

[compression byte] 8 * [packet]

The compression byte is read from bit0 to bit7 (from lo to hi). A set bit (1) means that the packet is a direct copy of one byte. A reset bit (0) means that it will tack a 2-byte packet:

FEDCBA9876543210
OOOOOOOOOOLLLL

Repetition length is L + 3 bytes. Repetition offset is bits 4 to F, remember endianness! If the offset is actually in front of the buffer (meaning you would read before the data you already wrote), you cause to copy 0x00 instead of any data that there might be. If you're less bytes from the start of your data than you would copy, then you start copying from the start of the decompressed data when you copied enough 0x00 to be inside of the data boundary again.

Examples:

[10][00][00][1D][00]
(length) (compression byte) (1 packet)

would produce: [00][00][00][00][00][00][00][00] [00][00][00][00][00][00][00][00] (0x10 times 0x00)

[10][00][01][01][3C][00]
(length) (compression byte) (2 packets)

would produce: [01][00][00][01][00][00][01][00] [00][01][00][00][01][00][00][01] (5 times 0x01 0x00 0x00 then one 0x01 again)

Routine for all that at approx. 00:0E6B.

____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 2/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 04-11-09 02:25:04 PM, in Help calculating pointers [GBC] Link
@Dwedit: Yep. Ususally older games do this only. Maybe it was stuff from the original SDK. Of course you would still have to write code that can change the rombanks if data crosses boundaries (like in Zelda iirc), however, it has some pros and cons for both methods. I know Pokémon G/S also does keep track of the rom bank (also FF98 iirc lol), however, it always has to utilize multiple registers to get a bank swap/call into another bank, so you have to write all arguments to the functions you call to stack or into other ram locations... a bit icky...
The best way I have seen to this day is utilized in shin megami tensei: devil children. They just have a rst $0 defined to take the next 3 bytes and branch to it, so you can keep all your registers' contents

@devin: Yes, some data actually uses this compression method. The decompression routine can be called seperately and a lot of data uses it as far as I can tell. For example in the intro etc. Also, you could just check the table offsets I gave you and find out for yourself

cYa,

Tauwasser

____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 3/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-13-09 01:08:32 PM, in Doors in The Link to the Past (last edited by Tauwasser at 06-14-09 09:07 AM) Link
Originally posted by The T
Since I can't read a readme because I have Vista


Riiiight...

____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 4/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-14-09 12:06:52 PM, in Doors in The Link to the Past (last edited by Tauwasser at 06-14-09 09:07 AM) Link
Originally posted by Darkdata
You kinda fail Tauwasser, that is a common problem that a certain help file format does not work in vista without a download.

@The T
Download this to look at .hlp files.


So what? A proper outline along with periods and commas would probably have gotten the point across. Seriously, recently 95% of all computing problems are "It's not because I'm lazy...it's...eh... because I got Vista, please hack xyz for me".

Also, a quick google on the problem and you're done with it...
Also, it would be most kind of you to remove that sticky thing next to my name.

____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 5/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 03-25-10 06:29:14 AM, in Ripping images from Super Mario 64 DS for SM64? (last edited by Tauwasser at 03-25-10 03:29 AM) Link
There's this Console Tool thread at RHDN, in which the author is building a tool that can view (and possibly edit) many Nintendo formats. He also finished some documentation on these formats; links in said thread.
It's really looking good, too, so you might get some stable info from him.

____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 6/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 03-26-10 10:00:56 AM, in The General Project Screenshot/Videos Thread... Link
Originally posted by xdaniel
[...] the Windows console itself supports Unicode since NT4 or so [...] .


Nope, still ANSI. You can set it to Unicode, but that has pretty bad side-effects for many users. The console IME for Japanese only works with codepage 932 set, same things for other console IMEs for Chinese, Korean iirc.

cYa,

Tauwasser


____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 7/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 04-03-10 04:22:05 PM, in Super Mario RPG (Warning: Large Images!) Link
Are you sure those maps use the same format as the playable maps? There sure are a lot of tiles that are just mirrored incorrectly in the maps you uploaded to TCRF.

cYa,

Tauwasser

____________________
cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 8/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 04-17-10 06:01:17 AM, in The Cutting Room Wiki Link
What's so bad about uploading them with a proper name each separately? You can use galleries to blow them up a bit and have every use see them in their screen width. Combined images are always somewhat awkward, because you have to put them on their own line...

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 9/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 05-17-10 10:30:36 PM, in The Cutting Room Wiki Link
I actually remember reading that this code was actually code from the dumping tool used, because it had a buffer flaw somewhere. Not sure how the credibility of this is as I don't have linkage right now.

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 11/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 05-17-10 11:38:19 PM, in The Cutting Room Wiki Link
Actually, could the TODO shit be automated so it can be assigned a user and some bottage would add it to his userpage? Do we even have any bots right now? Like, how is deletion going to be handled? Just add the tag and an admin will notice?
Also, what's up with the #cscore shit? Mine doesn't seem to work, I think I even started off with those high values...

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 12/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 05-21-10 01:56:29 PM, in Final Fight 2 Link
Why don't you get a hex editor and dump strings the proper way instead of posting notepad pictures?

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 13/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 10:34:47 AM, in N64 Request Thread (last edited by Tauwasser at 06-03-10 07:35 AM) Link
Originally posted by cen
Originally posted by Tanks
Kirby 64!


there are debug maps but there is also a cool and mysterious debug menu that im gonna enable instead




The background says cloud (クモ ) and grass (クサ ) if you're curious.

EDIT: What the fuck is up with this board's encoding? Change to UTF already and don't use HTML entities. Morons...

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 14/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 05:03:55 PM, in The Cutting Room Wiki Link
Originally posted by krutomisi
Two things --

http://www.tinyurl.com/tcrfloor redirects to the wiki

If you can think of a better url thingy, please do  


http://➡.ws/TCRF

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 15/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 09:20:39 PM, in Pokemon Ruby - Pokemon Festa 2002 (last edited by Tauwasser at 06-03-10 06:21 PM) Link
Why should it have been deleted? Just point to the right map, the one that is currently in the game, and it should work, shouldn't it?

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 16/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 09:49:39 PM, in N64 Request Thread Link
Originally posted by Xkeeper

&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;

Works for me! But hey, it's fun to be a dumbass, so why not bitch and moan about it.


(p.s. changing the board's encoding to utf-8 breaks old posts and many other things)


Yes, it is fun Convert your database then, should be possible. I know Nightcrawler converted RHDN's database without much difficulty and prior knowledge about the conversion process.

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 17/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 09:54:23 PM, in Pokemon Ruby - Pokemon Festa 2002 Link
Originally posted by xdaniel
Looking at the Festa video, the map's overall design is similar to the final version, but in detail it's quite different.


Ah, I wasn't aware of it being that different... Have you already looked for the actual map data? If the block data is not too different, it might still be in there, although chances are it isn't

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 18/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 10:12:51 PM, in Pokemon Ruby - Pokemon Festa 2002 Link
Actually I just took JAP Ruby and looked myself. Sadly, I couldn't find any map data pertaining to a second flower show (outside). I did look for the actual map data values as well as relative matches to that data.
60 06 61 06 62 02 63 06 64 06 65 06

^-- This is the actual data for the lower row of wall tiles and entrance to the flower shop. They probably deleted the map data, but kept the events just in case.

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 19/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-03-10 10:26:15 PM, in N64 Request Thread (last edited by Tauwasser at 06-03-10 07:27 PM) Link
Originally posted by Xkeeper
Originally posted by Xkeeper
&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;&#​27515;

Still works! Then again, I don't have to cheat and run shit through another level of htmlentities() to prove a point.


Those are called zero-width spaces, for your enjoyment. Also, converting to utf-8 would actually make your database entries for posts containing non-ascii characters smaller, while staying the same for the ascii set.
However, I was only irritated because smilies appeared in my post before I edited it. Try posting (クモ ― now.
It seems smilies are interpreted before html entities, while leaving them intact. This could also possibly be a security issue on forms.

cYa,

Tauwasser
Tauwasser
"dumb piece of shit needs to learn some fucking ettiquette" - Anonymous
Level: 21


Posts: 20/73
EXP: 43076
For next: 6867

Since: 04-10-09


Since last post: 11.1 years
Last activity: 10.0 years

Posted on 06-08-10 12:38:51 PM, in Zelda64DD: ANOTHER CEN THREAD Link
Originally posted by cen
the arwing was going to be used as a chest enemy (like the zols in Links Awakening). there is still code that can be triggered in the final game by tilting your cart while opening a trap chest at the precise second


That could just be a random effect you get with concurrency. If the chest opening and cart tilting happen to use the same counters, because the programmers thought they could never occur at the same time anyway, this may be just a lucky buffer overrun. Does it happen every time? Do you have to time it just right to trigger this behavior?

Unless you find the table that explicitly contains the arwing as chest enemies without interpreting code as data and so on, this might all just be coincidence.

cYa,

Tauwasser
(post in restricted forum)
Pages: 1 2 3 4
Jul - Posts by Tauwasser


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

31 database queries, 26 query cache hits.
Query execution time: 0.086037 seconds
Script execution time: 0.026333 seconds
Total render time: 0.112370 seconds