The per-game card name is cleared at every load, so a load with shared
cards after one with per-game cards in the same image runs from the
shared Mcd001.ps2 and Mcd002.ps2. The per-game name is the content's
file name without its extension.
tests/secondload's first session loads a blank disc image with per-game
cards and the later ones load none with the shared cards; the run checks
that the shared card is the one used and that no card is named after
empty content.
MainLoop's exit tail kills the work eventcount when the GS closes, and
the ring keeps whatever was written after the tail skipped it. TryOpenGS
now clears the ring and revives the eventcount every time it opens the
GS, not only the first time in an image. A frontend that closes content
and gets the same image back from dlclose - statics and all - starts its
next session with a GS ring the frontend's thread can drain (#171: the
second load slowing down and hanging at unload with every thread
spinning).
tests/secondload keeps the library loaded across three sessions on a
synthetic BIOS that scans out a display and streams GIF DMA packets.