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:
Roberto Fresca 2025-01-21 03:24:21 +01:00
parent 15fec9578b
commit e7e9617bf8
2 changed files with 574 additions and 147 deletions

View 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>

View File

@ -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 )