Meshtastic Adds Wireless Connectivity to Possum Trap
hackaday.com/2025/03/12/meshta…
Meshtastic Adds Wireless Connectivity To Possum Trap
Perhaps every gardener to attempt to grow a tomato, lettuce, or bean has had to contend with animals trying to enjoy the food before the gardener themselves can, whether it’s a groundhog, rab…Hackaday
this is of a piece with the ban on trans people and the attacks on LGBT people. the fascist belief that human difference is weakness and that it must be destroyed means infinite rules of varying violence to force people to conform.
this is also why refusing to call this fascism is an analytical and therefore moral disaster. 1
Saudi Arabia Buys Pokémon Go, and Probably All of Your Location Data
404media.co/saudi-arabia-buys-…
Saudi Arabia Buys Pokémon Go, and Probably All of Your Location Data
A company founded by the Saudi Arabian Public Investment Fund just bought the most popular AR video game of all time.Jason Koebler (404 Media)
journa.host/@anneapplebaum/114…
Anne Applebaum (@anneapplebaum@journa.host)
Read my former colleague Ruth Marcus, explaining why she left the Washington Post https://www.newyorker.com/news/essay/why-ruth-marcus-left-the-washington-postJourna.host
unironically just repartition based on indigenous territories with all that implies
might take a while to sort out
gothamist.com/news/tsa-agents-…
TSA agents at Newark Airport find live turtle hidden in man's pants
The 5-inch reptile, which was wrapped in a towel, was discovered "in the area of the man's groin" on March 7.Giulia Heyward (Gothamist)
"A cutting-edge project to test “fusion blanket” technologies is taking shape, with the Idaho National Laboratory (INL) leading the charge to create a critical component of a fusion reactor."
Baca komik Isekai Kaeri no Daikenja-sama wa Sore Demo Kossori Kurashite Iru Tsumori desu Bahasa Indonesia!!!
Segera baca di e-komik.org/komik/220775
#EKomik #Komik #Comic #Manga #Action #Fantasy #Harem #Seinen #SliceOfLife #Supernatural
🔥 Pecinta Komik, Ini yang Kamu Tunggu! 🔥
Chapter terbaru dari Isekai Kaeri no Daikenja-sama wa Sore Demo Kossori Kurashite Iru Tsumori desu (Chapter 42) sudah hadir dalam Bahasa Indonesia! 🎉
📖 Gabung bersama ribuan pembaca lainnya dan nikmati kisah serunya.
✨ Jangan biarkan orang lain tahu kisah ini lebih dulu, baca sekarang dan rasakan sendiri keseruannya!
👉 Klik di sini untuk mulai membaca sekarang: e-komik.org/komik/220775
⏳ Jadilah yang pertama tahu apa yang terjadi selanjutnya!
#EKomik #Komik #Comic #Manga #Action #Fantasy #Harem #Seinen #SliceOfLife #Supernatural
Driftless Area, Dane County, WI, USA
#butterfly #insects #lepidoptera #nature #naturephotography
_F2A0675aaap2 copy.jpg
"Black guys counting my money! I hate it. The only kind of people I want counting my money are short guys wearing yarmulkes every day. Those are the kind of people I want counting my money. No one else." = Donald Trump
Watch Lawrence spell it out.
youtube.com/watch?v=n804BwrNwQ…
Lawrence on Trump's 'vile, antisemitic' attack on Schumer: Trump's mind is gone. It is shattered.
In the Oval Office today, Donald Trump used “Palestinian” as a slur and said the highest-ranking Jewish elected official, Chuck Schumer, is “not Jewish.” Tho...YouTube
I don't really count calories but try to stick to one meal a day
I went to target today to get some suncream and bought this packet of cookies but I ate them all and it's like 840 calories total and now i don't feel hungry so no like dinner, just cookies today
Elbows Up: Board decision on how we host our services - CoSocial Community Cooperative
We have always prioritized data residency in Canada for the open social services we provide. To date we have made no distinction about the ownership of theCoSocial Community Cooperative (Cosocial.ca Canadian Mastodon Cooperative)
Festnahmen nach Krawallen bei Renten-Protest in Buenos Aires
Seit Wochen protestieren ältere Menschen in Argentinien wegen niedriger Renten. Nun eskalierte die Lage in Buenos Aires. Nach Krawallen, an denen Fußballfangruppen beteiligt waren, wurden mindestens 150 Menschen festgenommen.
Read about the best things to see and do here. How do you like Nikko? backpackandsnorkel.com/Nikko/
Travel Guide for Nikko - Japan Purple Travel Guide
Nikko is a popular tourist destination in the mountains north of Tokyo. We show you the best things to see in Nikko and, as always, we provide lots of photos so you can decide where you want to go.Backpack and Snorkel Travel Guides - The Home of the Purple Travel Guides
The good thing about not having an active security clearance is that there is no king that can take it away from you.
youtube.com/watch?v=B4YMdS2fPF…
Judiciary Goes NUCLEAR After Trump’s Savage Attack on Top Law Firm
Harry reports on outrage following Trump's intense attack on a top law firm–TALKING FEDS PODCAST is a roundtable discussion that brings together prominent fo...YouTube
ARG, they mislabeled this.
Admittedly, this isn't really their fault, this is confusing shit.
This is the 1992 Where in the World Is Carmen Sandiego? Deluxe, not the 1990 Where in the World Is Carmen Sandiego? Enhanced.
I happened to look at mobygames, and noticed two interesting things.
First, the Mac version is very similar to the DOS version, other than the expected changes you'd get from it being on a monochrome system with a GUI.
But wow, that's a completely different font! Is that built into macs or something? (EDIT: @amr confirms it is)
(also, the dialogue box is top-aligned. DOS bottom-aligns them)
The PC has basically always been double-sided, so they only need one notch, on the top/a side.
Broderbund was releasing games on a bunch of other systems that DID have single-sided drives. For simplicity they just bought Xty-thousand double-notched disks
is it gonna matter? not in the slightest (assuming there's no format-mismatching, which their shouldn't be: these are all the same density of disks, I think).
The PC doesn't check for a notch there, so it won't notice either.
It's just funny because this is, like, technically wrong?. These aren't PC disks, but the difference doesn't matter, so why not?
It probably saved them a decent amount of money because of bulk discounts and inventory simplicity.
I am currently, as in this very thread, reverse engineering Carmen Sandiego Enhanced (1990, DOS)!
I've seen the code that asks for you to put in the other disk! And it only asks for DISK1 and DISK2!
just looking at the files, not the code (and not having seen original disk images yet that I can recall), I bet the answer is that they put CITIES.DAT on DISK2.
the whole game - cities.dat is ~300kb, with cities.dat being 168kb.
They could do the whole game - carmen.dat and cities.dat in only 200kb, which'd give them 160kb (luxury!) for a fancy installer.
I should just check. I'm sure disk images can be tracked down in places.
the video and audio detection seems to be excellent, by the way. it just silently figures it out, without asking questions or requiring special arguments or configuration.
Perfect for a game aimed at the little childrens.
I found two different copies of the disk images, in different places.
both are imaged off a 3.5" disk version, which of course comes on only one (double density, 720kb) disk!
So I've got code at 17DA:08AA, which is E8 5D F7. DOSBox decodes that as CALL 000A.
Manually decoding it myself, it should be a relative jump, and it's a jump to $-0x8a3. following the jump it ends up at 17DA:000A.
BUT GHIDRA thinks this code is at 1fb7:08aa, and it decodes it as call SUB_2000_fb7a, which doesn't exist.
I'm not sure how (0x08aa+3)-0x8a3 = 2000:fb7a. Something weird is going on. Why is the number BIGGER?
eww. They're using the NEAR version of CALL to call a FAR procedure.
You might say "wait, won't that break when it tries to do RETF?" and yes, it would, unless they manually do PUSH CS before they call it!
a call FAR absolute would be 5 bytes for the call, whereas push CS + call NEAR is 3+1 bytes
Anyway it seems it doesn't have a VideoDetect function, it's a DriverDetect function, since it's used for sound too.
First it goes through the video drivers in the following order:
VGA, TGA, EGA, HGA, HERC, and CGA.
Then it goes into the audio drivers:
stdsnd, adlib, covox, gblast, ibmg, sblast, tandy.
stdsnd is pc speaker,
adlib is adlib, covox is the speech thing, gblast is game blaster, most likely, ibmg is... I'm not sure. The PS-1 Audio card?
sblash is soundblaster and tandy is tandy 3-voice
I'm an idiot, this isn't a driver check... it's an argv check!
you can pass "ega" or "vga" or whatever to carmen.exe to select those types.
the other argument you can pass is ROSTER=$FILENAME
This lets you reset which file it uses for the list of registered players, setting it to something other than the default ACME.DAT
Not mentioned in the manual, but I can see how that might be useful for schools and such
The problem is that ghidra gets confused when the relative addresses are too big.
so the first one is at 1000:0000 and the second was at 1fb7:0009. I moved it to 5000:7000, and the second segment seems to be working fine now.
the problem is that I was only able to do that because the segment is only 82a7h long. the first segment, the 1000:0000 one, is FB79 long. So I can't just move it so it's in the middle of a segment, since it'll end up spanning into the next 64k chunk, which is where ghidra fucks up
9000:8006 9a d7 05 b7 1f CALLF SUB_2000_0147
Hey ghidra I can read the machine code. That's CALL FAR 1fb7:05d7, not CALL FAR 2000:0147! WHY ARE YOU CONFUSED BY THIS?
so now I can just manually thunk every cross-segment call, by creating the 2000:0000 segment that ghidra is imagining exists
I was extracting the portraits of the people you talk to, and it turns out they're number 1-36. naturally I checked all 256 possible options.
but it turns out every thing above 37 either:
1. crashes
2. shows nothing
3. shows pixel gibberish.
EXCEPT 238. 238 renders a bellhop perfectly, just like 5 does
it has been zero days since Ghidra has done something I can't understand and seems to be obviously wrong.
I've got B8 B0 26: this decodes to mov ax, 0x26b0. a 16bit immediate, moving into a 16bit register.
ghidra disassembles this as:
b8 b0 26 MOV uVar1 ,0x26b0
uVar is defined as a ushort: a 16bit type.
the most annoying thing?
this is picking between two strings to display, and those strings are "he" and "she".
EVEN IN 35 YEAR OLD COMPUTER GAMES I CANNOT ESCAPE GENDER PROBLEMS!
unfortunately due to an oversight it believes those 65536 genders are allocated as:
0: He/he/Him/him
1-65535: She/she/Her/her
Since it's no longer 1990, I think I can safely bump that up a bit? I won't need more than another 64 KB, which means I'll just bump the game up to 496 KB memory required. Completely doable in any 640 KB or more machine!
the applyPronouns function lets you adjust how it's encoded dynamically. Fancy!
So how it works is you do something like this:
applyPronouns("\80 was bald", 0x80, "he\0him")
and it'll return "he was bald", right? But it's more than just a simple find-replace...
Because you can do:
applyPronouns("I saw \81. \80 was bald!", 0x80, "he\0him")
and it'll return "I saw him. he was bald!".
See, you can specify multiple replacements at once, by using \x80, \x81, \x82 and so on.
I got my floppy copy in the mail, I just need to image it.
Fun fact from the box: It has a letter from the player character to their cousin, and I believe this is the only place in the game and associated media that they name your character.
It's Dale.
They're laid out like this:
Disk 1:
CARMEN.EXE
CARMEN.DAT
Disk 2:
CITIES.DAT
MIDISND.DAT
DIGISND.DAT
well my "ignore the problem" solution of using bochscpu to embed a 16bit x86 emulator has failed. it's somehow broken and it's broken in the rust library or C core, not the python, and I really don't want to have to deal with debugging this.
time to switch to a completely different x86 emulator? PROBABLY!
I'm implementing unicorn as an x86 emulator to do the decompression, but I'm single-stepping the processor and I'm aiding debugging by showing what instruction I'm on.
but instead of having to set up an x86 disassembly engine, I'm just parsing a plain text ghidra dump of the disassembly. I'm parsing it with regexes
my latest bad idea: DUMBPATCH.
to avoid the complexity of generating functions and mapping them into the address space of the emulated PC, I instead designed a simple syntax:
a 16bit segmented address plus a number. that function is emulated as if it returned that number in AX. There are no other options. I suspect I'll be able to emulate up to 80% of complex subfunctions with this one bit of functionality
I need this because the decompression routine I'm emulating isn't entirely standalone: it calls malloc() at the beginning and free() at the end
so I'm replacing malloc() with a static value and free() with a return value no one will check
ideally I should be able to patch arbitrary python in there and do some kind of interop to return values to python
but that's hard. and way easier unflexible thing this is 80% of what I need that for
back on hacking Enhanced, DOS, 1990.
My best guess is that this game has between 4-6 compression algorithms, depending on how you count them. Possibly more are hidden in the bowels of this program.
This code mallocs 65516 bytes in a loop until malloc returns zero.
totally normal part of starting program: allocate all the RAM in the system.
I mean, it's DOS. There's nothing else running that could possibly call malloc. So why not?
There's just not that much memory in the system that this can touch, since it's not supporting any of the endless varieties of breaking the 640k barrier
there's a story on Old New Thing somewhere about Windows 95 accidentally breaking a DOS game, because it did this same trick of allocating all the memory, but since Win95 was running as the DPMS, it meant it had access to all of windows 95's virtual memory. including the swap.
So instead of mallocing all 8mb or whatever your 486 had, it malloced all that and then tried to use up YOUR ENTIRE HARD DRIVE, slowly.
this game runs mostly in a 16 color mode, with some high-end modes being basically 16-colors within 64 or 256 colors, right?
SO WHY DOES IT USE 16-BIT INTEGERS FOR COLOR INDICES?
note to self: patch out the Romani slur in one of the hints for Budapest
EDIT: both of them
The description of Hungary says it's bordered by Czechoslovakia, Austria, Yugoslavia, Romania, and the Soviet Union.
Two of those are still right!
so I fly into Reykjavík, and immediately sleep for 8 hours. In the morning, I can go to either the airport or the hotel, but it'll take 3 hours to get to either.
Question: where am I right now, if I'm not at the hotel or the airport?
Remember when the fascists running our government told us they would only go after "dangerous" people?
This 10 year old recovering from brain cancer, on their way to a medical appointment, wants a word.
nbcnews.com/news/latino/us-cit…
U.S. citizen child recovering from brain cancer deported to Mexico with undocumented parents
The Texas family was on their way to an emergency medical checkup, they said, when they were detained at an immigration checkpoint.Nicole Acevedo (NBC News)
I made a thing.
In deep into finishing up the survival guide for Adventure! The Quack of Dawn. In the manual I have included images of characters from the demo game for the tutorial, and other things.
I am not an artist. However, I can manipulate images. So, as I don’t have a budget for art, I’m rolling my own combining public domain images and filters in Gimp. I briefly considered using generated images but believe it’s an abuse of fair use.
Here’s an image I created. It’s a lot of effort.
As Mass Incarceration of Immigrants Rises, Detention Centers Eye New Contracts
One attorney warns of a “humanitarian crisis” in detention centers as a jail notorious for abuse reopens to ICE.Mike Ludwig (Truthout)
From that Times piece about the bromance between Gavin Newsom and the far Right:
"Their fast-paced, hourlong discussion was both good-natured and peppered with predictable disagreements. But the conversation revealed some curious policy overlap and potentially exposed each man’s views to supporters of the other."
WE ARE SO COOKED.
omg I'm about to turn into a crazy crank, I'm so mad.
When you invite a Nazi to be on your podcast, you host a Nazi podcast.
ellie
in reply to 🌚🌟💤 • • •