Previous 199869 Revisions Next

r44651 Wednesday 3rd February, 2016 at 20:05:53 UTC by hap
New WORKING machine added
--------------
Chess Challenger 7 [hap, Berger]
[src/mame/drivers]deshoros.cpp fidel6502.cpp fidelz80.cpp hh_tms1k.cpp
[src/mame/includes]fidelz80.h hh_tms1k.h
[src/mame/layout]fidel_bcc.lay*

trunk/src/mame/drivers/deshoros.cpp
r253162r253163
1212
1313Rough cpanel sketch:
1414
15    [LED-array dispay]          1  2  3  M
15    [LED-array display]         1  2  3  M
1616                                4  5  6  F
1717                                7  8  9  0
1818                                CLEAR ENTER
trunk/src/mame/drivers/fidel6502.cpp
r253162r253163
1515#include "cpu/m6502/r65c02.h"
1616#include "cpu/m6502/m65sc02.h"
1717#include "machine/6821pia.h"
18#include "sound/speaker.h"
1918#include "bus/generic/slot.h"
2019#include "bus/generic/carts.h"
2120#include "softlist.h"
r253162r253163
3433   fidel6502_state(const machine_config &mconfig, device_type type, const char *tag)
3534      : fidelz80base_state(mconfig, type, tag),
3635      m_6821pia(*this, "6821pia"),
37      m_cart(*this, "cartslot"),
38      m_speaker(*this, "speaker")
36      m_cart(*this, "cartslot")
3937   { }
4038
4139   // devices/pointers
4240   optional_device<pia6821_device> m_6821pia;
4341   optional_device<generic_slot_device> m_cart;
44   optional_device<speaker_sound_device> m_speaker;
4542   
4643   TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE); }
4744   TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE); }
r253162r253163
9491
9592   // 4 7seg leds + H
9693   for (int i = 0; i < 4; i++)
97   {
98      m_display_segmask[i] = 0x7f;
9994      m_display_state[i] = (m_inp_mux >> i & 1) ? m_7seg_data : 0;
100   }
10195
10296   // 8*8 chessboard leds
10397   for (int i = 0; i < 8; i++)
10498      m_display_state[i+4] = (m_inp_mux >> i & 1) ? m_led_data : 0;
10599
106100   set_display_size(8, 12);
101   set_display_segmask(0xf, 0x7f);
107102   display_update();
108103}
109104
trunk/src/mame/drivers/fidelz80.cpp
r253162r253163
4242    Board hardware descriptions below.
4343    Detailed RE work done by Kevin 'kevtris' Horton, except where noted
4444
45***********************************************************************
45******************************************************************************
4646
4747Voice Chess Challenger (VCC) (version A and B?)
4848Advanced Voice Chess Challenger (UVC)
r253162r253163
5151
5252(which share the same hardware)
5353----------------------
54
5554The CPU is a Z80 running at 4MHz.  The TSI chip runs at around 25KHz, using a
5655470K / 100pf RC network.  This system is very very basic, and is composed of just
5756the Z80, 4 ROMs, the TSI chip, and an 8255.
r253162r253163
79784000-5FFF: 1K RAM (2114 SRAM x2)
80796000-FFFF: empty
8180
82I/O map:
83--------
81Port map:
82---------
848300-03: 8255 port chip, mirrored over the 00-FF range; program accesses F4-F7
8584
86
87858255 connections:
8886-----------------
89
9087PA.0 - segment G, TSI A0 (W)
9188PA.1 - segment F, TSI A1 (W)
9289PA.2 - segment E, TSI A2 (W)
r253162r253163
115112PC.6 - button column C (W)
116113PC.7 - button column D (W)
117114
118
119115language switches:
120116------------------
121
122117When PB.6 is pulled low, the language switches can be read.  There are four.
123118They connect to the button rows.  When enabled, the row(s) will read low if
124119the jumper is present.  English only VCC's do not have the 367 or any pads stuffed.
125120The jumpers are labelled: French, German, Spanish, and special.
126121
127
128122language latch:
129123---------------
130
131124There's an unstuffed 7474 on the board that connects to PA.6 and PA.7.  It allows
132125one to latch the state of A12 to the speech ROM.  The English version has the chip
133126missing, and a jumper pulling "A12" to ground.  This line is really a negative
r253162r253163
143136determination and give you a language option on power up or something.
144137
145138
146***********************************************************************
139******************************************************************************
147140
148Chess Challenger 10
141Chess Challenger 10 (CC10)
149142-------------------
150
1511434 versions are known to exist: A,B,C,D. Strangely, version C has an 8080
152144instead of Z80. Chess Challenger 1,3 and 7 also run on very similar hardware.
153145
r253162r253163
158150
1591518255 connections:
160152-----------------
161
162153PA.0 - segment G (W)
163154PA.1 - segment F (W)
164155PA.2 - segment E (W)
r253162r253163
193184
194185******************************************************************************
195186
187Chess Challenger 7 (BCC)
188------------------------
189RE information from netlist by Berger
190
191Zilog Z80A, 3.579MHz from XTAL
192This is a cost-reduced design from CC10, no special I/O chips.
193
194Memory map:
195-----------
1960000-0FFF: 4K 2332 ROM CN19103N BCC-REVB.
1972000-2FFF: ROM/RAM bus conflict!
1983000-3FFF: 256 bytes RAM (2111 SRAM x2)
1994000-FFFF: Z80 A14/A15 not connected
200
201Port map (Write):
202---------
203D0-D3: digit select and keypad mux
204D4: LOSE led
205D5: CHECK led
206A0-A2: NE591 A0-A2
207D7: NE591 D (_C not used)
208NE591 Q0-Q6: digit segments A-G
209NE591 Q7: buzzer
210
211Port map (Read):
212---------
213D0-D3: keypad row
214
215
216******************************************************************************
217
196218Voice Bridge Challenger (Model VBRC, later reissued as Model 7002)
197219and Bridge Challenger 3 (Model 7014)
198220(which both share the same* hardware)
r253162r253163
216238
217239Memory Map:
218240-----------
219
2202410000-1FFF: 8K 101-64108 ROM
2212422000-3FFF: 8K 101-64109 ROM
2222434000-5FFF: 8K 101-64110 ROM
r253162r253163
230251The TSI chip's ROM is 4K, and is marked 101-32118.  The clock is the same as the Chess
231252Challengers- 470K/100pf which gives a frequency around 25KHz or so.
232253
233I/O Map:
234--------
235
254Port Map:
255---------
23625600-FF: 8041 I/O ports (A0 selects between the two)
237257
238
2392588041 pinout:
240259------------
241
242260(note: columns are pulled up with 10K resistors)
243261
244262P10 - column H, RD LED, VFD grid 0
r253162r253163
264282T0 - optical card sensor (high = bright/reflective, low = dark/non reflective)
265283T1 - connects to inverter, then nothing?
266284
267
268285D8243C I/O expander:
269286--------------------
270
271287P4.0 - segment M
272288P4.1 - segment L
273289P4.2 - segment N
r253162r253163
288304P7.2 - segment C
289305P7.3 - segment H
290306
291
292307button matrix:
293308--------------
294
295309the matrix is composed of 8 columns by 4 rows.
296310
297311     A  B  C  D     E  F  G  H
r253162r253163
337351
338352Memory map:
339353-----------
340
3413540000-07FF: 2K of RAM
3423550800-0FFF: 1K of RAM (note: mirrored twice)
3433561000-17FF: PIA 0 (display, TSI speech chip)
r253162r253163
356369IRQ is connected to a 600Hz oscillator (38.4KHz divided by 64).
357370Reset is connected to a power-on reset circuit.
358371
359
360372PIA 0:
361373------
362
363374PA0 - 7seg segments E, TSI A0
364375PA1 - 7seg segments D, TSI A1
365376PA2 - 7seg segments C, TSI A2
r253162r253163
384395CB1 - NC
385396CB2 - NC (connects to pin 14 of soldered connector)
386397
387
388398PIA 1:
389399------
390
391400PA0 - button row 1
392401PA1 - button row 2
393402PA2 - button row 3
r253162r253163
412421CB1 - button row 8
413422CB2 - selector bit 2
414423
415
416424Selector: (attached to PIA 1, outputs 1 of 10 pins low.  7442)
417425---------
418
419426output # (selected turns this column on, and all others off)
4204270 - LED column A, button column A, 7seg digit 1
4214281 - LED column B, button column B, 7seg digit 2
r253162r253163
456463
457464these 6 buttons use row 9 (connects to PIA 0)
458465
459
460466LED display:
461467------------
462
46346843 21 (digit number)
464469-----
46547088:88
r253162r253163
473478All three of the above are called "segment H".
474479
475480
476***********************************************************************
481******************************************************************************
477482
478483Voice Sensory Chess Challenger (VSC)
479484------------------------------------
480
481485The display/button/LED/speech technology is identical to the above product.
482486Only the CPU board was changed.  As such, it works the same but is interfaced
483487to different port chips this time.
484488
485489Hardware:
486490---------
487
488491On the board are 13 chips.
489492
490493The CPU is a Z80A running at 3.9MHz, with 20K of ROM and 1K of RAM mapped.
r253162r253163
508511
509512Memory map:
510513-----------
511
5125140000-1FFF: 8K ROM 101-64018
5135152000-3FFF: 8K ROM 101-64019 (also used on the sensory champ. chess challenger)
5145164000-5FFF: 4K ROM 101-32024
5155176000-7FFF: 1K of RAM (2114 * 2)
5165188000-FFFF: not used, maps to open bus
517519
518I/O map:
519--------
520
521There's only two chips in the I/O map, an 8255 triple port chip, and a Z80A PIO
520Port map:
521---------
522There's only two chips in the portmap, an 8255 triple port chip, and a Z80A PIO
522523parallel input/output device.
523524
524525Decoding isn't performed using a selector, but instead address lines are used.
r253162r253163
551552Refer to the Sensory Champ. Chess Chall. above for explanations of the below
552553I/O names and labels.  It's the same.
553554
554
5555558255:
556556-----
557
558557PA.0 - segment D, TSI A0
559558PA.1 - segment E, TSI A1
560559PA.2 - segment F, TSI A2
r253162r253163
582581PC.6 - LED column G, button column G
583582PC.7 - LED column H, button column H
584583
585
586584Z80A PIO:
587585---------
588
589586PA.0 - button row 1
590587PA.1 - button row 2
591588PA.2 - button row 3
r253162r253163
604601PB.6 - TSI start line
605602PB.7 - TSI ROM A12 line
606603
607
608604selection jumpers:
609605------------------
610
611606These act like another row of buttons.  It is composed of two diode locations,
612607so there's up to 4 possible configurations.  My board does not have either diode
613608stuffed, so this most likely is "English".  I suspect it selects which language to use
r253162r253163
624619Sensory Chess Challenger (SC12-B)
6256204 versions are known to exist: A,B,C, and X, with increasing CPU speed.
626621---------------------------------
627
628622RE information from netlist by Berger
629623
6306248*(8+1) buttons, 8+8+2 red LEDs
r253162r253163
636630- timer#1, one-shot at power-on, to CPU _RESET
637631- timer#2: R1=82K, R2=1K, C=22nf, to CPU _IRQ: ~780Hz, active low=15.25us
638632
639
640633Memory map:
641634-----------
642
6436356000-0FFF: 4K of RAM (2016 * 2)
6446362000-5FFF: cartridge
6456376000-7FFF: control(W)
r253162r253163
650642
651643control: (74LS377)
652644--------
653
654645Q0-Q3: 7442 A0-A3
655646Q4: enable printer port pin 1 input
656647Q5: printer port pin 5 output
r253162r253163
667658
668659Voice Excellence (FEV, model 6092)
669660----------------------------------
670
671661PCB 1: 510.1117A02, appears to be identical to other "Excellence" boards
672662CPU: GTE G65SC102P-3, 32 KB PRG ROM: AMI 101-1080A01(IC5), 8192x8 SRAM SRM2264C10(IC6)
6736632 rows of LEDs on the side: 1*8 green, 1*8 red
r253162r253163
713703
714704// internal artwork
715705#include "fidel_cc.lh"
706#include "fidel_bcc.lh"
716707#include "fidel_vcc.lh"
717708#include "fidel_vbrc.lh"
718709#include "fidel_vsc.lh" // clickable
r253162r253163
751742   DECLARE_WRITE8_MEMBER(vcc_ppi_portc_w);
752743   DECLARE_WRITE8_MEMBER(cc10_ppi_porta_w);
753744   TIMER_DEVICE_CALLBACK_MEMBER(beeper_off_callback);
745   
746   // model BCC
747   DECLARE_READ8_MEMBER(bcc_input_r);
748   DECLARE_WRITE8_MEMBER(bcc_control_w);
754749
755750   // model VSC
756751   void vsc_prepare_display();
r253162r253163
763758   DECLARE_READ8_MEMBER(vsc_pio_portb_r);
764759   DECLARE_WRITE8_MEMBER(vsc_pio_portb_w);
765760
766   // model 7014 and VBC
761   // model 7014 and VBRC
767762   void vbrc_prepare_display();
768763   DECLARE_WRITE8_MEMBER(vbrc_speech_w);
769764   DECLARE_WRITE8_MEMBER(vbrc_mcu_p1_w);
r253162r253163
891886   m_display_maxy = maxy;
892887}
893888
889void fidelz80base_state::set_display_segmask(UINT32 digits, UINT32 mask)
890{
891   // set a segment mask per selected digit, but leave unselected ones alone
892   for (int i = 0; i < 0x20; i++)
893   {
894      if (digits & 1)
895         m_display_segmask[i] = mask;
896      digits >>= 1;
897   }
898}
899
894900void fidelz80base_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
895901{
896902   set_display_size(maxx, maxy);
r253162r253163
939945
940946void fidelz80_state::vcc_prepare_display()
941947{
942   // 4 7seg leds
943   for (int i = 0; i < 4; i++)
944      m_display_segmask[i] = 0x7f;
945
946   // note: sel d0 for extra leds
948   // 4 7seg leds (note: sel d0 for extra leds)
947949   UINT8 outdata = (m_7seg_data & 0x7f) | (m_led_select << 7 & 0x80);
950   set_display_segmask(0xf, 0x7f);
948951   display_matrix(8, 4, outdata, m_led_select >> 2 & 0xf);
949952}
950953
r253162r253163
10281031
10291032
10301033/******************************************************************************
1034    BCC
1035******************************************************************************/
1036
1037// TTL
1038
1039WRITE8_MEMBER(fidelz80_state::bcc_control_w)
1040{
1041   // a0-a2,d7: digit segment data via NE591, Q7 is speaker out
1042   UINT8 sel = 1 << (offset & 7);
1043   m_7seg_data = (m_7seg_data & ~sel) | ((data & 0x80) ? sel : 0);
1044   m_speaker->level_w(m_7seg_data >> 7 & 1);
1045
1046   // d0-d3: led select, input mux
1047   // d4,d5: check,lose leds(direct)
1048   set_display_segmask(0xf, 0x7f);
1049   display_matrix(7, 6, m_7seg_data & 0x7f, data & 0x3f);
1050   m_inp_mux = data & 0xf;
1051}
1052
1053READ8_MEMBER(fidelz80_state::bcc_input_r)
1054{
1055   // d0-d3: multiplexed inputs
1056   return read_inputs(4);
1057}
1058
1059
1060
1061/******************************************************************************
10311062    VSC
10321063******************************************************************************/
10331064
r253162r253163
10371068{
10381069   // 4 7seg leds + H
10391070   for (int i = 0; i < 4; i++)
1040   {
1041      m_display_segmask[i] = 0x7f;
10421071      m_display_state[i] = (m_led_select >> i & 1) ? m_7seg_data : 0;
1043   }
10441072
10451073   // 8*8 chessboard leds
10461074   for (int i = 0; i < 8; i++)
10471075      m_display_state[i+4] = (m_led_select >> i & 1) ? m_led_data : 0;
10481076
10491077   set_display_size(8, 12);
1078   set_display_segmask(0xf, 0x7f);
10501079   display_update();
10511080}
10521081
r253162r253163
11271156{
11281157   // 14seg led segments, d15 is extra led, d14 is unused (tone on prototype?)
11291158   UINT16 outdata = BITSWAP16(m_7seg_data,12,13,1,6,5,2,0,7,15,11,10,14,4,3,9,8);
1130   for (int i = 0; i < 8; i++)
1131      m_display_segmask[i] = 0x3fff;
1132
1159   set_display_segmask(0xff, 0x3fff);
11331160   display_matrix(16, 8, outdata, m_led_select);
11341161}
11351162
r253162r253163
11811208
11821209static ADDRESS_MAP_START( cc10_map, AS_PROGRAM, 8, fidelz80_state )
11831210   ADDRESS_MAP_UNMAP_HIGH
1211   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
11841212   AM_RANGE(0x0000, 0x0fff) AM_ROM
1185   AM_RANGE(0x3000, 0x31ff) AM_RAM
1213   AM_RANGE(0x3000, 0x31ff) AM_MIRROR(0x0e00) AM_RAM
11861214ADDRESS_MAP_END
11871215
11881216static ADDRESS_MAP_START( vcc_map, AS_PROGRAM, 8, fidelz80_state )
r253162r253163
11971225ADDRESS_MAP_END
11981226
11991227
1228// BCC
1229
1230static ADDRESS_MAP_START( bcc_map, AS_PROGRAM, 8, fidelz80_state )
1231   ADDRESS_MAP_UNMAP_HIGH
1232   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
1233   AM_RANGE(0x0000, 0x0fff) AM_ROM
1234   AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0f00) AM_RAM
1235ADDRESS_MAP_END
1236
1237static ADDRESS_MAP_START( bcc_io, AS_IO, 8, fidelz80_state )
1238   ADDRESS_MAP_GLOBAL_MASK(0x07)
1239   AM_RANGE(0x00, 0x07) AM_READWRITE(bcc_input_r, bcc_control_w)
1240ADDRESS_MAP_END
1241
1242
12001243// VSC
12011244
12021245static ADDRESS_MAP_START( vsc_map, AS_PROGRAM, 8, fidelz80_state )
r253162r253163
13591402INPUT_PORTS_END
13601403
13611404
1405static INPUT_PORTS_START( bcc )
1406   PORT_START("IN.0")
1407   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("EN") PORT_CODE(KEYCODE_ENTER)
1408   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PV") PORT_CODE(KEYCODE_O)
1409   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("d4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_D)
1410   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("H8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_H)
1411
1412   PORT_START("IN.1")
1413   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL)
1414   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PB") PORT_CODE(KEYCODE_P)
1415   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("C3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_CODE(KEYCODE_C)
1416   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("g7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_CODE(KEYCODE_G)
1417
1418   PORT_START("IN.2")
1419   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CB") PORT_CODE(KEYCODE_SPACE)
1420   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DM") PORT_CODE(KEYCODE_M)
1421   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("b2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_B)
1422   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("F6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_CODE(KEYCODE_F)
1423
1424   PORT_START("IN.3")
1425   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R)
1426   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LV") PORT_CODE(KEYCODE_L)
1427   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CODE(KEYCODE_A)
1428   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("E5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_E)
1429INPUT_PORTS_END
1430
1431
13621432static INPUT_PORTS_START( vsc )
13631433   PORT_START("IN.0")
13641434   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a1")
r253162r253163
15371607    Machine Drivers
15381608******************************************************************************/
15391609
1540static MACHINE_CONFIG_START( cc7, fidelz80_state )
1610static MACHINE_CONFIG_START( bcc, fidelz80_state )
15411611
15421612   /* basic machine hardware */
15431613   MCFG_CPU_ADD("maincpu", Z80, XTAL_3_579545MHz)
1544   MCFG_CPU_PROGRAM_MAP(cc10_map)
1545   //MCFG_CPU_IO_MAP(vcc_io)
1614   MCFG_CPU_PROGRAM_MAP(bcc_map)
1615   MCFG_CPU_IO_MAP(bcc_io)
15461616
15471617   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1))
1548   MCFG_DEFAULT_LAYOUT(layout_fidel_cc)
1618   MCFG_DEFAULT_LAYOUT(layout_fidel_bcc)
15491619
15501620   /* sound hardware */
15511621   MCFG_SPEAKER_STANDARD_MONO("mono")
1552   MCFG_SOUND_ADD("beeper", BEEP, 0)
1622   MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
15531623   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
15541624MACHINE_CONFIG_END
15551625
r253162r253163
16571727    ROM Definitions
16581728******************************************************************************/
16591729
1660ROM_START( cc7 )
1730ROM_START( cc10 )
16611731   ROM_REGION( 0x10000, "maincpu", 0 )
1662   ROM_LOAD( "cn19103n_bcc-revb", 0x0000, 0x1000, CRC(a397d471) SHA1(9b12bc442fccee40f4d8500c792bc9d886c5e1a5) ) // 2332
1732   ROM_LOAD( "cc10b", 0x0000, 0x1000, CRC(afd3ca99) SHA1(870d09b2b52ccb8572d69642c59b5215d5fb26ab) ) // 2332
16631733ROM_END
16641734
1665ROM_START( cc10 )
1735ROM_START( cc7 )
16661736   ROM_REGION( 0x10000, "maincpu", 0 )
1667   ROM_LOAD( "cc10b", 0x0000, 0x1000, CRC(afd3ca99) SHA1(870d09b2b52ccb8572d69642c59b5215d5fb26ab) ) // 2332
1737   ROM_LOAD( "cn19103n_bcc-revb", 0x0000, 0x1000, CRC(a397d471) SHA1(9b12bc442fccee40f4d8500c792bc9d886c5e1a5) ) // 2332
16681738ROM_END
16691739
16701740
r253162r253163
18261896
18271897/*    YEAR  NAME      PARENT  COMPAT  MACHINE  INPUT   INIT              COMPANY, FULLNAME, FLAGS */
18281898COMP( 1978, cc10,     0,      0,      cc10,    cc10,   driver_device, 0, "Fidelity Electronics", "Chess Challenger 10 (rev. B)", MACHINE_SUPPORTS_SAVE )
1829COMP( 1979, cc7,     0,      0,      cc7,    cc10,   driver_device, 0, "Fidelity Electronics", "Chess Challenger 7 (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
1899COMP( 1979, cc7,      0,      0,      bcc,    bcc,    driver_device, 0, "Fidelity Electronics", "Chess Challenger 7 (rev. B)", MACHINE_SUPPORTS_SAVE )
18301900
18311901COMP( 1979, vcc,      0,      0,      vcc,     vcc,    driver_device, 0, "Fidelity Electronics", "Voice Chess Challenger (English)", MACHINE_SUPPORTS_SAVE )
18321902COMP( 1979, vccsp,    vcc,    0,      vcc,     vccsp,  driver_device, 0, "Fidelity Electronics", "Voice Chess Challenger (Spanish)", MACHINE_SUPPORTS_SAVE )
trunk/src/mame/drivers/hh_tms1k.cpp
r253162r253163
271271   m_display_maxy = maxy;
272272}
273273
274void hh_tms1k_state::set_display_segmask(UINT32 digits, UINT32 mask)
275{
276   // set a segment mask per selected digit, but leave unselected ones alone
277   for (int i = 0; i < 0x20; i++)
278   {
279      if (digits & 1)
280         m_display_segmask[i] = mask;
281      digits >>= 1;
282   }
283}
284
274285void hh_tms1k_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
275286{
276287   set_display_size(maxx, maxy);
trunk/src/mame/includes/fidelz80.h
r253162r253163
77******************************************************************************/
88
99#include "emu.h"
10#include "sound/speaker.h"
1011#include "sound/s14001a.h"
1112
1213class fidelz80base_state : public driver_device
r253162r253163
1819      m_inp_matrix(*this, "IN"),
1920      m_speech(*this, "speech"),
2021      m_speech_rom(*this, "speech"),
22      m_speaker(*this, "speaker"),
2123      m_display_wait(33),
2224      m_display_maxy(1),
2325      m_display_maxx(0)
r253162r253163
2830   optional_ioport_array<11> m_inp_matrix; // max 11
2931   optional_device<s14001a_device> m_speech;
3032   optional_region_ptr<UINT8> m_speech_rom;
33   optional_device<speaker_sound_device> m_speaker;
3134
3235   // misc common
3336   UINT16 m_inp_mux;                   // multiplexed keypad/leds mask
r253162r253163
5154   TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
5255   void display_update();
5356   void set_display_size(int maxx, int maxy);
57   void set_display_segmask(UINT32 digits, UINT32 mask);
5458   void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
5559
5660protected:
trunk/src/mame/includes/hh_tms1k.h
r253162r253163
6060   TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
6161   void display_update();
6262   void set_display_size(int maxx, int maxy);
63   void set_display_segmask(UINT32 digits, UINT32 mask);
6364   void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
6465   void display_matrix_seg(int maxx, int maxy, UINT32 setx, UINT32 sety, UINT16 segmask);
6566
trunk/src/mame/layout/fidel_bcc.lay
r0r253163
1<?xml version="1.0"?>
2<mamelayout version="2">
3
4<!-- define elements -->
5
6   <element name="digit" defstate="0">
7      <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
8   </element>
9
10   <element name="led" defstate="0">
11      <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
12      <disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
13   </element>
14
15   <element name="txt_check">
16      <text string="CHECK"><color red="0.6" green="0.6" blue="0.6" /></text>
17   </element>
18   <element name="txt_lose">
19      <text string="I LOSE"><color red="0.6" green="0.6" blue="0.6" /></text>
20   </element>
21
22   <element name="txt_from">
23      <text string="FROM"><color red="0.6" green="0.6" blue="0.6" /></text>
24   </element>
25   <element name="txt_to">
26      <text string="TO"><color red="0.6" green="0.6" blue="0.6" /></text>
27   </element>
28
29
30<!-- build screen -->
31
32   <view name="Internal Layout">
33      <bounds left="0" right="47" top="0" bottom="25" />
34
35      <bezel element="txt_check">
36         <bounds x="1" y="1" width="20" height="3" />
37      </bezel>
38      <bezel element="txt_lose">
39         <bounds x="26" y="1" width="20" height="3" />
40      </bezel>
41      <bezel name="4.a" element="led">
42         <bounds x="2" y="1" width="3" height="3" />
43      </bezel>
44      <bezel name="5.a" element="led">
45         <bounds x="27" y="1" width="3" height="3" />
46      </bezel>
47
48      <bezel element="txt_from">
49         <bounds x="1" y="21" width="20" height="3" />
50      </bezel>
51      <bezel element="txt_to">
52         <bounds x="26" y="21" width="20" height="3" />
53      </bezel>
54
55      <bezel name="digit0" element="digit">
56         <bounds x="1" y="5" width="10" height="15" />
57      </bezel>
58      <bezel name="digit1" element="digit">
59         <bounds x="11" y="5" width="10" height="15" />
60      </bezel>
61      <bezel name="digit2" element="digit">
62         <bounds x="26" y="5" width="10" height="15" />
63      </bezel>
64      <bezel name="digit3" element="digit">
65         <bounds x="36" y="5" width="10" height="15" />
66      </bezel>
67
68   </view>
69</mamelayout>


Previous 199869 Revisions Next


© 1997-2024 The MAME Team