Mercurial > audlegacy-plugins
diff src/sap/saplib/sapPokey.cxx @ 145:7804476ba85a trunk
[svn] - C++ files -> .cxx
- build saplib inline
- remove version.h and chase removal issues
author | nenolod |
---|---|
date | Mon, 30 Oct 2006 17:47:41 -0800 |
parents | src/sap/saplib/sapPokey.cpp@c0b31cf2c7cd |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sap/saplib/sapPokey.cxx Mon Oct 30 17:47:41 2006 -0800 @@ -0,0 +1,64 @@ +#include <ctype.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "sapGlobals.h" + +extern void pokeyInit0( void ); +extern void pokeyInit1( void ); +extern void pokeyReset0( void ); +extern void pokeyReset1( void ); +extern void pokeyUpdateSound0( int n ); +extern void pokeyUpdateSound1( int n ); +extern void pokeyUpdateSoundCounters0( void ); +extern void pokeyUpdateSoundCounters1( void ); + +void pokeyInit( void ) +{ + pokeyInit0(); + pokeyInit1(); +} +void pokeyReset( void ) +{ + pokeyReset0(); + pokeyReset1(); +} + +void pokeyUpdateSound( int n ) +{ +int oldBufPtr = sndBufPtr; + pokeyUpdateSound0( n ); + if( isStereo ) + { + sndBufPtr = (oldBufPtr+1)&16383; + pokeyUpdateSound1( n ); + sndBufPtr = (sndBufPtr-1)&16383; + } +} + +void pokeyUpdateSoundCounters( void ) +{ + pokeyUpdateSoundCounters0(); + pokeyUpdateSoundCounters1(); +} + +BYTE pokeyReadByte( short unsigned int address) +{ +BYTE retVal; + + switch( address&0x0F ) + { + case 0x09: + return 0xFF; + case 0x0A: + retVal = (BYTE)((255*rand())/RAND_MAX); + return retVal; + case 0x0E: + return 0xFF; + case 0x0F: + return 0xFF; + } + return 0xFF; +}