A Cartridge That Tests the Machine It Sits In
Updated: 4 hours ago

Overview
Every time a new Game Boy qualifies for the Game Boy Museum, I want to know the same thing: is it actually all right? Switching on is the easy part. What I really want to know is whether the buttons, the memory, the cartridge slot and the link port are all still doing their job, and I would rather find that out without opening the case or playing on it for a whole afternoon to see what goes wrong. What I always missed was a proper read-out, detailed results on the real health of the machine in my hand. So I began to wonder how much of that a Game Boy could actually be made to tell me about itself.

This cartridge is where that question led. The GB Test Lab is my answer to how much is technically possible: you slot it into a Game Boy, it runs every check I became aware of while researching this, and then it says plainly what it found, and just as plainly what it cannot see.
It is the second cartridge built in-house here. The first was a reference work, a catalogue and a wiki squeezed onto a cartridge in the spirit of the InfoGenius titles of 1991. This one does the opposite of holding information: it interrogates the console it is plugged into and puts hard numbers on the screen.
System Requirements
|
Nintendo had one first
The idea is not new, and Nintendo got there first. Its own service departments used a test cartridge whose board is marked DMG-AGING-01, where ageing is repair-shop shorthand for running a machine hard for hours and seeing what gives out.
That cartridge checked the screen, the buttons, the speaker, the memory and the sound chip, and it existed for a plain reason: a repair bench needs a clear yes or no, not a hunch.
Modern homebrew has followed, and there are several test cartridges available today.
Almost all of them share one trait: they show a pattern and let the person decide. A grid, a grey ramp, a tone, a row of button icons that light up. That is the right approach for a screen, and the wrong one for everything else.
What a Game Boy test cartridge can and cannot know
It is worth being honest about the limits first, because they decide what a cartridge like this can truthfully claim.
Main menu of the GB Test Lab with six entries Test Overview - Page 1 Test Overview - Page 2
The DMG-01 has no analogue to digital converter. It cannot read a voltage, so battery condition is invisible to software. The contrast wheel and the volume wheel are analogue too, and neither is wired to anything the processor can see. The speaker, the amplifier and the headphone socket sit behind the last register the software can reach.
And the machine cannot see its own picture. Nothing in the hardware reads back what the screen displays, so dead pixels and the vertical lines of a tired ribbon cable will always be a matter for human eyes.
Everything else, though, is fair game, and there turns out to be far more of it than the existing test cartridges ever bothered with.
One button, four tests, one word
A collector holding an unfamiliar Game Boy has one question before all the others: is this machine even worth keeping?
The cartridge answers it with a single menu entry. Quick Check runs the memory, the cartridge slot, the interrupts and the system check one after another and boils them down to a single verdict.
Those four were chosen because they ask nothing of the person holding the machine. Everything else on the cartridge wants eyes, ears, a second console or a cable.
The whole run takes under a minute, and each screen lingers for about a second on the way past, so you can watch it happen rather than wait it out. A press of B between two of them stops it.
The verdict comes in three states rather than two. PASSED means all four held up, FAILED means at least one did not, and INCOMPLETE means one of them never ran at all, which is not the same as failing: a test that never answered the question cannot be called a pass.

The line under the verdict names what is not in it. A machine that passes here can still have a dead speaker or a scratched screen, and that sentence is worth reading before the cartridge is handed back.
A second rule runs through these screens, and it came out of living with the cartridge rather than building it: every test that measures something now shows what it is about to do and waits for a keypress before it begins.
This is not mere politeness. Opening the slot, link or interrupt screen used to write a result straight into that machine's record, so simply glancing at a menu entry could quietly rewrite the account of the console you were examining.
The waiting screen also has room the running screen does not. Before a test there is no column of results, so each line can say in full what it is for. During the run the same column carries the verdict instead.
The measurement that started the project
A Game Boy button is really a small rubber pad with a conductive face. Press it and it does not make contact just once. It closes, springs open and closes again within a few thousandths of a second, and that little flurry is contact bounce. It is normal and purely mechanical, but a worn pad bounces for longer, and more often, than a fresh one.
And all of that can be counted without ever opening the case.

The cartridge reads the key register in a tight loop with interrupts switched off, about every ten microseconds, timed by the hardware counter at 3.8 microseconds a step. When a contact closes, it watches a window of 30 milliseconds and records two things: how many times the contact changed state, and how long it took from the first change to the last. Pressing and releasing are measured separately, because they differ.
A clean press gives one edge and 00.00 milliseconds. On a healthy DMG that is often every key, which is why the verdict says no bounce at all rather than merely passed. A tired pad gives three or four edges spread over a millisecond or more.
The screen measures whatever is pressed, in any order, as often as the tester likes. An earlier version asked for the eight keys in sequence and moved on after five seconds of silence. That was a mistake: a tester who looks at the machine instead of the screen loses a key and starts again.
One record per console
A single reading is only a snapshot. The real question is whether a machine is slowly getting worse, and answering that takes more than one reading, and somewhere to keep them.
The cartridge therefore holds a record for each console, and gives it a number rather than a name. A Game Boy has no keyboard, and a name field would be a whole screen built for nothing. The first record creates itself, so anyone testing a single console never meets any of this.

Numbers are never reused. Delete the third machine and the next one is still the fourth, because a sticker on a console has to keep pointing at the right record.
Each record holds the bounce figures of all eight keys, the verdict of every test, the burn-in result and the model. It survives the power being switched off, and that is what turns a single reading into an ageing curve.
There is one thing to watch, and the cartridge says so where it matters. Moving it to another console does not start a new record, because nothing in the hardware says which machine it is plugged into. The main menu therefore names the machine it is recording to, at all times.
Memory, and the pattern that matters
Work RAM and Video RAM are separate chips on the board of a DMG-01, and they do fail. The cartridge writes five patterns over each area and reads each one back completely before moving on, because a cell that holds its value for only a few microseconds would pass a check made cell by cell.

Four of the patterns are the obvious ones: all zeros, all ones, and two chequered patterns that catch a bit stuck to its neighbour. The fifth is the useful one. It writes into every cell a value that depends on that cell's address, which is what finds a broken or swapped address line, because the cell then answers with its neighbour's value.
A failure names the address and both values, written and returned. That is the difference between a cartridge that says BAD and one that tells a repair which chip to look at, and which bit is stuck.
Three more lines were added later, and none of them tests a cell. The echo area is just the work memory turning up again at a second set of addresses, so checking it confirms the addressing rather than the storage.
The unusable area carries a number rather than a verdict. What it returns depends on the model and not on the condition, and a DMG answers with zeros.
The third line is the sprite transfer, which moves 160 bytes past the processor in one go. Almost every game uses it, and until now the cartridge tested the memory it fills but never the engine.
Testing it needs a small trick. While the transfer runs the processor can read nothing but the fast memory at the top of the address space, so the wait loop is copied there and called from the cartridge.
Five ways to interrupt a Game Boy
A processor that has lost one of its five interrupt sources will still run. A few games break, most carry on regardless, and that is precisely what makes this one of the hardest faults to catch.
For a long time the cartridge tested only one of the five, and even that by accident. Every screen here waits for the vertical blank, so that one source has to work or nothing works at all.
The new screen asks each source whether it raises its flag. A source sets its bit whether or not interrupts are allowed, so the test switches them off and reads the bits directly.

The joypad source is the odd one, because it reports an edge and not a level. A key has to be pressed while the test waits, and a key held down while the line reads no means the edge went missing.
That is a fault the bounce screen cannot see. There the contact would look perfectly healthy, because the contact is healthy, and what failed sits behind it.
A sixth line takes on the other half of the question, because raising a flag is not the same as acting on it. It uses the timer, the one source that needs neither the screen nor a finger.
Every line of the slot, named
Until recently, a single number on the system screen did all of this work on its own. The cartridge adds up every byte of its own ROM, across all sixteen banks, and compares the total with the checksum stored in its header. To read every byte it has to reach every address, so every address line and every data line of the slot has to be carrying.
A mismatch tells you something is wrong, but not what.

A separate screen now walks those lines one at a time. Thirteen address lines are tested in the cartridge memory with a march over the powers of two, which finds a line that hangs and a line that sits on top of another. Two more are tested against the cartridge's own code and across two banks, and the eight data lines with walking ones and zeros.
When a line fails, it is named, which is the difference between knowing a slot is dirty and knowing that A7 and D3 are the two not getting through.
Three of the thirty-two contacts cannot be tested at all, and the screen says which and why. The clock is received and not measured. The reset line would end the test by ending the program. The audio contact carries sound into the console and cannot be read back, and no licensed game ever used it.
The fault that only appears when something moves
The slot test walks every line once, and the classic fault of a thirty year old connector is not a dead contact but a loose one.
A single measurement cannot find that, however careful it is. A second screen therefore runs the same test over and over, and counts not the result but how often it changes.
Wiggle the cartridge gently while it runs. Press on it, lift it a little, turn the console over. The test passes about seven times a second, which is faster than any hand, so a fault lasting a tenth of a second still lands in a figure.

Even a single change in a thousand repeats is worth taking seriously: it means a contact is dropping out now and then rather than failing outright. And when the count keeps climbing as you press on one particular corner of the cartridge, that corner is where the loose contact sits.
Nothing from that screen is written to the record, and that is deliberate. It is an observation made under the tester's fingers rather than a repeatable verdict, because press hard enough and any contact fails.
The cartridge checks the cartridge
Every screen so far has tested the console. This one turns the lens around onto the board it is plugged into, which is the single part of the whole arrangement nobody can actually see.
A cartridge header is a claim. It states which mapper chip is fitted, how much battery backed memory sits beside it, and whether a cell keeps that memory alive. A cheap flash cartridge carries a header copied from a real game and a simplified mapper underneath. That is the cartridge a dumper chokes on, and the one that quietly loses a save.

The screen measures each claim and sets the two side by side. The mapper is asked for bank zero. An MBC5 maps bank zero into the upper window when bank zero is requested. An MBC1 and an MBC3 give bank one there instead, because they have no bank zero in that window.
What is compared is a sum over 256 bytes and not a single byte. The same value sits at the same place in many banks, and a comparison that matches by chance is no comparison.
The memory is counted by writing a different value into each of sixteen possible banks and reading all sixteen back. A bank that returns its own value exists. The count stays right even when banks mirror each other: with four banks the writes to zero, four, eight and twelve land in the same cell, only the last of them survives, and four are counted.
Two lines are notes rather than verdicts. The write lock asks whether the board accepts a write while the mapper has switched the memory off, and many flash cartridges accept it anyway. The battery line says no mark on the first run after flashing, which is the correct answer and not a fault.
One byte per bank is read before the probe and written back afterwards. Nothing else is touched. The log of this cartridge lives in the first bank, and an instrument that overwrites its own records would be a poor one.
The link port, mostly without a cable
The link port is the one part of a DMG that is open to the world, and bent contacts are common. It was also the last part of the machine that nothing here touched.
Most of the test needs no cable. Asking the console to send a byte on its own clock proves the shift register works, and what comes back proves the input line sits where it should with nothing attached, which is high. Asking it to receive on a foreign clock should do nothing at all, and a transfer that completes there means something outside is driving the clock contact.
A small plug bridging the output contact to the input contact proves both data lines separately.

The drawing is published as information rather than as instruction. Anyone building the plug works on their own console with their own iron, and that risk is theirs. Contact 1 carries five volts, which is why measuring the finished plug matters more than any other step.
Build the loopback plug at your own risk. Contact 1 of the link port carries five volts, so a plug wired wrongly can short that line and damage the console. Check every connection with a meter before the plug ever goes near a Game Boy, and if that is not something you are comfortable doing, stay with the cable-free tests, which cover most of the port anyway.
A link cable and a second console test more, and that is the next screen.
Two machines, and the only absolute measurement
A loopback plug bridges one console to itself, so a fault that affects both data lines alike can hide inside it. Two machines and a cable put the directions on separate wires. It needs this cartridge in both, and it is the one test here that a single console cannot run.

That arrangement also reaches the one line a console can never test alone. It produces its own serial clock and has no way of reading it back, so the second machine counts the edges arriving.
The third thing it reaches is the crystal, and that is the reason the screen exists. Every other measurement here compares counters that share one crystal, so it can confirm a ratio and never a speed.
Both machines time the same stretch, from the end of the first transfer to the end of the last, each on its own counter. They then swap the two figures over the cable.
The ratio of those figures is the ratio of the two crystals. What the test cannot say is which of them is wrong: two machines give one of the two, and only a third gives a verdict. The stretch runs about three and a half seconds, and that length is the whole point. The uncertainty sits at the two ends and amounts to some fifteen microseconds either way, which over three and a half seconds comes to roughly four parts per million.
Four parts per million is far smaller than the gap you would expect between two perfectly healthy crystals, so the actual number is worth reading, not just the pass or fail beside it. Two crystals of the same grade can legitimately differ by a hundred parts per million and both be fine, so the cartridge treats anything under two hundred as matched.
The number also stands on the first page of the report, next to the verdict itself. It is the finest measurement the cartridge makes, and a printed sheet carrying only a verdict would throw it away.
Only one console may lead. Leading means driving the clock contact, and two consoles driving it at once are two outputs against each other.
Each screen therefore listens by default, and pressing A does not make a console lead at once: it waits a short random moment, still listening, before taking over the clock. Press A on both and whichever one's pause ends first starts leading; the other, still listening, detects it and quietly becomes the follower.

The same screen also plays a game of pong over the cable. It measures nothing, and every fault it could show the cable test shows earlier and in numbers. It is there because two machines, one cable and a moving ball is the proof that needs no explaining.
The one way to reach the power supply
Battery voltage cannot be measured, but its effects can. The burn-in screen runs rounds of about two seconds: read the whole cartridge and check the sum, write and read three kilobytes of memory, drive the sound chip. Errors are counted rather than announced, because what matters is the number over time.

Every round writes its state into the cartridge's battery backed memory, and sets a mark. A weak battery or a cold solder joint shows itself as a restart under load, and a restart wipes the screen but not that mark. The next start finds it still set and counts an aborted run.
There is a warning on that screen, and it has nothing to do with the test. Cells left to go flat inside a Game Boy leak, and leaking cells destroy the battery terminals. That is the most common way a DMG-01 in a collection is lost. Twenty minutes is a burn-in. A weekend is a repair.
One word of caution about the burn-in test The burn-in deliberately keeps a thirty-year-old machine working under load, so only run the burn-in while you are watching it. A short session, a few minutes to shake out a fault, is what it is for. Leaving it running unattended or for very long stretches is not something this project can vouch for, and prolonged continuous use cannot be ruled out as a cause of damage to an old console. If the machine grows warm, behaves strangely or anything smells hot, stop. When in doubt, keep the sessions short and stay in the room. |
Findings that leave the machine
A test that has to be copied out by hand gets copied out wrongly. The report therefore has six pages, and they print either one at a time or all six as one strip.
The first is the verdict of every test with the machine number and model.
The second is the bounce figures of all eight keys, which until recently appeared on no sheet at all: they lived in the variables of the measuring screen and were gone the moment it was left.

The third is the cartridge itself, the same five lines the CART screen shows, so that a sheet handed over with a flash cartridge says what is on the board.
The fourth explains the code on the page after it. Every part of the scanned line is listed there with the value it currently holds, so nobody has to learn a private alphabet to read it.
The fifth is the same findings as a QR code, calculated on the Game Boy itself. It names all eight tests and what each one did, and adds the crystal figure, the worst bounce measured on any key, how long the burn-in ran and what the slot was found to contain. The museum cartridge never had to do that, because its codes are fixed and were built in advance. Here the numbers only exist once the tests have run.
The figures now survive the power being switched off, and they print. Cartridge Test Report GBTL - Dynamic QR-Info Screen GBTL - Dynamic QR-Code GBTL - Test Lab Notes
The sixth names what the cartridge cannot check, and leaves three blank lines for machine, tester and date. It sits last because that is the order the printer hands the pages over, and what has to be filled in by hand should be the sheet on top.

A Game Boy Printer plugged into the link port prints the report on the thermal paper the printer was sold with. It asks first whether to print the whole report, which comes out as one continuous strip, or only the page on screen. A slip of paper in the box beats a photograph on a phone that nobody finds again.
Asking the printer before asking it for paper
Every screen so far tests the console or the board it sits on. The one device the cartridge talks to had never been tested at all, which is an odd gap in a diagnostic tool. A Game Boy Printer is thirty years old, runs on six cells, and its paper has not been manufactured since the turn of the century.
The printer screen therefore asks four questions that cost no paper, and only then offers the option to test with real paper.
Game Boy Printer Test - Info Screen Game Boy Printer Test - Test Result
The first asks who is on the cable. A printer answers with 81. Anything else, or silence, and the rest is pointless.
The second reads the status byte, which is the printer's own account of itself. Every packet ends with two bytes coming back, the identifier and then the status, and between them they carry everything the printer will ever say:
CODE | MEANING |
81 | The identifier of a Game Boy Printer. It comes back with every packet, and anything else means there is nothing on the cable |
00 | As a status, the answer to hope for: nothing to report |
01 | A checksum error, which points at the cable rather than the printer |
02 | Printing at this moment |
04 | The image buffer is full |
08 | Data is waiting and unprinted |
10 | A packet error |
20 | A paper jam: the motor turns and the encoder does not |
40 | Some other error |
80 | The battery is low |
The screen prints the code beside the words, because the status is a sum of those bits rather than a list of cases. A printer reporting 88 is reporting 80 and 08 at once, which is a flat battery with a page still waiting to come out, and anyone with the manual can check that.
The codes above are only the part the test needs. The full protocol behind them, the packets, the four commands and all eight status flags, is laid out in our Game Boy Printer series, and in particular the piece on how the Game Boy Printer works.
The third counts the cable. Eight packets go out, and the printer reports in the first bit whether each checksum arrived intact. A loose plug flips single bits, and this is where that shows. There is a counter-probe as well: one packet is sent with a deliberately wrong checksum, and if the printer fails to complain about that one, the clean result of the other eight means nothing.

The fourth turns the roller by a few lines and asks whether the printer reports a jam. It checks the motor rather than whether paper is loaded, and it says no jam reported rather than claiming the roller turned: a printer reports a jam when the motor runs and the encoder stays silent, so silence from a motor that never started is not a yes.
Then come the two tests that use paper, and neither starts without a confirmation. The dot check fires all 160 heaters of the print head, so a dead one appears as a white line running down a printed band. The exposure ladder prints the same pattern at five settings on one continuous strip, which answers a question no datasheet can: how dark this particular roll of paper, at this age, still needs to be. The value chosen from it is kept and used for everything the cartridge prints afterwards.
A note on paper. The dot check and the exposure ladder both fire the print head, so use only genuine Game Boy thermal paper. The print head is thirty years old and the paper has not been manufactured since the turn of the century, so it is worth treating both with care.
One finding from that screen is worth passing on. Rechargeable cells at 1.2 volts light the power lamp and leave the roller unable to turn, and the printer reports 88: battery low, with data waiting. Six fresh alkaline cells are not a suggestion.
The screen goes dark while anything prints, and the cartridge says so before it starts. Printing reads the screen memory, and while the video chip is drawing a line that memory belongs to it.
A wiki on the cartridge
Numbers are only useful to someone who knows what they mean. The cartridge therefore carries twenty articles about the machine itself, from the processor to the eight board revisions, and every one of them ends at the screen that touches that part.

The article about the screen explains why the display patterns look the way they do. The article about the buttons explains why one broken select line looks exactly like four dead buttons. The last one is the most useful of them, and it is a list of everything the software cannot see.
What it refuses to say
The cartridge does not hand out a verdict on a machine, and that is deliberate. For memory, the slot and the cartridge itself, a pass or a fail is a fact, and the screen says so. For contact bounce there is no such thing, because nobody has published what a healthy DMG-01 does.
What the cartridge suggests instead is comparing the eight keys of one machine with each other, and then that machine with the next one. Pads age together, and the odd one out is the interesting one. That is what the records are for.

The one part that can be asked
There is a question every collector eventually asks of an old machine, which is whether the parts inside it are still the original ones. For most of them software cannot tell. A replacement speaker and a new set of rubber pads look the same from inside the cartridge.
The processor is the one exception, and only because it is quietly flawed.

Halt is an instruction that stops the processor until something happens. With interrupts switched off while one is already waiting, the original chip does not stop at all, and the byte after halt runs twice. Writing to the register that reports what the picture hardware is doing raises an interrupt that nothing asked for. And sixteen bit arithmetic on an address inside sprite memory destroys a row of it while the picture hardware is reading through that memory.
None of the three was designed. They are side effects, and nobody writing a replacement chip would think to copy them. A processor that shows all three was almost certainly made by Sharp for Nintendo, because imitating a fault this obscure is harder than building the part.
The halt bug carries the finding on its own, because it has no timing window. It happens or it does not. The other two depend on landing inside a window a few cycles wide, and the screen says so rather than treating a miss as a verdict.
Six DMG-01 went through the screen, several runs each. Every one of them answered the same. The byte after halt runs twice, six of ten attempts raise the interrupt that nothing asked for, and the corruption lands on sprite row twenty. There was not a single deviation between machines or between runs.
That measurement corrected the cartridge. The threshold for the second probe had been set at eight of ten, on the assumption that the figure would scatter somewhere near the top. The real answer is six, and it never varies, so with the bar set at eight a perfectly healthy machine kept being told to run the test again. All six consoles showed the same six, which is what revealed the threshold of eight was wrong.
What the screen cannot say is worth printing too. A good clone can copy a fault that has been published, and these three have been. The processor is one part of a machine, and a genuine chip can sit on a replacement board. An emulator passes the test as well, which is why the screen says as much itself: it counts on a real Game Boy.
Three pictures the eye can answer
The screen is the other part a collector asks about, and there software really cannot tell. The processor writes into video memory and its part ends there. No wire leads back from the panel, no register says what hangs there, and a replacement kit announces itself nowhere.
So the cartridge does the one thing it can. It draws two patterns in which the difference is obvious, and says what to look for.
The bars swap twice a second. A still frame shows only one of the two phases. Four shades, four columns. What matters is the edge between them, not the surface.
The first flips bars of light and dark twice a second. An original panel needs several frames to follow, so the bars blur towards grey. A modern panel switches in one frame and keeps them sharp. This is the same lag that taught every owner to read a moving sprite by its trail.
The second shows the four shades as four columns and asks for the contrast wheel to be turned from end to end. On an original all four travel, and the two middle ones collapse into their neighbours near either end. The third shows the same columns and asks for the machine to be tilted. An original washes out within a few degrees and takes on a green cast.
Nothing is measured and nothing is written down. An observation made by eye is not a finding, and a report carrying it would look like a measurement.
Tried side by side on an original and on a machine fitted with an IPS panel, all three patterns told the two apart. The contrast wheel turned out to be the most reliable of them, which was the surprise. It does not depend on judging a difference in grey, only on whether anything moves at all.
Download and browser emulation
The cartridge runs in a browser on the GB Test Lab page, and the ROM can be downloaded below. A flash cartridge with a working battery is worth looking for, because the records only survive the power being switched off if there is one.
Use fresh alkaline cells rather than rechargeables: at 1.2 volts a rechargeable can light the lamp yet leave the printer's roller unable to turn, and a flash cartridge draws more current than an ordinary game. Mind the cartridge's own battery too, because the records only survive a power switch off if that cell is good, and a dying one loses them without a word. |
One last thing is worth knowing before trying it in a browser. Contact bounce is mechanical, and an emulator switches a key in a single cycle, so every key reads one edge and 00.00 milliseconds whatever the keyboard under the fingers is doing. The link port behaves in much the same way, and the printer screen reports no printer, because there is none on a browser's link port.
That is not a fault in the cartridge. It is the clearest possible proof that these screens measure hardware rather than software.
It is, in the end, the same instinct as the rest of this collection: write down what the object actually does, with the number next to it, and say plainly where the knowledge stops.
A note on use The GB Test Lab is a private, hobby diagnostic tool, offered as-is and used entirely at your own risk; this project cannot accept liability for any damage to a console, cartridge, printer or anything else. It is also a guide rather than a guarantee: a machine that passes here can still carry a fault the cartridge is honest about not being able to see, so treat the results as informed evidence, not a certificate. |
Changelog
The project began in September 2023 and was picked up in bursts whenever time and resources allowed, which is why it took three years to reach a first release. The original notes carried no dates, so the timeline below reconstructs the order of the work as faithfully as memory permits, listed newest first.
...after the first release
Added a confirmation before anything prints, which also says the screen will go dark
Added clearing of the log, so a cartridge can be handed on without the previous machine's entries
Added a notice before the system check, which says the screen goes dark for several seconds
Added a rematch in the linked game, started from one machine so the other follows
September 2026
Released the first public version of the GB Test Lab, published alongside this Journal article.
Added progress messages while printing, so a long job does not look like a hang
Added an exposure ladder, five settings on one strip, with the chosen value kept
Implemented a dot check that fires all 160 heaters of the print head
Extended the wiki to twenty articles, four of them on the printer and the camera
Changed the menus to wrap around at both ends
Extended the QR code to carry every test by name, with the measurements alongside
Extended the report to print whole or one page at a time
March 2026
Added PRINTER, four probes that use no paper before anything is printed
Added PANEL, screen patterns for what a cartridge cannot measure by itself
Added CART, comparing what the cartridge header claims against what the board does
Implemented a plain statement of whether this is a real Game Boy
Added three documented traits of the processor, observed rather than judged
Extended the interrupt screen to name the source of each interrupt
August 2025
Unified the footers, so the same key does the same thing on every screen
Added idle screens that say what is about to be measured
Changed the monitor to interpret its numbers instead of listing them
Added printed insert sheets for the case, generated with the build
Implemented Quick check: four tests in sequence and one verdict
Added a question at start-up, so nothing runs unasked
Added a quiet click on every key press, with a setting to switch it off
April 2025
Implemented the address decoding test for the cartridge slot
Added every interrupt source and the engine that fills the sprite memory
Added a game of pong over the same cable
Implemented CABLE, which measures one console's crystal against another
December 2024
Added a help screen and paging through the longer lists
Added one stored record per Game Boy tested
Introduced a two-level menu and a findings report over several pages
Added a wiki of articles about the machine the cartridge is testing
Extended SLOT and LINK to name the line at fault, not only that something is
August 2024
Added a title screen and a portrait on the about page
Added printing on the Game Boy Printer
Implemented the findings as a QR code, calculated on the Game Boy itself
Implemented a burn-in run that keeps testing for as long as it is left alone
Added a log kept in the cartridge's battery-backed memory
May 2024
Implemented all four sound voices, each playable on its own
Added screen patterns for stuck pixels, contrast and ghosting
Added a battery probe for cartridges that claim to save
Implemented the memory test across five areas, each checked for the faults that area can have
December 2023
Added a live monitor of what the machine is doing while it runs
Implemented the register fingerprint at start-up, which names the model
Added an explanation behind SELECT on each test, written in plain words
Implemented bounce measurement for every button, pressed and released
Added the button test
September 2023
Added the frame of the cartridge: menus, paging, footers and the text engine everything is drawn with
Settled the toolchain and the cartridge: GBDK-2020 with C, a variable-width font, and battery-backed memory for the findings
Defined the scope: a diagnostic cartridge rather than a game, one that also states plainly what it cannot check
Researched what a Game Boy can establish about itself, and what needs an instrument outside it
The Test Lab belongs to a small family of cartridges the museum made for the Game Boy, next to the GB Museum on a Cartridge, a reference work that runs on the handheld, and Label Boy, its printer label maker.










Comments