Who needs Ghidra when you have autism and a box of markers?
-
Who needs Ghidra when you have autism and a box of markers?
-
Who needs Ghidra when you have autism and a box of markers?
@gloriouscow Programming on paper like the Real Programmers. (That's why I have so many teletypes :).)
-
Who needs Ghidra when you have autism and a box of markers?
This goes on for THIRTY PAGES

-
Who needs Ghidra when you have autism and a box of markers?
@gloriouscow Hand-crafted RE just like grandma used to make.
-
This goes on for THIRTY PAGES

This was done to reverse engineer the bytecode interpreter for an adventure game engine. Of course we needed to reverse engineer the script bytecode itself, so we just manually emulated that shit. With more markers.

-
This was done to reverse engineer the bytecode interpreter for an adventure game engine. Of course we needed to reverse engineer the script bytecode itself, so we just manually emulated that shit. With more markers.

Here's my hand written opcode table. Color coded!

-
Here's my hand written opcode table. Color coded!

Notes on the game engine's RLE compression for sprites and background images.
Why did I spend time making the arrows all fancy?

-
Notes on the game engine's RLE compression for sprites and background images.
Why did I spend time making the arrows all fancy?

There is literally an entire box of this shit. Here's the animation playback routines

-
There is literally an entire box of this shit. Here's the animation playback routines

Y'all like pixel fonts?
-
Y'all like pixel fonts?
This is an entire visual representation of a string wrapping function. A character's dialog is placed above their head, center justified, and split according to how much room there is to the edge of the screen or other characters.
I didn't reverse the code for this. I just worked it out from observing how it worked talking to characters at various positions on screen

-
This is an entire visual representation of a string wrapping function. A character's dialog is placed above their head, center justified, and split according to how much room there is to the edge of the screen or other characters.
I didn't reverse the code for this. I just worked it out from observing how it worked talking to characters at various positions on screen

And here is the entire point of digging all this out. @foone was talking about reverse engineering compression - this is how it started. This is an RLE encoded sprite. The highlighter sections and boxed sections are RLE opcodes and compressd runs, and the bytes with curvy underlines are uncompressed pixel spans
-
And here is the entire point of digging all this out. @foone was talking about reverse engineering compression - this is how it started. This is an RLE encoded sprite. The highlighter sections and boxed sections are RLE opcodes and compressd runs, and the bytes with curvy underlines are uncompressed pixel spans
...I still do all this shit, but I have since broken up with Okidata-chan and kicked my 10 crayola a day habit
-
And here is the entire point of digging all this out. @foone was talking about reverse engineering compression - this is how it started. This is an RLE encoded sprite. The highlighter sections and boxed sections are RLE opcodes and compressd runs, and the bytes with curvy underlines are uncompressed pixel spans
@gloriouscow oof. Doing this on paper sounds so painful
(I was doing this on paper back in 2003, but I've mostly suppressed those memories)
-
@gloriouscow oof. Doing this on paper sounds so painful
(I was doing this on paper back in 2003, but I've mostly suppressed those memories)
@foone this is all circa 1999-2001. maybe it is just a phase every reverser goes through.
-
@foone this is all circa 1999-2001. maybe it is just a phase every reverser goes through.
@gloriouscow this is just what we had to do before computers were good at things
-
Who needs Ghidra when you have autism and a box of markers?
@gloriouscow I really wish I could afford a printer right now. :(((
-
And here is the entire point of digging all this out. @foone was talking about reverse engineering compression - this is how it started. This is an RLE encoded sprite. The highlighter sections and boxed sections are RLE opcodes and compressd runs, and the bytes with curvy underlines are uncompressed pixel spans
well, when you play I Have No Mouth And I Must Scream using ScummVM, some of this shit may still be in there, somewhere.
Maybe.
-
@foone this is all circa 1999-2001. maybe it is just a phase every reverser goes through.
@gloriouscow @foone having a big "wait, that counts as reverse engineering? oh gods, yeah, it would have to, wouldn't it" moment over here
tractor feed was so good for this
-
@gloriouscow @foone having a big "wait, that counts as reverse engineering? oh gods, yeah, it would have to, wouldn't it" moment over here
tractor feed was so good for this
-
Who needs Ghidra when you have autism and a box of markers?
@gloriouscow
isn't it tedious?