Post subject: Introducing the Address Editor
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
A while ago, I came up with the idea of taking the many address tables we have on the Wiki, mainly in the Game Resources section and on individual submissions, and creating a database out of them. The result is the Address Editor. With it, vested editors can simply fill out a form to create an address set and then add as many addresses as they want to each along with each address's properties: domain, address, data type, signed, endian, and description. Alternatively, you can create an address set by uploading a .wch file (Currently only for BizHawk). Afterwards, you can embed any existing address set throughout the Wiki using a module or download the addresses as a .wch file (Again, currently only for BizHawk). There are many implications of this change. Firstly, all of our address sets can now be viewed in one place instead of being scattered throughout the Wiki alone. This also means that these addresses can be embedded in multiple places, and when one changes, they all change. Furthermore, the way this is set up makes it much easier to associate addresses with specific games or ROMs. Best of all, the ability to convert the provided addresses into multiple formats without any manual conversion could prove useful. One idea I had for this was having BizHawk detect if a ROM you loaded has an associated address set, and if so, it would automatically load the address set from TASVideos for your use. Only time will tell if this will become a reality. For all of the reasons stated above, I strongly suggest that people use this utility whenever they share addresses on this site. In addition, I am calling on all vested editors to please make the effort to convert already existing address tables to this system. We have so many of these in our possession that we can build an impressive address database with little to no effort at all. I hope that a lot will come from this project. Big shout out to Ilari for being instrumental in the development process.
All the best, Brandon Evans
Skilled player (1707)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Nice! It would be great if you can extend the ability to edit/add addresses to players as well, kinda like the Game Resource page atm.
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
This sounds great, Brandon! If you could extend this functionality to regular editors and even players as jlun2 suggested, I'll start converting some of the old tables to the new ones.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
What about downloading a nameslog file for symbolic debugging, converted from the addresses? Comments can be either omitted, or added on the site end. Also, we have an IDA project for disassmebling Battletoads, with nameslog that looks like that: http://code.google.com/p/feos-tas/source/browse/trunk/DisAssemble/Battletoads/nameslog.txt It'd be superb if we could somehow feed such files to the site so that it converts them to the appropriate address list.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2174
Location: A little to the left of nowhere (Sweden)
A very cool idea! I would like to suggest that there should be a notes field for each address in case it has a special behavior that you do not want to put in the address "name" (Description). I also second the motion that all editor-levels and players shall be able to contribute to this list.
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
Warepire wrote:
I would like to suggest that there should be a notes field for each address in case it has a special behavior that you do not want to put in the address "name" (Description).
I think you’re misinterpreting something that’s just a list of games with addresses, the first coloumn says how many and the “View…” is to actually view said addresses
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2174
Location: A little to the left of nowhere (Sweden)
ALAKTORN wrote:
Warepire wrote:
I would like to suggest that there should be a notes field for each address in case it has a special behavior that you do not want to put in the address "name" (Description).
I think you’re misinterpreting something that’s just a list of games with addresses, the first coloumn says how many and the “View…” is to actually view said addresses
I don't think I am misinterpreting something. Since you can download a BizHawk wch file constructed from the address list of a given game the description is most conveniently kept short like "X-speed" or "Boss HP". In some games addresses can have really weird behavior that takes quite a bit of words to describe. Some examples: (forgive the self-plug, I remember my own searches faster than others) • http://tasvideos.org/forum/viewtopic.php?p=336392#336392http://tasvideos.org/forum/viewtopic.php?p=329049#329049 (and basically the entire next page) Fitting such massive descriptions in the Description field will be annoying when watching them in RAM Watch. It may cause problems in the wch file (I don't know how BizHawk handles them).
Hoe
Joined: 7/31/2004
Posts: 183
Location: USA
This is a really cool site feature! This information has always been managed very disjointedly despite some efforts like data crystal. A lot of people want to use this for different things. I can see each value as needing a short description (title), long description (real descriptive text), and a symbolic name for a disassembler/debugger. All of that will look very poor in the current HTML table. I'd consider something along the lines of:
[ 0x1234:1 | Some Title |                         some_title ]
[ A longer description that can span lines                   ]
[ 0x1235:1 | Some Title 2 |                     some_title_2 ]
[ A longer description that can span lines                   ]
[ 0x1236 ... 0x1240 ]
[ 0x1241:1 | Keeps going on, etc etc etc ]
That example shows gaps as '[ 0x1236 ... 0x1240 ]' which imho is mega-useful for assessing what you're looking at. Are they broken apart variables or a struct? A struct view would be awesome, too.
Editor, Player (53)
Joined: 12/25/2004
Posts: 634
Location: Aguascalientes, Mexico
I want to post the FFV RAM addresses that I have (http://www.erick.guillen.com.mx/Codes/SNES%20Final%20Fantasy%20V.txt), but I have some questions. What is the size of each data type? What if an address behaves different using the lower part of a nibble for something & the upper one for another thing? (Like 7E0500 which actually divides in several parts: BN??GCCC -> B= Back Row, N= Not in team, ?= Dunno, G= Gender, C= Character) If you add an address, can you later on move it to another place or insert a new one on the middle of the list? How can you explain the values of the codes? Like for example, enemy list.
I'm the best in the Universe! Remember that!
Emulator Coder, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
samurai goroh wrote:
What is the size of each data type?
  • Byte: 1
  • Word: 2
  • Dword: 4
  • Float: 4
  • Q12.4: 2
  • Q20.12: 4
  • Q28.4: 4
  • Q8.8: 2
  • Q16.8: 3
  • Q24.8: 4
  • Q16.16: 4
samurai goroh wrote:
If you add an address, can you later on move it to another place or insert a new one on the middle of the list?
The list autosorts by address (which can be changed).
samurai goroh wrote:
How can you explain the values of the codes? Like for example, enemy list.
Comment field would likely be useful...
Editor, Player (53)
Joined: 12/25/2004
Posts: 634
Location: Aguascalientes, Mexico
Ilari wrote:
samurai goroh wrote:
What is the size of each data type?
  • Byte: 1
  • Word: 2
  • Dword: 4
  • Float: 4
  • Q12.4: 2
  • Q20.12: 4
  • Q28.4: 4
  • Q8.8: 2
  • Q16.8: 3
  • Q24.8: 4
  • Q16.16: 4
Thanks for the answers Ilari, I still don't quite get what does Qm.n number stands for (first time seeing it), so I found what it is here: http://en.wikipedia.org/wiki/Q_%28number_format%29 So, if I want a 3byte size address, you say is Q16.8 but from what I read, I don't need the fractional part. So I'm lost here :S
I'm the best in the Universe! Remember that!
Emulator Coder, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
samurai goroh wrote:
So, if I want a 3byte size address, you say is Q16.8 but from what I read, I don't need the fractional part. So I'm lost here :S
There is now a 3-byte integral type.
Editor, Player (53)
Joined: 12/25/2004
Posts: 634
Location: Aguascalientes, Mexico
Thanks much Ilari :) I don't know how ofter could it be used, but now I can use the exact type to describe it. Also, I was thinking that maybe classifying the games by system would be helpful later on, when (if) people add more games.
I'm the best in the Universe! Remember that!
Emulator Coder, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
samurai goroh wrote:
I don't know how ofter could it be used, but now I can use the exact type to describe it.
Hah, actually I ran into fields that had 3-byte type before in another (GBC!) game. :-)
Active player (421)
Joined: 3/21/2011
Posts: 127
Location: Virginia (United States)
Question about adding RAM addresses. When you add them, should you only put useful RAM address, or should all known addresses go there? For instance, in Super Mario World, there's an address to determine if you're jumping out of water. It's never useful when TASing, but should it still go on the page?
YouTube Channel - Twitter Current projects: Sutte Hakkun, Hyper VI, RTDL, own hacking projects
Joined: 4/13/2009
Posts: 431
Why not? Some of them can be used for playarounds and stuff. Besides, you never know when something can come in handy...
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Then I suggest a checkbox to select the addresses you will actually download as a file (and "select all"/"deselect all" options).
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
Maybe have categories you can assign addresses to, and the ability to select/deselect categories?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 5/25/2011
Posts: 6
Location: Upstate New York
I could see the tables filling up with a whole lot of seemingly useless memory locations. But in all honestly, a unified database is certainly something to get behind.
Joined: 1/9/2013
Posts: 27
Location: Virginia
This looks good. I've always had trouble finding memory addresses for things like this, as the first post stated Data Crystal was a good attempt, but rather lacking for all but the most common games. Is there some place normal users can submit addresses?
Emulator Coder, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Rydian wrote:
Is there some place normal users can submit addresses?
User movies thing takes WCH files. That's the closest thing currently.
Joined: 1/26/2009
Posts: 558
Location: Canada - Québec
My opinion so far is we need a centralized platform where normal user can put memory adress, movie, lua script, cheat and other note. We can't just build this kind of database out of nowhere. We need a place where people from differents langages(like japanese) would feel pleased to share his data, etc... Of course, an another thing would be to have an ability to make backup. Honestly, it's always a disappoint for me when I see when some project host going offline.
Skilled player (1707)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Hi! Can there be a way to easily rearrange addresses entered? Sometimes, when I simply dump all the info from a .wch file, I look back at the page and find it hard to locate an address. Since there's no way to rearrange the order, I have to manually input them all again at the right order. I also have to do this when I want to place an address into the middle of the set.
Skilled player (1707)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
jlun2 wrote:
Hi! Can there be a way to easily rearrange addresses entered? Sometimes, when I simply dump all the info from a .wch file, I look back at the page and find it hard to locate an address. Since there's no way to rearrange the order, I have to manually input them all again at the right order. I also have to do this when I want to place an address into the middle of the set.
Well, I've just noticed that addresses now automatically sort them selves in order once you refresh. Thanks! Also, anyone know which domain addresses around F400 - F600 for the GB belong to? A google search said that it's "reserved memory/Echo Ram", but there doesn't seem to be an option for this.
Emulator Coder, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
jlun2 wrote:
Also, anyone know which domain addresses around F400 - F600 for the GB belong to?
I presume those are bus addresses.