Wave

Category - Infodump

A Mystery Involving Hardware Security Modules and Value Tokens

Forbidden Tempura 10/7/2025

Context Historical context In July, 2021, the phenomenon known as the “Gigaleak” continued. The Gigaleak was a drip-feed of part of the ill-gotten data from the 2018 Nintendo data breach. On July 20, 2021, the iqcvs.tar.xz file was uploaded to the now-defunct file sharing website anonfiles.com and thereby made available to the public by The Hacker Known as 4chan. This file contains a dump of CVS repositories. The repository sw contains the BroadOn network infrastructure around the middle of the year 2006. This is shortly before the Nintendo Wii launched. The network infrastructure was initially launched alongside the iQue Player, a variant of the Nintendo 64 featuring downloadable games and some anti-piracy measures of questionable quality (non-HTTPS link) intended for the Chinese market, which was and still is notorious for being particularly prone to piracy. It was developed by a company then called BroadOn Communications Corp., a California corporation. The iQue Player u

ITInfodump

Electrical Engineering for the Layperson

Mia Rose Winter 9/23/2024

After a long day of nerding on fedi about new chargers that can handle 160W charging in a really small casing I decided to write down some general purpose.. things about how electricity works. Since I've done some explanations to some people and they said they found that info very useful here something made for people not good at math and without a degree in electronics engineering. I will try to explain everything in simpel terms and with analogies, but the last time I done the math was six years ago during my A-Level exams, so any more educated person is free to weight in, just write me on a Platform of your choosing. Whats a Watt When looking at a charger or power supply, or talking about what comes out of a power socket, you will have seen or heard about Volts and Amps and Watts but how does this all go together. Well, basically, W is just V times A, and if you are in the EU your socket always gives you 230V. Doing simple math that means if you want 230W to, for example, charge yo

OtherInfodump

A Brief Look at the 3DS Cartridge Protocol

Forbidden Tempura 6/2/2024

About a week ago, there has been a little addition to the 3dbrew wiki page about 3DS cartridges (carts) that outlines the technical details of how the 3DS cartridge controller and a 3DS cartridge talk to each other. I would like to take this opportunity to also include the 3DS itself in the conversation to illuminate which part of which device performs which step. I will then proceed to outline where I think the corresponding design decisions originate. Finally, I will conclude with some concrete ideas for improvement. But first, we need to talk about parallel universes This protocol makes no sense unless you have a basic overview of the 3DS AES engine. The 3DS AES engine can load 128-bit AES keys in two ways: Using key-derivation from a keyX and keyY (officially called KeyId and KeySeed, respectively). Directly specifying a full AES key. The key derivation from a keyX and keyY works as follows: AES key = (((keyX ROL 2) XOR keyY) + C1) ROR 41, where ROL is left rotation on a 128-bit

ITGamesInfodump

Reconstructing the 3DS Bootstrapping Process at the Factory

Forbidden Tempura 5/13/2024

Motivation The Nintendo 3DS was a fairly popular console. In spite of that, surprisingly little is known about how it is put together at the factory. Working with information that was uncovered during the so-called Gigaleak, I will try to recover as much information as I can about the manufacturing process up and until the point the 3DS is able to complete a normal boot sequence. One-Time Programmable (OTP) region Every 3DS ships with 0x100 of one-time programmable persistent memory at 0x10012000-0x10012100, containing console-unique keys and information. This obviously has to occur before any normal firmware runs on the system because significant amounts of all data written would fail to account for console-unique information and thus the encrypted values would be all encrypted for the wrong keys. An interesting observations: ctr.7z (SHA-256: 8b05072361254437277576d53c08b95e5f076c6b33a2871fad74eaa5561d1d38) ctr/sources/bootrom/CTR/private/build/bootrom/ctr_bootrom/ARM9/main.c has a pr

ITGamesInfodump

If it has Text, it is Pain

Mia Rose Winter 5/1/2024

I've been meaning to write tests for Wave for a while. Honestly, in my 12 years of dev I never actually wrote one outside of the odd academic homework assignment, so I had no idea how to approach it. After a couple of videos and video presentations about general unit tests, TDD and stuff, I actually got intrigued, and with a bug discovered just today by a coworker in Wave I was baffled by I thought, okay, let's dissect this little Käfer. Prerequisites: What does Wave do here actually If you have not authored an article on Wave before, let me give you some background. When you want to load a specific article in the article view, there are three methods, two actively used and one historical, to find it. The first and most direct, the “permalink” if you will, is going to /article/{id}, with the UUIDv4 ID of the article. This is used for stuff like the article editor and during the draft and review process when the other method doesn't work, and maybe one day there will be a &l

ITTutorialInfodumpC#

Stupidity as Fundamental Property of Reality

Mia Rose Winter 4/21/2024

Apologies in advance. My brain, fueled by ADHD and whatever else mental shenanigans I have going on, is almost unable to retain memories of events, but craves knowledge. I have multiple fields of knowledge I try to absorb as much as my abilities allow me to, and some of these fields are stuff like quantum physics and the like. I don't know the math, but I absorb the concepts and the theories around it, and with my vast array of too much stuff for a single threaded brain to handle, my multi threaded one sometimes chomps through them when I infodump to someone, and today I came up with a theory about the nature of reality. You can't change humanity On the topic of capitalism, the question arose why humanity is like this. Why are we putting off things until they absolutely need doing, or sometimes even past that? We are acting against a fundamental thread to humanity, climate change and other dangers, incredibly slow and only as much as we perceive we need. We observe this on an individua

Science FictionInfodump

Generation 3 of Pokémon is held together by duct tape and I can prove it

Forbidden Tempura 4/16/2024

The problem space Pokémon is a franchise that needs no introduction. Millions upon millions of people have had some exposure thereto. I would like to focus on one tiny implementation detail of the games that formed the third generation of Pokémon: Ruby, Sapphire, FireRed, LeafGreen, and Emerald. In this generation of the games, the developers of the series first started trying to discourage cheating. To understand what they did, I first need to introduce a few concepts. A Pokémon is an individual member of a Pokémon species. Think of it like a specific individual, just like how there is a sheep that you encounter and there is the species of sheep, of which the aforementioned individual of a member. Every Pokémon has a 32-bit personality value (also commonly called personality ID or PID for short). A (Pokémon) trainer is a concept in the games: Trainers go around and make their Pokémon fight against other Pokémon. They hold contests to find out who is the strongest trainer. Supposedly

Game DevelopmentGamesInfodump

hopefully you'd implement metacognition as cognition about cognition, right?

scijones 3/24/2024

For this one, I'm talking about the Soar Cognitive Architecture as AI engineering software, and not so much about it in relation to humans. This software attempts to support cognition. Core to this is a procedural memory that breaks decision making into phases. At least every 50ms, the architecture goes through the phases of 1) proposing different options for (changes to) its actions, selecting among those options, and determining how to actually do the thing it selected. Those are called “propose, decide, apply”. That's the core loop of how Soar implements cognition. Each of these phases are implemented as part of the architecture, but the specifics of how a particular agent proceeds through those phases depends on the knowledge it has. For example, let's consider an agent navigating a maze and pretend the agent hits an intersection. One way the agent could “propose” is it could propose movement to each branch at the intersection. What to “select”?

AIOpinionInfodump

Spreading activation, a quaint and useful cogsci AI idea

scijones 2/27/2024

Some older cogsci AI ideas can seem quaint in the modern AI practice. One of those that is still relevant, but just plain simple in the face of modern models, is spreading activation. Imagine modeling human knowledge literally as a labeled directed graph. You can actually model some interesting aspects of human cognition with simple algorithms defined over such a graph. Spreading activation is that kind of thing. There was this notion that we could implement semantic memory knowledge with a graph. Imagine embodied concepts of colors as nodes, words also being separate nodes, and edges that also have labels connecting things together. So, you could have a mental representation of “red” the color, an associated name for the color that is actually the string “red”, and an edge from the actual color concept to the string label called “label” or “name”. We're talking that level of just throwing things into a graph and saying “sure, that'

AIInfodump

thinking about parallel computing for thinking

scijones 2/7/2024

Soar is a “cognitive architecture”. It attempts to implement the necessary components to support general intelligence, but it's not like crypto/AI/techbro hype. It's a decades long academic research project, and it has been useful for some robotics and cognitive modeling. Soar is single core. With increasing availability of parallel computing, it may seem odd that an architecture that attempts to implement the basis for intelligence is largely single core. While aspects of our code-base could be parallelized for some performance gain, it seems that some serial bottleneck is inescapable and appears humanlike, at least for complex decision-making. This got me wondering whether underlying constraints could exist to demand that this must be the case. This led me to thinking about a swarm intelligence and about whether an intelligence embodied in a swarm would face the same constraints. From what I can tell, in such an intelligence, you would want the distributed knowledge in th

AIOpinionInfodump
Powered by Wave