diff options
author | Angelo Salese <angelosa@users.noreply.github.com> | 2009-06-03 20:15:08 +0000 |
---|---|---|
committer | Angelo Salese <angelosa@users.noreply.github.com> | 2009-06-03 20:15:08 +0000 |
commit | ef95a2f4844ee77ad9564a0616e676ac3919c8fd (patch) | |
tree | fc3f4bb06c57a52827aef3e54d003f14e9180882 | |
parent | ce4ecc4a7841100cc164207a0365abf05b6e363b (diff) |
Added an heuristic table for the PSG in Oli-Boo-Chu, not worth mentioning
-rw-r--r-- | src/mame/drivers/olibochu.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c index 5da3b52e380..b2779724471 100644 --- a/src/mame/drivers/olibochu.c +++ b/src/mame/drivers/olibochu.c @@ -8,6 +8,47 @@ TODO: - main->sound cpu communication is completely wrong, commands don't play the intended sound. +============================================================================ +PSG table: +data0 |data1 |sample | possible data trigger +---------------------------------------------------------- +0x80 |0x00 | coin | +0x08 |0x00 | opening melody | +0x40 |0x00 | bgm | +0x04 |0x00 | hi-score melody | +0x02 |0x00 | ending melody | +0x01 |0x00 | spot melody | +0x10 |0x00 | clear melody | +0x20 |0x00 | race trap melody | +0x00 |0x80 | extend sound | +0x00 |0x40 | oli paralyze | +0x00 |0x04 | chu out | +0x00 |0x08 | mystery sound | +0x00 |0x01 | oli out | +0x00 |0x10 | chu has food | +0x00 |0x00 | <stop playing> | +----------------------------------------------------------- + 0x02? *0xb doesn't do nothing + 0x20? *0xc doesn't do nothing + +$7004 writes, related to $7000 reads +0x00-0x0f <don't care (retains previous value> +0x10-0x1f 0x28 +0x20-0x2f 0x00 +0x30-0x3f 0x48 +0x40-0x4f 0x00 +0x50-0x5f 0x80 +0x60-0x6f 0x3a +0x70-0x7f 0x70 +0x80-0x8f 0x0f +0x90-0x9f 0x0a +0xa0-0xaf 0x3a +0xb0-0xbf 0x61 +0xc0-0xcf 0xca +0xd0-0xdf 0x01 +0xe0-0xef 0x14 +0xf0-0xff 0x32 + ***************************************************************************/ #include "driver.h" @@ -181,6 +222,8 @@ static ADDRESS_MAP_START( olibochu_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_BASE(&videoram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_BASE(&colorram) + AM_RANGE(0x9000, 0x903f) AM_RAM //??? + AM_RANGE(0x9800, 0x983f) AM_RAM //??? AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_RANGE(0xa002, 0xa002) AM_READ_PORT("IN2") @@ -199,6 +242,8 @@ static ADDRESS_MAP_START( olibochu_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6000, 0x63ff) AM_RAM AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r) /* likely ay8910 input port, not direct */ AM_RANGE(0x7000, 0x7001) AM_DEVWRITE("ay", ay8910_address_data_w) + AM_RANGE(0x7004, 0x7004) AM_WRITENOP //sound filter? + AM_RANGE(0x7006, 0x7006) AM_WRITENOP //irq ack? ADDRESS_MAP_END |