Everything about the GUS so far is about 99% accurately emulated in DOSBox! There are some things missing though and some inaccuracies that need to be addressed: - Start/end looping registers---when exactly does the chip stop and compare the start/end values to loop? DOSBox I think does it differently from an actual GUS. - NMI emulation. This is the one area DOSBox does not do. When enabled on the GUS by SBOS or MEGAEM, accessing certain ports triggers a NMI interrupt. The question to ask is: how does the NMI interrupt system work? When the card signals NMI, does the CPU immediately stop what it's doing and execute NMI? Is the signal that fast even on PCI-ISA motherboards? Does the handler then read the I/O port being accessed from DX or does the GUS have some way to convey what I/O port was accessed and how? Does the NMI handler have to clear or acknowledge anything to the GUS? How do you enable this NMI function on the GUS? What registers do you write? Ideally, I'd like to implement this to the extent that DOSBox-X's NMI emulation is an accurate reproduction of the NMI interrupt from a GUS on actual hardware, to the point that Gravis's own DOS drivers can work with it. Yes, that would also allow DOSBox to run SBOS and the ungodly abomination known as MEGA-EM, so that future generations can know what it was like.