Follow

how does the gba e-reader work internally? i want to know for reasons

@typhlosion if I had to guess they might've used sth similar to an optical mouse sensor

@typhlosion okay, it's a lot less miniaturized and also not something Nintendo invented, you could probably read the patent youtu.be/ppQaXDBI5EQ

@typhlosion The bar code format appears to be fileformats.archiveteam.org/wi but there's unfortunately little information on it

the patent linked in that wiki page might have enough information to recreate it though. it's probably out of patent by now
-F

@typhlosion
Found pages with some technical info on it and utilities for dumping cards or making your own:
caitsith2.net/ereader/index.ht
web.archive.org/web/2021051405

Pretty much what anyone would expect: a barcode reader for high-density codes Nintendo pretty much bought off-the-shelf, and it just dumps the read data into RAM (each barcode block has an address which is why you can scan the cards in any direction or any order), and then has the ability to either run it with a built-in NES emulator or as plain ARM/Thumb assembly. Basically equivalent to “multiboot” games you can load off of the link port for multiplayer. I'd assume for cards that just unlock stuff in other games, it uses Thumb code to implement the link port protocol for the target game and send the unlock code.

@nytpu awesome, this is exactly what i was looking for

for finding me this, you have unlocked the context for this question: i want to make a native tracker for gba like what lsdj is for the gameboy, and i had the idea that maybe the e-reader could be used to load in samples/instruments and other data

@typhlosion
Hmm, since the e-reader occupies the whole cartridge slot (IIRC when unlocking data for other games you'd need a second GBA and connect the two over the link cable) the best option AFAICT would be to create your own link port protocol to load various data, and then make compact little assembly programs for the e-reader that would send a sample over. Having a general link port protocol would also let people without an e-reader upload stuff from their computer with a USB↔serial cable too, which would be convenient.

If you're generally familiar with GBA dev, then GBATek has dense docs on using the link port: problemkaputt.de/gbatek-sio-no (I and most other homebrew devs don't have much/any experience with it, so I figured it'd be good to link the docs)

@nytpu it's a little tricky because ideally i'd like it to also be something usable by people using the tracker from within an emulator. mgba has e-reader support but i don't know what it would take to implement something bespoke that represents an emulator version of a usb/serial doodad

@typhlosion
Yea, doesn't look like mGBA has support for treating link cables as a serial port, just standard game-to-game connections. But since the link port is essentially just a thing you shove bits into and they come out on the other end, you'd have to implement your own higher-level protocol of some sort to get e-reader support anyways, and I figured a little desktop utility pretending to be the e-reader would be nice for on-hardware debugging and people without one.

But now I'm really getting into esoterica for something that I'm guessing is going to be a neat bonus feature rather than a core part of the experience lol

Sign in to participate in the conversation
Awoo Space

Awoo.space is a Mastodon instance where members can rely on a team of moderators to help resolve conflict, and limits federation with other instances using a specific access list to minimize abuse.

While mature content is allowed here, we strongly believe in being able to choose to engage with content on your own terms, so please make sure to put mature and potentially sensitive content behind the CW feature with enough description that people know what it's about.

Before signing up, please read our community guidelines. While it's a very broad swath of topics it covers, please do your best! We believe that as long as you're putting forth genuine effort to limit harm you might cause – even if you haven't read the document – you'll be okay!