144p Test Suite GB

From GameBrew
144p Test Suite
144ptestsuitegb.png
General
AuthorDamian Yerrick
TypeTest Roms
Version0.23
LicenseGPL-2.0
SystemCGB, DMG
Last Updated2023/03/03
Links
Download
Website
Source
Support Author

Size-optimized ports of Artemio Urbina's 240p Test Suite to 8-bit consoles. The Game Boy ports are in assembly language for speed and size efficiency.

Some functionality has been rearranged to fit the controller or to combine the function of similar tests. Some help pages have been rewritten for completeness, conciseness, and English usage improvements. Some tests' graphics have been replaced to keep the software free.

Screenshots

144ptestsuitegb2.png144ptestsuitegb3.png

144ptestsuitegb4.png144ptestsuitegb5.png

144ptestsuitegb6.png144ptestsuitegb7.png

144ptestsuitegb8.png144ptestsuitegb9.png

Changelog

v0.23 2023/03/03

Highlights:

  • Health warning for tests that flash.
  • Backlight zone test has movement speed control for measuring afterglow time.
  • [NES] Input test (plug in controllers and see if they work).
  • [NES] Monoscope pattern by Keith Raney (khmr33).
  • [NES] MMC1 and MMC3 builds of the Suite and stand-alone ROMs of MDFourier.
  • [GB] Super Game Boy sound test.
  • [GB] Test surround sound decoder.
  • [GBA] Parallax scroll in Hill zone and Shadow sprite isn't glitchy anymore.
  • [GB, GBA] Add Donna background by Jose Salot.

v0.22 2929/11/05

Highlights:

  • NES: Add Safe areas pattern.
  • SMPTE bars (NES): Move I and Q to correct hues ($0C and $03).
  • Color bars (GB, GBA): A to toggle NTSC 7.5% setup.
  • Color bleed: Rearrange to 10 rectangles.
  • GB: Add MDFourier audio test.
  • MDFourier (NES): Run automatically if Start+A held during Reset.
  • Help (NES): Improve antialiasing of Gus's outline.
  • Add a back story for Gus.
  • NES: Begin work on printable manual.
  • Document deliberately replaced assets.

Behind the scenes:

  • NES, GB: Change random formula to reflect new cc65.
  • GB: Continuing micro-optimizations.
  • GB: Free space occupied by RSTs and interrupts that won't be used.
  • GB: Migrate to RGBDS 0.4.0 (no dedent, no duplicate section names, rename GLOBAL to EXPORT).

v0.21 2020/06/02

Highlights:

  • NES: Build-time option to exit to menu if included in Action 53 multicart, either from menu or pressing Reset twice.
  • PLUGE (NES): Draw center grays in correct colors after closing help.
  • MDFourier (NES): Hold Start at boot to skip to this activity; warn for reduced precision (triangle phase differs from power-up state) and add tones to indicate it for profile v7 and v8; fix stuck note after pressing B to stop; caution that Famicom expansions are not tested; NSF version.
  • GB: Add Convergence pattern.
  • Overscan (GB): Change WX in hblank to hide a 1-line-tall glitch (reported by LIJI32).
  • Stopwatch (GB): Make hours digit work.
  • Lame boy (GB): Glove contrast; vest and sleeve trail; squash bottom when on ground; involve the abdominal and back muscles.
  • Help (NES): Add shading detail to Gus's shirt and cap (GBA parity).
  • Help (GB, GBA): Make some descriptions more concise (with Artemio's help).
  • SGB border: Simplify title to reuse more tiles and more closely match the recent Genesis version.

Behind the scenes:

  • Disable -static when building DTE encoder on macOS (#24).
  • Vertical scroll (GB): Compress tilemap with PB16.
  • Help: Move non-ASCII symbols to $18-$1F to free DTE codes; coalesce repeated lines of text; compress each line of text twice and keep the smaller; assume no document has more than 9 pages.
  • GB: Share code for "Select: Invert grays" and for scroll tests' speed control.
  • SGB packet sending: Use ring counter.
  • GB: Switch to smaller ADC/DAA binary to decimal converter.
  • GB: Numerous micro-optimizations.
  • GB unused.py: Recognize more optimization opportunities.
  • GB: Allow use of out-of-PATH copy of RGBDS.
  • GBA: Compile with -fno-common for GCC 10 compatibility.

v0.20 2020/01/31

Highlights:

  • NES, GBA: Add Convergence test.
  • NES: Add MDFourier tone generator.
  • GB: Add SGB-only Chroma crosstalk test.
  • Vertical scroll test (GBA): Display the correct help page.
  • Help (GB, GBA): Blink Gus's eyes.
  • Help (GB): Wait to draw status line until Huffman decoding finishes.

Behind the scenes:

  • GB: Move common routines to RSTs.

v0.19 2019/09/12

Highlights on all platforms:

  • Stopwatch: Bolder digits.
  • Help: Standardize phrasing: "stuck pixels", "hide or show", "start or stop".
  • Help: List patrons as of release time.

Highlights on specific platforms:

  • GB: Super Game Boy colorization and border.
  • Backlight zone (NES, GB): Increase starting size to 2 pixels.
  • Color bleed (GBA): Fix frame # covering everything.
  • PLUGE Contrast and Vertical scroll (GBA): Center pattern horizontally.
  • README (GB, GBA): Explain rationale behind "144p" and "160p" titles.

Behind the scenes:

  • Help (NES, GB): Integrate Johnathan Roatch's faster DTE compressor written in C.
  • Linearity (GB): Compress with reflection.
  • GB: Improve incruniq tilemap compression.
  • GB: Compress font and large graphics with nibble-wise Huffman coding.
  • GB: Move variables to HRAM; other code size optimizations.
  • GBA: Use a more common makefile.
  • GBA: Specify each PNG's conversion settings in a grit file.

v0.18 2019/05/03

Highlights on all platforms:

  • PLUGE: Add PLUGE Contrast sub-test with shark graphic (Genesis 1.16 parity).
  • Want your name in the credits? Become a patron.

Highlights on specific platforms:

  • GB: Mention worse smearing on Game Boy Pocket and other help tweaks.
  • Overscan (NES): Select to invert grays; border contrasts with BG.
  • Sharpness (NES): Pixel-align emblem at center.
  • Manual lag (NES): Remove misleading DDR-style grading.

Behind the scenes:

  • VWF (GB): Glyph address calculation uses 16-bit shift instruction.
  • VWF labels (GB): Reduce stack use, including moving tile width from stack to register C (requested by ISSOtm).
  • PB16 (GB): Fix padding for odd-length packets.
  • gbcnamtool (GB): Fix vertical flip and conversion without incruniq.
  • GB: More refactoring and other size optimizations (with ISSOtm's help).
  • Help (NES): Compress text with DTE; update Gus look to match GBA.
  • Linearity, Sharpness, Stopwatch, Crosstalk (NES): Compress map with new iu53 codec.
  • NES: Move several tests' code to UNROM bank 2 to make room in fixed bank.
  • Linearity (NES): Construct grid CHR from gridless CHR.
  • Stopwatch (NES): Reduce tiles of sprite circles (the "hand").
  • NES: Move rectfill-based screen layouts to UNROM bank 1.
  • NES: Organize "library" code shared by my other projects into a separate part of the fixed bank.
  • NES: Move most local variables to zero page for smaller code size: now below 40 KiB.
  • NES: Rename some source files to match their GB/GBA counterparts.

v0.17 2018/07/01

Highlights on all platforms:

  • Sharpness: A to show brick wall pattern (Genesis 1.16 parity).
  • Stopwatch: Add third ruler setting to show in even frames (Genesis 1.16 parity).
  • Audio sync: Move ceiling up (Genesis 1.16 parity).
  • Begin to unify help conversion tooling.
  • Unify version numbers.

Highlights on specific platforms:

  • Help (GB): Compress document titles with DTE.
  • Help (GBA): Align line buffer to prevent corruption of nearby variables by DMA memset, fixing Down after Scroll test.
  • Gray ramp (GB): Use Color tests map loader for GBC version.
  • Solid screen (GB, GBA): Explain what a bad high voltage regulator does to SGB and GB Player border (requested by ISSOtm).
  • Stopwatch (GB, GBA): Draw even frame numbers in blue and odd in red (Genesis 1.16 parity).
  • Manual lag (GB): Fix all-black result screen if final press was 0 lag (reported by Great Hierophant, echoing Quietust's NES report).
  • GB: ISSOtm golfed SGB detection by 3 bytes; numerous other size optimizations and tile sheet unifications.
  • GBA: Add license headers.

v0.02 2018/06/22

Highlights:

  • Add Shadow sprite, Stopwatch, Hill zone scroll, and Vertical scroll.
  • Sound test: Add a real time synthesized chord played through PCM.
  • Audio sync: Move ceiling up to match position in 240p Test Suite (for Sega Genesis) version 1.16.
  • Unpacking 2-bit tile data no longer unpacks twice as much data as required, which exposes a bug at the end of a BitUnPack in mGBA's HLE BIOS.

v0.01 2018/06/19

These tests are included:

  • PLUGE.
  • Gradient color bars.
  • SMPTE color bars.
  • Color bars on gray.
  • Color bleed.
  • Grid.
  • Linearity.
  • Gray ramp.
  • Solid color screen.
  • Motion blur.
  • Sharpness.
  • Overscan.
  • Manual lag test.
  • Grid scroll.
  • Full screen stripes.
  • Backlight zone.
  • Sound test (PSG).
  • Audio sync.
  • Lame boy.

v0.06 2018/06/04

  • Add GBC-exclusive tests (PLUGE, Gradient color bars, SMPTE bars, Color bars on gray, Color bleed).
  • LR35902 assembly source files use .z80 extension for more convenient syntax highlighting.
  • Backlight zone background is black, not green.
  • Motion blur, Overscan, and Lame boy demo share 0-9 tiles.
  • Better compression for tile maps using many tiles only once.
  • Lame boy demo no longer shows RNG test.
  • Eliminate some unnecessary ROM byte alignment.

External links

Advertising: