From d078268df858fb20eeba2180b0c9e371ce382ddf Mon Sep 17 00:00:00 2001 From: Patrice Mandin Date: Wed, 20 Jul 2005 17:40:58 +0000 Subject: [PATCH] Reserve space in system buffer to call XBIOS from interrupt --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401097 --- src/audio/mint/SDL_mintaudio_it.S | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/audio/mint/SDL_mintaudio_it.S b/src/audio/mint/SDL_mintaudio_it.S index 0df45c406..ece605f2f 100644 --- a/src/audio/mint/SDL_mintaudio_it.S +++ b/src/audio/mint/SDL_mintaudio_it.S @@ -53,6 +53,9 @@ - Then we swap the buffers */ +#define savptr 0x4a2 +#define savamt 0x46 + /*--- GSXB interrupt vector ---*/ .text @@ -130,6 +133,9 @@ _SDL_MintAudio_XbiosInterrupt: /* Callback */ jsr _SDL_MintAudio_Callback + /* Reserve space for registers */ + subl #savamt,savptr + /* Set new buffer */ moveq #0,d0 @@ -149,6 +155,9 @@ _SDL_MintAudio_XbiosInterrupt: trap #14 lea sp@(12),sp + /* Restore registers space */ + addl #savamt,savptr + moveml sp@+,d0-d7/a0-a6 clrw _SDL_MintAudio_mutex