Ancestors

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:26

tandy put their sound chip on the 1A interrupt? THE TIME SERVICES?

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:27

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:38

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:56

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.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:01

PRONOUNS DETECTED: THIS GAME IS WOKE

sadly they don't have they/them on here. What about the non-binary criminals, huh?

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:03

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:22

I faked this screenshot but this is what I mean

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:30

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 08:06

eh, I used 5 bytes. I don't need to impress anyone

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:52

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:55

I found another set of pronouns!

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:56

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:59

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:00

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:01

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:33

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

Written by Foone🏳️‍⚧️ on 2025-01-02 at 11:10

I love reversing a string and it's:

void printString(char* str, int length);

and I go look what calls it, reverse that function, and it's:

void printStringSimple(char *str){

printString(str, strlen(str));

}

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 11:11

it's like "aww, did someone have second thoughts about making PRINT always take a length, and got tired of having to manually calculate lengths so you just wrapped it?

and your compiler didn't inline SHIT?

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:20

oh those poor people of Bamako! Someone stole their.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:47

okay so when you start a game (well, technically when you restart), the game rolls 3 dice:

0-31: where the shit was stolen from

0-2: which item it is from that location

0-8: whodunnit

=> More informations about this toot | More toots from foone@digipres.club

Toot

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:53

like if you roll 0 on the first, you get Athens.

For the second one, it's:

0: mask of Priam

1: Achilles's heel

2: sibyl's secret.

=> More informations about this toot | More toots from foone@digipres.club

Descendants

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:55

The last die is used as a lookup table into the dossier's list.

It's got 1 added to it so you won't get Carmen Sandiego, as a rookie at least.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:23

so the game uses a pattern like this:

char * RANKS="Rookie\0Sleuth\0Private Eye\0Investigator\0Ace Detective\0"

and then latter they do:

char* your_rank = select_string(RANKS, player->rank);

and select_string is a confusing function to reverse engineer, but knowing the name I gave it gives it away: it advances through the list until it's on the nth string and returns it

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:23

there is no check for going past the end.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:24

so probably it uses the same trick for pronouns. The string I'm seeing is probably like: "He\0Him\0She\0Her\0"

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:32

Ghidra is officially sexist. It'll automatically detect the word "Female" and mark it as a string, but not the word "Male"!

Why? SEXISM!

or the fact the default minimum length for strings is 5 characters, so "female" is long enough but "male" isn't.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:53

correction: there IS a check for going over the end, it's just not used in every place select_string is called. so it's sometimes-safe

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:08

they have invented a Pronoun Markup Language.

It's \x80 for He/She

It's \x81 for he/she

It's \x82 for his/her

so a string will be "\x80 mentioned \x81 liked seafood and offered me a ride in \x82 motorcycle"

and it'll fill it out based on the pronouns of the suspect

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:11

BOOOOOOOOOOOOO

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:16

in trying to hack myself into the game, it glitched and said I had "Hobby: Male"

no... I haven't done that in ages!

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:39

I'm in the game now

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 15:32

I modified the game's NUM_GENDERS and found where it stores the database of criminals, so now you can find me if you search SEX=NB.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 15:53

so in addition to the 5 listed attributes (and their name), the game tracks one hidden attribute:

food preference.

There are only two options:

00=Mexican

01=Seafood

what an odd binary

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:22

I'm thinking I might do a "full"(ish) disassembly of this game. I've thought for a long while (basically ever since I knew Where In North Dakota is Carmen Sandiego? existed) that there should be an SDK for making your own version of this game, for whatever arbitrary geographical area you want.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:23

and of course there's no reason you would have to limit yourself to reality.

You could always do, like, "Where in Middle Earth is Carmen Sandiego?"

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:23

you go to Rivendell and talk to an Elf who says the perp was talking about how he wanted to collect "his precious"

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:39

I say "full" in quotes because I don't think I need to reverse the whole game to make it customizable, just enough to let you customize the locations, bad guys, hints, search types, etc.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:40

sadly they didn't design the game as a completely empty husk that just loads datafiles. That would have been the smart thing to do, since they could then trivially make new versions.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:40

maybe instead of fully decompiling it, I just hack it to grab data from external files, then make a tool for making those files

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 11:11

ahh, the PC. No one else ever thought XORing your VRAM was a good idea

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-05 at 12:12

turns out this version of the game has impressive support for older video cards. Here's Hercules support, which looks horrible without aspect ratio correction!

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Siph :siph:‍:bzh: on 2025-01-02 at 13:33

@foone clearly it believes that only women exist

=> More informations about this toot | More toots from Siph@meemu.org

Written by myrmepropagandist on 2025-01-02 at 13:34

@foone

But aren't then "fellows" then a string and "gals" are not?

=> More informations about this toot | More toots from futurebird@sauropods.win

Written by Adriano on 2025-01-02 at 13:35

@futurebird @foone "good" and "evil" aren't strings either. This just got metaphysical.

=> More informations about this toot | More toots from adriano@lile.cl

Written by Adriano on 2025-01-02 at 13:35

@futurebird @foone heck, "text" is not a string.

=> More informations about this toot | More toots from adriano@lile.cl

Written by Renalia on 2025-01-02 at 13:37

@foone heruururhg the "male" isn't long enough heeuehehehehe ¬w¬

=> More informations about this toot | More toots from Nine@chitter.xyz

Written by punIssuer on 2025-01-02 at 13:48

@foone would that mean English is sexist? Because in German, both "männlich" (male) and "weiblich" (female) would match, but neither "Mann" nor "Frau" (man/woman)

=> More informations about this toot | More toots from punissuer@universeodon.com

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:09

@punissuer exactly! it's all english's fault.

=> More informations about this toot | More toots from foone@digipres.club

Written by punIssuer on 2025-01-02 at 14:23

@foone it's English all the way down

https://www.reddit.com/r/Jokes/comments/3ssua0/the_problem_with_speaking_english/

=> More informations about this toot | More toots from punissuer@universeodon.com

Written by Adriano on 2025-01-02 at 13:54

@foone The Best Kind of safe

=> More informations about this toot | More toots from adriano@lile.cl

Written by Ashi Helvetica on 2025-01-02 at 14:10

@foone why am I now imagining a very overengineered W3C candidate recommendation for pronoun markup using XML or something because it’s always XML

=> More informations about this toot | More toots from captainhayashi@toot.cat

Written by marnanel on 2025-01-05 at 12:56

@captainhayashi @foone "Appendix 14: ISO 5218 compliance"

=> More informations about this toot | More toots from marnanel@queer.party

Written by 🌸 lily 🏳️‍⚧️ :flag_pansexual: :flag_ace: θΔ ⋐ & ∞ on 2025-01-02 at 14:12

@foone@digipres.club you should make a mod where you change it to 0x03 and add they/them

=> More informations about this toot | More toots from tauon@possum.city

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:15

@tauon way ahead of you

=> More informations about this toot | More toots from foone@digipres.club

Written by Peblo/Dr. Zoidberg on 2025-01-02 at 14:43

@foone I'm all into accidentally turning the death generator into some kind of limited picrew and I didn't think about the possibility until now!

=> More informations about this toot | More toots from peblo@owo.cafe

Written by jordan on 2025-01-02 at 14:43

@foone whatcha gonna steal?

=> More informations about this toot | More toots from jordan@sometimes.social

Written by Fabrice Roux :verified: :donor: on 2025-01-02 at 14:47

@foone the simulation is lying to you... it's NOT monday (even if it feels that way) and it's currently checks clock 15:47 in Paris.

=> More informations about this toot | More toots from fabrice@infosec.exchange

Written by Cowboy Who? on 2025-01-02 at 15:16

@foone Now you just need to get Rockapella to record you a catchy intro

=> More informations about this toot | More toots from CowboyWho@libranigans.com

Written by Rob Simmons on 2025-01-02 at 15:42

@foone foone turing, the world’s preeminent nonbinary criminal

=> More informations about this toot | More toots from simrob@social.wub.site

Written by Clarissa | making Enigma Heart on 2025-01-02 at 15:55

@foone still less weird than the gender binary

=> More informations about this toot | More toots from ClarusPlusPlus@peoplemaking.games

Written by Foone🏳️‍⚧️ on 2025-01-02 at 16:13

@ClarusPlusPlus "makes more sense than the gender binary" is a pretty low bar to clear

=> More informations about this toot | More toots from foone@digipres.club

Written by Scavello on 2025-01-02 at 16:07

@foone “Yea we serve both kinds of food here. You want Mexican or Seafood?”

=> More informations about this toot | More toots from scavello@m.epon.io

Written by 🤌 Seb :google: :cwtiPizza: on 2025-01-02 at 16:40

@foone the two genders of food™

=> More informations about this toot | More toots from seb@androiddev.social

Written by aburka 🫣 on 2025-01-02 at 17:08

@foone but they have two bits to store it?

=> More informations about this toot | More toots from aburka@hachyderm.io

Written by Σ(i³) = (Σi)² on 2025-01-02 at 18:23

@aburka @foone

Every good binary needs two bits: A, B, both, neither

=> More informations about this toot | More toots from SvenGeier@mathstodon.xyz

Written by Foone🏳️‍⚧️ on 2025-01-02 at 22:44

@aburka 16, in fact.

=> More informations about this toot | More toots from foone@digipres.club

Written by lizard appreciator on 2025-01-02 at 17:35

@foone the game developer’s mind could not comprehend this

=> View attached media

=> More informations about this toot | More toots from bonzoesc@m.bonzoesc.net

Written by Ellie on 2025-01-02 at 18:43

@bonzoesc @foone seafood topping mexican?? What heterocuisine nonsense is this??

=> More informations about this toot | More toots from ellie@ellieayla.net

Written by irina 🐇🌷 on 2025-01-03 at 19:58

@foone i like mexican but don't like seafood, so it checks out

=> More informations about this toot | More toots from irina@critter.cafe

Written by Andrew (Television Executive) on 2025-01-05 at 03:36

@foone I want to make a Carmen Sandiego game.

Dammit foone, I don't have time for more projects, I have to make toys and produce television.

=> More informations about this toot | More toots from ajroach42@retro.social

Written by Jason Parker (he/they) on 2025-01-05 at 03:37

@ajroach42 @foone Where in the Fediverse is Carmen Sandiego?

=> More informations about this toot | More toots from north@ꩰ.com

Written by The Doctor on 2025-01-05 at 04:04

@north @ajroach42 @foone Over here: @carmensandiego

=> More informations about this toot | More toots from drwho@hackers.town

Written by Jonathan ‘theJPster’ Pallant on 2025-01-05 at 11:34

@foone isn’t that how they do outlines when dragging windows? So you can easily undo the outline without copying the pixels someplace safe - just do the XOR again and it’s gone.

=> More informations about this toot | More toots from thejpster@hachyderm.io

Written by Jeremy Kahn on 2025-01-05 at 03:26

@foone

In that one, you have to be in Minas Morgul's Secret Service, on the heels of notorious jewelry thief Bilbao Bigend and his nephew Fresno

=> More informations about this toot | More toots from trochee@dair-community.social

Written by deater on 2025-01-05 at 03:29

@foone

=> View attached media

=> More informations about this toot | More toots from deater78@mastodon.social

Written by Foone🏳️‍⚧️ on 2025-01-05 at 03:38

@deater78 nice!

=> More informations about this toot | More toots from foone@digipres.club

Written by Medea Vanamonde on 2025-01-05 at 03:50

@foone what now Player?

=> More informations about this toot | More toots from MedeaVanamonde@chaosfem.tw

Written by Nate Vack 🍴 on 2025-01-05 at 05:03

@foone always wanted to do one based on Dante’s Inferno and call it “Where in the Hell is Carmen Sandiego”

=> More informations about this toot | More toots from njvack@ruby.social

Written by Peter Linss on 2025-01-05 at 05:04

@foone I always wanted to do one based on Dante’s Inferno, “Where in hell is Carmen Sandiego?”

=> More informations about this toot | More toots from peter@linss.com

Written by marnanel on 2025-01-05 at 13:02

@foone there's also another version of the game that cis men don't seem to win very often

=> View attached media

=> More informations about this toot | More toots from marnanel@queer.party

Written by Bruce Preston on 2025-01-05 at 03:54

@foone Where in IKEA is Carmen Sandiego?

=> More informations about this toot | More toots from growf@mastodon.org.uk

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113758858012785481
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
719.096195 milliseconds
Gemini-to-HTML Time
55.45164 milliseconds

This content has been proxied by September (3851b).