Mercurial > audlegacy-plugins
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 |
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 } |