ABE - Arbitrary Binary Explorer Javascript thingy. Shouldn't be THAT hard to make. (Heh...) Here's the general layout: X ^ v ================= abc123.bin - ABE ======================== | [ < ] [ > ] [https://invisibleup.neocities.org/projects/abe] | ----------------------------------------------------------------- | |Sections|Files| | | | ------------| | * . |1: _Image_________ | | | Start: 0x00A0 | | | Count: 0x0400 | | * | End: ______ | | . | | | . . | A: _X_position___ | | | Role: [X coord |v]| | * . | Format: [Float32|v]| | | B: _Y_position___ | | | Role: [Y coord |v]| | . | Format: [Float32|v]| | | C: _Color________ | | [output window] | Role: [Color |v]| | | Format: [uInt32 |v]| | | ColorFmt: [Index|v]| | | Source: [2: "Pal|v]| ================================================================= Here's how it would generally work: You load up one or more binary files via the "files" tab. In each file you define sections with two of Start, Count, or End. In each section, you can define fields. These fields are mapped to the data visualization on the left. You do this by setting a "role" to each field. Some roles require additional input, such as a color format or a source. These may point to previously defined fields or sections. You can, of course, have subsections if that's needed. (Looking at you, Sonic R.) === ROLES === Null Do not display X coord Y coord Z coord Coordinates to plot onto the display area. One big unconnected scatter plot. If undefined, will default to a square grid in sequential order, with Z = 0. X vector Y vector Z vector Vector to point off of wherever the coordinate is defined. Mutually exclusive with rotation style vectors. End point of vector is at current coord offset + X/Y/Z. RX vector RY vector RZ vector Magnitude vector Vector to point off of wherever the coordinate is defined. Mutually exclusive with XYZ style vectors. End point of vector is [Magnitude] away at angle R[XYZ]. Color Color to display point/vector in. Default is white on black background. ColorFmt: Format to read color information in. R: Red intensity G: Green intensity B: Blue intensity C: Cyan intensity M: Magenta intensity Y: Yellow intensity K: Greyscale intensity RGB/CYMK are mutually exclusive. Index: Indexed palette. Source: Source of palette. Can be either a predefined palette (greyscale/color ramp) or a reference to a section of colors. Polygon Polygon connecting two or more different points. N: Number of points to connect. Can be a number of a reference to another field. A/B/C/D...: Point to connect. Must be a reference to another field. === REFERENCES === Absolute: Derefernce the value at the given byte value. Segment Relative: Dereference the value at the given byte relative to the start of the current segment item. Field Relative: Rereference the value at the given byte relative to the current byte.