summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roberto Fresca <robertof@mamedev.org>2012-12-13 20:00:48 +0000
committer Roberto Fresca <robertof@mamedev.org>2012-12-13 20:00:48 +0000
commite84351c68bacfbd46eceff3cc373bdd9c6803683 (patch)
tree944c331599af7896317c102863548f2b151449cb
parentc41eaf740b5a54f1964ee5f7b979d780010c0800 (diff)
Kuru Kuru Pyon Pyon: Documented the bookkeeping, character names
(bets 1-2-3-4-5), and found the port that trigger the M5205 samples [Roberto Fresca]
-rw-r--r--src/mame/drivers/kurukuru.c55
1 files changed, 44 insertions, 11 deletions
diff --git a/src/mame/drivers/kurukuru.c b/src/mame/drivers/kurukuru.c
index 2bb98e2d5f0..e026059851f 100644
--- a/src/mame/drivers/kurukuru.c
+++ b/src/mame/drivers/kurukuru.c
@@ -51,15 +51,36 @@
The game name could be translated as "Croak Croak Hop Hop"
Kuru is the frog sound, and Pyon is the sound of jumps.
- The game is playable, even when you can't see some graphics.
+ The game is playable, even when you can't hear all sounds.
Coin 1 (key 5) is not working properly and could hang the system.
+ Once pressed, the game spits a message that means "Jammed Medal".
For now, use Coin 2 (key 6) and Service (key 8) for credits...
If you pressed Coin 1 and the game is not responding anymore, press RESET
(key 0) and the game will reset to default values.
+ In the Book Keeping, you can find the statistics...
+
+ 1st screen...
+
+ - OMAKE: Extra/Bonus.
+
+ 2nd screen...
+
+ - TATE: Vertical.
+ - YOKO: Horizontal.
+ - NANAME: Diagonal.
+
+ ...for each character (BOTE, OUME, PYOKO, KUNIO & PP).
+
+ Also...
+
+ - AKA: Red.
+ - KURO: Black.
+
+
***************************************************************************
TODO:
@@ -67,7 +88,7 @@
- Audio CPU interrupts and connections/latches.
- M5205 ADPCM system.
- Hook up AY8910 output ports.
- - Find why the use of coin 1 hangs the game.
+ - Find why the use of coin 1 always jams. Hopper?
***************************************************************************/
@@ -147,14 +168,15 @@ static ADDRESS_MAP_START( kurukuru_map, AS_PROGRAM, 8, kurukuru_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0xdfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("nvram")
-// AM_RANGE(0xe400, 0xefff) AM_RAM
+ AM_RANGE(0xe400, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("share")
ADDRESS_MAP_END
static ADDRESS_MAP_START( kurukuru_io, AS_IO, 8, kurukuru_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITENOP //seems for switch cpu... or irq?
+// AM_RANGE(0x00, 0x00) AM_WRITENOP // seems for switch cpu... or irq?
AM_RANGE(0x10, 0x10) AM_READ_PORT("DSW1")
+// AM_RANGE(0x20, 0x20) AM_WRITE // trigger the m5205 sample number.
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE( "v9938", v9938_device, read, write )
AM_RANGE(0x90, 0x90) AM_WRITE(kurukuru_bankswitch_w)
AM_RANGE(0xa0, 0xa0) AM_READ_PORT("IN0")
@@ -164,6 +186,17 @@ static ADDRESS_MAP_START( kurukuru_io, AS_IO, 8, kurukuru_state )
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
ADDRESS_MAP_END
+/*
+ 0x00 Writes... 2nd cpu related.
+ 01 when coin 1 (jams)
+ 20 when coin 2
+ 40 when payout (jams) ...check
+
+ 0x20 Writes... # sample to trigger
+ 00, 08, 03, 04, 05 for bets 1-2-3-4-5 respectively.
+ 0d while reels are running.
+*/
+
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, kurukuru_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
@@ -189,11 +222,11 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( kurukuru )
PORT_START("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("1st")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("2nd")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("3rd")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("4th")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("5th")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("1st (BOTE)")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("2nd (OUME)")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("3rd (PYOKO)")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("4th (KUNIO)")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("5th (PP)")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("unknown N")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_M) PORT_NAME("unknown M")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
@@ -204,9 +237,9 @@ static INPUT_PORTS_START( kurukuru )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Reset Button")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("Unknown 1")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // coin 1 not incrementing and hang the game
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE (2) // coin 1 is not incrementing the credits and jams
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("Unknown 2")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout write the pulses, but jams.
PORT_START("DSW1")
PORT_DIPNAME( 0x07, 0x03, "Coinage A (100 Y)" ) PORT_DIPLOCATION("DSW1:1,2,3")