Language…
8 users online: Abdu, Alansanchez412, isaix, Katrina, ShadowMistressYuko, sholmes, Yutuz, Zavok - Guests: 131 - Bots: 78
Users: 68,818 (2,339 active)
Latest user: Leona West

Address tracker v5

Tools → Address tracker v5

Submission Details

Name: Address tracker v5
Author: HammerBrother
Added:
Version History: View
Operating System: Windows, Mac OS X, Linux
Platforms: General
Games: General
Source Available: Yes
Featured: No
Website: Link
Description: This is a simple javascript tool (which can be run on a browser) I made to help with tracking used addresses (specifically RAM addresses) when installing ASM resources (patches, blocks, sprites, uberasm tool, etc.).

Techinically, this is open source since JS as an interpreted language.

Features include sorting them, displaying the gap between two addresses, and if there are two or more entries conflicting (“overlap”). The last one is very useful if you happen to have an ASM resource bugging out when 2+ resources happen to use the same RAM for different purposes.

Another tool is that it automatically gives RAM to each freeram define (assigning) the asm resource requires.

This is certainly useful for collaboration hacks to visualize the RAMs being used in a compact user-friendly way.



Github: https://github.com/GhbSmwc/SMW_Addressmapper
Tags: address ram usage tracking
Comments: 15 (jump to comments)
Rating:
0.0 (0 ratings)
No rating
Download 29.47 KiB | 366 downloads

Screenshots

View all

Comments (15)

 Atari2.0 Link
Tested on Windows 11 Version 24H2 (OS Build 26100.2454) with:
- Google Chrome Version 131.0.6778.109 (Official Build) (64-bit)
- Firefox 133.0 (64-bit)
- Microsoft Edge Version 131.0.2903.86 (Official build) (64-bit)

I'm accepting this on the base of "it's an improvement over the already accepted version", but this tool needs some serious work to be really considerable "usable".
If it wasn't already accepted in the section, I would've rejected it because of some of the issues I'm going to outline in this comment, in the hope that they'll be fixed.

Issue 1:
- the tool's UI/UX is bad, the white text over pitch black background is jarring to the eyes and the wall of texts are not easy to understand.
Overall I would recommend a redesign/reorganization of the screen space to avoid the "wall of text" effect and to improve the text boxes and simplify the usage.
Speaking of the text boxes, they are *not* the best way to do what you want to do, especially requiring tabs and not working with spaces, the format is very unintuitive and hard to use.
A revamp of the UI/UX is therefore very recommended.
Issue 2:
- a very basic use case doesn't work because of the way you assign free ram, let me explain with an example:
in Assigned.html, if you put the following ASM resources:
Code
  test.asm	!asdf	2	-	-
  test2.asm	!asdf2	4	-	-
  

and the following empty RAMs
Code
  $7e0060	4
  $7e0070	2
  

I would personally expect for $7e0070 to be assigned to !asdf and $7e0060 to !asdf2.
Instead what happens due to the greedy first-fit algorithm used to assign the free ram is that !asdf gets assigned to $7e0060, and thus !asdf2 fails to assign because the remaining freeram is not big enough.
This is a pretty big issue because it prevents the tool from working in this basic use-case. A possible fix is to sort the resource freerams before assigning, to prevent this issue.
HammerBrother Author Link
Thanks for reporting the issue.

Issue 1: Should've apply the knowledge on why digital chess games have alternating square colors of the board that are not in sharp contrast, such as bright white and black. And also why social media have short width on where the text goes.

Issue 2: Should've known that despite a define can be assigned to either RAMs, it is actually better to assign short defines to short freeram location instead as to prevent later defines from being blocked out and failing. This problem is actually called fragmentation (example). Easy solution: Sort the defines by decreasing bytes required length.
HammerBrother Author Link
Just to warn anyone using range notation, make sure you replace the hyphen with a tilde (~) to denote an ending address instead of a hyphen due to negative address support. This tool can be used beyond SMW and the SNES for misc ROM hacking or pretty much anything related to memory storage.
Vitor Vilela From older version: Address tracker v4 (with auto-freeram-define assign) Link
HammerBrother, I think the current organization can be improved. I didn't reject it but I think new people will get more confused when visiting the tool initially, specially the ones not used with programming languages.

The organization can be better. If the documentation is only on "HowToUse.html", consider removing the other files like "README.md" and "Old_Stuff_JustInCase" and keep them on your GitHub only.

When doing a release, it's mostly recommended to come with a binary (Addresser2.html), a readme (HowToUse.html), additional/dependency files (SMW_UsedAddress.txt) and a change log. Additional and/or similar files may make people get confused. I think if you are afraid that people may not like the current layout of Addresser2.html, you should consider offering an alternate release via GitHub until you make the remaining improvements over the new layout. That way, the user experience will be better, in my opinion.
HammerBrother Author From older version: Address tracker v4 (with auto-freeram-define assign) Link
This is one of the most complex javascript I written so far, with the auto-freeram tool. It had 5 checks to make sure the lines in the text are correct, have valid number of bytes, as well as utilizing the array.splice feature when a suitable RAM is found and the freeram gets “chopped” off.
HammerBrother Author From older version: Address tracker v3 Link
Another last minute updates:
07-04-2021

07-09-2021
-Fixed the duplicate detecting things that should be the same as different if these scenarios play out:
--Entry with blank description but whether or not have a tab character after the size/end_address.
--Leading zeroes in address, and size/end address.
HammerBrother Author From older version: Address tracker v3 Link
I really don't know if this is considered memory management, since this is intended to find free bytes of memory when installing ASM resources.
Vitor Vilela From older version: Address tracker v2 Link
All modified changes are OK.

I've added version number to the submission name, but if you prefer it versioned in another manner, let me know.
brickblock369 From older version: Address tracker v2 Link
Originally posted by jesus angel
is this a duplicate submission ?

No, it's an update.
If it shows "obsoletes" in the waiting section, then it means it's an update.
jesus angel From older version: Address tracker v2 Link
is this a duplicate submission ?
HammerBrother Author From older version: Address tracker v2 Link
Fix an issue where if a tab is inserted and results the format being valid, the function to display the address won't update.

Example:
Code
$123456	1testing

If I add a tab character between 1 and testing, results in this:
Code
$123456	1	testing

This is now correct, however, it will not update the information presented below.
HammerBrother Author From older version: Address tracker Link
Also, this is my very first tool.
 dtothefourth From older version: Address tracker Link
Tested in Firefox, Chrome, Edge. It doesn't work in IE because of BigInt usage but don't consider that a problem. I updated the tool so you can enter TABs just by typing them into the box, otherwise accepted as-is
HammerBrother Author From older version: Address tracker Link
Originally posted by kamekku14
I may fork this one and put this in a website for easy use.


Working on a tutorial/ASM library?
Klug From older version: Address tracker Link
I may fork this one and put this in a website for easy use.