top of page

A Cartridge That Tests the Machine It Sits In

Writer: Marcel Pflug
Marcel Pflug
Sep 23
23 min read

Updated: 50 minutes ago


GB Test Lab - GB Classic Test Cartridge
GB Test Lab - A Test Cartridge for your DMG-01

Content and Introduction




Every collector of old hardware knows the same silence. A Game Boy arrives, the screen lights up, a game runs, and nothing obvious is wrong. Whether the machine is actually healthy is a question nobody can answer, because there is nothing to measure it against.


GB Test Lab Cartridge - Game Boy (DMG-01)

This collection now has an answer, and it comes on a cartridge.


The GB Test Lab is the second cartridge built here. The first is a reference work, a catalogue and a wiki on a cartridge, in the manner of the InfoGenius titles of 1991. This one does something else entirely: it examines the machine it is plugged into and puts numbers on the screen.



System Requirements


  • A classic Game Boy. It is built for the DMG-01 and its baseline figures are DMG-01 figures (not intended for Pocket, Color, or Game Boy Advance or any later models).

  • A flash cartridge that handles MBC5 and 256 kilobytes. This is the one that catches people out: a cheap cartridge emulating only MBC1 or MBC3, or stopping at 32 kilobytes, gives a black screen and nothing else. An EverDrive runs it

  • A battery in that cartridge, if the records are to survive being switched off

  • Fresh alkaline cells. A flash cartridge draws considerably more than a game, and tired cells make a Game Boy fail in ways that look exactly like faults in the machine

  • For the cable screen: a second Game Boy, a link cable and a second copy of the cartridge

  • For the report on paper: a Game Boy Printer and thermal paper


Nintendo had one first

The idea is not new, and the original is in the historical record. Nintendo service departments used a test cartridge whose board is marked DMG-AGING-01. Ageing, in that sense, means running a machine under load for a long time and seeing what falls over.

The cartridge checked the screen, the buttons, the speaker, the memory and the sound chip, and it existed because a repair shop needs a yes or a no rather than an impression.

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

The limits are worth stating plainly, because they decide what a cartridge like this can honestly 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 is fair game, and there is more of it than the existing cartridges suggest.


One button, four tests, one word

A collector holding an unknown Game Boy asks one question before all the others, which is whether the machine is worth keeping at all.

The cartridge answers it with a single menu entry. Quick check runs memory, the cartridge slot, the interrupts and the system check one after another, and gives a single verdict.

Those four are the tests that need nothing from the person holding the machine. Everything else on the cartridge wants eyes, ears, a second console or a cable.

The run takes under a minute. Each screen stays up for about a second on the way, so the whole thing can be watched rather than waited out, and B between two of them stops it.

The verdict has three states rather than two. PASSED means all four held. FAILED means at least one did not. INCOMPLETE means one of them never ran, which is not the same as failing: a test that has not answered the question cannot be called a pass.


Quick check on a Game Boy screen, four tests each reading pass, with the verdict PASSED underneath
Four tests, one word. The line below the verdict says what the word does not cover.

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.

There is a second rule behind these screens, and it came out of using the cartridge rather than building it. Every test that measures something now shows what it is about to do and waits for a key.

The reason is not politeness. Opening the slot, link or interrupt screen used to write a finding straight into the record of that machine, so looking at a menu entry changed the account of the console being examined.


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 button in a Game Boy is a rubber pad with a conductive face. When it lands it does not close once. It closes, opens and closes again within a few thousandths of a second, and that is contact bounce. It is normal, it is mechanical, and a worn pad bounces longer and more often than a fresh one.

That can be counted without opening the case.


Bounce measurement on a Game Boy, eight keys with edge counts and milliseconds, each row ending in a tick
Two numbers per key, per direction. A worn pad shows up as both of them rising.

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 a snapshot. The interesting question is whether a machine is getting worse, and that needs 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.


Machine list showing numbered records with a star on the current one.
Numbered rather than named. The star marks the machine being recorded to.

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.


Memory screen listing eight areas, what each one is, and whether it held
Eight lines over five areas, the addressing and the sprite transfer.

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 lines were added later, and none of them tests a cell. The echo area is the same work memory seen at a second address, so checking it proves 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 still runs. Some games break and most do not, which makes it the hardest kind of fault to find.

The cartridge checked one of the five for a long time, and only by accident. Every screen here waits for the vertical blank, so that 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.

Interrupt screen listing six sources with where each interrupt comes from
Five sources raise a flag. The sixth line asks whether the processor acts on one.

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 asks the other half of the question, because raising a flag is not the same as acting on one. It uses the timer, the one source that needs neither the screen nor a finger.


Every line of the slot, named

One number on the system screen used to do all of this work. The cartridge adds up every byte of its own ROM, across all sixteen banks, and compares the result with the checksum stored in its header. To do that it has to read every address, so every address line and every data line of the slot has to carry.

That says something is wrong. It does not say what.


Slot test screen naming address and data lines.
A wrong checksum says something is wrong. A named line says which one.

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.

A failing line is named. That is the difference between knowing a slot is dirty and knowing that A7 and D3 are 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.


Slot watch screen on a Game Boy counting runs and flips for four groups of cartridge contacts
The same test, over and over. What is counted is not the result but how often it changes.

One flip in a thousand runs is worth believing. A group that climbs steadily while one corner is pressed has told the tester where to look.

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 tests the console. One of them tests the board it is plugged into, and that board is the part of the arrangement nobody can 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 CART screen of the GB Test Lab, showing header claims beside measured values for mapper, RAM size, RAM banks, write lock and battery.
Two columns. The left one is what the header claims, the right one is what the board actually does.

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.


Loopback Plug for Game Boy (DMG-01) - Blueprint drawing of a DMG-01 link socket showing which two contacts to bridge and which never to touch
How to build a test cable (Loopback Plug)

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.

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.


GB Test Lab - Cable Test with two Game Boys
Two machines and a cable. One leads, the other answers.

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.


That is finer than the difference between two healthy crystals, so the figure is worth reading and not only its verdict. Two of the same grade may differ by a hundred parts per million and both be within specification, and anything under two hundred reads as matched.

The number also stands on the first page of the report, beside the word. 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 A makes it lead only after a random pause during which it keeps listening. Press A on both, and the slower one hears the faster and follows it.


GB Test Lab - Ping Pong Cable Test
Two machines, one cable, a moving ball. The proof that needs no explaining.

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.


Burn-in screen showing elapsed time, rounds and errors.
Rounds of about two seconds, looping. A fault under load shows up here and not in a one second test.

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.


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.


GB Test Lab - Report Page 1
Page one: the verdict, the machine number and the model

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.


GB Test Lab - Test report on printer and as QR code
Fifth page of the test report: The QR code allows to transfer the test results to the PC

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 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.


GB Test Lab - Printer Connection Established
Game Boy successfully connected to the printer

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.


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.


Wiki index on the cartridge, listing articles about the machine.
Twenty articles, and each one 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.


Wiki article titled What Cannot Be Tested.
The most useful article on the cartridge is the one listing what it cannot see.


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 exception, and the reason is that it has flaws.


The waiting screen of the CPU QUIRKS test, listing the halt bug, the STAT write and the OAM scan.
Three quirks of the processor. The screen says what it will look at before it looks.

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 moves, so a healthy machine was being told to run the test again. Six machines said so before there was any reason to doubt the eight.


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 with an original and a machine fitted with an IPS panel, all three separated the two. 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

GB Test Lab - Main Screen
GB Test Lab - Browser Version

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.


One 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.


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

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page