mirror of
https://github.com/holub/mame
synced 2025-06-06 12:53:46 +03:00
Major improvements to norautp.cpp driver: [Roberto Fresca, Grull Osgo]
- Consolidate driver in one file. - New palette for drhl and drhla. - Added new test functions for drhl, drhla, dphl, and dphla. - Cleaned all the conditional unused things. - Rewrote inputs for different sets. - DIP switches improvements for norautp, norautrh, - New inputs for norautua, dphla, drhl, ssjkrpkr. - New portmap for dphl, dphla. - Added Interrupts through vertical sync for all sets based on i8080. - Fixed norautua and norautub table for bin to bcd conversion. - New button-lamps layout with 10 buttons for dphl, dphla, dphljp, drhl, drhla, and ssjkrpkr. - Clickable buttons for all former buttons-lamps layouts. - Promoted drhl, drhla, norautua, norautub, and ssjkrpkr to working. Systems promoted to working --------------------------- Drews Revenge (v.2.89, set 1) [Roberto Fresca, Grull Osgo] Noraut Joker Poker (console, set 1) [Roberto Fresca, Grull Osgo] Southern Systems Joker Poker [Roberto Fresca, Grull Osgo] Clones promoted to working -------------------------- Drews Revenge (v.2.89, set 2) [Roberto Fresca, Grull Osgo] Noraut Joker Poker (console, set 2) [Roberto Fresca, Grull Osgo]
This commit is contained in:
parent
5f6296049b
commit
50d077c63e
178
src/mame/layout/noraut10.lay
Normal file
178
src/mame/layout/noraut10.lay
Normal file
@ -0,0 +1,178 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0-1.0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
<element name="L0" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.35" green="0.2" blue="0.0" />
|
||||
</rect>
|
||||
<text string="STAND">
|
||||
<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="L1" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.0" green="1.0" blue="0.5" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.0" green="0.3" blue="0.15" />
|
||||
</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="L2" defstate="0">
|
||||
<rect state = "1">
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD1">
|
||||
<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="L3" defstate="0">
|
||||
<rect state = "1">
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD2">
|
||||
<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="L4" defstate="0">
|
||||
<rect state = "1">
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD3">
|
||||
<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="L5" defstate="0">
|
||||
<rect state = "1">
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD4">
|
||||
<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="L6" defstate="0">
|
||||
<rect state = "1">
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD5">
|
||||
<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="L7" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" 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="L8" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.35" green="0.2" blue="0.0" />
|
||||
</rect>
|
||||
<text string="DEAL">
|
||||
<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="L9" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.4" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<text string="BET">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.25" width="1" height="0.5" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<view name="Button Lamps">
|
||||
<screen index="0">
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
|
||||
<element name="lamp2" ref="L2" inputtag="IN1" inputmask="0x04">
|
||||
<bounds x="0.80" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp3" ref="L3" inputtag="IN1" inputmask="0x08">
|
||||
<bounds x="1.30" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp4" ref="L4" inputtag="IN1" inputmask="0x10">
|
||||
<bounds x="1.80" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp5" ref="L5" inputtag="IN1" inputmask="0x20">
|
||||
<bounds x="2.30" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp6" ref="L6" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="2.80" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp7" ref="L7" inputtag="IN1" inputmask="0x80">
|
||||
<bounds x="0.80" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp0" ref="L0" inputtag="IN1" inputmask="0x01">
|
||||
<bounds x="1.30" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp9" ref="L9" inputtag="IN0" inputmask="0x02">
|
||||
<bounds x="1.80" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp8" ref="L8" inputtag="IN0" inputmask="0x01">
|
||||
<bounds x="2.30" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp1" ref="L1" inputtag="IN1" inputmask="0x02">
|
||||
<bounds x="2.80" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -190,41 +190,40 @@ license:CC0-1.0
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
|
||||
<element name="lamp0" ref="L0">
|
||||
<bounds x="3.05" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp1" ref="L1">
|
||||
<bounds x="3.05" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp2" ref="L2">
|
||||
<element name="lamp2" ref="L2" inputtag="IN1" inputmask="0x04">
|
||||
<bounds x="0.05" y="3.05" width="0.40" height="0.40" />
|
||||
</element>
|
||||
<element name="lamp3" ref="L3">
|
||||
<element name="lamp3" ref="L3" inputtag="IN1" inputmask="0x08">
|
||||
<bounds x="0.55" y="3.05" width="0.40" height="0.40" />
|
||||
</element>
|
||||
<element name="lamp4" ref="L4">
|
||||
<element name="lamp4" ref="L4" inputtag="IN1" inputmask="0x10">
|
||||
<bounds x="1.05" y="3.05" width="0.40" height="0.40" />
|
||||
</element>
|
||||
<element name="lamp5" ref="L5">
|
||||
<element name="lamp5" ref="L5" inputtag="IN1" inputmask="0x20">
|
||||
<bounds x="1.55" y="3.05" width="0.40" height="0.40" />
|
||||
</element>
|
||||
<element name="lamp6" ref="L6">
|
||||
<element name="lamp6" ref="L6" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="2.05" y="3.05" width="0.40" height="0.40" />
|
||||
</element>
|
||||
|
||||
|
||||
<element name="lamp8" ref="L8">
|
||||
<bounds x="2.55" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp9" ref="L9">
|
||||
<element name="lamp9" ref="L9" inputtag="IN0" inputmask="0x02">
|
||||
<bounds x="2.55" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp8" ref="L8" inputtag="IN0" inputmask="0x01">
|
||||
<bounds x="2.55" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp10" ref="L10">
|
||||
<element name="lamp1" ref="L1" inputtag="IN1" inputmask="0x02">
|
||||
<bounds x="3.05" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp0" ref="L0" inputtag="IN1" inputmask="0x01">
|
||||
<bounds x="3.05" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
<element name="lamp10" ref="L10" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="3.55" y="3.03" width="0.40" height="0.20" />
|
||||
</element>
|
||||
<element name="lamp11" ref="L11">
|
||||
<element name="lamp11" ref="L11" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="3.55" y="3.28" width="0.40" height="0.20" />
|
||||
</element>
|
||||
|
||||
|
@ -12,7 +12,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="STAND">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -25,7 +25,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="SAVE">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -38,7 +38,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="HOLD1">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -51,7 +51,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="HOLD2">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -64,7 +64,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="HOLD3">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -77,7 +77,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="HOLD4">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -90,7 +90,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="HOLD5">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -103,7 +103,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="CANCEL">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -117,7 +117,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="DEAL">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -130,7 +130,7 @@ license:CC0-1.0
|
||||
</disk>
|
||||
<text string="BET">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.3" width="1" height="0.4" />
|
||||
<bounds x="0.1" y="0.3" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
@ -167,43 +167,43 @@ license:CC0-1.0
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
|
||||
<element name="lamp2" ref="L2">
|
||||
<bounds x="0.55" y="3.03" width="0.20" height="0.20" />
|
||||
<element name="lamp2" ref="L2" inputtag="IN1" inputmask="0x04">
|
||||
<bounds x="0.55" y="3.03" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp3" ref="L3">
|
||||
<bounds x="1.05" y="3.03" width="0.20" height="0.20" />
|
||||
<element name="lamp3" ref="L3" inputtag="IN1" inputmask="0x08">
|
||||
<bounds x="1.05" y="3.03" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp4" ref="L4">
|
||||
<bounds x="1.55" y="3.03" width="0.20" height="0.20" />
|
||||
<element name="lamp4" ref="L4" inputtag="IN1" inputmask="0x10">
|
||||
<bounds x="1.55" y="3.03" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp5" ref="L5">
|
||||
<bounds x="2.05" y="3.03" width="0.20" height="0.20" />
|
||||
<element name="lamp5" ref="L5" inputtag="IN1" inputmask="0x20">
|
||||
<bounds x="2.05" y="3.03" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp6" ref="L6">
|
||||
<bounds x="2.55" y="3.03" width="0.20" height="0.20" />
|
||||
<element name="lamp6" ref="L6" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="2.55" y="3.03" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
|
||||
<element name="lamp7" ref="L7">
|
||||
<bounds x="0.55" y="3.28" width="0.20" height="0.20" />
|
||||
<element name="lamp7" ref="L7" inputtag="IN1" inputmask="0x80">
|
||||
<bounds x="0.55" y="3.28" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp0" ref="L0">
|
||||
<bounds x="1.05" y="3.28" width="0.20" height="0.20" />
|
||||
<element name="lamp0" ref="L0" inputtag="IN1" inputmask="0x01">
|
||||
<bounds x="1.05" y="3.28" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp1" ref="L1">
|
||||
<bounds x="1.55" y="3.28" width="0.20" height="0.20" />
|
||||
<element name="lamp1" ref="L1" inputtag="IN1" inputmask="0x02">
|
||||
<bounds x="1.55" y="3.28" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp8" ref="L8">
|
||||
<bounds x="2.05" y="3.28" width="0.20" height="0.20" />
|
||||
<element name="lamp8" ref="L8" inputtag="IN0" inputmask="0x01">
|
||||
<bounds x="2.05" y="3.28" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp9" ref="L9">
|
||||
<bounds x="2.55" y="3.28" width="0.20" height="0.20" />
|
||||
<element name="lamp9" ref="L9" inputtag="IN0" inputmask="0x02">
|
||||
<bounds x="2.55" y="3.28" width="0.20" height="0.20"/>
|
||||
</element>
|
||||
|
||||
<element name="lamp10" ref="L10">
|
||||
<bounds x="3.05" y="3.03" width="0.40" height="0.20" />
|
||||
<element name="lamp10" ref="L10" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="3.05" y="3.03" width="0.40" height="0.20"/>
|
||||
</element>
|
||||
<element name="lamp11" ref="L11">
|
||||
<bounds x="3.05" y="3.28" width="0.40" height="0.20" />
|
||||
<element name="lamp11" ref="L11" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="3.05" y="3.28" width="0.40" height="0.20"/>
|
||||
</element>
|
||||
|
||||
</view>
|
||||
|
@ -558,6 +558,24 @@
|
||||
through a DIP switch.
|
||||
|
||||
|
||||
[2025-03]
|
||||
|
||||
- Consolidate driver in one file.
|
||||
- New palette for drhl and drhla.
|
||||
- Added new test functions for drhl, drhla, dphl, and dphla.
|
||||
- Cleaned all the conditional unused things.
|
||||
- Rewrote inputs for different sets.
|
||||
- DIP switches improvements for norautp, norautrh,
|
||||
- New inputs for norautua, dphla, drhl, ssjkrpkr.
|
||||
- New portmap for dphl, dphla.
|
||||
- Added Interrupts through vertical sync for all sets based on i8080.
|
||||
- Fixed norautua and norautub table for bin to bcd conversion.
|
||||
- New button-lamps layout with 10 buttons for dphl, dphla, dphljp,
|
||||
drhl, drhla, and ssjkrpkr.
|
||||
- Clickable buttons for all former buttons-lamps layouts.
|
||||
- Promoted drhl, drhla, norautua, norautub, and ssjkrpkr to working.
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
- Check the 3rd PPI device at 0xc0-0xc3 (VRAM).
|
||||
@ -570,19 +588,33 @@
|
||||
- Parent/clone relationship.
|
||||
|
||||
|
||||
issues...
|
||||
|
||||
- norautua: overflow drawing cards (possible straight draw).
|
||||
changing one card, draw a 6th card at the right.
|
||||
|
||||
- dphl behaviour is close to dphlunkb.
|
||||
|
||||
- dphla is working, but when pay a hand is stuck spitting "call attendant".
|
||||
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "norautp.h"
|
||||
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "sound/discrete.h"
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#include "noraut11.lh"
|
||||
#include "noraut12.lh"
|
||||
#include "noraut10.lh"
|
||||
|
||||
|
||||
#define NORAUT_MASTER_CLOCK XTAL(18'432'000)
|
||||
@ -590,6 +622,102 @@
|
||||
#define NORAUT_CPU_CLOCK NORAUT_MASTER_CLOCK / 8 // 2.30275 MHz - Measured: 2.305 MHz
|
||||
#define DPHL_CPU_CLOCK DPHL_MASTER_CLOCK / 9 // 2 MHz (from 8224)
|
||||
|
||||
// Discrete Sound Input Nodes
|
||||
#define NORAUTP_SND_EN NODE_01
|
||||
#define NORAUTP_FREQ_DATA NODE_02
|
||||
|
||||
|
||||
class norautp_state : public driver_device
|
||||
{
|
||||
public:
|
||||
norautp_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ppi8255(*this, "ppi8255_%u", 0),
|
||||
m_discrete(*this, "discrete"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_decrypted_opcodes(*this, "decrypted_opcodes"),
|
||||
m_lamps(*this, "lamp%u", 0U)
|
||||
{ }
|
||||
|
||||
void noraut_base(machine_config &config);
|
||||
void kimble(machine_config &config);
|
||||
void kimbldhl(machine_config &config);
|
||||
void norautp(machine_config &config);
|
||||
void norautu(machine_config &config);
|
||||
void norautx4(machine_config &config);
|
||||
void norautpl(machine_config &config);
|
||||
void newhilop(machine_config &config);
|
||||
void dphltest(machine_config &config);
|
||||
void nortest1(machine_config &config);
|
||||
void ssjkrpkr(machine_config &config);
|
||||
void dphl(machine_config &config);
|
||||
void dphla(machine_config &config);
|
||||
void drhl(machine_config &config);
|
||||
void norautxp(machine_config &config);
|
||||
void noraut3(machine_config &config);
|
||||
void cgidjp(machine_config &config);
|
||||
void cdrawpkr(machine_config &config);
|
||||
|
||||
void init_ssa();
|
||||
void init_enc();
|
||||
void init_deb();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override { m_lamps.resolve(); }
|
||||
virtual void video_start() override ATTR_COLD;
|
||||
|
||||
private:
|
||||
void ppi2_obf_w(int state);
|
||||
TIMER_CALLBACK_MEMBER(ppi2_ack);
|
||||
uint8_t test2_r();
|
||||
uint8_t test3_r();
|
||||
uint8_t test4_r();
|
||||
void mainlamps_w(uint8_t data);
|
||||
void soundlamps_w(uint8_t data);
|
||||
void counterlamps_w(uint8_t data);
|
||||
void norautp_palette(palette_device &palette) const;
|
||||
void drhl_palette(palette_device &palette) const;
|
||||
uint32_t screen_update_norautp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void cgidjp_map(address_map &map) ATTR_COLD;
|
||||
void cgidjp_opcodes_map(address_map &map) ATTR_COLD;
|
||||
void decrypted_opcodes_map(address_map &map) ATTR_COLD;
|
||||
void dphl_map(address_map &map) ATTR_COLD;
|
||||
void dphl_portmap(address_map &map) ATTR_COLD;
|
||||
void dphla_portmap(address_map &map) ATTR_COLD;
|
||||
void dphla_map(address_map &map) ATTR_COLD;
|
||||
void drhl_portmap(address_map &map) ATTR_COLD;
|
||||
void dphltest_map(address_map &map) ATTR_COLD;
|
||||
void drhl_map(address_map &map) ATTR_COLD;
|
||||
void kimbldhl_map(address_map &map) ATTR_COLD;
|
||||
void kimble_map(address_map &map) ATTR_COLD;
|
||||
void newhilop_map(address_map &map) ATTR_COLD;
|
||||
void noraut3_map(address_map &map) ATTR_COLD;
|
||||
void noraut3_decrypted_opcodes_map(address_map &map) ATTR_COLD;
|
||||
void norautp_map(address_map &map) ATTR_COLD;
|
||||
void norautp_portmap(address_map &map) ATTR_COLD;
|
||||
void norautx4_map(address_map &map) ATTR_COLD;
|
||||
void norautx8_map(address_map &map) ATTR_COLD;
|
||||
void norautxp_map(address_map &map) ATTR_COLD;
|
||||
void norautxp_portmap(address_map &map) ATTR_COLD;
|
||||
void nortest1_map(address_map &map) ATTR_COLD;
|
||||
void ssjkrpkr_map(address_map &map) ATTR_COLD;
|
||||
|
||||
std::unique_ptr<uint16_t[]> m_np_vram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device_array<i8255_device, 3> m_ppi8255;
|
||||
required_device<discrete_sound_device> m_discrete;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
optional_shared_ptr<uint8_t> m_decrypted_opcodes;
|
||||
output_finder<12> m_lamps;
|
||||
|
||||
int m_test3 = 1;
|
||||
};
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Video Hardware *
|
||||
@ -655,6 +783,19 @@ void norautp_state::norautp_palette(palette_device &palette) const
|
||||
palette.set_pen_color(7, rgb_t(0x00, 0x00, 0x00)); // black
|
||||
}
|
||||
|
||||
void norautp_state::drhl_palette(palette_device &palette) const
|
||||
{
|
||||
// 1st gfx bank paleeta para drhl
|
||||
palette.set_pen_color(0, rgb_t(0x00, 0x00, 0x00)); // black (blue)
|
||||
palette.set_pen_color(1, rgb_t(0xff, 0xff, 0xff)); // white (yellow)
|
||||
palette.set_pen_color(2, rgb_t(0xff, 0x00, 0x00)); // red (blue)
|
||||
palette.set_pen_color(3, rgb_t(0xff, 0xff, 0xff)); // white (white)
|
||||
palette.set_pen_color(4, rgb_t(0xff, 0xff, 0xff)); // white
|
||||
palette.set_pen_color(5, rgb_t(0x00, 0x00, 0xff)); // red
|
||||
palette.set_pen_color(6, rgb_t(0xff, 0xff, 0x00)); // yellow (white)
|
||||
palette.set_pen_color(7, rgb_t(0x00, 0x00, 0xff)); // blue (black)
|
||||
}
|
||||
|
||||
|
||||
/*******************************************
|
||||
* R/W Handlers *
|
||||
@ -734,22 +875,6 @@ void norautp_state::counterlamps_w(uint8_t data)
|
||||
}
|
||||
|
||||
|
||||
/* Game waits for bit 7 (0x80) to be set.
|
||||
This should be the /OBF line (PC7) from PPI-2 (handshake).
|
||||
PC0-PC2 could be set as input or output.
|
||||
*/
|
||||
|
||||
//uint8_t norautp_state::ppi2_portc_r()
|
||||
//{
|
||||
// return;
|
||||
//}
|
||||
|
||||
//void norautp_state::ppi2_portc_w(uint8_t data)
|
||||
//{
|
||||
// // PC0-PC2 don't seems to be connected to any output
|
||||
//}
|
||||
|
||||
|
||||
void norautp_state::ppi2_obf_w(int state)
|
||||
{
|
||||
machine().scheduler().synchronize(timer_expired_delegate(FUNC(norautp_state::ppi2_ack), this), state);
|
||||
@ -766,33 +891,6 @@ TIMER_CALLBACK_MEMBER(norautp_state::ppi2_ack)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef UNUSED_FUNCTION // old implementation
|
||||
// game waits for /OBF signal (bit 7) to be set.
|
||||
uint8_t norautp_state::test_r()
|
||||
{
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
uint8_t norautp_state::vram_data_r()
|
||||
{
|
||||
return m_np_vram[m_np_addr];
|
||||
}
|
||||
|
||||
void norautp_state::vram_data_w(uint8_t data)
|
||||
{
|
||||
m_np_vram[m_np_addr] = data & 0xff;
|
||||
|
||||
// trigger 8255-2 port C bit 7 (/OBF)
|
||||
// m_ppi8255_2->set_pc_bit(7, 0);
|
||||
// m_ppi8255_2->set_pc_bit(7, 1);
|
||||
|
||||
}
|
||||
|
||||
void norautp_state::vram_addr_w(uint8_t data)
|
||||
{
|
||||
m_np_addr = data;
|
||||
}
|
||||
#endif
|
||||
|
||||
// game waits for bit 4 (0x10) to be reset.
|
||||
uint8_t norautp_state::test2_r()
|
||||
@ -800,6 +898,29 @@ uint8_t norautp_state::test2_r()
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
uint8_t norautp_state::test3_r()
|
||||
{
|
||||
// return machine().rand() & 0xff;
|
||||
|
||||
if(m_maincpu->pc() == 0x187a)
|
||||
return 0x02 + (machine().rand() & 0x0f);
|
||||
if(m_maincpu->pc() == 0x1881)
|
||||
return 0x00 + (machine().rand() & 0x0f);
|
||||
if(m_maincpu->pc() == 0x188d)
|
||||
return 0x02 + (machine().rand() & 0x0f);
|
||||
m_test3 = (~m_test3 & 0x01);
|
||||
|
||||
logerror("test3: pc:%04x - data:%02x\n", m_maincpu->pc(), m_test3);
|
||||
return m_test3;
|
||||
|
||||
}
|
||||
|
||||
uint8_t norautp_state::test4_r()
|
||||
{
|
||||
m_test3 = (~m_test3 & 0x01) + 0x14;
|
||||
return m_test3;
|
||||
}
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Memory Map Information *
|
||||
@ -872,15 +993,13 @@ void norautp_state::decrypted_opcodes_map(address_map &map)
|
||||
map(0x0000, 0x1fff).rom().share(m_decrypted_opcodes);
|
||||
}
|
||||
|
||||
|
||||
void norautp_state::norautp_portmap(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x60, 0x63).mirror(0x1c).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xa0, 0xa3).mirror(0x1c).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xc0, 0xc3).mirror(0x3c).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
//map(0xc0, 0xc0).mirror(0x3c).rw(FUNC(norautp_state::vram_data_r), FUNC(norautp_state::vram_data_w));
|
||||
//map(0xc1, 0xc1).mirror(0x3c).w(FUNC(norautp_state::vram_addr_w));
|
||||
//map(0xc2, 0xc2).mirror(0x3c).r(FUNC(norautp_state::test_r));
|
||||
map(0xef, 0xef).r(FUNC(norautp_state::test2_r));
|
||||
}
|
||||
|
||||
@ -919,14 +1038,6 @@ void norautp_state::norautx4_map(address_map &map)
|
||||
map(0x6000, 0x67ff).ram().share("nvram"); // 6116
|
||||
}
|
||||
|
||||
#ifdef UNUSED_CODE
|
||||
void norautp_state::norautx8_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom(); // need to be checked
|
||||
map(0xc000, 0xc7ff).ram().share("nvram"); // 6116
|
||||
}
|
||||
#endif
|
||||
|
||||
void norautp_state::noraut3_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).rom().region("maincpu", 0x4000);
|
||||
@ -944,16 +1055,9 @@ void norautp_state::kimble_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0xbfff).rom();
|
||||
map(0xc000, 0xc7ff).ram().share("nvram");
|
||||
map(0xc800, 0xc9ff).ram(); // working RAM?
|
||||
map(0xc800, 0xcfff).ram(); // working RAM?
|
||||
}
|
||||
|
||||
#ifdef UNUSED_CODE
|
||||
void norautp_state::norautxp_portmap(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
}
|
||||
#endif
|
||||
|
||||
void norautp_state::newhilop_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).rom();
|
||||
@ -1033,6 +1137,35 @@ void norautp_state::drhl_map(address_map &map)
|
||||
}
|
||||
|
||||
|
||||
void norautp_state::dphla_portmap(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x60, 0x63).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xa0, 0xa3).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xc0, 0xc3).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xef, 0xef).r(FUNC(norautp_state::test3_r));
|
||||
}
|
||||
|
||||
|
||||
void norautp_state::dphl_portmap(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x7c, 0x7f).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xbc, 0xbf).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xdc, 0xdf).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xef, 0xef).r(FUNC(norautp_state::test3_r));
|
||||
}
|
||||
|
||||
void norautp_state::drhl_portmap(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x7c, 0x7f).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xbc, 0xbf).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xdc, 0xdf).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xef, 0xef).r(FUNC(norautp_state::test4_r));
|
||||
}
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Input Ports *
|
||||
*********************************************/
|
||||
@ -1044,7 +1177,7 @@ static INPUT_PORTS_START( norautp )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet / Collect")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // Coin A
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) // Coin B
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN0-5")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PORT_CODE(KEYCODE_K) PORT_NAME("IN0-5")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Hi")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Lo")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
|
||||
@ -1065,28 +1198,28 @@ static INPUT_PORTS_START( norautp )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("Low Level Hopper")
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Random Raise Bet" ) PORT_DIPLOCATION("DSW1:5")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Coinage ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:3")
|
||||
PORT_DIPSETTING( 0x20, "A=5; B=25; C=1" )
|
||||
PORT_DIPSETTING( 0x00, "A=50; B=25; C=5" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Set Value" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Set Value" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, "2 Pence" )
|
||||
PORT_DIPSETTING( 0x00, "10 Pence" )
|
||||
INPUT_PORTS_END
|
||||
@ -1120,15 +1253,19 @@ static INPUT_PORTS_START( norautrh )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW1")
|
||||
// to find the function...
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, "5" )
|
||||
PORT_DIPSETTING( 0x00, "25" )
|
||||
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, "1" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x00, "20" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x04, "5 " ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x80)
|
||||
PORT_DIPSETTING( 0x00, "25" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x80)
|
||||
PORT_DIPNAME( 0x08, 0x08, "Raise Ante" ) PORT_DIPLOCATION("DSW1:5")
|
||||
PORT_DIPSETTING( 0x08, "Random" )
|
||||
PORT_DIPSETTING( 0x00, "Always" )
|
||||
@ -1137,8 +1274,8 @@ static INPUT_PORTS_START( norautrh )
|
||||
PORT_DIPSETTING( 0x00, "Joker Poker" )
|
||||
PORT_DIPNAME( 0xa0, 0x20, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:3,1")
|
||||
PORT_DIPSETTING( 0x00, "A=1; B=5" )
|
||||
PORT_DIPSETTING( 0xa0, "A=5; B=25" )
|
||||
PORT_DIPSETTING( 0x20, "A=10; B=5" )
|
||||
PORT_DIPSETTING( 0xa0, "A=5; B=25" )
|
||||
PORT_DIPSETTING( 0x80, "A=50; B=25" )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Show Bet") PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
@ -1353,6 +1490,149 @@ static INPUT_PORTS_START( noraut3 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( norautua )
|
||||
|
||||
PORT_INCLUDE( norautrh )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
// to find the function...
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, "1" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x00, "20" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x04, "5 " ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x80)
|
||||
PORT_DIPSETTING( 0x00, "25" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x80)
|
||||
PORT_DIPNAME( 0xa0, 0x20, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:3,1")
|
||||
PORT_DIPSETTING( 0x00, "A=1; B=5" )
|
||||
PORT_DIPSETTING( 0x20, "A=10; B=5" )
|
||||
PORT_DIPSETTING( 0x80, "A=5; B=25" )
|
||||
PORT_DIPSETTING( 0xa0, "A=50; B=25" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( dphla )
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Deal")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet / Collect")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // Coin A OK
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-5") PORT_CODE(KEYCODE_K) // give "ERROR" in some games
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Hi")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Lo")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Stand")PORT_CODE(KEYCODE_D) // Stand: keep the hand
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Draw")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD4 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_CANCEL )
|
||||
|
||||
PORT_START("IN2") // unused
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) // PPI set for PORT C all outputs
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Cards to discard" ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x10, "All 5 cards" )
|
||||
PORT_DIPSETTING( 0x00, "Max 3 cards" )
|
||||
PORT_DIPNAME( 0x60, 0x60, "2 Jokers in Deck" ) PORT_DIPLOCATION("DSW1:2,3")
|
||||
PORT_DIPSETTING( 0x60, "Never" )
|
||||
PORT_DIPSETTING( 0x40, "When 8 or more is bet" )
|
||||
PORT_DIPSETTING( 0x20, "When 4 or more is bet" )
|
||||
PORT_DIPSETTING( 0x00, "Always" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( drhl )
|
||||
|
||||
PORT_INCLUDE( dphla )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
// to find the function...
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Test Mode" ) PORT_DIPLOCATION("DSW1:5")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW1:3,4")
|
||||
PORT_DIPSETTING( 0x10, "10" )
|
||||
PORT_DIPSETTING( 0x00, "20" )
|
||||
PORT_DIPSETTING( 0x30, "30" )
|
||||
PORT_DIPSETTING( 0x20, "30" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Bonus" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( ssjkrpkr )
|
||||
|
||||
PORT_INCLUDE( dphla )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Cards to Discard" ) PORT_DIPLOCATION("DSW1:7")
|
||||
PORT_DIPSETTING( 0x02, "All 5 cards" )
|
||||
PORT_DIPSETTING( 0x00, "Max 3 cards" )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Double-Up" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("DSW1:4,5")
|
||||
PORT_DIPSETTING( 0x18, "1" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
PORT_DIPSETTING( 0x00, "9" )
|
||||
PORT_DIPSETTING( 0x10, "25" )
|
||||
|
||||
PORT_DIPNAME( 0x20, 0x00, "Break Game (set ON)" ) PORT_DIPLOCATION("DSW1:3")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
|
||||
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Graphics Layouts *
|
||||
*********************************************/
|
||||
@ -1397,6 +1677,97 @@ static GFXDECODE_START( gfx_norautp )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Discrete Sound Hardware *
|
||||
**************************************************/
|
||||
|
||||
static const discrete_555_desc desc_norautp_555 =
|
||||
{
|
||||
DISC_555_OUT_ENERGY | DISC_555_OUT_AC,
|
||||
5, // B+ voltage of 555
|
||||
DEFAULT_555_VALUES
|
||||
};
|
||||
|
||||
|
||||
#define NORAUTP_SOUND_CIRCUIT(_name, _r1, _r2, _c1, _c2, _c3, _c4) \
|
||||
static const discrete_comp_adder_table desc_##_name##_caps = \
|
||||
{ \
|
||||
DISC_COMP_P_CAPACITOR, _c4, 3, \
|
||||
{ \
|
||||
_c3, _c2, _c1 \
|
||||
} \
|
||||
}; \
|
||||
\
|
||||
DISCRETE_SOUND_START( _name##_discrete ) \
|
||||
/************************************************ \
|
||||
* Input register mapping \
|
||||
************************************************/ \
|
||||
DISCRETE_INPUT_LOGIC(NORAUTP_SND_EN) \
|
||||
DISCRETE_INPUT_DATA (NORAUTP_FREQ_DATA) \
|
||||
\
|
||||
/************************************************ \
|
||||
* Tone Generator \
|
||||
************************************************/ \
|
||||
DISCRETE_COMP_ADDER(NODE_20, NORAUTP_FREQ_DATA, &desc_##_name##_caps) \
|
||||
DISCRETE_555_ASTABLE(NODE_21, \
|
||||
NORAUTP_SND_EN, /* RESET */ \
|
||||
_r2, _r1, NODE_20, &desc_norautp_555) \
|
||||
\
|
||||
DISCRETE_OUTPUT(NODE_21, 65000.0/3.8) \
|
||||
DISCRETE_SOUND_END
|
||||
|
||||
|
||||
/***** Noraut Poker *****/
|
||||
|
||||
/* Parts List - Resistors */
|
||||
#define NORAUTP_R1 RES_K(120)
|
||||
#define NORAUTP_R2 RES_K(2.2)
|
||||
|
||||
/* Parts List - Capacitors */
|
||||
#define NORAUTP_C1 CAP_U(.01)
|
||||
#define NORAUTP_C2 CAP_U(.022)
|
||||
#define NORAUTP_C3 CAP_U(.047)
|
||||
#define NORAUTP_C4 CAP_U(.01)
|
||||
|
||||
NORAUTP_SOUND_CIRCUIT(norautp,
|
||||
NORAUTP_R1, NORAUTP_R2,
|
||||
NORAUTP_C1, NORAUTP_C2, NORAUTP_C3, NORAUTP_C4)
|
||||
|
||||
|
||||
/***** Draw Poker HI-LO *****/
|
||||
|
||||
/* Parts List - Resistors */
|
||||
#define DPHL_R1 RES_K(120)
|
||||
#define DPHL_R2 RES_K(1)
|
||||
|
||||
/* Parts List - Capacitors */
|
||||
#define DPHL_C1 CAP_U(.01)
|
||||
#define DPHL_C2 CAP_U(.022)
|
||||
#define DPHL_C3 CAP_U(.05)
|
||||
#define DPHL_C4 CAP_U(.01)
|
||||
|
||||
NORAUTP_SOUND_CIRCUIT(dphl,
|
||||
DPHL_R1, DPHL_R2,
|
||||
DPHL_C1, DPHL_C2, DPHL_C3, DPHL_C4)
|
||||
|
||||
|
||||
/***** Kimble Double HI-LO *****/
|
||||
|
||||
/* Parts List - Resistors */
|
||||
#define KIMBLE_R1 RES_K(100)
|
||||
#define KIMBLE_R2 RES_K(1)
|
||||
|
||||
/* Parts List - Capacitors */
|
||||
#define KIMBLE_C1 CAP_U(.01)
|
||||
#define KIMBLE_C2 CAP_U(.022)
|
||||
#define KIMBLE_C3 CAP_U(.047)
|
||||
#define KIMBLE_C4 CAP_U(.01)
|
||||
|
||||
NORAUTP_SOUND_CIRCUIT(kimble,
|
||||
KIMBLE_R1, KIMBLE_R2,
|
||||
KIMBLE_C1, KIMBLE_C2, KIMBLE_C3, KIMBLE_C4)
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Machine Drivers *
|
||||
*********************************************/
|
||||
@ -1502,17 +1873,6 @@ void norautp_state::norautx4(machine_config &config)
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
}
|
||||
|
||||
#ifdef UNUSED_CODE
|
||||
void norautp_state::norautx8(machine_config &config)
|
||||
{
|
||||
noraut_base(config);
|
||||
|
||||
// basic machine hardware
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::norautx8_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
}
|
||||
#endif
|
||||
|
||||
void norautp_state::noraut3(machine_config &config)
|
||||
{
|
||||
noraut_base(config);
|
||||
@ -1573,7 +1933,8 @@ void norautp_state::dphl(machine_config &config)
|
||||
// basic machine hardware
|
||||
I8080(config.replace(), m_maincpu, DPHL_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::dphl_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::norautp_portmap);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::dphl_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
|
||||
// sound hardware
|
||||
m_discrete->set_intf(dphl_discrete);
|
||||
@ -1586,7 +1947,8 @@ void norautp_state::dphla(machine_config &config)
|
||||
// basic machine hardware
|
||||
I8080(config.replace(), m_maincpu, DPHL_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::dphla_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::norautp_portmap);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::dphla_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
|
||||
// sound hardware
|
||||
m_discrete->set_intf(dphl_discrete);
|
||||
@ -1600,6 +1962,7 @@ void norautp_state::kimbldhl(machine_config &config)
|
||||
I8080(config.replace(), m_maincpu, DPHL_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::kimbldhl_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::norautp_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
|
||||
// sound hardware
|
||||
m_discrete->set_intf(kimble_discrete);
|
||||
@ -1613,6 +1976,7 @@ void norautp_state::dphltest(machine_config &config)
|
||||
I8080(config.replace(), m_maincpu, DPHL_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::dphltest_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::norautp_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
|
||||
// sound hardware
|
||||
m_discrete->set_intf(dphl_discrete);
|
||||
@ -1625,7 +1989,10 @@ void norautp_state::drhl(machine_config &config)
|
||||
// basic machine hardware
|
||||
I8080(config.replace(), m_maincpu, DPHL_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::drhl_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::norautp_portmap);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::drhl_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
|
||||
PALETTE(config.replace(), "palette", FUNC(norautp_state::drhl_palette), 8);
|
||||
|
||||
// sound hardware
|
||||
m_discrete->set_intf(dphl_discrete);
|
||||
@ -1639,6 +2006,7 @@ void norautp_state::ssjkrpkr(machine_config &config)
|
||||
I8080(config.replace(), m_maincpu, DPHL_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &norautp_state::ssjkrpkr_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &norautp_state::norautp_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(norautp_state::irq0_line_hold));
|
||||
|
||||
// sound hardware
|
||||
m_discrete->set_intf(dphl_discrete);
|
||||
@ -3597,10 +3965,12 @@ ROM_START( ssjkrpkr )
|
||||
ROM_LOAD( "oc.u11", 0x0000, 0x1000, CRC(b9072aa5) SHA1(bfa3df090e1030aaebbb784cb5e686f4f84f2263) )
|
||||
ROM_LOAD( "oc.u10", 0x1000, 0x1000, CRC(8652ebb9) SHA1(e907df4f8da99b42c425ed58da3cda9943c89fb7) )
|
||||
|
||||
// All garbage inside. Replaced with generic GFX ROM from DPHLA set, modified to support the "'" char
|
||||
// The ROM is broken and can't get a consistent dump. All is garbage inside.
|
||||
// So, we are using a generic GFX ROM (from DPHLA set), modified to support
|
||||
// the apostrophe, question mark, and arrow down symbols needed for the game.
|
||||
ROM_REGION( 0x1000, "gfx", 0 )
|
||||
ROM_FILL( 0x0000, 0x0800, 0xff )
|
||||
ROM_LOAD( "oc.u27", 0x0800, 0x0800, BAD_DUMP CRC(ac8e9f2c) SHA1(25ab615de3055e5be78d409194edf7e3c03fe9b9) )
|
||||
ROM_LOAD( "oc.u27", 0x0800, 0x0800, BAD_DUMP CRC(6de843f8) SHA1(4403178b491ba3d8115ebb631450d094be730edc) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -3615,7 +3985,7 @@ ROM_END
|
||||
The set was found as 'fastdraw'. No other info.
|
||||
Maybe is the poker conversion kit released by Stern as 'Fast Draw':
|
||||
|
||||
http://www.arcadeflyers.com/?page=thumbs&db=videodb&id=4602
|
||||
https://flyers.arcade-museum.com/videogames/show/4362
|
||||
|
||||
*/
|
||||
|
||||
@ -4513,8 +4883,20 @@ void norautp_state::init_enc()
|
||||
case 0x0f: rom[i] = data_sub_table_0f[x]; break;
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t *ROM = memregion("maincpu")->base();
|
||||
// fix table for bin to bcd conversion
|
||||
ROM[0x1da0] = 0x10; // 10.000
|
||||
ROM[0x1da1] = 0x27;
|
||||
ROM[0x1da2] = 0xe8; // 1.000
|
||||
ROM[0x1da3] = 0x03;
|
||||
ROM[0x1da4] = 0x64; // 100
|
||||
ROM[0x1da5] = 0x00;
|
||||
ROM[0x1da6] = 0x0a; // 10
|
||||
ROM[0x1da7] = 0x00;
|
||||
}
|
||||
|
||||
|
||||
void norautp_state::init_deb()
|
||||
// Just for debugging purposes
|
||||
// Should be removed soon
|
||||
@ -4525,6 +4907,7 @@ void norautp_state::init_deb()
|
||||
ROM[0x206c] = 0xff;
|
||||
}
|
||||
|
||||
|
||||
void norautp_state::init_ssa()
|
||||
/* Passing the video PPI handshaking lines */
|
||||
/* Just for debugging purposes */
|
||||
@ -4549,61 +4932,61 @@ void norautp_state::init_ssa()
|
||||
//* The following ones are 'Draw Poker HI-LO' type, running in a Z80 based hardware *
|
||||
//**************************************************************************************
|
||||
|
||||
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAMEL( 1988, norautp, 0, norautp, norautp, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Poker", 0, layout_noraut11 )
|
||||
GAMEL( 198?, norautdx, 0, norautp, norautpn, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Deluxe Poker (console)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautpn, norautp, norautp, norautpn, norautp_state, empty_init, ROT0, "bootleg", "Noraut Deluxe Poker (bootleg)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautjo, 0, norautp, mainline, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Joker Poker (original)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautpl, 0, norautpl, mainline, norautp_state, empty_init, ROT0, "Video Fun Games Ltd.", "Noraut Joker Poker (Prologic HW)", 0, layout_noraut12 )
|
||||
GAMEL( 1988, norautjp, norautp, norautp, norautp, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Joker Poker (alt)", 0, layout_noraut11 )
|
||||
GAMEL( 1988, norautrh, 0, norautp, norautrh, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautra, 0, norautp, norautrh, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker (alt HW)", 0, layout_noraut12 ) // 1-bet?? where??...
|
||||
GAME( 1988, norautu, 0, norautxp, norautp, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Poker (NTX10A)", MACHINE_NOT_WORKING )
|
||||
GAMEL( 2002, noraut3a, 0, noraut3, noraut3, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Jacks Plus / Joker Poker (V3.010a)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAMEL( 2003, noraut3b, 0, noraut3, noraut3, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Jacks Plus / Joker Poker (V3.011a)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAMEL( 198?, norautua, 0, norautu, norautp, norautp_state, init_enc, ROT0, "Noraut Ltd.", "Noraut Joker Poker (console, set 1)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAMEL( 198?, norautub, 0, norautu, norautp, norautp_state, init_enc, ROT0, "Noraut Ltd.", "Noraut Joker Poker (console, set 2)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAMEL( 198?, mainline, 0, norautp, mainline, norautp_state, empty_init, ROT0, "Mainline London", "Mainline Double Joker Poker", 0, layout_noraut12 )
|
||||
GAMEL( 199?, df_djpkr, 0, norautp, mainline, norautp_state, empty_init, ROT0, "DellFern Ltd.", "Double Joker Poker (45%-75% payout)", 0, layout_noraut12 )
|
||||
GAMEL( 2005, ndxron10, 0, norautp, ndxron10, norautp_state, empty_init, ROT0, "<unknown>", "Royal on Ten (hack of Noraut Deluxe Poker)", 0, layout_noraut12 )
|
||||
GAMEL( 1999, cgip30cs, 0, norautx4, norautkl, norautp_state, init_deb, ROT0, "CGI", "Credit Poker (ver.30c, standard)", 0, layout_noraut12 ) // CGI - Credit Poker, VERSION 30C, 21/12/99
|
||||
GAMEL( 1999, cgip30b, cgip30cs,norautx4, norautkl, norautp_state, empty_init, ROT0, "CGI", "Credit Poker (ver.30b, 7 & 9 bonus)", 0, layout_noraut12 ) // CGI - Credit Poker, VERSION 30B, 7 &9 BONUS, 21/12/99 BY V.S. for CGI
|
||||
GAMEL( 1998, cgip23b, cgip30cs,norautx4, norautkl, norautp_state, empty_init, ROT0, "CGI", "Credit Poker (ver.23b, 7 & 9 bonus)", 0, layout_noraut12 ) // CGI - Credit Poker, VERSION 23B, 7 &9 BONUS, 31.03.98. BY V.S.
|
||||
GAMEL( 19??, cgidjp, 0, cgidjp, mainline, norautp_state, empty_init, ROT0, "CGI", "Double Joker Poker (CGI)", 0, layout_noraut12 ) // very similar to df_djpkr
|
||||
GAME( 198?, kimblz80, 0, kimble, norautp, norautp_state, empty_init, ROT0, "Kimble Ireland", "Kimble Double HI-LO (z80 version)", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, pma, 0, nortest1, norautp, norautp_state, empty_init, ROT0, "PMA", "PMA Poker", MACHINE_NOT_WORKING )
|
||||
GAMEL( 198?, bjpoker, 0, norautxp, norautrh, norautp_state, empty_init, ROT0, "M.Kramer Manufacturing.", "Poker / Black Jack (Model 7521)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAME( 19??, newhilop, 0, newhilop, norautp, norautp_state, empty_init, ROT0, "Song Won?", "New Hi-Low Poker", MACHINE_NOT_WORKING )
|
||||
GAMEL( 1984, cdrawpkr, 0, cdrawpkr, cdrawpkr, norautp_state, empty_init, ROT0, "Coinmaster", "Draw Poker (Joker Poker V.01)", 0, layout_noraut11 )
|
||||
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAMEL( 1988, norautp, 0, norautp, norautp, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Poker", 0, layout_noraut11 )
|
||||
GAMEL( 198?, norautdx, 0, norautp, norautpn, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Deluxe Poker (console)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautpn, norautp, norautp, norautpn, norautp_state, empty_init, ROT0, "bootleg", "Noraut Deluxe Poker (bootleg)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautjo, 0, norautp, mainline, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Joker Poker (original)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautpl, 0, norautpl, mainline, norautp_state, empty_init, ROT0, "Video Fun Games Ltd.", "Noraut Joker Poker (Prologic HW)", 0, layout_noraut12 )
|
||||
GAMEL( 1988, norautjp, norautp, norautp, norautp, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Joker Poker (alt)", 0, layout_noraut11 )
|
||||
GAMEL( 1988, norautrh, 0, norautp, norautrh, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker", 0, layout_noraut12 )
|
||||
GAMEL( 198?, norautra, 0, norautp, norautrh, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker (alt HW)", 0, layout_noraut12 )
|
||||
GAME( 1988, norautu, 0, norautxp, norautp, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Poker (NTX10A)", MACHINE_NOT_WORKING )
|
||||
GAMEL( 2002, noraut3a, 0, noraut3, noraut3, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Jacks Plus / Joker Poker (V3.010a)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAMEL( 2003, noraut3b, 0, noraut3, noraut3, norautp_state, empty_init, ROT0, "Noraut Ltd.", "Noraut Jacks Plus / Joker Poker (V3.011a)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAMEL( 198?, norautua, 0, norautu, norautua, norautp_state, init_enc, ROT0, "Noraut Ltd.", "Noraut Joker Poker (console, set 1)", MACHINE_IMPERFECT_GRAPHICS, layout_noraut12 ) // sometimes draw a repeated card
|
||||
GAMEL( 198?, norautub, norautua, norautu, norautua, norautp_state, init_enc, ROT0, "Noraut Ltd.", "Noraut Joker Poker (console, set 2)", 0, layout_noraut12 )
|
||||
GAMEL( 198?, mainline, 0, norautp, mainline, norautp_state, empty_init, ROT0, "Mainline London", "Mainline Double Joker Poker", 0, layout_noraut12 )
|
||||
GAMEL( 199?, df_djpkr, 0, norautp, mainline, norautp_state, empty_init, ROT0, "DellFern Ltd.", "Double Joker Poker (45%-75% payout)", 0, layout_noraut12 )
|
||||
GAMEL( 2005, ndxron10, 0, norautp, ndxron10, norautp_state, empty_init, ROT0, "<unknown>", "Royal on Ten (hack of Noraut Deluxe Poker)", 0, layout_noraut12 )
|
||||
GAMEL( 1999, cgip30cs, 0, norautx4, norautkl, norautp_state, init_deb, ROT0, "CGI", "Credit Poker (ver.30c, standard)", 0, layout_noraut12 ) // CGI - Credit Poker, VERSION 30C, 21/12/99
|
||||
GAMEL( 1999, cgip30b, cgip30cs, norautx4, norautkl, norautp_state, empty_init, ROT0, "CGI", "Credit Poker (ver.30b, 7 & 9 bonus)", 0, layout_noraut12 ) // CGI - Credit Poker, VERSION 30B, 7 &9 BONUS, 21/12/99 BY V.S. for CGI
|
||||
GAMEL( 1998, cgip23b, cgip30cs, norautx4, norautkl, norautp_state, empty_init, ROT0, "CGI", "Credit Poker (ver.23b, 7 & 9 bonus)", 0, layout_noraut12 ) // CGI - Credit Poker, VERSION 23B, 7 &9 BONUS, 31.03.98. BY V.S.
|
||||
GAMEL( 19??, cgidjp, 0, cgidjp, mainline, norautp_state, empty_init, ROT0, "CGI", "Double Joker Poker (CGI)", 0, layout_noraut12 ) // very similar to df_djpkr
|
||||
GAME( 198?, kimblz80, 0, kimble, norautp, norautp_state, empty_init, ROT0, "Kimble Ireland", "Kimble Double HI-LO (z80 version)", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, pma, 0, nortest1, norautp, norautp_state, empty_init, ROT0, "PMA", "PMA Poker", MACHINE_NOT_WORKING )
|
||||
GAMEL( 198?, bjpoker, 0, norautxp, norautrh, norautp_state, empty_init, ROT0, "M.Kramer Manufacturing.", "Poker / Black Jack (Model 7521)", MACHINE_NOT_WORKING, layout_noraut12 )
|
||||
GAME( 19??, newhilop, 0, newhilop, norautp, norautp_state, empty_init, ROT0, "Song Won?", "New Hi-Low Poker", MACHINE_NOT_WORKING )
|
||||
GAMEL( 1984, cdrawpkr, 0, cdrawpkr, cdrawpkr, norautp_state, empty_init, ROT0, "Coinmaster", "Draw Poker (Joker Poker V.01)", 0, layout_noraut11 )
|
||||
|
||||
|
||||
//************************************* 8080 sets **************************************
|
||||
//* The following ones are 'Draw Poker HI-LO' type, running in a 8080 based hardware *
|
||||
//* The following ones are 'Draw Poker HI-LO' type, running in a i8080 based hardware *
|
||||
//**************************************************************************************
|
||||
|
||||
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAME( 1983, dphl, 0, dphl, norautp, norautp_state, empty_init, ROT0, "M.Kramer Manufacturing.", "Draw Poker HI-LO (M.Kramer)", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, dphla, 0, dphla, norautp, norautp_state, empty_init, ROT0, "<unknown>", "Draw Poker HI-LO (Alt)", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, dphljp, 0, dphl, norautp, norautp_state, empty_init, ROT0, "<unknown>", "Draw Poker HI-LO (Japanese)", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, kimbldhl, 0, kimbldhl, norautp, norautp_state, empty_init, ROT0, "Kimble Ireland", "Kimble Double HI-LO", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, gtipoker, 0, dphl, norautp, norautp_state, empty_init, ROT0, "GTI Inc", "GTI Poker", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, gtipokra, 0, dphla, norautp, norautp_state, empty_init, ROT0, "GTI Inc", "GTI Poker? (SMS hardware)", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, smshilo, 0, dphla, norautp, norautp_state, empty_init, ROT0, "SMS Manufacturing Corp.", "HI-LO Double Up Joker Poker", MACHINE_NOT_WORKING )
|
||||
GAME( 1986, drhl, 0, drhl, norautp, norautp_state, empty_init, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 1)", MACHINE_NOT_WORKING )
|
||||
GAME( 1986, drhla, drhl, drhl, norautp, norautp_state, empty_init, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 2)", MACHINE_NOT_WORKING )
|
||||
GAME( 1982, ssjkrpkr, 0, ssjkrpkr, norautp, norautp_state, init_ssa, ROT0, "Southern Systems & Assembly", "Southern Systems Joker Poker", MACHINE_NOT_WORKING )
|
||||
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAMEL( 1983, dphl, 0, dphl, dphla, norautp_state, empty_init, ROT0, "M.Kramer Manufacturing.", "Draw Poker HI-LO (M.Kramer)", MACHINE_NOT_WORKING, layout_noraut10 )
|
||||
GAMEL( 1983, dphla, 0, dphla, dphla, norautp_state, empty_init, ROT0, "<unknown>", "Joker Poker (Kramer, Alt)", MACHINE_NOT_WORKING, layout_noraut10 ) // call attendant
|
||||
GAMEL( 1983, dphljp, 0, dphl, dphla, norautp_state, empty_init, ROT0, "<unknown>", "Draw Poker HI-LO (Japanese)", MACHINE_NOT_WORKING, layout_noraut10 )
|
||||
GAME( 198?, kimbldhl, 0, kimbldhl, norautp, norautp_state, empty_init, ROT0, "Kimble Ireland", "Kimble Double HI-LO", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, gtipoker, 0, dphl, norautp, norautp_state, empty_init, ROT0, "GTI Inc", "GTI Poker", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, gtipokra, 0, dphla, norautp, norautp_state, empty_init, ROT0, "GTI Inc", "GTI Poker? (SMS hardware)", MACHINE_NOT_WORKING )
|
||||
GAME( 1983, smshilo, 0, dphla, norautp, norautp_state, empty_init, ROT0, "SMS Manufacturing Corp.", "HI-LO Double Up Joker Poker", MACHINE_NOT_WORKING )
|
||||
GAMEL( 1986, drhl, 0, drhl, drhl, norautp_state, empty_init, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 1)", 0, layout_noraut10 )
|
||||
GAMEL( 1986, drhla, drhl, drhl, drhl, norautp_state, empty_init, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 2)", 0, layout_noraut10 )
|
||||
GAMEL( 1982, ssjkrpkr, 0, ssjkrpkr, ssjkrpkr, norautp_state, init_ssa, ROT0, "Southern Systems & Assembly", "Southern Systems Joker Poker", 0, layout_noraut10 )
|
||||
|
||||
// The following one also has a custom 68705 MCU
|
||||
GAME( 1993, tpoker2, 0, dphltest, norautp, norautp_state, empty_init, ROT0, "Micro Manufacturing", "Turbo Poker 2", MACHINE_NOT_WORKING )
|
||||
GAME( 1993, tpoker2, 0, dphltest, norautp, norautp_state, empty_init, ROT0, "Micro Manufacturing", "Turbo Poker 2", MACHINE_NOT_WORKING )
|
||||
|
||||
|
||||
//************************************ unknown sets ************************************
|
||||
//* The following ones are still unknown. No info about name, CPU, manufacturer, or HW *
|
||||
//**************************************************************************************
|
||||
|
||||
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAME( 198?, fastdrwp, 0, dphl, norautp, norautp_state, empty_init, ROT0, "Stern Electronics?", "Fast Draw (poker conversion kit)?", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, dphlunka, 0, dphl, norautp, norautp_state, empty_init, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 1)", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, dphlunkb, 0, dphl, norautp, norautp_state, empty_init, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 2)", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, pkii_dm, 0, nortest1, norautp, norautp_state, empty_init, ROT0, "<unknown>", "unknown poker game PKII/DM", MACHINE_NOT_WORKING )
|
||||
GAME( 1989, unkljfpk, 0, nortest1, norautp, norautp_state, empty_init, ROT0, "LJF Corporation", "unknown LJF Corporation poker game", MACHINE_NOT_WORKING )
|
||||
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT
|
||||
GAME( 198?, fastdrwp, 0, dphl, norautp, norautp_state, empty_init, ROT0, "Stern Electronics?", "Fast Draw (poker conversion kit)?", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, dphlunka, 0, dphl, norautp, norautp_state, empty_init, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 1)", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, dphlunkb, 0, dphl, norautp, norautp_state, empty_init, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 2)", MACHINE_NOT_WORKING )
|
||||
GAME( 198?, pkii_dm, 0, nortest1, norautp, norautp_state, empty_init, ROT0, "<unknown>", "unknown poker game PKII/DM", MACHINE_NOT_WORKING )
|
||||
GAME( 1989, unkljfpk, 0, nortest1, norautp, norautp_state, empty_init, ROT0, "LJF Corporation", "unknown LJF Corporation poker game", MACHINE_NOT_WORKING )
|
||||
|
@ -1,107 +0,0 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Angelo Salese, Roberto Fresca
|
||||
#ifndef MAME_MISC_NORAUTP_H
|
||||
#define MAME_MISC_NORAUTP_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "machine/i8255.h"
|
||||
#include "sound/discrete.h"
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
|
||||
|
||||
/* Discrete Sound Input Nodes */
|
||||
#define NORAUTP_SND_EN NODE_01
|
||||
#define NORAUTP_FREQ_DATA NODE_02
|
||||
|
||||
|
||||
class norautp_state : public driver_device
|
||||
{
|
||||
public:
|
||||
norautp_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ppi8255(*this, "ppi8255_%u", 0),
|
||||
m_discrete(*this, "discrete"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_decrypted_opcodes(*this, "decrypted_opcodes"),
|
||||
m_lamps(*this, "lamp%u", 0U)
|
||||
{ }
|
||||
|
||||
void noraut_base(machine_config &config);
|
||||
void kimble(machine_config &config);
|
||||
void kimbldhl(machine_config &config);
|
||||
void norautp(machine_config &config);
|
||||
void norautu(machine_config &config);
|
||||
void norautx4(machine_config &config);
|
||||
void norautpl(machine_config &config);
|
||||
void newhilop(machine_config &config);
|
||||
void dphltest(machine_config &config);
|
||||
void nortest1(machine_config &config);
|
||||
void ssjkrpkr(machine_config &config);
|
||||
void dphl(machine_config &config);
|
||||
void dphla(machine_config &config);
|
||||
void drhl(machine_config &config);
|
||||
void norautxp(machine_config &config);
|
||||
void noraut3(machine_config &config);
|
||||
void cgidjp(machine_config &config);
|
||||
void cdrawpkr(machine_config &config);
|
||||
|
||||
void init_ssa();
|
||||
void init_enc();
|
||||
void init_deb();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override { m_lamps.resolve(); }
|
||||
virtual void video_start() override ATTR_COLD;
|
||||
|
||||
private:
|
||||
void ppi2_obf_w(int state);
|
||||
TIMER_CALLBACK_MEMBER(ppi2_ack);
|
||||
uint8_t test2_r();
|
||||
void mainlamps_w(uint8_t data);
|
||||
void soundlamps_w(uint8_t data);
|
||||
void counterlamps_w(uint8_t data);
|
||||
void norautp_palette(palette_device &palette) const;
|
||||
uint32_t screen_update_norautp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void cgidjp_map(address_map &map) ATTR_COLD;
|
||||
void cgidjp_opcodes_map(address_map &map) ATTR_COLD;
|
||||
void decrypted_opcodes_map(address_map &map) ATTR_COLD;
|
||||
void dphl_map(address_map &map) ATTR_COLD;
|
||||
void dphla_map(address_map &map) ATTR_COLD;
|
||||
void dphltest_map(address_map &map) ATTR_COLD;
|
||||
void drhl_map(address_map &map) ATTR_COLD;
|
||||
void kimbldhl_map(address_map &map) ATTR_COLD;
|
||||
void kimble_map(address_map &map) ATTR_COLD;
|
||||
void newhilop_map(address_map &map) ATTR_COLD;
|
||||
void noraut3_map(address_map &map) ATTR_COLD;
|
||||
void noraut3_decrypted_opcodes_map(address_map &map) ATTR_COLD;
|
||||
void norautp_map(address_map &map) ATTR_COLD;
|
||||
void norautp_portmap(address_map &map) ATTR_COLD;
|
||||
void norautx4_map(address_map &map) ATTR_COLD;
|
||||
void norautx8_map(address_map &map) ATTR_COLD;
|
||||
void norautxp_map(address_map &map) ATTR_COLD;
|
||||
void norautxp_portmap(address_map &map) ATTR_COLD;
|
||||
void nortest1_map(address_map &map) ATTR_COLD;
|
||||
void ssjkrpkr_map(address_map &map) ATTR_COLD;
|
||||
|
||||
std::unique_ptr<uint16_t[]> m_np_vram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device_array<i8255_device, 3> m_ppi8255;
|
||||
required_device<discrete_sound_device> m_discrete;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
optional_shared_ptr<uint8_t> m_decrypted_opcodes;
|
||||
output_finder<12> m_lamps;
|
||||
};
|
||||
|
||||
/*----------- defined in audio/norautp.c -----------*/
|
||||
DISCRETE_SOUND_EXTERN( norautp_discrete );
|
||||
DISCRETE_SOUND_EXTERN( dphl_discrete );
|
||||
DISCRETE_SOUND_EXTERN( kimble_discrete );
|
||||
|
||||
#endif // MAME_MISC_NORAUTP_H
|
@ -1,100 +0,0 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Derrick Renaud, Roberto Fresca
|
||||
/************************************************************************
|
||||
* Noraut/Kimble/Kramer Poker Sound System Analog emulation
|
||||
* Sept 2009, Derrick Renaud & Roberto Fresca.
|
||||
************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "norautp.h"
|
||||
|
||||
|
||||
/* Discrete Sound Input Nodes */
|
||||
/* defined in norautp.h */
|
||||
|
||||
|
||||
static const discrete_555_desc desc_norautp_555 =
|
||||
{
|
||||
DISC_555_OUT_ENERGY | DISC_555_OUT_AC,
|
||||
5, // B+ voltage of 555
|
||||
DEFAULT_555_VALUES
|
||||
};
|
||||
|
||||
|
||||
#define NORAUTP_SOUND_CIRCUIT(_name, _r1, _r2, _c1, _c2, _c3, _c4) \
|
||||
static const discrete_comp_adder_table desc_##_name##_caps = \
|
||||
{ \
|
||||
DISC_COMP_P_CAPACITOR, _c4, 3, \
|
||||
{ \
|
||||
_c3, _c2, _c1 \
|
||||
} \
|
||||
}; \
|
||||
\
|
||||
DISCRETE_SOUND_START( _name##_discrete ) \
|
||||
/************************************************ \
|
||||
* Input register mapping \
|
||||
************************************************/ \
|
||||
DISCRETE_INPUT_LOGIC(NORAUTP_SND_EN) \
|
||||
DISCRETE_INPUT_DATA (NORAUTP_FREQ_DATA) \
|
||||
\
|
||||
/************************************************ \
|
||||
* Tone Generator \
|
||||
************************************************/ \
|
||||
DISCRETE_COMP_ADDER(NODE_20, NORAUTP_FREQ_DATA, &desc_##_name##_caps) \
|
||||
DISCRETE_555_ASTABLE(NODE_21, \
|
||||
NORAUTP_SND_EN, /* RESET */ \
|
||||
_r2, _r1, NODE_20, &desc_norautp_555) \
|
||||
\
|
||||
DISCRETE_OUTPUT(NODE_21, 65000.0/3.8) \
|
||||
DISCRETE_SOUND_END
|
||||
|
||||
|
||||
/***** Noraut Poker *****/
|
||||
|
||||
/* Parts List - Resistors */
|
||||
#define NORAUTP_R1 RES_K(120)
|
||||
#define NORAUTP_R2 RES_K(2.2)
|
||||
|
||||
/* Parts List - Capacitors */
|
||||
#define NORAUTP_C1 CAP_U(.01)
|
||||
#define NORAUTP_C2 CAP_U(.022)
|
||||
#define NORAUTP_C3 CAP_U(.047)
|
||||
#define NORAUTP_C4 CAP_U(.01)
|
||||
|
||||
NORAUTP_SOUND_CIRCUIT(norautp,
|
||||
NORAUTP_R1, NORAUTP_R2,
|
||||
NORAUTP_C1, NORAUTP_C2, NORAUTP_C3, NORAUTP_C4)
|
||||
|
||||
|
||||
/***** Draw Poker HI-LO *****/
|
||||
|
||||
/* Parts List - Resistors */
|
||||
#define DPHL_R1 RES_K(120)
|
||||
#define DPHL_R2 RES_K(1)
|
||||
|
||||
/* Parts List - Capacitors */
|
||||
#define DPHL_C1 CAP_U(.01)
|
||||
#define DPHL_C2 CAP_U(.022)
|
||||
#define DPHL_C3 CAP_U(.05)
|
||||
#define DPHL_C4 CAP_U(.01)
|
||||
|
||||
NORAUTP_SOUND_CIRCUIT(dphl,
|
||||
DPHL_R1, DPHL_R2,
|
||||
DPHL_C1, DPHL_C2, DPHL_C3, DPHL_C4)
|
||||
|
||||
|
||||
/***** Kimble Double HI-LO *****/
|
||||
|
||||
/* Parts List - Resistors */
|
||||
#define KIMBLE_R1 RES_K(100)
|
||||
#define KIMBLE_R2 RES_K(1)
|
||||
|
||||
/* Parts List - Capacitors */
|
||||
#define KIMBLE_C1 CAP_U(.01)
|
||||
#define KIMBLE_C2 CAP_U(.022)
|
||||
#define KIMBLE_C3 CAP_U(.047)
|
||||
#define KIMBLE_C4 CAP_U(.01)
|
||||
|
||||
NORAUTP_SOUND_CIRCUIT(kimble,
|
||||
KIMBLE_R1, KIMBLE_R2,
|
||||
KIMBLE_C1, KIMBLE_C2, KIMBLE_C3, KIMBLE_C4)
|
Loading…
Reference in New Issue
Block a user