mpu12wbk.cpp improvements.

* Added a new parent.
* Improved gfxdecode. Added two extra bitplanes.
* Added more ASCII layouts and technical notes.

New machines marked as NOT_WORKING
----------------------------------
Fruit Star Bonus (Ver 8.27PVIE) [Team Europe, Roberto Fresca]
This commit is contained in:
Roberto Fresca 2022-01-09 04:18:41 +01:00
parent 41d325d320
commit 476054def1

View File

@ -10,7 +10,8 @@
Games running on this hardware:
* Fruit Star Bonus. 1997, Webak Elektronik.
* Fruit Star Bonus (Ver 8.27PVIE). 199?, Webak Elektronik.
* Fruit Star Bonus (Ver 8.20PIR). 1997, Webak Elektronik.
*****************************************************************************************
@ -45,7 +46,7 @@
*****************************************************************************************
PCB Layout:
PCB Layout (Ver 8.27PVIE) :
.--------------------------------------------------------------------------------------.
| .---------. .---------. |
@ -164,6 +165,176 @@
'--------------------------------------------------------------------------------'
ººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº
PCB Layout (Ver 8.20PIR) :
.--------------------------------------------------------------------------------------.
| .---------. .---------. |
| |74LS174N | |74LS174N | .------------. |
| '---------' '---------' |8 1| .------------. |
| | DIP1 | | DM74LS245N | |
| .------------. .---------. '------------' '------------' |
| | N82S147AN | |N82S131AN| 2x17 connector |
| '------------' '---------' .---------------------------------. |
| .-------. |o o o o o o o o o o o o o o o o o| |
| .------------------. .---------. | XTAL | |o o o o o o o o o o o o o o o o o| |
| | Fruit 3 | |74LS194AN| | 8 Mhz | '---------------------------------' |
| | 27C512 | '---------' '-------' |
| | IC39| .---------. .--. .--------------------. .----------. |
| '------------------' |74LS194AN| |SN| | | |SN74LS02N | |
| '---------' |74| | EMPTY SOCKET | '----------' |
| .------------------. .---------. |LS| .--. | | |
| | Fruit 2 | |74LS194AN| |00| |SN| | IC4| |
| | 27C512 | '---------' |N | |74| '--------------------' .------. |
| | IC38| '--' |LS| | | |
| '------------------' .---------. .--. |00| .------------------. | | |
| |74LS194AN| |SN| |N | | MB8464A-10L-SK | | | |
| .------------------. '---------' |74| '--' '------------------' |AY-3 | |
| | Fruit 1 | |LS| |8910A | |
| | 27C512 | .---------. |02| .-------------------------------. | | |
| | IC37| |74LS194AN| |N | |EPOXY BLOCK | | | |
| '------------------' '---------' | | | .------. | | | |
| '--' | | | | | | |
| .---------. .--. | | | | | | |
| .-------------. |74LS194AN| |DM| | | | | | | |
| | DM74LS374N | '---------' |74| | | | | | | |
| '-------------' |LS| | | | | | | |
| .---------. |74| | | MCU | | | | |
| .-------------. |74LS174N | |AN| | | | | | | |
| | DM74LS245N | '---------' | | | |68B09P| | | | |
| '-------------' '--' | | | | | | |
| .-------------. .--. | | | | | | |
| | DM74LS374N | |DM| | | | | | | |
| .-------. '-------------' |74| | | | | '------' |
| | | |LS| | | | | |
| | | .----------------. .--. |24| | | | .------. | |
| | | | MB8464A-10L-SK | |SN| |5N| | | | |FLASH | | .--. |
| | | '----------------' |74| | | | | | | | | |LM| |
| | | |LS| | | | | | | P28F | | |35| |
| | | .---------. .--. |59| | | | '------' | 512 | | |8N| |
| | MC | |74LS157N | |MB| |0N| | | | | | | '--' |
| | | '---------' |84| | | '--' | | | | |
| |68B45P | |64| '--' | | | | .--------.|
| | | .---------. |A-| .--. | .---. | | | | LM380N ||
| | | |74LS157N | |10| .--. |DM| | | | | | | '--------'|
| | | '---------' |L-| |SN| |74| | |TIB| | | | |
| | | |SK| |74| |LS| | |PAL| | | | .--. |
| | | .---------. | | |LS| |24| | |16 | | IC2| | |SN| |
| | | |74LS157N | | | |59| |5N| | |L8 | '------' | |74| |
| | | '---------' | | |0N| | | | | | | |LS| |
| | | | | | | | | | | | | |27| |
| | | .---------. | | '--' | | | | | | |3N| |
| | | |74LS157N | | | | | | '---' | | | |
| '-------' '---------' '--' '--' | | | | |
| | | | | |
| .---------. .-------------. '-------------------------------' '--' |
| |74LS174N | | DM74LS245N | |
| '---------' '-------------' .---. .---------. .---------. .---------. |
| |A00| | 74LS138N| | 74LS138N| |74LS245N | |
| .-----------. .-------------. '---' '---------' '---------' '---------' |
| |DM74LS245N | | DM74LS245N | |
| '-----------' '-------------' .--------. .------------. .------------. .----------. |
| |74LS174N| | SN74LS273N | | SN74LS273N | |898-3-R220| |
| .----------. .----------. '--------' '------------' '------------' '----------' |
| |898-3-R220| |898-3-R220| |
| '----------' '----------' .--------. .--------. .--------. |
| |ULN2003A| |ULN2003A| |ULN2003A| |
| '--------' '--------' '--------' |
| |
'------.- - - - - -2x22 edge connector- - - - - - -.-------.2x10 edge connector.-------'
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
'-------------------------------------------' '-------------------'
A00 = PCF1251P
DIP 1:
+---------------+
| |#|#|#|#|#| | |
|---------------|
|#| | | | | |#|#|
+---------------+
1 2 3 4 5 6 7 8
EPOXY BLOCK - COVER:
+--------------------------------------------------------------------------------+
| +-----------------------+ |
| ####################################### | VERSION | |
| # ## ## # | Fruit STK | |
| # ## # # ##### #### ### # # ## # +-----------------------+ |
| ### # # # # # # # # # ### |
| ##### # # # ### #### ##### ### ##### +-----------------------+ |
| ### # # # # # # # # # # ### | NO: 6*** | |
| # ## # # ##### #### # # # # ## # | --------------------- | |
| # ## ## # | DATE: | |
| ####################################### | --------------------- | |
| | CUST: | |
| SCHWANENSTADT - AUSTRIA +-----------------------+ |
| Tel.: 43 (7673) 4201-0 |
| Fax : 43 (7673) 4201-23 |
| |
| #################################################################### |
| # ## ## ## #### # # ## #### ## # |
| # ## # # # # # # # # # # # ## # |
| ### # # # #### # # # # # ### |
| # ## # # # # # # # ## # |
| # ## # # # ### # ##### ## # |
| #################################################################### |
| |
+--------------------------------------------------------------------------------+
PINOUT:
(WEBAK CONNECTION Standard MPU12/MPU2000)
+----------------------------------------------------------------------------------+
| Component-Side || Solder-Side |
+----------------------------------------------------------------------------------+
| Function | Direction | Nr. || Nr. | Direction | Function |
+==================================================================================+
| HOPPER-OUT | OUTPUT | 10 || J | OUTPUT | |
| REMOTE-PL | OUTPUT | 09 || I | OUTPUT | |
| REMOTE-CLOCK | OUTPUT | 08 || H | OUTPUT | REMOTE-DOUT |
| Lamp HOPPER-OUT | OUTPUT | 07 || G | INPUT | REMOTE-IN |
| REMOTE-SELECT | INPUT | 06 || F | INPUT | |
| | INPUT | 05 || E | INPUT | Bookkeeping 3 |
| | INPUT | 04 || D | INPUT | Button "Select Game" |
| | | 03 || C | | |
| EX64-SELECT | OUTPUT | 02 || B | OUTPUT | Lamp "Select Game" |
| EXTRA-Lamp | Output | 01 || A | OUTPUT | reserved |
+----------------------------------------------------------------------------------+
+----------------------------------------------------------------------------------+
| GND | SUPPLY | 22 || Z | SUPPLY | GND |
| GND | SUPPLY | 21 || Y | SUPPLY | GND |
| GND | SUPPLY | 20 || X | SUPPLY | GND |
| +5V | SUPPLY | 19 || W | SUPPLY | +5V |
| +12V | SUPPLY | 18 || V | SUPPLY | +12V |
| LAMP - HOLD 1 | OUTPUT | 17 || U | OUTPUT | LAMP - START |
| LAMP - HOLD 2 | OUTPUT | 16 || T | OUTPUT | LAMP - HOLD 5 |
| LAMP - CANCEL | OUTPUT | 15 || S | OUTPUT | LAMP - HOLD 4 |
| COIN - INPUT 1 | INPUT | 14 || R | OUTPUT | LAMP - HOLD 3/Printer|
| Mech. Counter-IN | OUTPUT | 13 || P | INPUT | BOOKKEEPING 1 |
| Mech. Counter-OUT | OUTPUT | 12 || N | INPUT | Button HOLD 1 |
| Mech. Counter-3 | OUTPUT | 11 || M | INPUT | Button CANCEL |
| Button HOLD 5 | INPUT | 10 || L | INPUT | Button START |
| Bookkeeping 2 | INPUT | 09 || K | INPUT | Bookkeeping A(Waiter)|
| Button HOLD 2 | INPUT | 08 || J | INPUT | Button HOLD 4 |
| Coin INPUT 3 | INPUT | 07 || H | INPUT | Button HOLD 3/Printer|
| HOPPER COUNT | INPUT | 06 || F | INPUT | EXTRA Button |
| Button HOPPER OUT | INPUT | 05 || E | INPUT | Coin - INPUT 2 |
| Monitor GREEN |TTLOUT-Anal| 04 || D |TTLOUT-Anal| Monitor RED |
| Monitor SYNC |TTLOUT-Anal| 03 || C |TTLOUT-Anal| Monitor BLUE |
| SPEAKER |OUT-Analog | 02 || B | SUPPLY | Monitor GND |
| CREDIT CLEAR | INPUT | 01 || A | SUPPLY | SPEAKER GND |
+----------------------------------------------------------------------------------+
*****************************************************************************************
--------------------
@ -192,6 +363,13 @@
DRIVER UPDATES:
[2022-01-09]
- Added a new parent.
- Improved gfxdecode. Added two extra bitplanes.
- Added more ASCII layouts and technical notes.
[2012-10-10]
- Initial release.
@ -454,28 +632,11 @@ INPUT_PORTS_END
*************************/
static const gfx_layout charlayout =
{
// 8, 8,
// RGN_FRAC(3,3),
// 1, /* 1 bpp */
// { 0 },
// { 0, 1, 2, 3, 4, 5, 6, 7 },
// { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
// 8*8 /* every char takes 8 consecutive bytes */
// 8, 8,
// RGN_FRAC(1,3),
// 3,
// { 0, RGN_FRAC(1,3), RGN_FRAC(2,3) }, /* bitplanes are separated */
// { 0, 1, 2, 3, 4, 5, 6, 7 },
// { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
// 8*8
4,8,
RGN_FRAC(1,2),
4,
{ RGN_FRAC(0,2), RGN_FRAC(0,2) + 4, RGN_FRAC(1,2), RGN_FRAC(1,2) + 4 },
RGN_FRAC(1,3),
6,
{ RGN_FRAC(0,3), RGN_FRAC(0,3) + 4, RGN_FRAC(1,3), RGN_FRAC(1,3) + 4, RGN_FRAC(2,3), RGN_FRAC(2,3) + 4 },
{ 3, 2, 1, 0 },
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
8*4*2
@ -491,6 +652,7 @@ static GFXDECODE_START( gfx_mpu12wbk )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
GFXDECODE_END
/*************************
* Machine Drivers *
*************************/
@ -507,50 +669,72 @@ void mpu12wbk_state::mpu12wbk(machine_config &config)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size((32+1)*8, (32+1)*8); /* From MC6845, registers 00 & 04. (value-1) */
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); /* Driven by MC6845, registers 01 & 06 */
screen.set_size((32+1)*8, (32+1)*8); // From MC6845, registers 00 & 04. (value-1)
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); // Driven by MC6845, registers 01 & 06
screen.set_screen_update(FUNC(mpu12wbk_state::screen_update_mpu12wbk));
GFXDECODE(config, m_gfxdecode, "palette", gfx_mpu12wbk);
PALETTE(config, "palette", FUNC(mpu12wbk_state::mpu12wbk_palette), 512);
mc6845_device &crtc(MC6845(config, "crtc", MASTER_CLOCK/4)); /* guess */
mc6845_device &crtc(MC6845(config, "crtc", MASTER_CLOCK / 4)); // clock guessed
crtc.set_screen("screen");
crtc.set_show_border_area(false);
crtc.set_char_width(4);
crtc.out_vsync_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
/* sound hardware */
// sound hardware
SPEAKER(config, "mono").front_center();
AY8910(config, "ay8910", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 1.00); /* clock guessed */
AY8910(config, "ay8910", MASTER_CLOCK / 8).add_route(ALL_OUTPUTS, "mono", 1.00); // clock guessed
}
/*************************
* Rom Load *
*************************/
/*
/*
Program is inside a CPU epoxy block
with a m6809 and PLD.
Version 8.27PVIE
*/
ROM_START( fruitstb )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "p28f512_827_box.ic2", 0x8000, 0x8000, CRC(c41fb59d) SHA1(7f8cde7a33aae83baae2564b8913c43502e7b5b7) )
ROM_IGNORE( 0x8000 ) // second half is filled with 0xff, vectors are at the end of the 1st half.
ROM_REGION( 0x30000, "gfx1", 0 )
ROM_LOAD( "1.ic37", 0x00000, 0x10000, CRC(eaa231ad) SHA1(6c6d708a05b23b8b3f1f5844a587ae6d06940486) )
ROM_LOAD( "2.ic38", 0x10000, 0x10000, CRC(0a7126aa) SHA1(28a05ca824922bb362b86f25f300833db30a91ae) )
ROM_LOAD( "3.ic39", 0x20000, 0x10000, CRC(81ad7752) SHA1(b5be715c9c1e0c20f63bfb2f9dcbadafe758a098) ) // two extra bitplanes.
ROM_REGION( 0x0400, "proms", 0 )
ROM_LOAD( "82s131.ic47", 0x0000, 0x0200, CRC(54565d41) SHA1(8e412a3441c9c1e7f8309f2087389ac4250896e6) )
ROM_LOAD( "82s147.ic46", 0x0200, 0x0200, CRC(ee576268) SHA1(8964526fa253f484d784aec46c4c31358bc1667b) )
ROM_END
/*
Program is inside a CPU epoxy block
with a m6809 and PLD.
Version 8.20PIR
*/
ROM_START( fruitstb )
ROM_START( fruitstba )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "p28f512_box.ic2", 0x8000, 0x8000, CRC(95d4ddaa) SHA1(498f841b3cd12ac128954841dd463b62c335e038) )
ROM_IGNORE( 0x8000 ) // second half is filled with 0xff, vectors are at the end of the 1st half
ROM_LOAD( "p28f512_820_box.ic2", 0x8000, 0x8000, CRC(95d4ddaa) SHA1(498f841b3cd12ac128954841dd463b62c335e038) )
ROM_IGNORE( 0x8000 ) // second half is filled with 0xff, vectors are at the end of the 1st half.
ROM_REGION( 0x20000, "gfx1", 0 )
ROM_LOAD( "fruit1.ic37", 0x00000, 0x10000, CRC(c1834a6d) SHA1(ece1e47641087be342d3c5c092d8a7233ae871f3) )
ROM_LOAD( "fruit2.ic38", 0x10000, 0x10000, CRC(32d282a8) SHA1(792174d75dc7ec5f1e6f145539a5ec8e3953e1dd) )
// ROM_LOAD( "fruit3.ic39", 0x20000, 0x10000, CRC(311a6d4e) SHA1(62cf670b605906f7f4225905118524ee30d0e85b) ) // and this one?
ROM_REGION( 0x30000, "gfx1", 0 )
ROM_LOAD( "fruit1.ic37", 0x00000, 0x10000, CRC(c1834a6d) SHA1(ece1e47641087be342d3c5c092d8a7233ae871f3) )
ROM_LOAD( "fruit2.ic38", 0x10000, 0x10000, CRC(32d282a8) SHA1(792174d75dc7ec5f1e6f145539a5ec8e3953e1dd) )
// ROM_LOAD( "fruit3.ic39", 0x20000, 0x10000, CRC(311a6d4e) SHA1(62cf670b605906f7f4225905118524ee30d0e85b) ) // missing... two extra bitplanes.
ROM_LOAD( "fruit3.ic39", 0x20000, 0x10000, BAD_DUMP CRC(81ad7752) SHA1(b5be715c9c1e0c20f63bfb2f9dcbadafe758a098) ) // borrowed from parent.
ROM_REGION( 0x0400, "proms", 0 )
ROM_LOAD( "82s131.ic47", 0x0000, 0x0200, CRC(54565d41) SHA1(8e412a3441c9c1e7f8309f2087389ac4250896e6) )
ROM_LOAD( "82s147.ic46", 0x0200, 0x0200, CRC(ee576268) SHA1(8964526fa253f484d784aec46c4c31358bc1667b) )
ROM_LOAD( "82s131.ic47", 0x0000, 0x0200, CRC(54565d41) SHA1(8e412a3441c9c1e7f8309f2087389ac4250896e6) )
ROM_LOAD( "82s147.ic46", 0x0200, 0x0200, CRC(ee576268) SHA1(8964526fa253f484d784aec46c4c31358bc1667b) )
ROM_END
@ -569,5 +753,6 @@ void mpu12wbk_state::init_mpu12wbk()
* Game Drivers *
*************************/
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
GAME( 1997, fruitstb, 0, mpu12wbk, mpu12wbk, mpu12wbk_state, init_mpu12wbk, ROT0, "Webak Elektronik", "Fruit Star Bonus (Ver 8.20PIR)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
GAME( 199?, fruitstb, 0, mpu12wbk, mpu12wbk, mpu12wbk_state, init_mpu12wbk, ROT0, "Webak Elektronik", "Fruit Star Bonus (Ver 8.27PVIE)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 1997, fruitstba, fruitstb, mpu12wbk, mpu12wbk, mpu12wbk_state, init_mpu12wbk, ROT0, "Webak Elektronik", "Fruit Star Bonus (Ver 8.20PIR)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )