Skip to content

GSSquared Test Suites Status

In GSSquared development, I frequently utilized what is known as test-driven development. Test programs are written to exercise hardware, record behavior, and then the emulator is written to also match the recorded results.

Summary: At this time there are no known issues with 65C02 or 65816 emulation; N6502 lacks support for the "undocumented opcodes".

IIgs needs support for PAL timing and 14/16MHz mode switching effects; NTSC/PAL colorburst handling needs improvement;

IIgs IWM needs work.

With the exception of the N6502 above, this is cosmetic and none causes software to crash.

Tests

Test Platforms Pass/Fail Notes
6502IRQ IIe ✅ Tests exact 6502 IRQ timing inside instruction execution
Textfunk IIgs ✅ There is still a minor timing discrepancy that affects the border coloring but not display of the pictures
mb-audit IIe ✅ Tom Charlesworth amazing Mockingboard Test
Built-in Diag IIe ✅ Passes
ROM 01 Built-in Diag IIgs ✅ Passes
ROM 03 Built-in Diag IIgs ❌ Fails due to missing ADB Sticky Keys
6502_65C02_functional_tests II+, IIe, IIe Enh ✅ 100% pass
snes-tests IIgs ✅ A pretty good SNES emulation community 65816 test
cycletest IIe, IIgs ✅ I wrote this test, it passes 100% but it missed a few instructions, needs an update
IWMtest IIgs ✅❌ Ian Brumby test suite for IWM - we pass about half
Zellyn Audit ✅ IIe MMU / lang card / aux bank tests
Apple II+ Diagnostic Disk II+ ✅ Apple tool for II+ era, disks, language card, RAM test, joystick
Apple IIgs Diagnostic 3.1 IIgs ✅❌ Fails SCC; System Speed/Interrupts;
truegs IIgs ✅ Tests SHR Linearization and Tech Note #201
Sather 3.10B II+ IIe IIgs ✅ The first cycle-counting screen demo
Locksmith IIe ✅ Can bit-copy copy protected WOZ disks; speed test returns correct 300RPM
Crazy Cycles & CCII IIe IIgs ✅ Correct except colorburst handling
XMAS Demo IIgs We don't handle display pixel clock shift between 14MHz/16MHz correctly
Woz Test Disks IIe, IIgs ✅ All copy-protected woz disk images boot and run correctly
Alien Mind IIgs ✅ Copy-protected 3.5" disk title, runs correctly

Arekkusu

This series of tests deserves its own section because they are so intricate and thorough.

Switches

Platforms Pass/Fail Notes
II+ ✅❌
IIe ✅❌
IIgs ✅❌

Generally speaking, GS2 is:

[ ] Doing it about half right

[ ] not correctly reflecting colorburst hold latency. We are determining colorburst per scanline based on the video mode at start of scanline. real monitors hold colorburst for some period via a PLL even after II stops sending colorburst.

[ ] not switching character widths quite right (e.g. when switching from 40 to 80, latency in the switch interacting with the video shift registers )

CPU

Platforms Pass/Fail Notes
IIgs ✅ Completely accurate

One of the few Arekkusu tests GS2 gets completely right.

IRQ

Platforms Pass/Fail Notes
IIgs ✅❌ We partially fail QTR and SEC IRQ tests due to missing support for PAL video mode