mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
hh_tms1k: horseran works now, will correct whatsnew manually (nw)
This commit is contained in:
parent
397d567e0f
commit
a0c5f7f97c
@ -46,8 +46,8 @@
|
||||
COL11 19 | | 22 COL13
|
||||
GND 20 |___________| 21 COL12
|
||||
|
||||
OSC is tied to a capacitor, the result frequency is 50000 * cap(in uF),
|
||||
eg. 0.01uF cap = 500Hz.
|
||||
OSC is tied to a capacitor, the result frequency is 50000 * cap(in uF), eg. 0.01uF cap = 500Hz.
|
||||
Internally, this is divided by 2, and by number of rows to get display refresh frequency.
|
||||
*/
|
||||
|
||||
class hlcd0515_device : public device_t
|
||||
@ -70,16 +70,16 @@ protected:
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
int m_cs;
|
||||
int m_clock;
|
||||
int m_data;
|
||||
int m_cs; // input pin state
|
||||
int m_clock; // "
|
||||
int m_data; // "
|
||||
int m_count;
|
||||
u8 m_control;
|
||||
bool m_blank;
|
||||
u8 m_rowmax;
|
||||
u8 m_rowout;
|
||||
u8 m_rowsel;
|
||||
u32 m_ram[8];
|
||||
bool m_blank; // display blank/visible
|
||||
u8 m_rowmax; // number of rows output by lcd (max 8)
|
||||
u8 m_rowout; // current row for lcd output
|
||||
u8 m_rowsel; // current row for data in/out
|
||||
u32 m_ram[8]; // 8x25bit ram
|
||||
|
||||
emu_timer *m_lcd_timer;
|
||||
|
||||
|
@ -172,6 +172,7 @@
|
||||
#include "h2hbaseb.lh"
|
||||
#include "h2hboxing.lh"
|
||||
#include "h2hfootb.lh"
|
||||
#include "horseran.lh"
|
||||
#include "lostreas.lh" // clickable
|
||||
#include "matchnum.lh" // clickable
|
||||
#include "mathmagi.lh"
|
||||
@ -4475,6 +4476,17 @@ public:
|
||||
|
||||
WRITE32_MEMBER(horseran_state::lcd_output_w)
|
||||
{
|
||||
// only 3 rows used
|
||||
if (offset > 2)
|
||||
return;
|
||||
|
||||
// output segments (lamp row*100 + col)
|
||||
for (int i = 0; i < 24; i++)
|
||||
output().set_lamp_value(offset*100 + i+1, data >> i & 1);
|
||||
|
||||
// col5-11 and col13-19 are 7segs
|
||||
for (int i = 0; i < 2; i++)
|
||||
output().set_digit_value(offset << 1 | i, BITSWAP8(data >> (4+8*i),7,3,5,2,0,1,4,6) & 0x7f);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(horseran_state::write_r)
|
||||
@ -4570,8 +4582,7 @@ static MACHINE_CONFIG_START( horseran, horseran_state )
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD("lcd", HLCD0569, 1100) // C=0.022uF
|
||||
MCFG_HLCD0515_WRITE_COLS_CB(WRITE32(horseran_state, lcd_output_w))
|
||||
MCFG_DEFAULT_LAYOUT(layout_hh_tms1k_test)
|
||||
//MCFG_DEFAULT_LAYOUT(layout_horseran)
|
||||
MCFG_DEFAULT_LAYOUT(layout_horseran)
|
||||
|
||||
/* no sound! */
|
||||
MACHINE_CONFIG_END
|
||||
@ -8710,7 +8721,7 @@ COMP( 1979, astro, 0, 0, astro, astro, driver_device, 0, "Kos
|
||||
|
||||
CONS( 1978, elecbowl, 0, 0, elecbowl, elecbowl, driver_device, 0, "Marx", "Electronic Bowling (Marx)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) // ***
|
||||
|
||||
COMP( 1979, horseran, 0, 0, horseran, horseran, driver_device, 0, "Mattel", "Thoroughbred Horse Race Analyzer", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
|
||||
COMP( 1979, horseran, 0, 0, horseran, horseran, driver_device, 0, "Mattel", "Thoroughbred Horse Race Analyzer", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
CONS( 1980, mdndclab, 0, 0, mdndclab, mdndclab, driver_device, 0, "Mattel", "Dungeons & Dragons - Computer Labyrinth Game", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // ***
|
||||
|
||||
CONS( 1977, comp4, 0, 0, comp4, comp4, driver_device, 0, "Milton Bradley", "Comp IV", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW )
|
||||
|
154
src/mame/layout/horseran.lay
Normal file
154
src/mame/layout/horseran.lay
Normal file
@ -0,0 +1,154 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- lcd colours are inverted due to 7seg element limitation -->
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="text_places" defstate="0">
|
||||
<text state="0" string="PLACES"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="PLACES"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_shows" defstate="0">
|
||||
<text state="0" string="SHOWS"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="SHOWS"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_earnings" defstate="0">
|
||||
<text state="0" string="EARNINGS"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="EARNINGS"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_oflast5" defstate="0">
|
||||
<text state="0" string="OF LAST 5 RACES"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="OF LAST 5 RACES"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_rating" defstate="0">
|
||||
<text state="0" string="RATING"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="RATING"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_finpos" defstate="0">
|
||||
<text state="0" string="FINISH POSITION"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="FINISH POSITION"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_finish" defstate="0">
|
||||
<text state="0" string="FINISH"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="FINISH"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_3call" defstate="0">
|
||||
<text state="0" string="3RD CALL"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="3RD CALL"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_curyear" defstate="0">
|
||||
<text state="0" string="CURRENT YEAR"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="CURRENT YEAR"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_pastyear" defstate="0">
|
||||
<text state="0" string="PAST YEAR"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="PAST YEAR"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_rsl" defstate="0">
|
||||
<text state="0" string="RACES SINCE LAYOFF"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="RACES SINCE LAYOFF"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_distance" defstate="0">
|
||||
<text state="0" string="DISTANCE"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="DISTANCE"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_postpos" defstate="0">
|
||||
<text state="0" string="POST POSITION"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="POST POSITION"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_3rb" defstate="0">
|
||||
<text state="0" string="3RD RACE BACK"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="3RD RACE BACK"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_2rb" defstate="0">
|
||||
<text state="0" string="2ND RACE BACK"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="2ND RACE BACK"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_lastrace" defstate="0">
|
||||
<text state="0" string="LAST RACE"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="LAST RACE"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_purse" defstate="0">
|
||||
<text state="0" string="PURSE"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="PURSE"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_lback" defstate="0">
|
||||
<text state="0" string="LENGTHS BACK"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="LENGTHS BACK"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_1call" defstate="0">
|
||||
<text state="0" string="1ST CALL"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="1ST CALL"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_2call" defstate="0">
|
||||
<text state="0" string="2ND CALL"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="2ND CALL"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_2bsr" defstate="0">
|
||||
<text state="0" string="2 BEST SPEED RATINGS"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="2 BEST SPEED RATINGS"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_daysaway" defstate="0">
|
||||
<text state="0" string="DAYS AWAY"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="DAYS AWAY"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_wins" defstate="0">
|
||||
<text state="0" string="WINS"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="WINS"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
<element name="text_races" defstate="0">
|
||||
<text state="0" string="RACES"><color red="0.1" green="0.1" blue="0.1" /></text>
|
||||
<text state="1" string="RACES"><color red="0.9" green="0.9" blue="0.9" /></text>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="0.9" green="0.9" blue="0.9" /></led7seg>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="0.4" right="21" top="-0.2" bottom="12.2" />
|
||||
|
||||
<bezel name="lamp124" element="text_purse"><bounds x="4" y="0" width="5" height="1" /></bezel>
|
||||
<bezel name="lamp101" element="text_curyear"><bounds x="0" y="1" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp123" element="text_lastrace"><bounds x="0" y="2" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp102" element="text_pastyear"><bounds x="0" y="3" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp122" element="text_2rb"><bounds x="0" y="4" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp103" element="text_rsl"><bounds x="0" y="5" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp121" element="text_3rb"><bounds x="0" y="6" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp104" element="text_distance"><bounds x="0" y="7" width="6" height="1" /></bezel>
|
||||
|
||||
<bezel name="lamp224" element="text_postpos"><bounds x="8" y="0" width="8" height="1" /></bezel>
|
||||
<bezel name="lamp201" element="text_lback"><bounds x="6" y="1" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp223" element="text_races"><bounds x="6" y="2" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp202" element="text_1call"><bounds x="6" y="3" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp222" element="text_wins"><bounds x="6" y="4" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp203" element="text_2call"><bounds x="6" y="5" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp221" element="text_daysaway"><bounds x="6" y="6" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp204" element="text_2bsr"><bounds x="4.5" y="7" width="10" height="1" /></bezel>
|
||||
|
||||
<bezel name="lamp1" element="text_places"><bounds x="12" y="1" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp23" element="text_3call"><bounds x="12" y="2" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp2" element="text_shows"><bounds x="12" y="3" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp22" element="text_finish"><bounds x="12" y="4" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp3" element="text_earnings"><bounds x="12" y="5" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp21" element="text_finpos"><bounds x="12" y="6" width="10" height="1" /></bezel>
|
||||
<bezel name="lamp4" element="text_oflast5"><bounds x="12.25" y="7" width="10" height="1" /></bezel>
|
||||
|
||||
<bezel name="digit3" element="digit"><bounds x="4" y="8.2" width="2" height="3" /></bezel>
|
||||
<bezel name="digit5" element="digit"><bounds x="6" y="8.2" width="2" height="3" /></bezel>
|
||||
<bezel name="digit1" element="digit"><bounds x="8" y="8.2" width="2" height="3" /></bezel>
|
||||
<bezel name="digit2" element="digit"><bounds x="10" y="8.2" width="2" height="3" /></bezel>
|
||||
<bezel name="digit4" element="digit"><bounds x="12" y="8.2" width="2" height="3" /></bezel>
|
||||
<bezel name="digit0" element="digit"><bounds x="14" y="8.2" width="2" height="3" /></bezel>
|
||||
|
||||
<bezel name="lamp120" element="text_postpos"><bounds x="2.5" y="11.3" width="6" height="0.66" /></bezel>
|
||||
<bezel name="lamp20" element="text_rating"><bounds x="10.5" y="11.3" width="6" height="0.66" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
Loading…
Reference in New Issue
Block a user