1 /*
2 ** Nofrendo (c) 1998-2000 Matthew Conte (matt@conte.com)
3 **
4 **
5 ** This program is free software; you can redistribute it and/or
6 ** modify it under the terms of version 2 of the GNU Library General
7 ** Public License as published by the Free Software Foundation.
8 **
9 ** This program is distributed in the hope that it will be useful,
10 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 ** Library General Public License for more details.  To obtain a
13 ** copy of the GNU Library General Public License, write to the Free
14 ** Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
15 ** MA 02110-1301, USA.
16 **
17 ** Any permitted reproduction of these routines, in whole or in part,
18 ** must bear this legend.
19 **
20 **
21 ** vrcvisnd.h
22 **
23 ** VRCVI (Konami MMC) sound hardware emulation header
24 ** $Id: vrcvisnd.h,v 1.2 2003/12/05 15:55:01 f1rmb Exp $
25 */
26 
27 #ifndef _VRCVISND_H_
28 #define _VRCVISND_H_
29 
30 typedef struct vrcvirectangle_s
31 {
32    uint8 reg[3];
33    int32 phaseacc;
34    uint8 adder;
35 
36    int32 freq;
37    int32 volume;
38    uint8 duty_flip;
39    boolean enabled;
40 } vrcvirectangle_t;
41 
42 typedef struct vrcvisawtooth_s
43 {
44    uint8 reg[3];
45    int32 phaseacc;
46    uint8 adder;
47    uint8 output_acc;
48 
49    int32 freq;
50    uint8 volume;
51    boolean enabled;
52 } vrcvisawtooth_t;
53 
54 typedef struct vrcvisnd_s
55 {
56    vrcvirectangle_t rectangle[2];
57    vrcvisawtooth_t saw;
58 } vrcvisnd_t;
59 
60 #include "nes_apu.h"
61 
62 extern apuext_t vrcvi_ext;
63 
64 #endif /* _VRCVISND_H_ */
65 
66 /*
67 ** $Log: vrcvisnd.h,v $
68 ** Revision 1.2  2003/12/05 15:55:01  f1rmb
69 ** cleanup phase II. use xprintf when it's relevant, use xine_xmalloc when it's relevant too. Small other little fix (can't remember). Change few internal function prototype because it xine_t pointer need to be used if some xine's internal sections. NOTE: libdvd{nav,read} is still too noisy, i will take a look to made it quit, without invasive changes. To be continued...
70 **
71 ** Revision 1.1  2003/01/08 07:04:36  tmmm
72 ** initial import of Nosefart sources
73 **
74 ** Revision 1.7  2000/06/20 04:06:16  matt
75 ** migrated external sound definition to apu module
76 **
77 ** Revision 1.6  2000/06/20 00:08:58  matt
78 ** changed to driver based API
79 **
80 ** Revision 1.5  2000/06/09 16:49:02  matt
81 ** removed all floating point from sound generation
82 **
83 ** Revision 1.4  2000/06/09 15:12:28  matt
84 ** initial revision
85 **
86 */
87