filename | src/aica/aica.c |
changeset | 11:0a82ef380c45 |
next | 15:5194dd0fdb60 |
author | nkeynes |
date | Sun Dec 11 12:00:09 2005 +0000 (18 years ago) |
permissions | -rw-r--r-- |
last change | Moved arm material under aica/ Hooked arm disasm up |
view | annotate | diff | log | raw |
1 /**
2 * $Id: aica.c,v 1.1 2005-12-11 12:00:09 nkeynes Exp $
3 *
4 * This is the core sound system (ie the bit which does the actual work)
5 *
6 * Copyright (c) 2005 Nathan Keynes.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 */
19 #include "dream.h"
20 #include "aica.h"
21 #define MMIO_IMPL
22 #include "aica.h"
24 MMIO_REGION_READ_DEFFN( AICA0 )
25 MMIO_REGION_READ_DEFFN( AICA1 )
26 MMIO_REGION_READ_DEFFN( AICA2 )
28 /**
29 * Initialize the AICA subsystem. Note requires that
30 */
31 void aica_init( void )
32 {
33 register_io_regions( mmio_list_spu );
34 MMIO_NOTRACE(AICA0);
35 MMIO_NOTRACE(AICA1);
36 arm_mem_init();
37 }
39 void aica_reset( void )
40 {
42 }
44 /** Channel register structure:
45 * 00
46 * 04
47 * 08 4 Loop start address
48 * 0C 4 Loop end address
49 * 10 4 Volume envelope
50 * 14
51 * 18 4 Frequency (floating point
52 * 1C
53 * 20
54 * 24 1 Pan
55 * 25 1 ??
56 * 26
57 * 27
58 * 28 1 ??
59 * 29 1 Volume
60 * 2C
61 * 30
62 *
64 /* Write to channels 0-31 */
65 void mmio_region_AICA0_write( uint32_t reg, uint32_t val )
66 {
67 // aica_write_channel( reg >> 7, reg % 128, val );
69 }
71 /* Write to channels 32-64 */
72 void mmio_region_AICA1_write( uint32_t reg, uint32_t val )
73 {
74 // aica_write_channel( (reg >> 7) + 32, reg % 128, val );
76 }
78 /* General registers */
79 void mmio_region_AICA2_write( uint32_t reg, uint32_t val )
80 {
82 }
.