tandy put their sound chip on the 1A interrupt? THE TIME SERVICES?
=> More informations about this toot | More toots from foone@digipres.club
I started reverse engineering Where in the World is Carmen Sandiego (Enhanced DOS edition) and I'm trying to find how it generates its random seeds so I search on int 1a and the first thing I find is it's doing TANDY SOUNDS?
=> More informations about this toot | More toots from foone@digipres.club
Funny fact: I was trying to get an online assembler to spit out the machine code for "int 1a" but couldn't get it to, so I just went "fuck it, I can probably just do that in my head!"
Turns out I can. My brain is weird.
=> More informations about this toot | More toots from foone@digipres.club
Here's something I didn't know existed until just now: Where in the World is Carmen Sandiego checks your name against the list dossier list and rejects you if you use any of those names.
=> More informations about this toot | More toots from foone@digipres.club
PRONOUNS DETECTED: THIS GAME IS WOKE
sadly they don't have they/them on here. What about the non-binary criminals, huh?
=> More informations about this toot | More toots from foone@digipres.club
stretch goal: hack in at least on enby criminal with appropriate pronouns. maybe I'll just put myself in the game as one of the criminals you can apprehend
=> More informations about this toot | More toots from foone@digipres.club
I faked this screenshot but this is what I mean
=> More informations about this toot | More toots from foone@digipres.club
I think I might be able to do the hack I want by changing one byte.
I'm trying to change it so it has "daily challenges", and I think I can fix that by just switching a INT 1A from subfunction 00 to 04, making it seed the random function with the date instead of the ticks-since-midnight
=> More informations about this toot | More toots from foone@digipres.club
eh, I used 5 bytes. I don't need to impress anyone
=> More informations about this toot | More toots from foone@digipres.club
NORMAL CODE
random(*(byte )(undefined2 *)
(*(int *)(*(int *)0x39a6 * 0xe + local_c * 2 + 0x1d02) * 2 +
*(int *)(local_c * 2 + 0x24b)) - 1);
=> More informations about this toot | More toots from foone@digipres.club
I found another set of pronouns!
=> More informations about this toot | More toots from foone@digipres.club
I haven't figured out how this game stores gender, but I'm gonna go out on a limb and say it's like this:
male: 0
female: 4
=> More informations about this toot | More toots from foone@digipres.club
why? because they have strings like:
char* HE="He\0\0She\0"
char* HIS="His\0Hers\0";
char* HIM="Him\0Her\0";
so they can do like:
printf("Follow %s to %s lair, and capture %s alive!", badguy->name, HIS+badguy->gender, HIM+badguy->gender);
=> More informations about this toot | More toots from foone@digipres.club
I like how the game only asks your name, not your gender.
Player's don't have genders. Only thieves have genders.
=> More informations about this toot | More toots from foone@digipres.club
It's a prequel to Disco Elysium, and your gender is set to COP
=> More informations about this toot | More toots from foone@digipres.club
why does ghidra's "search by instruction pattern" default to BINARY?
what kind of a freak remembers the machine code for INT 21 on x86 in BINARY?
it's CD21h, not 1100110100100001!
what are you, some kind of nerd?
=> More informations about this toot | More toots from foone@digipres.club
@foone clearly we need the compromise of octal. 315 061
=> More informations about this toot | More toots from ChartreuseK@restless.systems
@ChartreuseK not even supported by this ghidra dialog. Binary or hex are the only options.
And note the weird part where it's "search by instruction pattern" but typing in instructions isn't possible.
You need the machine code for int 21h, not just "int 21h"
=> More informations about this toot | More toots from foone@digipres.club This content has been proxied by September (3851b).Proxy Information
text/gemini