mirror of
https://github.com/holub/mame
synced 2025-05-31 18:11:50 +03:00
Super Mini-Boy improvements:
- Implemented and documented the PIA port B multiplexion. - Lot of fixes, getting the game working. - Added lamps support and button-lamps layout. - Fixed the color scheme. - Worked inputs and DIP Switches from the scratch. - Added technical and games notes. - Some clean-up. Systems promoted to working --------------------------- Super Mini-Boy [Roberto Fresca, Grull Osgo]
This commit is contained in:
parent
15fec9578b
commit
e7e9617bf8
271
src/mame/layout/sminiboy.lay
Normal file
271
src/mame/layout/sminiboy.lay
Normal file
@ -0,0 +1,271 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0-1.0
|
||||
copyright-holders:Roberto Fresca
|
||||
|
||||
Mini-Boy 7 control panel
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define button-lamps -->
|
||||
|
||||
<element name="hold" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="0.5" blue="0.0" /></rect>
|
||||
<rect state="0"><color red="0.15" green="0.075" blue="0.0" /></rect>
|
||||
<text string="HOLD">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.25" width="1" height="0.5" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="big" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect>
|
||||
<rect state="0"><color red="0.20" green="0.20" blue="0.20" /></rect>
|
||||
<text string="BIG">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.25" width="1" height="0.5" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="small" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect>
|
||||
<rect state="0"><color red="0.20" green="0.20" blue="0.20" /></rect>
|
||||
<text string="SMALL">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.25" width="1" height="0.5" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="dup_hit" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect>
|
||||
<rect state="0"><color red="0.20" green="0.20" blue="0.20" /></rect>
|
||||
<text string="DOUBLE">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.4" />
|
||||
</text>
|
||||
<text string="HIT">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.5" width="1" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="take_stand" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect>
|
||||
<rect state="0"><color red="0.20" green="0.20" blue="0.20" /></rect>
|
||||
<text string="TAKE">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.4" />
|
||||
</text>
|
||||
<text string="STAND">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.5" width="1" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="cancel" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="0.0" blue="0.0" /></rect>
|
||||
<rect state="0"><color red="0.25" green="0.0" blue="0.0" /></rect>
|
||||
<text string="CANCEL">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.25" width="1" height="0.5" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="draw" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="0.0" blue="0.0" /></rect>
|
||||
<rect state="0"><color red="0.25" green="0.0" blue="0.0" /></rect>
|
||||
<text string="DRAW">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.25" width="1" height="0.5" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="bet_split" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="0.0" blue="0.0" /></rect>
|
||||
<rect state="0"><color red="0.25" green="0.0" blue="0.0" /></rect>
|
||||
<text string="PLAY BET">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.4" />
|
||||
</text>
|
||||
<text string="SPLIT">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.5" width="1" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<!-- define basic elements -->
|
||||
|
||||
<element name="cpanel">
|
||||
<rect>
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="buttonedge_y" defstate="0">
|
||||
<rect state="1"><color red="0.7" green="0.35" blue="0.0" /></rect>
|
||||
<rect state="0"><color red="0.12" green="0.04" blue="0.0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="buttonedge_r" defstate="0">
|
||||
<rect state="1"><color red="0.7" green="0.0" blue="0.0" /></rect>
|
||||
<rect state="0"><color red="0.15" green="0.0" blue="0.0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="buttonedge_w" defstate="0">
|
||||
<rect state="1"><color red="0.77" green="0.77" blue="0.77" /></rect>
|
||||
<rect state="0"><color red="0.12" green="0.12" blue="0.12" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- define cpanel degradee elements -->
|
||||
|
||||
<element name="cpanel1">
|
||||
<rect>
|
||||
<color red="0.20" green="0.20" blue="0.20" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="cpanel2">
|
||||
<rect>
|
||||
<color red="0.15" green="0.15" blue="0.15" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="cpanel3">
|
||||
<rect>
|
||||
<color red="0.10" green="0.10" blue="0.10" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="cpanel4">
|
||||
<rect>
|
||||
<color red="0.05" green="0.05" blue="0.05" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- define background -->
|
||||
|
||||
<view name="Button Lamps">
|
||||
<screen index="0">
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
|
||||
|
||||
<element ref="cpanel">
|
||||
<bounds left="0" right="4" top="3" bottom="3.80" />
|
||||
</element>
|
||||
|
||||
<element ref="cpanel1">
|
||||
<bounds left="0" right="4" top="3.01" bottom="3.79" />
|
||||
</element>
|
||||
|
||||
<element ref="cpanel2">
|
||||
<bounds left="0" right="4" top="3.02" bottom="3.78" />
|
||||
</element>
|
||||
|
||||
<element ref="cpanel3">
|
||||
<bounds left="0" right="4" top="3.03" bottom="3.77" />
|
||||
</element>
|
||||
|
||||
<element ref="cpanel4">
|
||||
<bounds left="0" right="4" top="3.04" bottom="3.76" />
|
||||
</element>
|
||||
|
||||
<element ref="cpanel">
|
||||
<bounds left="0" right="4" top="3.05" bottom="3.75" />
|
||||
</element>
|
||||
|
||||
|
||||
<!-- define lamps -->
|
||||
<!-- first line: Hold 1 - Hold 2 - Hold 3 - Hold 4 - Hold 5 -->
|
||||
<element name="lamp2" ref="buttonedge_y" inputtag="INPUT2" inputmask="0x04">
|
||||
<bounds x="2.89" y="3.08" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp2" ref="hold">
|
||||
<bounds x="2.91" y="3.10" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp2" ref="buttonedge_y" inputtag="INPUT2" inputmask="0x08">
|
||||
<bounds x="2.335" y="3.08" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp2" ref="hold">
|
||||
<bounds x="2.355" y="3.10" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp2" ref="buttonedge_y" inputtag="INPUT2" inputmask="0x10">
|
||||
<bounds x="1.78" y="3.08" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp2" ref="hold">
|
||||
<bounds x="1.80" y="3.10" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp2" ref="buttonedge_y" inputtag="INPUT5" inputmask="0x01">
|
||||
<bounds x="1.225" y="3.08" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp2" ref="hold">
|
||||
<bounds x="1.245" y="3.10" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp2" ref="buttonedge_y" inputtag="INPUT5" inputmask="0x02">
|
||||
<bounds x="0.67" y="3.08" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp2" ref="hold">
|
||||
<bounds x="0.69" y="3.10" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<!-- second line: Big - Small - Double Up/Hit - Take/Stand - Cancel - Deal - Bet/Split -->
|
||||
|
||||
<element name="lamp1" ref="buttonedge_r" inputtag="INPUT6" inputmask="0x02">
|
||||
<bounds x="3.445" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp1" ref="bet_split">
|
||||
<bounds x="3.465" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp0" ref="buttonedge_r" inputtag="INPUT6" inputmask="0x01">
|
||||
<bounds x="2.89" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp0" ref="draw">
|
||||
<bounds x="2.91" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp4" ref="buttonedge_r" inputtag="INPUT2" inputmask="0x02">
|
||||
<bounds x="2.335" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp4" ref="cancel">
|
||||
<bounds x="2.355" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp3" ref="buttonedge_w" inputtag="INPUT3" inputmask="0x04">
|
||||
<bounds x="1.78" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp3" ref="take_stand">
|
||||
<bounds x="1.80" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp3" ref="buttonedge_w" inputtag="INPUT3" inputmask="0x02">
|
||||
<bounds x="1.225" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp3" ref="dup_hit">
|
||||
<bounds x="1.245" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp3" ref="buttonedge_w" inputtag="INPUT3" inputmask="0x01">
|
||||
<bounds x="0.67" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp3" ref="small">
|
||||
<bounds x="0.69" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp3" ref="buttonedge_w" inputtag="INPUT2" inputmask="0x01">
|
||||
<bounds x="0.115" y="3.48" width="0.44" height="0.24" />
|
||||
</element>
|
||||
<element name="lamp3" ref="big">
|
||||
<bounds x="0.135" y="3.5" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Roberto Fresca
|
||||
// copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
/******************************************************************************
|
||||
|
||||
MINI-BOY 7 / SUPER MINI-BOY.
|
||||
@ -20,8 +20,11 @@
|
||||
|
||||
* Mini-Boy 7.
|
||||
|
||||
Model BE-7000/MBS.
|
||||
https://flyers.arcade-museum.com/videogames/show/4043
|
||||
https://flyers.arcade-museum.com/videogames/show/6161
|
||||
|
||||
Seven games in one, plus Ad message support.
|
||||
http://www.arcadeflyers.com/?page=thumbs&db=videodb&id=4275
|
||||
|
||||
- Draw Poker.
|
||||
- 7-Stud Poker.
|
||||
@ -46,6 +49,79 @@
|
||||
- Baccarat.
|
||||
|
||||
|
||||
Hidden/Service Modes Access Guide
|
||||
---------------------------------
|
||||
|
||||
In Attract Mode after a reset (no credits inserted)...
|
||||
|
||||
Enter Test Mode:
|
||||
Press HOLD1 + HOLD2 + HOLD3 + BOOKS until the Test Mode screen appears.
|
||||
|
||||
A screen test will be performed, followed by an input test that displays the following:
|
||||
|
||||
....0000 <--- Coin1, Note1, Note2, and Books inputs.
|
||||
00000000 <--- Second scanline of inputs.
|
||||
00000000 <--- Third scanline of inputs.
|
||||
00000000 <--- DIP Switches.
|
||||
|
||||
To exit Test Mode, simply reset the machine.
|
||||
|
||||
|
||||
Enter Books Mode:
|
||||
Press HOLD4 + HOLD5 + BOOKS until the Books Mode screen appears.
|
||||
|
||||
You will see the following bookkeeping scheme:
|
||||
|
||||
COIN 0 <--- Quantity of coins inserted.
|
||||
NOTE1 0 <--- Quantity of Note1 inserted.
|
||||
NOTE2 0 <--- Quantity of Note2 inserted.
|
||||
POKER 0 <--- Number of poker hands played.
|
||||
GOLDEN FRUITS 0 <--- Number of golden fruit hands played.
|
||||
BLACK JACK 0 <--- Number of blackjack hands played.
|
||||
HI-LO 0 <--- Number of hi-lo hands played.
|
||||
BACCARAT 0 <--- Number of baccarat hands played.
|
||||
1 COIN 1 POINTS <--- Points per coin inserted.
|
||||
1 NOTE1 1 POINTS <--- Points per Note1 inserted.
|
||||
1 NOTE2 1 POINTS <--- Points per Note2 inserted.
|
||||
|
||||
To exit the Books Mode, press HOLD1 + HOLD2 + HOLD3, or simply wait for the timeout.
|
||||
|
||||
|
||||
Enter the Coinage Program:
|
||||
- Enter Books Mode.
|
||||
- Press BIG + SMALL.
|
||||
- Use HOLD1, HOLD2, and HOLD3 to program the Coin, Note1, and Note2 values.
|
||||
- Press HOLD4 to exit.
|
||||
|
||||
|
||||
To Set the Machine's Return/Percentage:
|
||||
- Press BET + DEAL + BOOKS.
|
||||
- Use HOLD4 to select a value from 0-1-2-3-4.
|
||||
- Exit with HOLD1.
|
||||
|
||||
Return/Percentage Values:
|
||||
|
||||
Value Overall Scoring Percentage (long term)
|
||||
----- --------------------------------------
|
||||
0 85%
|
||||
1 30%
|
||||
2 40%
|
||||
3 50%
|
||||
4 Unknown
|
||||
|
||||
|
||||
There is an Easter Egg in the Books Mode.
|
||||
To activate the Easter Egg:
|
||||
|
||||
- Enter Books Mode.
|
||||
- Press BET three times.
|
||||
- Press DRAW three times.
|
||||
- Press CANCEL three times.
|
||||
|
||||
The message "BONANZA ENTERPRISES" will appear on the screen.
|
||||
The machine will need to be reset to return to normal operation.
|
||||
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Hardware Notes:
|
||||
@ -81,53 +157,54 @@
|
||||
|
||||
* Super Mini-Boy, Joker Poker
|
||||
|
||||
Board silkscreened on top:
|
||||
be MVX-001-02 ('be' is a Bonanza Enterprises logo).
|
||||
Board silkscreened on top:
|
||||
be MVX-001-02 ('be' is a Bonanza Enterprises logo).
|
||||
|
||||
+------------------------------------------------------+
|
||||
| *CN-HEX |
|
||||
| 6 SW2 MSM2128-15 HD46505SP JDX 3-92 |
|
||||
| 8 MSM2128-15 JDX 2-92 |
|
||||
| 2 MSM2128-15 JDX 1-92 |
|
||||
| 1 MSM2128-15 *28pin |
|
||||
++ 8 J1 *28pin |
|
||||
| 9 R6502AP *28pin |
|
||||
| 1 *22pin |
|
||||
| 0 *22pin |
|
||||
| L JDX |
|
||||
| M |
|
||||
| 3 VR2 JDX 0 |
|
||||
| 8 VR4 JDX 1 |
|
||||
| 0 VR5 SW3 JDX 2 |
|
||||
| VR6 JDX 3 |
|
||||
++ VR1 VR3 TC4020 SW1 |
|
||||
| NE555P TC4020 10MHz BAT |
|
||||
+------------------------------------------------------+
|
||||
+------------------------------------------------------+
|
||||
| *CN-HEX |
|
||||
| 6 SW2 MSM2128-15 HD46505SP JDX 3-92 |
|
||||
| 8 MSM2128-15 JDX 2-92 |
|
||||
| 2 MSM2128-15 JDX 1-92 |
|
||||
| 1 MSM2128-15 *28pin |
|
||||
++ 8 J1 *28pin |
|
||||
| 9 R6502AP *28pin |
|
||||
| 1 *22pin |
|
||||
| 0 *22pin |
|
||||
| L JDX |
|
||||
| M |
|
||||
| 3 VR2 JDX 0 |
|
||||
| 8 VR4 JDX 1 |
|
||||
| 0 VR5 SW3 JDX 2 |
|
||||
| VR6 JDX 3 |
|
||||
++ VR1 VR3 TC4020 SW1 |
|
||||
| NE555P TC4020 10MHz BAT |
|
||||
+------------------------------------------------------+
|
||||
|
||||
CPU: Rockwell R6502P
|
||||
Video: Hitachi HD46505SP CRT Controller (CRTC) 1MHz
|
||||
Sound: AY-3-8910
|
||||
LM380N 2.5W Amp
|
||||
OSC: 10.000MHz
|
||||
RAM: MSM2128-15 2KBx8 SRAM x 4
|
||||
DSW: 1 8-switch dipswitches
|
||||
1 4-switch dipswitches
|
||||
VR1-VR6: variable resistor to handle B-G background color/intensity & sound
|
||||
Other: Motorola MC6821P 1MHz NMOS Peripheral Interface Adapter (PIA)
|
||||
NE555P Texas Instruments Precision Timer
|
||||
TC4020BP Toshiba 14 stage ripple carry binary counter
|
||||
3.6v Battery
|
||||
SW1 - Reset switch
|
||||
56 pin edge connector
|
||||
CN-HEX 40 pin edge connector
|
||||
CPU: Rockwell R6502P
|
||||
Video: Hitachi HD46505SP CRT Controller (CRTC) 1MHz
|
||||
Sound: AY-3-8910
|
||||
LM380N 2.5W Amp
|
||||
OSC: 10.000MHz
|
||||
RAM: MSM2128-15 2KBx8 SRAM x 4
|
||||
DSW: 1 8-switch dipswitches
|
||||
1 4-switch dipswitches
|
||||
VR1-VR6: variable resistor to handle B-G background color/intensity & sound
|
||||
Other: Motorola MC6821P 1MHz NMOS Peripheral Interface Adapter (PIA)
|
||||
NE555P Texas Instruments Precision Timer
|
||||
TC4020BP Toshiba 14 stage ripple carry binary counter
|
||||
3.6v Battery
|
||||
SW1 - Reset switch
|
||||
56 pin edge connector
|
||||
CN-HEX 40 pin edge connector
|
||||
|
||||
* Denotes unpopulated
|
||||
* Denotes unpopulated
|
||||
|
||||
- PRG ROMs: 5x 2764 (8Kb) - 3 for Joker Poker
|
||||
- GFX ROMs: 1x 2764 (8Kb) for text layer.
|
||||
3x 2764 (8Kb) for gfx tiles.
|
||||
- PRG ROMs: 5x 2764 (8Kb) - 3 for Joker Poker
|
||||
- GFX ROMs: 1x 2764 (8Kb) for text layer.
|
||||
3x 2764 (8Kb) for gfx tiles.
|
||||
|
||||
NOTE: 10MHz XTAL verified for Joker Poker, Super Mini-Boy is stated as 12.4725MHz
|
||||
|
||||
NOTE: 10MHz XTAL verified for Joker Poker, Super Mini-Boy is stated as 12.4725MHz
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
@ -201,12 +278,21 @@ NOTE: 10MHz XTAL verified for Joker Poker, Super Mini-Boy is stated as 12.4725MH
|
||||
- Some clean-up.
|
||||
|
||||
|
||||
[2025-01]
|
||||
|
||||
- Implemented and documented the PIA port B multiplexion for Super Mini-Boy.
|
||||
- Lot of fixes, getting Super Mini-Boy working.
|
||||
- Added lamps support and button-lamps layout for Super Mini-Boy.
|
||||
- Fixed the Super Mini-Boy color scheme.
|
||||
- Worked Super Mini-Boy inputs and DIP Switches from the scratch.
|
||||
- Added technical and games notes.
|
||||
- Some clean-up.
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
- Find the Super Mini-Boy missing input(s): HOLD 1 and SMALL.
|
||||
- Find & map 4 switch DSW
|
||||
maybe these are the same line/button.
|
||||
- Lamps support for Super Mini-Boy.
|
||||
- Rework the muxed inputs for bejpoker.
|
||||
- Find lamps and layout scheme for bejpoker.
|
||||
- Implement fake pots for B-G background color
|
||||
|
||||
|
||||
@ -223,6 +309,8 @@ NOTE: 10MHz XTAL verified for Joker Poker, Super Mini-Boy is stated as 12.4725MH
|
||||
#include "speaker.h"
|
||||
|
||||
#include "miniboy7.lh"
|
||||
#include "sminiboy.lh"
|
||||
|
||||
|
||||
|
||||
namespace {
|
||||
@ -242,7 +330,7 @@ public:
|
||||
m_gfx1(*this, "gfx1"),
|
||||
m_gfx2(*this, "gfx2"),
|
||||
m_proms(*this, "proms"),
|
||||
m_input2(*this, "INPUT2"),
|
||||
m_input(*this, "INPUT%u", 1U),
|
||||
m_dsw2(*this, "DSW2"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_palette(*this, "palette"),
|
||||
@ -251,6 +339,9 @@ public:
|
||||
{ }
|
||||
|
||||
void miniboy7(machine_config &config);
|
||||
void sminiboy(machine_config &config);
|
||||
|
||||
void init_smini();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override ATTR_COLD;
|
||||
@ -259,6 +350,8 @@ protected:
|
||||
private:
|
||||
void ay_pa_w(uint8_t data);
|
||||
void ay_pb_w(uint8_t data);
|
||||
uint8_t s_pia_pa_r();
|
||||
uint8_t s_pia_pb_r();
|
||||
uint8_t pia_pb_r();
|
||||
void pia_ca2_w(int state);
|
||||
uint8_t lamp_latch_r();
|
||||
@ -276,7 +369,7 @@ private:
|
||||
required_region_ptr<uint8_t> m_gfx1;
|
||||
required_region_ptr<uint8_t> m_gfx2;
|
||||
required_region_ptr<uint8_t> m_proms;
|
||||
required_ioport m_input2;
|
||||
optional_ioport_array<6> m_input;
|
||||
required_ioport m_dsw2;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<palette_device> m_palette;
|
||||
@ -423,30 +516,57 @@ uint8_t miniboy7_state::lamp_latch_r()
|
||||
|
||||
uint8_t data = m_ay_pa ^ 0xff;
|
||||
|
||||
m_lamps[0] = BIT(data, 4); // [----x]
|
||||
m_lamps[1] = BIT(data, 3); // [---x-]
|
||||
m_lamps[2] = BIT(data, 2); // [--x--]
|
||||
m_lamps[3] = BIT(data, 1); // [-x---]
|
||||
m_lamps[4] = BIT(data, 0); // [x----]
|
||||
m_lamps[0] = BIT(data, 4); // [----x] lamp0 bet
|
||||
m_lamps[1] = BIT(data, 3); // [---x-] lamp1 deal/draw
|
||||
m_lamps[2] = BIT(data, 2); // [--x--] lamp2 holds
|
||||
m_lamps[3] = BIT(data, 1); // [-x---] lamp3 d.up+take+big+small
|
||||
m_lamps[4] = BIT(data, 0); // [x----] lamp4 cancel
|
||||
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x40); // counter
|
||||
|
||||
// popmessage("Out Lamps: %02x", data);
|
||||
// logerror("Out Lamps: %02x\n", data);
|
||||
//popmessage("Out Lamps: %02x", data);
|
||||
//logerror("Out Lamps: %02x\n", data);
|
||||
|
||||
// value is unused
|
||||
return 0xff;
|
||||
return m_input[1]->read();
|
||||
}
|
||||
|
||||
void miniboy7_state::ay_pb_w(uint8_t data)
|
||||
{
|
||||
/* ---- xxxx unused
|
||||
/* ---- x--x unused
|
||||
---- --x- INPUT_1 select (only sminiboy)
|
||||
---- -x-- INPUT_2 select (only sminiboy)
|
||||
-xxx ---- HCD
|
||||
x--- ---- DSW2 select
|
||||
*/
|
||||
m_ay_pb = data;
|
||||
}
|
||||
|
||||
uint8_t miniboy7_state::s_pia_pa_r()
|
||||
{
|
||||
uint8_t ret = 0xff;
|
||||
switch(m_ay_pb & 0x7f) {
|
||||
case 0x7f: ret = m_input[0]->read(); break;
|
||||
case 0x7b: ret = m_input[1]->read(); break;
|
||||
case 0x7d: ret = m_input[2]->read(); break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint8_t miniboy7_state::s_pia_pb_r()
|
||||
{
|
||||
uint8_t ret = 0xff;
|
||||
switch(m_ay_pb) {
|
||||
case 0xff: ret = (m_input[3]->read() & 0x0f) | (m_dsw2->read() << 4); break; // low nibble from buttons - high nibble from low nibble of dip switch
|
||||
case 0xfb:
|
||||
case 0x7b: ret = m_input[4]->read(); break;
|
||||
case 0xfd:
|
||||
case 0x7d: ret = m_input[5]->read(); break;
|
||||
case 0x7f: ret = m_dsw2->read() & 0xf0; break; // high nibble of dip switch
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint8_t miniboy7_state::pia_pb_r()
|
||||
/*
|
||||
PIA PB0-3 are connected to regular inputs.
|
||||
@ -466,7 +586,7 @@ uint8_t miniboy7_state::pia_pb_r()
|
||||
'---------------'
|
||||
*/
|
||||
{
|
||||
return (m_input2->read() & 0x0f) | ((m_dsw2->read() << (BIT(m_ay_pb, 7) ? 0 : 4)) & 0xf0);
|
||||
return (m_input[1]->read() & 0x0f) | ((m_dsw2->read() << (BIT(m_ay_pb, 7) ? 0 : 4)) & 0xf0);
|
||||
}
|
||||
|
||||
void miniboy7_state::pia_ca2_w(int state)
|
||||
@ -551,57 +671,70 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( sminiboy )
|
||||
PORT_START("INPUT1") // pia_pa 0XFF - mem 261d
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(5) PORT_NAME("Note 1")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(5) PORT_NAME("Note 2")
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED ) // program masked
|
||||
|
||||
// Hold2/Small button is missing.
|
||||
// Just tried on PIA PB4-7, both AY8910 ports,
|
||||
// but nothing...
|
||||
PORT_START("INPUT2") // pia_pa mux 0xfb - mem 261f
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") // Big
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // Cancel
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) // Hold 5
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) // Hold 4
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) // Hold 3
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // program masked
|
||||
|
||||
PORT_START("INPUT1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Big") PORT_CODE(KEYCODE_S) // big
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Cancel / D-UP / Hit") PORT_CODE(KEYCODE_N) // cancel / d-up / hit
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hold 5 / Take / Stand") PORT_CODE(KEYCODE_B) // hold 5 / take / stand
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hold 4") PORT_CODE(KEYCODE_V) // hold 4
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hold 3") PORT_CODE(KEYCODE_C) // hold 3
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_START("INPUT3") // pia_pa mux 0xfd - mem 2621
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small") // Small
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) // Double Up
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) // Take
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1c-4") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1c-5") PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // program masked
|
||||
|
||||
PORT_START("INPUT2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Start / Double") PORT_CODE(KEYCODE_1) // start
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hold 1 / Play") PORT_CODE(KEYCODE_Z) // hold 1 / play
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Service / Books") PORT_CODE(KEYCODE_0) // service / books
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("08 - changes screen") PORT_CODE(KEYCODE_E) // (changes in screen)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("10") PORT_CODE(KEYCODE_R) //
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("20") PORT_CODE(KEYCODE_T) //
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("40") PORT_CODE(KEYCODE_Y) //
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("80") PORT_CODE(KEYCODE_U) //
|
||||
PORT_START("INPUT4") // pia_pb no mux 0XFF - mem 261e
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Books
|
||||
PORT_BIT( 0xfb, IP_ACTIVE_LOW, IPT_UNUSED ) // program masked
|
||||
|
||||
PORT_START("INPUT5") // pia_pb mux 0xfb - mem 2620
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) // Hold 2
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) // Hold 1
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // Keyout
|
||||
PORT_BIT( 0xf4, IP_ACTIVE_LOW, IPT_UNUSED ) // program masked
|
||||
|
||||
PORT_START("INPUT6") // pia_pb mux 0xfd - mem 2622
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) // Start (Deal/Draw)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play Bet") // Play/Bet
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PORT_NAME("Break_SCR") PORT_CODE(KEYCODE_E)
|
||||
PORT_BIT( 0xf4, IP_ACTIVE_LOW, IPT_UNUSED ) // program masked
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
// mux=0xff
|
||||
PORT_DIPNAME( 0x03, 0x00, "D.UP Seven" ) PORT_DIPLOCATION("DSW2:8,7")
|
||||
PORT_DIPSETTING( 0x00, "Reset" )
|
||||
PORT_DIPSETTING( 0x01, "Reset" )
|
||||
PORT_DIPSETTING( 0x02, "Even" )
|
||||
PORT_DIPSETTING( 0x03, "Lose" )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW2:6") // No code to read this bit
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Coin A" ) PORT_DIPLOCATION("SW1:6")
|
||||
PORT_DIPSETTING( 0x04, "1 Point" )
|
||||
PORT_DIPSETTING( 0x00, "10.000 Points" )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW2:5") // No code to read this bit
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
|
||||
//mux=7f
|
||||
PORT_DIPNAME( 0x10, 0x10, "Jack or Better" ) PORT_DIPLOCATION("DSW2:4")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW2:3") // No code to read this bit
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Coin A" ) PORT_DIPLOCATION("DSW2:2")
|
||||
PORT_DIPSETTING( 0x40, "1 Point" )
|
||||
PORT_DIPSETTING( 0x00, "10.000 Points" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Royal Flush" ) PORT_DIPLOCATION("DSW2:1")
|
||||
PORT_DIPSETTING( 0x80, "Disable" )
|
||||
PORT_DIPSETTING( 0x00, "Enable" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -625,7 +758,7 @@ static const gfx_layout tilelayout =
|
||||
8, 8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), 0 }, /* bitplanes are separated */
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), 0 }, // 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
|
||||
@ -655,20 +788,20 @@ GFXDECODE_END
|
||||
|
||||
void miniboy7_state::miniboy7(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M6502(config, m_maincpu, MASTER_CLOCK / 16); /* guess */
|
||||
// basic machine hardware
|
||||
M6502(config, m_maincpu, MASTER_CLOCK / 16); // guess
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &miniboy7_state::miniboy7_map);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
pia6821_device &pia(PIA6821(config, "pia0"));
|
||||
pia.readpa_handler().set_ioport("INPUT1");
|
||||
pia.readpa_handler().set_ioport(m_input[0]);
|
||||
pia.readpb_handler().set(FUNC(miniboy7_state::pia_pb_r));
|
||||
pia.ca2_handler().set(FUNC(miniboy7_state::pia_ca2_w));
|
||||
pia.irqa_handler().set_inputline("maincpu", 0);
|
||||
pia.irqb_handler().set_inputline("maincpu", 0);
|
||||
|
||||
/* video hardware */
|
||||
// video hardware
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
@ -680,21 +813,32 @@ void miniboy7_state::miniboy7(machine_config &config)
|
||||
|
||||
PALETTE(config, m_palette, FUNC(miniboy7_state::miniboy7_palette), 256);
|
||||
|
||||
mc6845_device &crtc(MC6845(config, "crtc", MASTER_CLOCK / 12)); /* guess */
|
||||
mc6845_device &crtc(MC6845(config, "crtc", MASTER_CLOCK / 12)); // guess
|
||||
crtc.set_screen("screen");
|
||||
crtc.set_show_border_area(false);
|
||||
crtc.set_char_width(8);
|
||||
crtc.set_update_row_callback(FUNC(miniboy7_state::crtc_update_row));
|
||||
crtc.out_vsync_callback().set("pia0", FUNC(pia6821_device::ca1_w));
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
ay8910_device &ay8910(AY8910(config, "ay8910", MASTER_CLOCK / 8)); /* guess */
|
||||
ay8910_device &ay8910(AY8910(config, "ay8910", MASTER_CLOCK / 8)); // guess
|
||||
ay8910.add_route(ALL_OUTPUTS, "mono", 0.75);
|
||||
ay8910.port_a_write_callback().set(FUNC(miniboy7_state::ay_pa_w));
|
||||
ay8910.port_b_write_callback().set(FUNC(miniboy7_state::ay_pb_w));
|
||||
}
|
||||
|
||||
void miniboy7_state::sminiboy(machine_config &config)
|
||||
{
|
||||
miniboy7(config);
|
||||
|
||||
pia6821_device &pia(PIA6821(config.replace(), "pia0"));
|
||||
pia.readpa_handler().set(FUNC(miniboy7_state::s_pia_pa_r));
|
||||
pia.readpb_handler().set(FUNC(miniboy7_state::s_pia_pb_r));
|
||||
pia.irqa_handler().set_inputline("maincpu", 0);
|
||||
pia.irqb_handler().set_inputline("maincpu", 0);
|
||||
}
|
||||
|
||||
|
||||
/***********************************
|
||||
* Rom Load *
|
||||
@ -733,22 +877,22 @@ ROM_START( miniboy7 )
|
||||
ROM_LOAD( "mb7_3-4.a6", 0x8000, 0x2000, CRC(360a7f7c) SHA1(d98bcfd320680e88b07182d78b4e56fc5579874d) )
|
||||
ROM_LOAD( "mb7_4-4.a4", 0xa000, 0x2000, CRC(bff8e334) SHA1(1d09a86b4dbfec6522b326683febaf7426f723e0) )
|
||||
ROM_LOAD( "mb7_5-4.a3", 0xc000, 0x2000, CRC(d610bed3) SHA1(67e44ce2345d5429d6ccf4833de207ff6518c534) )
|
||||
ROM_LOAD( "nosticker.a1", 0xe000, 0x2000, CRC(5f715a12) SHA1(eabe0e4ee2e110c6ce4fd58c9d36ba80a612d4b5) ) /* ROM 1-4? */
|
||||
ROM_LOAD( "nosticker.a1", 0xe000, 0x2000, CRC(5f715a12) SHA1(eabe0e4ee2e110c6ce4fd58c9d36ba80a612d4b5) ) // ROM 1-4?
|
||||
|
||||
ROM_REGION( 0x1000, "gfx1", 0 )
|
||||
ROM_LOAD( "mb7_asc_cg.d11", 0x0000, 0x1000, CRC(84f78ee2) SHA1(c434e8a9b19ef1394b1dac67455f859eef299f95) ) /* text layer */
|
||||
ROM_LOAD( "mb7_asc_cg.d11", 0x0000, 0x1000, CRC(84f78ee2) SHA1(c434e8a9b19ef1394b1dac67455f859eef299f95) ) // chars
|
||||
|
||||
ROM_REGION( 0x6000, "gfx2", 0 )
|
||||
ROM_LOAD( "mb7_cg1.d12", 0x0000, 0x2000, CRC(5f3e3b93) SHA1(41ab6a42a41ddeb8b6b76f4d790bf9fb9e7c32a3) ) /* bitplane 1 */
|
||||
ROM_LOAD( "mb7_cg2.d13", 0x2000, 0x2000, CRC(b3362650) SHA1(603907fd3a0049c0a3e1858c4329bf9fd58137f6) ) /* bitplane 2 */
|
||||
ROM_LOAD( "mb7_cg3.d14", 0x4000, 0x2000, CRC(10c2bf71) SHA1(23a01625b0fc0b772054ee4bc026d2257df46a03) ) /* bitplane 3 */
|
||||
ROM_LOAD( "mb7_cg1.d12", 0x0000, 0x2000, CRC(5f3e3b93) SHA1(41ab6a42a41ddeb8b6b76f4d790bf9fb9e7c32a3) ) // bitplane 1
|
||||
ROM_LOAD( "mb7_cg2.d13", 0x2000, 0x2000, CRC(b3362650) SHA1(603907fd3a0049c0a3e1858c4329bf9fd58137f6) ) // bitplane 2
|
||||
ROM_LOAD( "mb7_cg3.d14", 0x4000, 0x2000, CRC(10c2bf71) SHA1(23a01625b0fc0b772054ee4bc026d2257df46a03) ) // bitplane 3
|
||||
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) /* both bipolar PROMs are identical */
|
||||
ROM_LOAD( "j.e7", 0x0000, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) /* N82S129N BPROM simply labeled J */
|
||||
ROM_LOAD( "j.f10", 0x0100, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) /* N82S129N BPROM simply labeled J */
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) // both bipolar PROMs are identical
|
||||
ROM_LOAD( "j.e7", 0x0000, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) // N82S129N BPROM simply labeled J
|
||||
ROM_LOAD( "j.f10", 0x0100, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) // N82S129N BPROM simply labeled J
|
||||
ROM_END
|
||||
|
||||
ROM_START( miniboy7a ) /* The term CREDIT has been changed to POINT is this version, other changes?? */
|
||||
ROM_START( miniboy7a ) // The term CREDIT has been changed to POINT is this version, other changes??
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "mb7_1-11.a8", 0x4000, 0x2000, CRC(e1c0f8f2) SHA1(0790dc37374cf12313ae13adaea2c6e7338e0dbc) )
|
||||
ROM_LOAD( "mb7_2-11.a7", 0x6000, 0x2000, CRC(596040a3) SHA1(bb68b9fd12fba09c3d7c9dec70cf4770d31f911b) )
|
||||
@ -758,16 +902,16 @@ ROM_START( miniboy7a ) /* The term CREDIT has been changed to POINT is this vers
|
||||
ROM_LOAD( "mb7_6-11.a1", 0xe000, 0x2000, CRC(ca9b9b20) SHA1(c6cd793a15948601faa051a4643b14fd3d8bda0b) )
|
||||
|
||||
ROM_REGION( 0x1000, "gfx1", 0 )
|
||||
ROM_LOAD( "mb7_0.11d", 0x0000, 0x1000, CRC(84f78ee2) SHA1(c434e8a9b19ef1394b1dac67455f859eef299f95) ) /* text layer */
|
||||
ROM_LOAD( "mb7_0.11d", 0x0000, 0x1000, CRC(84f78ee2) SHA1(c434e8a9b19ef1394b1dac67455f859eef299f95) ) // chars
|
||||
|
||||
ROM_REGION( 0x6000, "gfx2", 0 )
|
||||
ROM_LOAD( "mb7_1.12d", 0x0000, 0x2000, CRC(5f3e3b93) SHA1(41ab6a42a41ddeb8b6b76f4d790bf9fb9e7c32a3) ) /* bitplane 1 */
|
||||
ROM_LOAD( "mb7_2.13d", 0x2000, 0x2000, CRC(b3362650) SHA1(603907fd3a0049c0a3e1858c4329bf9fd58137f6) ) /* bitplane 2 */
|
||||
ROM_LOAD( "mb7_3.14d", 0x4000, 0x2000, CRC(10c2bf71) SHA1(23a01625b0fc0b772054ee4bc026d2257df46a03) ) /* bitplane 3 */
|
||||
ROM_LOAD( "mb7_1.12d", 0x0000, 0x2000, CRC(5f3e3b93) SHA1(41ab6a42a41ddeb8b6b76f4d790bf9fb9e7c32a3) ) // bitplane 1
|
||||
ROM_LOAD( "mb7_2.13d", 0x2000, 0x2000, CRC(b3362650) SHA1(603907fd3a0049c0a3e1858c4329bf9fd58137f6) ) // bitplane 2
|
||||
ROM_LOAD( "mb7_3.14d", 0x4000, 0x2000, CRC(10c2bf71) SHA1(23a01625b0fc0b772054ee4bc026d2257df46a03) ) // bitplane 3
|
||||
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) /* both bipolar PROMs are identical */
|
||||
ROM_LOAD( "j.e7", 0x0000, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) /* N82S129N BPROM simply labeled J */
|
||||
ROM_LOAD( "j.f10", 0x0100, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) /* N82S129N BPROM simply labeled J */
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) // both bipolar PROMs are identical
|
||||
ROM_LOAD( "j.e7", 0x0000, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) // N82S129N BPROM simply labeled J
|
||||
ROM_LOAD( "j.f10", 0x0100, 0x0100, CRC(4b66215e) SHA1(de4a8f1ee7b9bea02f3a5fc962358d19c7a871a0) ) // N82S129N BPROM simply labeled J
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
@ -780,7 +924,7 @@ ROM_END
|
||||
1x AY8910
|
||||
|
||||
*/
|
||||
ROM_START( sminiboy ) /* MVX-001-02 PCB */
|
||||
ROM_START( sminiboy ) // MVX-001-02 PCB
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "sm5_1-9.7a", 0x6000, 0x2000, CRC(e245e1d4) SHA1(69266bbc0a0d3acb98cecebf931f42d5e8ff29f5) )
|
||||
ROM_LOAD( "sm5_2-9.6a", 0x8000, 0x2000, CRC(0b240c50) SHA1(af53a969d34aaf959b5a8e74f920fe895f6c68a0) )
|
||||
@ -789,50 +933,62 @@ ROM_START( sminiboy ) /* MVX-001-02 PCB */
|
||||
ROM_LOAD( "sm5_5-9.1a", 0xe000, 0x2000, CRC(c518b16c) SHA1(3f6249fa40a5e95ad3d565f73cfc45fcad4c5a6e) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", 0 )
|
||||
ROM_LOAD( "sm5_0.11d", 0x0000, 0x2000, CRC(295d8146) SHA1(c5b55e10d04d55ba3a5087b588e697a7a89dd02e) ) /* text layer */
|
||||
ROM_LOAD( "sm5_0.11d", 0x0000, 0x2000, CRC(295d8146) SHA1(c5b55e10d04d55ba3a5087b588e697a7a89dd02e) ) // chars
|
||||
|
||||
ROM_REGION( 0x6000, "gfx2", 0 )
|
||||
ROM_LOAD( "sm5_1.12d", 0x0000, 0x2000, CRC(1967974e) SHA1(66e06f549d413dcd84d82245cf3bd918bf012209) ) /* bitplane 1 */
|
||||
ROM_LOAD( "sm5_2.13d", 0x2000, 0x2000, CRC(eae3f05a) SHA1(a401fc63f1d9667ceb85c9a8c7cc2bd5d7ab7fcd) ) /* bitplane 2 */
|
||||
ROM_LOAD( "sm5_3.15d", 0x4000, 0x2000, CRC(0f19964f) SHA1(2dba35e3770d8254c65ba82b4d062e4873a6fd8f) ) /* bitplane 3 */
|
||||
ROM_LOAD( "sm5_1.12d", 0x0000, 0x2000, CRC(1967974e) SHA1(66e06f549d413dcd84d82245cf3bd918bf012209) ) // bitplane 1
|
||||
ROM_LOAD( "sm5_2.13d", 0x2000, 0x2000, CRC(eae3f05a) SHA1(a401fc63f1d9667ceb85c9a8c7cc2bd5d7ab7fcd) ) // bitplane 2
|
||||
ROM_LOAD( "sm5_3.15d", 0x4000, 0x2000, CRC(0f19964f) SHA1(2dba35e3770d8254c65ba82b4d062e4873a6fd8f) ) // bitplane 3
|
||||
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) /* bipolar PROMs */
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) // bipolar PROMs
|
||||
ROM_LOAD( "j1.7e", 0x0000, 0x0100, CRC(a89e1d80) SHA1(f3f4842729df1fc379a7281edcceb67c4e9558b4) )
|
||||
ROM_LOAD( "j-3.10f", 0x0100, 0x0100, CRC(042ae2c5) SHA1(dad6ace493a2e36c6e8ac1f35e871e1e5071c1ed) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
Same PCB as Super Mini-Boy, but with a 10MHz XTAL installed
|
||||
Same PCB as Super Mini-Boy, but with a 10MHz XTAL installed
|
||||
|
||||
Does JDX stand for Joker Draw Extreme (or 10) or something different???
|
||||
Does JDX stand for Joker Draw Extreme (or 10) or something different???
|
||||
|
||||
There is no Company or year mentioned or shown during game.
|
||||
The card backs have the Bonanza Enterprises logo
|
||||
Bets of 3 to 5 coins adds 1 Joker to the deck.
|
||||
Bets of 6 to 10 coins adds 1 more Joker to the deck.
|
||||
Max bet limitted to 10 coins
|
||||
There is some type of Bonus for 3's or 7's
|
||||
There is no Company or year mentioned or shown during game.
|
||||
The card backs have the Bonanza Enterprises logo
|
||||
Bets of 3 to 5 coins adds 1 Joker to the deck.
|
||||
Bets of 6 to 10 coins adds 1 more Joker to the deck.
|
||||
Max bet limitted to 10 coins
|
||||
There is some type of Bonus for 3's or 7's
|
||||
|
||||
*/
|
||||
ROM_START( bejpoker ) /* MVX-001-02 PCB */
|
||||
ROM_START( bejpoker ) // MVX-001-02 PCB
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "jdx_1-92.4a", 0xa000, 0x2000, CRC(40600e8c) SHA1(7f26fec5ccfc99e37c4fcfc7ee25461584af693e) ) /* JDX 1-92, is "92" the year??? */
|
||||
ROM_LOAD( "jdx_1-92.4a", 0xa000, 0x2000, CRC(40600e8c) SHA1(7f26fec5ccfc99e37c4fcfc7ee25461584af693e) ) // JDX 1-92, is "92" the year???
|
||||
ROM_LOAD( "jdx_2-92.3a", 0xc000, 0x2000, CRC(21150010) SHA1(e8757d7a846473232e9bc370a673ddfc36b8ea68) )
|
||||
ROM_LOAD( "jdx_3-92.1a", 0xe000, 0x2000, CRC(07497a88) SHA1(2770e77692cb7a0addf80c7955cbb6354e9ed5ec) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", 0 )
|
||||
ROM_LOAD( "jdx_0.11d", 0x0000, 0x2000, CRC(9a39520c) SHA1(090a94f193b62aa546e5db3399748c298d88794f) ) /* text layer */
|
||||
ROM_LOAD( "jdx_0.11d", 0x0000, 0x2000, CRC(9a39520c) SHA1(090a94f193b62aa546e5db3399748c298d88794f) ) // chars
|
||||
|
||||
ROM_REGION( 0x6000, "gfx2", 0 )
|
||||
ROM_LOAD( "jdx_1.12d", 0x0000, 0x2000, CRC(c5fe5f09) SHA1(dfa6d486d053e4648471f6b057ea4b2fe01a7348) ) /* bitplane 1 */
|
||||
ROM_LOAD( "jdx_2.13d", 0x2000, 0x2000, CRC(cbcf6e85) SHA1(3805d81f41149b61756667470d1df13f691f0ea7) ) /* bitplane 2 */
|
||||
ROM_LOAD( "jdx_3.14d", 0x4000, 0x2000, CRC(bf98104d) SHA1(157d71f0a30e15e91f4c8385a7a26af15729c713) ) /* bitplane 3 */
|
||||
ROM_LOAD( "jdx_1.12d", 0x0000, 0x2000, CRC(c5fe5f09) SHA1(dfa6d486d053e4648471f6b057ea4b2fe01a7348) ) // bitplane 1
|
||||
ROM_LOAD( "jdx_2.13d", 0x2000, 0x2000, CRC(cbcf6e85) SHA1(3805d81f41149b61756667470d1df13f691f0ea7) ) // bitplane 2
|
||||
ROM_LOAD( "jdx_3.14d", 0x4000, 0x2000, CRC(bf98104d) SHA1(157d71f0a30e15e91f4c8385a7a26af15729c713) ) // bitplane 3
|
||||
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) /* bipolar PROMs */
|
||||
ROM_LOAD( "j1.7e", 0x0000, 0x0100, CRC(a89e1d80) SHA1(f3f4842729df1fc379a7281edcceb67c4e9558b4) ) /* TBP24S10 BPROM (same data as BPROM from Super Mini-Boy) */
|
||||
ROM_LOAD( "jdx.10f", 0x0100, 0x0100, CRC(2dd8d3ce) SHA1(6e3d67f9c5ccc210963e02e32fceee4859d8e651) ) /* 63S141 BPROM */
|
||||
ROM_REGION( 0x0200, "proms", ROMREGION_INVERT ) // bipolar PROMs
|
||||
ROM_LOAD( "j1.7e", 0x0000, 0x0100, CRC(a89e1d80) SHA1(f3f4842729df1fc379a7281edcceb67c4e9558b4) ) // TBP24S10 BPROM (same data as BPROM from Super Mini-Boy)
|
||||
ROM_LOAD( "jdx.10f", 0x0100, 0x0100, CRC(2dd8d3ce) SHA1(6e3d67f9c5ccc210963e02e32fceee4859d8e651) ) // 63S141 BPROM
|
||||
ROM_END
|
||||
|
||||
|
||||
void miniboy7_state::init_smini()
|
||||
{
|
||||
uint8_t *ROM = memregion("maincpu")->base();
|
||||
|
||||
ROM[0xa0f0] = 0x0e;
|
||||
ROM[0xa0f1] = 0x7f;
|
||||
ROM[0xa1a1] = 0xe7;
|
||||
ROM[0xa1a2] = 0x7f;
|
||||
}
|
||||
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
@ -840,8 +996,8 @@ ROM_END
|
||||
* Game Drivers *
|
||||
***********************************/
|
||||
|
||||
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAMEL( 1983, miniboy7, 0, miniboy7, miniboy7, miniboy7_state, empty_init, ROT0, "Bonanza Enterprises, Ltd", "Mini-Boy 7 (set 1)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE, layout_miniboy7 )
|
||||
GAMEL( 1983, miniboy7a, miniboy7, miniboy7, miniboy7, miniboy7_state, empty_init, ROT0, "Bonanza Enterprises, Ltd", "Mini-Boy 7 (set 2)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE, layout_miniboy7 )
|
||||
GAME( 1984, sminiboy, 0, miniboy7, sminiboy, miniboy7_state, empty_init, ROT0, "Bonanza Enterprises, Ltd", "Super Mini-Boy", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAMEL( 1984, sminiboy, 0, sminiboy, sminiboy, miniboy7_state, init_smini, ROT0, "Bonanza Enterprises, Ltd", "Super Mini-Boy", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE, layout_sminiboy )
|
||||
GAME( 1992, bejpoker, 0, miniboy7, sminiboy, miniboy7_state, empty_init, ROT0, "Bonanza Enterprises, Ltd", "Bonanza Enterprises' Joker Poker", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user