Caralynx's Avatar

Caralynx

@sudo.caralynx.com

Reverse engineering, Japanese toy hacking, constantly distracted. Is ordinarily a tufty cat. Icon by @notaventura.bsky.social, banner by @hackmonthegoat.bsky.social‬ Teardowns: @teardowns.caralynx.com | Ko-fi: https://ko-fi.com/caralynx

243
Followers
78
Following
634
Posts
24.07.2023
Joined
Posts Following

Latest posts by Caralynx @sudo.caralynx.com

Apparently Edge has both workspaces and split screen mode. So I guess the only thing it doesn't have is dynamic folders (which was apparently a security risk if you set them manually anyway).

07.03.2026 22:33 👍 0 🔁 0 💬 0 📌 0

Arc's workspaces are useful but I've been under-utilizing it, so I'm OK not having it.

07.03.2026 19:40 👍 0 🔁 0 💬 1 📌 0

I'm seriously considering just using Edge now. It still supports Manifest v2, is Chromium-based (I have concerns about rendering in Firefox and derivatives), and I'm already using it on my phone. I can probably get the tab auto clear thing as an extension.

07.03.2026 19:40 👍 0 🔁 0 💬 1 📌 0

So Arc did that thing where everything breaks when you try to use passkey authentication, so I uninstalled it and reinstalled it as usual ...and my profile's been wiped. Greaaaaat.

I guess I'm looking for a new browser now. Any suggestions?

07.03.2026 19:33 👍 0 🔁 0 💬 1 📌 0

The sprites are stored in almost the same format Tamagotchi Smart, so with a bit of modification to the tooling it shouldn't be too bad. The first bank sprite pack seems to be mixed in with other data, so it might be a bit of a bother to relocate if your data happens to be bigger.

06.03.2026 03:16 👍 2 🔁 0 💬 0 📌 0
Front of the DMC Xros Wars packaging

Front of the DMC Xros Wars packaging

Back of the DMC Xros Wars packaging

Back of the DMC Xros Wars packaging

Got my Digimon Color Digimon Xros Wars 15th Edition. Looks the same as any other DMC but with a UV print. I don't care much for Xros Wars and only got this for the firmware, so I only have this one color.

The tape seems wider than usual, dunno what's up with that.

05.03.2026 04:10 👍 0 🔁 1 💬 1 📌 0
Post image

Alternate, with winter coat

Really love how these mecha redesigns are turning out! I'm gonna open more slots very soon, join my server if you want to be the first to know!

04.03.2026 21:33 👍 115 🔁 29 💬 3 📌 0
Post image

[ SUDO the Caralynx ]

mecha-fy commission for @sudo.caralynx.com

04.03.2026 21:33 👍 563 🔁 168 💬 7 📌 1
Post image

CM

01.03.2026 00:12 👍 199 🔁 44 💬 1 📌 0
Front of the Pokemon Friends Pokeball box, showing the device

Front of the Pokemon Friends Pokeball box, showing the device

Right side of the Pokemon Friends Pokeball box

Right side of the Pokemon Friends Pokeball box

Left side of the Pokemon Friends Pokeball box

Left side of the Pokemon Friends Pokeball box

Back of the Pokemon Friends Pokeball box. There's a separate barcode sticker on top of the box

Back of the Pokemon Friends Pokeball box. There's a separate barcode sticker on top of the box

I finally managed to get my hands on a Pokemon Friends Pokeball. Box is smaller than expected, and appears to have been retaped (probably at the factory).

27.02.2026 05:33 👍 3 🔁 2 💬 1 📌 1

Tough choice! From a comfort perspective, calf probably best. Under knee is my second choice, though if there's elastic at the top usually those end up a bit tight and makes a mark.

25.02.2026 19:47 👍 1 🔁 0 💬 0 📌 0
Cartoony warped perspective illustrations.

Ghostpaw, Dema, Ramune, 
Noko, Banon, Tania, 
Spiral, Kuroro, Kae

Cartoony warped perspective illustrations. Ghostpaw, Dema, Ramune, Noko, Banon, Tania, Spiral, Kuroro, Kae

"Heeeeey, are you home???" Brush tests for the month got weird, and I had a great time. :D
#furryart #furry #commission

@snowmiaux.bsky.social @thorsvision.bsky.social @sudo.caralynx.com @ucbronzewing.bsky.social @greenwoodje.bsky.social @ladydarksphynx.bsky.social

22.02.2026 02:03 👍 20 🔁 8 💬 4 📌 0

Doing Unity stuff again, this time building a UI using UI Toolkit. It likes to randomly reorder my controls when I copy and paste. And it'd be great if it can automatically generate a C# class with references to all of the named controls prepopulated like they do with input action assets.

20.02.2026 05:44 👍 1 🔁 0 💬 0 📌 0
Post image

✨Chibi-commission!✨
Thank you for your request!

20.02.2026 02:35 👍 214 🔁 55 💬 3 📌 0

The combined slots encoding is stupid. Just store number of slots and the compressed size for each slot and the compressed data as binary. Why do you need to turn it into binary then into strings when the backing store is already bytes?

17.02.2026 00:22 👍 1 🔁 0 💬 0 📌 0

As far as the architecture goes, pretty inconsistent and a pain in the butt to unpack and repack individual slots. It's like very different people designed parts of this system and they decided they didn't need to talk to each other.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

The end result is not the actual CRC32C checksum of the data, but a slightly wonky version that you won't arrive at unless you knew they were using 2MB chunks and improperly passing the result to the next iteration.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

The checksum is the weirdest part of this system. It's supposed to be CRC32C, except with one issue. It calculates the checksum in 2MB chunks, but after every chunk the result of the the sum is XORed with 0xffffffff, which is normal. What they failed to do us XOR it back before the next chunk.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

For header version 2+, a 64-bit timestamp (in DateTime ticks) is stored at the end (but the kicker here is the lower 32 bits are stored before the upper, despite the big endian byte order).

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

This is followed by some number of pairs of words, the first containing the checksum of the segment file, and the second the version of the segment. The number of pairs depends on the game. For this one, it's five.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

Now for the header segment. Everything here, for some reason, is big endian. The first 32-bit word is flags for the slot, where the lower 24 bits stores a status (starting from 0: invalid, clean dirty), and the upper 8 bits storing the header version (currently 2).

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

For the Gameplay segment, it is a combined save slots type, which stores individual save slots as GZip-compressed base64-encoded strings joined by the "|" character. There's 100 slots here.

Once you extract the save data from the combined save slot, it's just JSON that you can edit.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

Strings are stored with .NET's BinaryReader length-prefixed string format, while binary consists of a 32-bit size in little endian and the binary contents.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

The save data is stored as a collection of segments for each slot. The slot number and segment name are separated by an underscore. Each slot has a header segment containing some info (more on this later), and non-header segments start with a 1-byte bool indicating string (true) or binary.

17.02.2026 00:22 👍 0 🔁 0 💬 1 📌 0

Looking at how Date Everything stores safe files

Was trying to help @ferretferret.bsky.social fix his save file due to some sort of soft-locking issue. The files are in "%USERPROFILE%/AppData/LocalLow/SassyChap/Date Everything/{64BitSteamID}" as a bunch of .sav files.

17.02.2026 00:22 👍 1 🔁 0 💬 1 📌 0

SAR ADC: start bit is reset before single conversion starts, remains set for continuous mode. IRQ/valid flag is high when value ready in continuous mode and reset when data read, IRQ is pulsed and valid flag is not set in single mode.

13.02.2026 03:06 👍 0 🔁 0 💬 0 📌 0

IDMA: forwards-only, designed for memory to memory transfer, or memory to single peripheral. The the address and length registers each have the lower 2 bits hardwired to 0 so transfers are word-aligned, and the length read is the current transfer progress. The progress is reset on write.

13.02.2026 03:06 👍 0 🔁 0 💬 1 📌 0

Turns out it's probably a Faraday Technology FTDMAC020. Renode has neither that nor PL080, so I guess I just have to build it.

12.02.2026 19:53 👍 0 🔁 0 💬 1 📌 0

Always a fun time with Renode because no one documents anything. You just have to look through several implementations of the peripheral type you want and hope you find one with a good pattern to copy.

11.02.2026 06:28 👍 0 🔁 0 💬 0 📌 0
Preview
ADC interfaces · Issue #869 · renode/renode I'm starting to implement a SAR ADC peripheral now, and looking at the existing peripherals, there are so many different interfaces. Here's a table: Peripheral Can read from file File type Fixed va...

Filed an issue on GitHub: github.com/renode/renod...

11.02.2026 06:19 👍 0 🔁 0 💬 1 📌 0