Joonas Javanainen @gekkio.fi · 23/08/2026Sorry, my brain messed up, and I meant the only difference between MGB/SGB2 is the boot ROM (not just one byte 😀). It's the SGB vs SGB2 boot ROMs that differ by just one byte (but SGB vs SGB2 *chips* have other differences too, like the pinout). 110
Joonas Javanainen @gekkio.fi · 23/08/2026Yes MGB and SGB2 have the same pinout. In fact, the only difference between those chips is one byte in the boot ROM. I still have the WIP schematic but haven't worked on it in a while. Maybe some day I'll release it 😀 If I release it at some point, it will be added here: github.com/Gekkio/gb-sc...github.comGitHub - Gekkio/gb-schematics: Game Boy -related schematicsGame Boy -related schematics. Contribute to Gekkio/gb-schematics development by creating an account on GitHub. 111
Joonas Javanainen @gekkio.fi · 25/07/2026And yes, I understand the irony considering I'm the author of a "complete reference" that is maybe 5% complete... 😅 020
Joonas Javanainen @gekkio.fi · 25/07/2026One annoying thing about widespread use of AI on the internet is that "marketing language" is now everywhere. For example: ❌ documentation ✔️ COMPREHENSIVE REFERENCE (usually not comprehensive, minimal in content, maximal in word count) ❌ useful ✔️ ESSENTIAL (often not even useful, possibly useless) 200
Joonas Javanainen @gekkio.fi · 10/04/2026Thanks for the question 😄 I've also added the missing adj info to gbctr. Should appear in the online PDF once the CDN cache expires and it picks up the latest file (max 24h) 100
Joonas Javanainen @gekkio.fi · 09/04/2026Hmm, if I remember correctly, ADD SP, e has the same adjustment behaviour as LD HL, SP+e. I've just forgotten to include it in the detailed pseudocode of the former (but it's included in the latter). So yeah, adj is -1 (= 0xFF) or 0. 110
Joonas Javanainen @gekkio.fi · 11/02/2026I'd love to see something unusual but fun like Sharp SM83 (Game Boy CPU core) 😍 none of that modern RISC-V rubbish... ...and before anybody asks, yes I've put an SM83 inside an FPGA-based SoC design as a control core 010
Joonas Javanainen @gekkio.fi · 08/02/2026Looks like the CDN cache hadn't picked up the update yet so it didn't actually appear...I've purged the cache manually so the feed should now be visible on the site 😀 110
Joonas Javanainen @gekkio.fi · 07/02/2026I didn't have it but now added an RSS feed. Please let me know if there are any problems with it! I don't write often but when I write, I try to write about meaningful stuff, preferably info that is not available elsewhere. I don't claim to be a good writer but there won't ever be ads or AI slop 110
Joonas Javanainen @gekkio.fi · 07/02/2026New blog post: In case you've ever wondered why Game Boy Advance boards have a 10 nF capacitor on the d-pad up input, but not on the other directions (left, right, down): gekkio.fi/blog/2026/ga...gekkio.fiGame Boy Advance d-pad capacitor measurements - gekkio.fi 1163
Joonas Javanainen @gekkio.fi · 02/02/2026> Military: Radar and Sonar > High-Speed Data Acquisition and Generation > Video Broadcasting: IP-Based Multi-Format Transcoder Clearly a special chip for high performance applications! ...SN74LVC1G125 Single Bus Buffer Gate, literally one of the cheapest 1-bit digital buffers from TI 010
Joonas Javanainen @gekkio.fi · 14/12/2025Sometimes you just have one of those days when you ponder the biggest questions in life and want to ask "how does To provide five frequently modified core application logic filenames, I would need: work?" 020
Joonas Javanainen @gekkio.fi · 16/09/2025On the way to Oxidize conference in Berlin. If you want to chat about Rust, Game Boys, or any other interesting topic, look for a bald (and bold) Finnish guy 😃 000
Joonas Javanainen @gekkio.fi · 25/05/2025Related: when some operation flashes a spurious error state before loading the real content. How about a loading indicator or even a blank page instead? For example, my accounting software flashes an alarming AAAGH TRANSACTION CANCELED page for <1s before loading the page for approving/canceling. 010
Joonas Javanainen @gekkio.fi · 25/05/2025One of the most annoying UX behaviours is showing an "empty" result when there's a technical error, and not indicating the error at all. Spotify search? "lol no results found for X" Mobile app of my *bank*? "lol you have no accounts" Accounting software? "lol you have no invoices/receipts/anything" 220
Joonas Javanainen @gekkio.fi · 09/04/2025Isn't it also counting Result values instead of actual lines, i.e. it counts and hides errors instead of propagating them? 🤔 Considering this, I'd perceive "A gentle nudge toward correctness" as an insult 😅 Perfect for code reviews: "It doesn't work but there's a gentle nudge towards correctness" 010
Joonas Javanainen @gekkio.fi · 27/03/2025As a user I don't care which programming language something is written in, but experience tells me there's a certain advantage when one vendor is evaluating different tools than just "programming harder and more carefully" and redoing the same mistakes 040
Joonas Javanainen @gekkio.fi · 27/03/2025Maybe I'm weird but the fact that LibrePCB is strategically moving towards Rust is quickly making it more attractive to me. I've been a happy KiCad user for almost 10 years but I've seen my share of crashes, bugs and various "C++ problems". 150
Joonas Javanainen @gekkio.fi · 17/03/2025My opinion about USB-C was forever changed when I recently watched in horror as somebody shoved a USB-C cable into a USB-A port, shorting the pins with the USB-C plug shell. The idea of having a computer with no USB-A ports and *only* USB-C doesn't seem so silly anymore... 😅 010
Joonas Javanainen @gekkio.fi · 17/02/2025It's the Apple IIc (not this unit specifically...this photo is from homecomputermuseum.nl). Mine still works but it's in storage at the moment. It's a cool device and very portable! I remember loading it on a small sled during some winter as a kid, and bringing it with me when visiting a friend. 000
Joonas Javanainen @gekkio.fi · 13/02/2025Chisel tips like that are pretty good, but I personally prefer knife tips 😀 Takes a bit of practice to use them well... But in the end it's a personal preference, and the most important thing is to choose a tip that has sufficient thermal mass for larger solder joints (= no tiny "needle" tips) 110
Joonas Javanainen @gekkio.fi · 02/02/2025It's also worth noting that the cartridge uses an MBC2 memory controller and no SRAM chips. It seems very power efficient and keeps the save in a small internal 512x4 bit SRAM. Many games use larger SRAM chips (e.g. 8192x8) that require more current to retain their state, relative to memory size 010
Joonas Javanainen @gekkio.fi · 02/02/2025I desoldered the battery, connected it to a Siglent SDL1020X programmable DC load, and used its battery measurement functionality in constant resistance mode (CR). Not the perfect setup since the CR mode caps at 10kΩ, which makes the measured capacity a bit lower than it should be (vs a 30kΩ load) 210
Joonas Javanainen @gekkio.fi · 02/02/2025Finished testing this *35-year old* CR1616 battery on this Game Boy cartridge. CR1616s typically have a 60 mAh nominal capacity (with a 30kΩ load). In my test I got 31 mAh out of this battery with a 10kΩ load until 2.0V cutoff so the battery had *at least 50%* capacity left after 35 years. Wow! 1216
Joonas Javanainen @gekkio.fi · 25/01/2025Thanks TI website for this lovely validation error 😅 I guess what they really mean is "domain name", not URL (or URL without protocol? 🤔), but in any case "Please enter the URL in English" is one of the worst validation error messages I've ever seen 020
Joonas Javanainen @gekkio.fi · 25/01/2025Based on a quick look, typst_render seems to return a tiny-skia pixel buffer (RGBA), so you can do extra processing and freely choose the final format 😀 🎉 It's good for my use case as well, since I need to send the image via USB to a Samsung SPF-87H photo frame, which is a bit weird and wants JPEGs 010
Joonas Javanainen @gekkio.fi · 25/01/2025Ooh, I've got a slightly similar use case and it never occurred to me that I could use Typst 🤯 Right now I generate SVG using some pretty dirty text templating, and then render it with resvg. It works but layout with raw SVG is a PITA... Are you invoking typst-cli or using the lib crate directly? 130
Joonas Javanainen @gekkio.fi · 05/12/2024Mwahaha, somebody at Github pushed to production and messed up the home page a bit 😅 my feed is now sorted oldest to newest for some reason 000
Joonas Javanainen @gekkio.fi · 22/11/2024I did some PCB design today and was affected by *two* part manufacturer website outages on the same day when I needed to find info about some of their parts. These companies are not even some random small ones... Samtec gave me error 500, and Würth vomited some aspx errors 000
Joonas Javanainen @gekkio.fi · 22/11/2024Why is it always the big corporations with all the money in the world that have the worst websites that are down exactly when you need them? Würth and Samtec, I'm disappointed! 😬 111