annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
142
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
1 #include <ctype.h>
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
2 #include <math.h>
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
3 #include <stdio.h>
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
4 #include <stdlib.h>
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
5 #include <string.h>
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
6
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
7 #include "sapGlobals.h"
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
8
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
9 extern void pokeyInit0( void );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
10 extern void pokeyInit1( void );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
11 extern void pokeyReset0( void );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
12 extern void pokeyReset1( void );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
13 extern void pokeyUpdateSound0( int n );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
14 extern void pokeyUpdateSound1( int n );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
15 extern void pokeyUpdateSoundCounters0( void );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
16 extern void pokeyUpdateSoundCounters1( void );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
17
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
18 void pokeyInit( void )
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
19 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
20 pokeyInit0();
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
21 pokeyInit1();
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
22 }
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
23 void pokeyReset( void )
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
24 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
25 pokeyReset0();
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
26 pokeyReset1();
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
27 }
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
28
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
29 void pokeyUpdateSound( int n )
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
30 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
31 int oldBufPtr = sndBufPtr;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
32 pokeyUpdateSound0( n );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
33 if( isStereo )
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
34 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
35 sndBufPtr = (oldBufPtr+1)&16383;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
36 pokeyUpdateSound1( n );
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
37 sndBufPtr = (sndBufPtr-1)&16383;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
38 }
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
39 }
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
40
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
41 void pokeyUpdateSoundCounters( void )
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
42 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
43 pokeyUpdateSoundCounters0();
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
44 pokeyUpdateSoundCounters1();
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
45 }
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
46
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
47 BYTE pokeyReadByte( short unsigned int address)
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
48 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
49 BYTE retVal;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
50
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
51 switch( address&0x0F )
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
52 {
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
53 case 0x09:
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
54 return 0xFF;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
55 case 0x0A:
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
56 retVal = (BYTE)((255*rand())/RAND_MAX);
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
57 return retVal;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
58 case 0x0E:
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
59 return 0xFF;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
60 case 0x0F:
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
61 return 0xFF;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
62 }
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
63 return 0xFF;
c0b31cf2c7cd [svn] Atari XL SAP. This compiles anything but cleanly, but somehow still
asheldon
parents:
diff changeset
64 }