summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Phil Bennett <philipjbennett@users.noreply.github.com>2009-08-26 23:46:02 +0000
committer Phil Bennett <philipjbennett@users.noreply.github.com>2009-08-26 23:46:02 +0000
commit1b2f0fc326212933f9313397ea36754b6c246f6d (patch)
tree396e9162bb2240b7f7636b7d86e385a613684cb1
parentc4bfc4f5f8e54216edf364dc6690b97da0fee64e (diff)
This time, it works...
-rw-r--r--src/mame/drivers/kaneko16.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 9bfe80fa789..8fe2e5ade09 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -3667,11 +3667,11 @@ static DRIVER_INIT( brapboys )
OKI 1:
Address space 0x00000-0x2ffff is fixed
- Address space 0x30000-0x3ffff is banked (16 banks)
+ Address space 0x30000-0x3ffff is banked (13 banks)
OKI 2:
Address space 0x00000-0x1ffff is fixed
- Address space 0x20000-0x3ffff is banked (16 banks)
+ Address space 0x20000-0x3ffff is banked (15 banks)
The current sound device implementation can't handle
the banking dynamically so we have to expand all the bank
@@ -3682,18 +3682,23 @@ static DRIVER_INIT( brapboys )
UINT8 *dst1 = memory_region(machine, "oki1");
UINT8 *dst2 = memory_region(machine, "oki2");
- for (bank = 0; bank < 16; ++bank)
+ /* OKI 1 */
+ for (bank = 0; bank < 13; ++bank)
{
UINT8 *dst;
UINT8 *srcn;
- /* OKI 1 */
dst = dst1 + 0x40000 * bank;
srcn = src + 0x30000 + (0x10000 * bank);
memcpy(dst, src, 0x30000);
memcpy(dst + 0x30000, srcn, 0x10000);
+ }
- /* OKI 2 */
+ /* OKI 2 */
+ for (bank = 0; bank < 15; ++bank)
+ {
+ UINT8 *dst;
+ UINT8 *srcn;
dst = dst2 + 0x40000 * bank;
srcn = src + 0x120000 + (0x20000 * bank);
memcpy(dst, src + 0x100000, 0x20000);