nkeynes@11 | 1 | /**
|
nkeynes@46 | 2 | * $Id: aica.h,v 1.4 2005-12-27 08:42:57 nkeynes Exp $
|
nkeynes@11 | 3 | *
|
nkeynes@11 | 4 | * MMIO definitions for the AICA sound chip. Note that the regions defined
|
nkeynes@11 | 5 | * here are relative to the SH4 memory map (0x00700000 based), rather than
|
nkeynes@11 | 6 | * the ARM addresses (0x00800000 based).
|
nkeynes@11 | 7 | *
|
nkeynes@11 | 8 | * Copyright (c) 2005 Nathan Keynes.
|
nkeynes@11 | 9 | *
|
nkeynes@11 | 10 | * This program is free software; you can redistribute it and/or modify
|
nkeynes@11 | 11 | * it under the terms of the GNU General Public License as published by
|
nkeynes@11 | 12 | * the Free Software Foundation; either version 2 of the License, or
|
nkeynes@11 | 13 | * (at your option) any later version.
|
nkeynes@11 | 14 | *
|
nkeynes@11 | 15 | * This program is distributed in the hope that it will be useful,
|
nkeynes@11 | 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
nkeynes@11 | 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
nkeynes@11 | 18 | * GNU General Public License for more details.
|
nkeynes@11 | 19 | */
|
nkeynes@11 | 20 |
|
nkeynes@11 | 21 | #include "mmio.h"
|
nkeynes@11 | 22 |
|
nkeynes@11 | 23 | MMIO_REGION_BEGIN( 0x00700000, AICA0, "AICA Sound System 0-31" )
|
nkeynes@11 | 24 | LONG_PORT( 0x000, AICACH0, PORT_MRW, UNDEFINED, "Channel 0" )
|
nkeynes@11 | 25 | MMIO_REGION_END
|
nkeynes@11 | 26 |
|
nkeynes@11 | 27 | MMIO_REGION_BEGIN( 0x00701000, AICA1, "AICA Sound System 32-63" )
|
nkeynes@11 | 28 | LONG_PORT( 0x000, AICACH32, PORT_MRW, UNDEFINED, "Channel 32" )
|
nkeynes@11 | 29 | MMIO_REGION_END
|
nkeynes@11 | 30 |
|
nkeynes@11 | 31 | MMIO_REGION_BEGIN( 0x00702000, AICA2, "AICA Sound System Control" )
|
nkeynes@40 | 32 | LONG_PORT( 0x040, CDDA_VOL_L, PORT_MRW, 0, "CDDA Volume left" )
|
nkeynes@40 | 33 | LONG_PORT( 0x044, CDDA_VOL_R, PORT_MRW, 0, "CDDA Volume right" )
|
nkeynes@40 | 34 | LONG_PORT( 0x800, VOL_MASTER, PORT_MRW, UNDEFINED, "Master volume" )
|
nkeynes@40 | 35 | LONG_PORT( 0x890, AICA_TIMER, PORT_MRW, 0, "IRQ Timer (?)" )
|
nkeynes@46 | 36 | LONG_PORT( 0x89C, AICA_UNK1, PORT_MRW, 0, "AICA ??? 1" )
|
nkeynes@46 | 37 | LONG_PORT( 0x8A4, AICA_UNK2, PORT_MRW, 0, "AICA ??? 2" )
|
nkeynes@46 | 38 | BYTE_PORT( 0x8A8, AICA_UNK3, PORT_MRW, 0, "AICA ??? 3" )
|
nkeynes@46 | 39 | BYTE_PORT( 0x8AC, AICA_UNK4, PORT_MRW, 0, "AICA ??? 4" )
|
nkeynes@46 | 40 | BYTE_PORT( 0x8B0, AICA_UNK5, PORT_MRW, 0, "AICA ??? 5" )
|
nkeynes@44 | 41 | LONG_PORT( 0xC00, AICA_RESET,PORT_MRW, 1, "AICA reset" )
|
nkeynes@46 | 42 | LONG_PORT( 0xD04, AICA_UNK6, PORT_MRW, 0, "AICA ??? 6" )
|
nkeynes@11 | 43 | MMIO_REGION_END
|
nkeynes@11 | 44 |
|
nkeynes@11 | 45 | MMIO_REGION_LIST_BEGIN( spu )
|
nkeynes@11 | 46 | MMIO_REGION( AICA0 )
|
nkeynes@11 | 47 | MMIO_REGION( AICA1 )
|
nkeynes@11 | 48 | MMIO_REGION( AICA2 )
|
nkeynes@11 | 49 | MMIO_REGION_LIST_END
|
nkeynes@11 | 50 |
|
nkeynes@11 | 51 | void aica_init( void );
|
nkeynes@11 | 52 | void aica_reset( void );
|