summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2017-09-05 17:39:30 +0200
committer hap <happppp@users.noreply.github.com>2017-09-05 17:39:49 +0200
commit72f0490bf1b50a30b8b4617665cff7cac3da831a (patch)
treede95adadaca7f6ec728c5e4e2db28054aace7e9b
parenta0ffbe0762d84d60f318a28d5e2dc9250803da78 (diff)
rzone: correct output_finder, add notes (nw)
-rw-r--r--src/mame/drivers/rzone.cpp26
-rw-r--r--src/mame/layout/rzone.lay4
2 files changed, 22 insertions, 8 deletions
diff --git a/src/mame/drivers/rzone.cpp b/src/mame/drivers/rzone.cpp
index caee1bdfe63..b9b86c5eb28 100644
--- a/src/mame/drivers/rzone.cpp
+++ b/src/mame/drivers/rzone.cpp
@@ -7,9 +7,23 @@
Tiger R-Zone driver
This is a backwards console, the heart of the machine is the cartridge.
+ The console houses the controller, speaker, power, backlight, and a
+ polarizer filter for the screen. The cartridge has the MCU, optional
+ sound ROM, and the LCD screen in a translucent window.
+
+ Console family:
+
+ 1995: R-Zone HeadGear: Wearable headset, controller is separate,
+ red-on-black screen is reflected in front of the right eye.
+ 1996: R-Zone SuperScreen: Handheld console, inverted filter(aka black
+ LCD segments), optional background sheet as with standalone handhelds.
+ 1997: R-Zone X.P.G - Xtreme Pocket Game: Handheld version of HeadGear.
+ 1997: R-Zone DataZone: PDA with a built-in SuperScreen.
TODO:
- - x
+ - support for SuperScreen. SVG colors will need to be inverted, or maybe
+ with artwork or HLSL?
+ - add DataZone, will get its own driver
***************************************************************************/
@@ -27,18 +41,18 @@ class rzone_state : public hh_sm510_state
public:
rzone_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_sm510_state(mconfig, type, tag),
- m_led_out(*this, "led%u", 0U),
+ m_led_out(*this, "led"),
m_led_off(*this, "led_off")
{ }
- output_finder<1> m_led_out;
+ output_finder<> m_led_out;
required_device<timer_device> m_led_off;
int m_led_pin;
int m_sctrl;
int m_sclock;
- TIMER_DEVICE_CALLBACK_MEMBER(led_off_callback) { m_led_out[0] = m_led_pin ? 1 : 0; }
+ TIMER_DEVICE_CALLBACK_MEMBER(led_off_callback) { m_led_out = m_led_pin ? 1 : 0; }
DECLARE_WRITE_LINE_MEMBER(led_w);
DECLARE_WRITE_LINE_MEMBER(audio_w);
DECLARE_WRITE_LINE_MEMBER(sctrl_w);
@@ -87,7 +101,7 @@ WRITE_LINE_MEMBER(rzone_state::led_w)
{
// LED: enable backlight
if (state)
- m_led_out[0] = 1;
+ m_led_out = 1;
// delay led off to prevent flickering
if (!state && m_led_pin)
@@ -128,7 +142,7 @@ READ_LINE_MEMBER(rzone_state::sdata_r)
}
-// cartridge type 1
+// cartridge type 1: simple SM510
WRITE8_MEMBER(rzone_state::t1_write_r)
{
diff --git a/src/mame/layout/rzone.lay b/src/mame/layout/rzone.lay
index fc6c801753f..52645328e9d 100644
--- a/src/mame/layout/rzone.lay
+++ b/src/mame/layout/rzone.lay
@@ -5,7 +5,7 @@
<element name="static_red"><rect><color red="1.0" green="0.2" blue="0.23" /></rect></element>
- <element name="led" defstate="0">
+ <element name="dark" defstate="0">
<rect state="0"><color red="0" green="0" blue="0" /></rect>
</element>
@@ -15,7 +15,7 @@
<view name="Internal Layout">
<screen index="0"><bounds left="0" top="0" right="~scr0width~" bottom="~scr0height~" /></screen>
<overlay element="static_red"><bounds left="0" top="0" right="~scr0width~" bottom="~scr0height~" /></overlay>
- <bezel name="led0" element="led"><bounds left="0" top="0" right="~scr0width~" bottom="~scr0height~" /></bezel>
+ <bezel name="led" element="dark"><bounds left="0" top="0" right="~scr0width~" bottom="~scr0height~" /></bezel>
</view>
</mamelayout>