From 2d627cb5e90231ce1315578a6f15dcece3922222 Mon Sep 17 00:00:00 2001 From: arbee Date: Fri, 14 Apr 2023 22:05:32 -0400 Subject: namcos11: Add hardware readme for Family Bowl and adjust set description. [Guru] --- src/mame/namco/namcos11.cpp | 129 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 128 insertions(+), 1 deletion(-) diff --git a/src/mame/namco/namcos11.cpp b/src/mame/namco/namcos11.cpp index 531d7689b5a..7ff7a01ce57 100644 --- a/src/mame/namco/namcos11.cpp +++ b/src/mame/namco/namcos11.cpp @@ -309,6 +309,133 @@ Pin 3 Parts Side - +5V Pin 22 Parts Side - Gun 1 Trigger Pin 22 Solder Side - Gun 2 Trigger +************************************************************************************ + +Namco Family Bowl (FB1 Ver.A, V1.00) +Namco 1997 +Hardware info by Guru +--------------------- + +Family Bowl is a video and mechanical ten pin bowling game. + +It uses the following boards.... +- Standard Namco System 11 main board SYSTEM11 MOTHER(B) PCB + The MOTHER(B) PCB is identical to the MOTHER PCB other than it uses 2x 16Mbit TSOP56 flash ROMs + instead of 4x 8Mbit TSOP40 flash ROMs. + ROMs on main board are.... + FB1VERA.1L \ + FB1VERA.1J / main program, either Intel 28E016SA or Sharp LH28F016SUT TSOP56 flash ROM + FB1VERA.7E - sound program, Intel PA28F200BX flash ROM + FB1WAVE0A.8K - sound data, 42 pin 32Mbit mask ROM + Keycus socket is EMPTY + +- Standard SYSTEM11 ROM8 PCB for the graphics. + ROMs on ROM8 PCB are.... + FB1_ROM0L.IC5 + FB1_ROM0U.IC6 + +- Standard SONY CPU board COH-110. + +- M139 SUB PCB (I/O board) + +Video output is a standard 29" 15kHz monitor rotated to vertical orientation. +There are 7 sensors (photo-sensors) to detect the position of the ball. +There are 3 buttons on the control panel for left, right and select. +The machine has a short bowling lane (approx 6-8 feet long) and the screen is located +at the end and above the lane, facing down and projected onto the end of the lane via a mirror. +The ball is about 4" to 5" diameter and is launched by the player and then disappears 'into' the screen. +The on-screen graphical ball rolls down the 'video' lane and knocks out the graphical pins. +The sensors are likely just checking on the 'approximate' position of the ball. +After the ball reaches the end of the mechanical lane and disappears, the actual ball trajectory is +entirely CPU-controlled. + +The following is a guess about how the ball movement/sensors work as far as emulation is concerned. +There are 7 sensors total based on the test mode input test. +There could be 6 sensors for ball position (3 near the player, 3 at the other end near the screen) and one +for the motor/ball kicker when it leaves the mechanical lane. +The sensor layout could be something like the following.... + + motor 7 motor 7 + screen | | screen | | +|---------|| | |---------|| | +| 4 5 6 || | | 2 4 6 || | +| || | | || | +| || | | || | +| || | or | || | +| || | | || | +| || | | || | +| 1 2 3 || | | 1 3 5 || | +|---------|| / |---------|| / + player ---/ player -/ + +The on-screen action/ball position is initiated when the sensors on the lane are activated 'on' for a fraction of +a second as the ball passes over the sensors. i.e. a transistion from off to on then off again. +At least 2 switches should toggle, probably within 1-2 seconds of each other. +The software must know the physical position of the sensors. So for example if sw2 and sw5 are triggered, the ball +will initially show on the screen in the middle and travel in a straight line down the middle of the lane. If sw1 +and sw5 are triggered the ball will initially show on the screen starting in the middle but moving towards the +right side. The sensors are probably accurate enough to detect even small angles so an accurate screen trajectory can be +calculated as well as the speed of the ball movement based on the time taken for the ball to be seen as it passes +over the two sensors. +Then the ball seemlessly enters the screen and continues down the lane towards the pins. +The on-screen ball speed does vary depending on how fast the player throws the ball so there's definitely a speed +calculation from point A (start) to point B (end). +For basic and initial emulation purposes there can be 6 clickable buttons at the bottom of the screen. Those buttons +are clicked in the correct order (to be determined by trial and error because the physical location of the sensors is unknown) +which will pass the triggering (and thus ball position) to the software and then the ball will show on the screen. When the +sensors are clicked in the correct order the ball will show on the screen in the expected location. +The sensors are able to detect movement up to 1 meter so perhaps two sliders will be needed instead of buttons which +are pre-set where the middle setting on both will be a center ball and anything offset from center will make the ball travel +at an angle. Perhaps with another slider for the pre-set delay ranging from 0.00 to 3.00 seconds or similar to simulate +the time between triggering the two switches. +Then a 'go' button is pressed that passes those ranges to the software one after the other causing the ball to show on screen. +After the on-screen ball/pin action has stopped sw7 motor/ball switch should trigger and after a small delay the ball is fired +up the return lane back to the player. For emulation, sw7 may need to be held on for a few seconds on the return mechanism/motor +as a 'ball-capture' then released, signifying that the ball was correctly located then sent back to the player. + +A short video of the full game in action is available here... +https://www.youtube.com/watch?v=hOk7tEYR-uQ + +Better and longer video-only is available here... +https://www.youtube.com/watch?v=OSO4d5-JkbM + +I/O board +--------- + +M139 SUB PCB +1711960101 (1711970101) + +On the right side of the main board at J106 is a 4 pin connector tied to the I/O board. +The connector contains only 3 wires... GND, VCC and 1 wire for communication +between the I/O and main board. +The I/O board is approx. 4" x 4" and contains the following parts.... +27C4002 EPROM, dump is fb1_spr0.ic5 +H8/3002 (rom-less) microcontroller +62256 SRAM (32kx8) +74F08 logic chip +LED connected to the logic chip output pins 6 and 8 (probably shows I/O activity) +MB3771 reset chip +4x BD-8 EMI filters +14.746MHz crystal +J1 20-pin connector tied to the machine/sensors. + +The game is probably checking the sensors at boot-up and won't go in-game unless they are correct. When +not correct there is only a Japanese text message displayed, likely saying something like 'See Attendant'. +Without the machine plugged into J1 all the sensors are ON in test mode 'input check' but they should +probably be off at boot time to get it to go into the game. +The buttons A, B, C are connected to the JAMMA connector LEFT, BUTTON 1 (select), RIGHT. +In the test mode Monitor Adjust there is a lane display graphic to adjust the position of the picture. +The test mode and screen adjust is available even if the game does not go in-game. + +There is also a Family Bowl 2. The hardware appears to be PC-based. It is currently not dumped. +It appears to be mostly identical to Namco's Family Bowl but with an added redemption ticket dispenser. +A short video is available here.... https://www.youtube.com/watch?v=jiNvI48WUUQ +The manual is available here... https://gametrade.info/upload/iblock/100/Familybowling_manual.pdf +This is possibly related to the Namco game (it looks nearly identical) but is PC-based. +The ball sensors are OMRON EE-SPWD311 and EE-SPWL311, 1 Meter Long-Distance Reflective Photo Micro-Sensor. +These sensors are in pairs (emitter and receiver). +It is highly likely Namco's game uses the same sensors and mechanics. + ***************************************************************************/ #include "emu.h" @@ -1919,7 +2046,7 @@ GAME( 1996, danceyes, 0, danceyes, namcos11, namcos11_state, empty_ GAME( 1996, danceyesu, danceyes, danceyes, namcos11, namcos11_state, empty_init, ROT0, "Namco", "Dancing Eyes (US, DC3/VER.C)", 0 ) // Oct 30 1996 17:36:39 GAME( 1996, danceyesj, danceyes, danceyes, namcos11, namcos11_state, empty_init, ROT0, "Namco", "Dancing Eyes (Japan, DC1/VER.A)", 0 ) // Sep 4 1996 11:50:49 GAME( 1996, pocketrc, 0, pocketrc, pocketrc, namcos11_state, empty_init, ROT0, "Namco", "Pocket Racer (Japan, PKR1/VER.B)", MACHINE_NODEVICE_LAN ) -GAME( 1997, fambowl, 0, fambowl, namcos11, namcos11_state, empty_init, ROT90,"Namco", "Family Bowl (Ver 1.00)", MACHINE_NOT_WORKING ) +GAME( 1997, fambowl, 0, fambowl, namcos11, namcos11_state, empty_init, ROT90,"Namco", "Family Bowl (Japan, FB1/VER.A V1.00)", MACHINE_NOT_WORKING ) GAME( 1997, starswep, 0, starswep, namcos11, namcos11_state, empty_init, ROT0, "Axela / Namco", "Star Sweep (World, STP2/VER.A)", 0 ) GAME( 1997, starswepj, starswep, starswep, namcos11, namcos11_state, empty_init, ROT0, "Axela / Namco", "Star Sweep (Japan, STP1/VER.A)", 0 ) GAME( 1998, myangel3, 0, myangel3, myangel3, namcos11_state, empty_init, ROT0, "MOSS / Namco", "Kosodate Quiz My Angel 3 (Japan, KQT1/VER.A)", 0 ) -- cgit v1.2.3