Spice86: Difference between revisions

From Stunts Wiki
HerrNove (talk | contribs)
No edit summary
HerrNove (talk | contribs)
No edit summary
Line 1: Line 1:
Stunts works well under many emulators.
'''[https://github.com/OpenRakis/Spice86 Spice86]''' is an experimental emulator, whose support for Stunts is being worked on as of 2025. At present (2025-03-01) it can start the game, but no sound is played (start with <code>-a ns</code> to avoid wasting cycles on that)
 
'''Spice86''' is an experimental emulator, whose support for Stunts is being worked on as of 2025. At present (2025-03-01) it can start the game, but no sound is played (start with <code>-a ns</code> to avoid wasting cycles on that)
Additionally, one must give the parameter <code>--InstructionsPerSecond 5000000</code>.  
Additionally, one must give the parameter <code>--InstructionsPerSecond 5000000</code>.  



Revision as of 02:58, 1 March 2025

Spice86 is an experimental emulator, whose support for Stunts is being worked on as of 2025. At present (2025-03-01) it can start the game, but no sound is played (start with -a ns to avoid wasting cycles on that) Additionally, one must give the parameter --InstructionsPerSecond 5000000.

The reason for this workaround is that Stunts activates interrupts in the middle of the int 8 handler (see here), so another int 8 can could be triggered in between. This interrupt corresponds to the programmable interrupt timer, which Stunts sets at 100 Hz. So if the int 8 handler needs more than 1/100 seconds to run, disaster ensues. This probably never happens on real CPUs, but might occur if the emulator's simulated CPU is too slow with respect to the simulated PIT.