Previous 199869 Revisions Next

r17742 Sunday 9th September, 2012 at 07:47:20 UTC by Robbbert
xforce: fixed display [Robbbert]
[src/mame/drivers]techno.c
[src/mame/layout]techno.lay

trunk/src/mame/layout/techno.lay
r17741r17742
2828
2929      <!-- Top Row -->
3030
31      <bezel name="digit15" element="digit">
31      <bezel name="digit0" element="digit">
3232         <bounds left="10" top="45" right="44" bottom="84" />
3333      </bezel>
34      <bezel name="digit14" element="digit">
34      <bezel name="digit1" element="digit">
3535         <bounds left="54" top="45" right="88" bottom="84" />
3636      </bezel>
37      <bezel name="digit13" element="digit">
37      <bezel name="digit6" element="digit">
3838         <bounds left="98" top="45" right="132" bottom="84" />
3939      </bezel>
40      <bezel name="digit12" element="digit">
40      <bezel name="digit7" element="digit">
4141         <bounds left="142" top="45" right="176" bottom="84" />
4242      </bezel>
43      <bezel name="digit11" element="digit">
43      <bezel name="digit12" element="digit">
4444         <bounds left="186" top="45" right="220" bottom="84" />
4545      </bezel>
46      <bezel name="digit10" element="digit">
46      <bezel name="digit13" element="digit">
4747         <bounds left="230" top="45" right="264" bottom="84" />
4848      </bezel>
49      <bezel name="digit9" element="digit">
49      <bezel name="digit2" element="digit">
5050         <bounds left="274" top="45" right="308" bottom="84" />
5151      </bezel>
52      <bezel name="digit8" element="digit">
52      <bezel name="digit3" element="digit">
5353         <bounds left="318" top="45" right="352" bottom="84" />
5454      </bezel>
55      <bezel name="digit7" element="digit">
55      <bezel name="digit8" element="digit">
5656         <bounds left="362" top="45" right="396" bottom="84" />
5757      </bezel>
58      <bezel name="digit6" element="digit">
58      <bezel name="digit9" element="digit">
5959         <bounds left="406" top="45" right="440" bottom="84" />
6060      </bezel>
61      <bezel name="digit5" element="digit">
61      <bezel name="digit14" element="digit">
6262         <bounds left="450" top="45" right="484" bottom="84" />
6363      </bezel>
64      <bezel name="digit4" element="digit">
64      <bezel name="digit15" element="digit">
6565         <bounds left="494" top="45" right="528" bottom="84" />
6666      </bezel>
67      <bezel name="digit3" element="digit">
67      <bezel name="digit4" element="digit">
6868         <bounds left="538" top="45" right="572" bottom="84" />
6969      </bezel>
70      <bezel name="digit2" element="digit">
70      <bezel name="digit5" element="digit">
7171         <bounds left="582" top="45" right="616" bottom="84" />
7272      </bezel>
73      <bezel name="digit1" element="digit">
73      <bezel name="digit10" element="digit">
7474         <bounds left="626" top="45" right="660" bottom="84" />
7575      </bezel>
76      <bezel name="digit0" element="digit">
76      <bezel name="digit11" element="digit">
7777         <bounds left="670" top="45" right="704" bottom="84" />
7878      </bezel>
7979
8080      <!-- Bottom Row -->
8181
82      <bezel name="digit45" element="digit">
82      <bezel name="digit30" element="digit">
8383         <bounds left="10" top="105" right="44" bottom="144" />
8484      </bezel>
85      <bezel name="digit44" element="digit">
85      <bezel name="digit31" element="digit">
8686         <bounds left="54" top="105" right="88" bottom="144" />
8787      </bezel>
88      <bezel name="digit43" element="digit">
88      <bezel name="digit36" element="digit">
8989         <bounds left="98" top="105" right="132" bottom="144" />
9090      </bezel>
91      <bezel name="digit42" element="digit">
91      <bezel name="digit37" element="digit">
9292         <bounds left="142" top="105" right="176" bottom="144" />
9393      </bezel>
94      <bezel name="digit41" element="digit">
94      <bezel name="digit42" element="digit">
9595         <bounds left="186" top="105" right="220" bottom="144" />
9696      </bezel>
97      <bezel name="digit40" element="digit">
97      <bezel name="digit43" element="digit">
9898         <bounds left="230" top="105" right="264" bottom="144" />
9999      </bezel>
100      <bezel name="digit39" element="digit">
100      <bezel name="digit32" element="digit">
101101         <bounds left="274" top="105" right="308" bottom="144" />
102102      </bezel>
103      <bezel name="digit38" element="digit">
103      <bezel name="digit33" element="digit">
104104         <bounds left="318" top="105" right="352" bottom="144" />
105105      </bezel>
106      <bezel name="digit37" element="digit">
106      <bezel name="digit38" element="digit">
107107         <bounds left="362" top="105" right="396" bottom="144" />
108108      </bezel>
109      <bezel name="digit36" element="digit">
109      <bezel name="digit39" element="digit">
110110         <bounds left="406" top="105" right="440" bottom="144" />
111111      </bezel>
112      <bezel name="digit35" element="digit">
112      <bezel name="digit44" element="digit">
113113         <bounds left="450" top="105" right="484" bottom="144" />
114114      </bezel>
115      <bezel name="digit34" element="digit">
115      <bezel name="digit45" element="digit">
116116         <bounds left="494" top="105" right="528" bottom="144" />
117117      </bezel>
118      <bezel name="digit33" element="digit">
118      <bezel name="digit34" element="digit">
119119         <bounds left="538" top="105" right="572" bottom="144" />
120120      </bezel>
121      <bezel name="digit32" element="digit">
121      <bezel name="digit35" element="digit">
122122         <bounds left="582" top="105" right="616" bottom="144" />
123123      </bezel>
124      <bezel name="digit31" element="digit">
124      <bezel name="digit40" element="digit">
125125         <bounds left="626" top="105" right="660" bottom="144" />
126126      </bezel>
127      <bezel name="digit30" element="digit">
127      <bezel name="digit41" element="digit">
128128         <bounds left="670" top="105" right="704" bottom="144" />
129129      </bezel>
130130   </view>
trunk/src/mame/drivers/techno.c
r17741r17742
1010#include "emu.h"
1111#include "cpu/m68000/m68000.h"
1212#include "techno.lh"
13// schematic says 8MHz but it goes too fast
14#define TECHNO_MAINCLK 4e6
1315
1416class techno_state : public driver_device
1517{
r17741r17742
1921   m_maincpu(*this, "maincpu")
2022   { }
2123
24   DECLARE_READ16_MEMBER(key_r);
25   DECLARE_READ16_MEMBER(rtrg_r);
26   DECLARE_READ16_MEMBER(sound_r);
2227   DECLARE_WRITE16_MEMBER(disp1_w);
2328   DECLARE_WRITE16_MEMBER(disp2_w);
29   DECLARE_WRITE16_MEMBER(lamp1_w);
30   DECLARE_WRITE16_MEMBER(lamp2_w);
31   DECLARE_WRITE16_MEMBER(setout_w);
32   DECLARE_WRITE16_MEMBER(sol1_w);
33   DECLARE_WRITE16_MEMBER(sol2_w);
2434   DECLARE_WRITE16_MEMBER(sound_w);
2535   UINT16 m_digit_1;
2636   UINT16 m_digit_2;
r17741r17742
4454static ADDRESS_MAP_START( techno_map, AS_PROGRAM, 16, techno_state )
4555   ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
4656   AM_RANGE(0x00000, 0x03fff) AM_ROM
47   AM_RANGE(0x04000, 0x05fff) AM_RAM // battery backed-up
57   AM_RANGE(0x04000, 0x04fff) AM_RAM // battery backed-up
4858   AM_RANGE(0x06000, 0x0ffff) AM_ROM
49   //AM_RANGE(0x14000, 0x147ff) AM_READWRITE(key_r,lamp1_w)
50   //AM_RANGE(0x14800, 0x14fff) AM_READWRITE(sound_r,lamp2_w)
51   //AM_RANGE(0x15000, 0x157ff) AM_READWRITE(rtrg_r,sol1_w)
52   //AM_RANGE(0x15800, 0x15fff) AM_WRITE(sol2_w)
59   AM_RANGE(0x14000, 0x147ff) AM_READWRITE(key_r,lamp1_w)
60   AM_RANGE(0x14800, 0x14fff) AM_READWRITE(sound_r,lamp2_w)
61   AM_RANGE(0x15000, 0x157ff) AM_READWRITE(rtrg_r,sol1_w)
62   AM_RANGE(0x15800, 0x15fff) AM_READNOP AM_WRITE(sol2_w) // reads from 15800, but shown as not connected
5363   AM_RANGE(0x16000, 0x167ff) AM_WRITE(sound_w)
5464   AM_RANGE(0x16800, 0x16fff) AM_WRITE(disp1_w)
5565   AM_RANGE(0x17000, 0x177ff) AM_WRITE(disp2_w)
56   //AM_RANGE(0x17800, 0x17fff) AM_WRITE(setout_w)
66   AM_RANGE(0x17800, 0x17fff) AM_WRITE(setout_w)
5767ADDRESS_MAP_END
5868
5969//static ADDRESS_MAP_START( techno_sub_map, AS_IO, 8, techno_state )
r17741r17742
6676
6777WRITE16_MEMBER( techno_state::disp1_w )
6878{
69   m_segment_1 = data;
79   m_segment_1 = BITSWAP16(data, 12, 10, 8, 14, 13, 9, 11, 15, 7, 6, 5, 4, 3, 2, 1, 0);
7080   output_set_digit_value(m_digit_1, m_segment_1);
7181}
7282
7383WRITE16_MEMBER( techno_state::disp2_w )
7484{
75   m_segment_2 = data;
85   m_segment_2 = BITSWAP16(data, 12, 10, 8, 14, 13, 9, 11, 15, 7, 6, 5, 4, 3, 2, 1, 0);
7686   output_set_digit_value(m_digit_1+30, m_segment_2);
7787}
7888
r17741r17742
8898   }
8999}
90100
101// lamps & keymatrix
102WRITE16_MEMBER( techno_state::lamp1_w )
103{
104}
105
106// more lamps
107WRITE16_MEMBER( techno_state::lamp2_w )
108{
109}
110
111// solenoids
112WRITE16_MEMBER( techno_state::sol1_w )
113{
114}
115
116// more solenoids
117WRITE16_MEMBER( techno_state::sol2_w )
118{
119}
120
121// unknown
122WRITE16_MEMBER( techno_state::setout_w )
123{
124}
125
126// inputs
127READ16_MEMBER( techno_state::key_r )
128{
129   return 0;
130}
131
132// unknown
133READ16_MEMBER( techno_state::rtrg_r )
134{
135   return 0xffff;
136}
137
138// feedback from sound board, and some AUX inputs
139READ16_MEMBER( techno_state::sound_r )
140{
141   return 0xffff;
142}
143
91144static INPUT_PORTS_START( techno )
92145INPUT_PORTS_END
93146
r17741r17742
98151   if ((state->m_vector & 7) == 7)
99152      state->m_vector = (state->m_vector ^ 0x10) & 0x97;
100153   state->m_vector++;
154   // core doesn't support clearing of irq via hardware
101155   generic_pulse_irq_line_and_vector(device, 1, state->m_vector, 1);
102   //device_set_input_line_and_vector(device, 1, ASSERT_LINE, state->m_vector);
103156}
104157
105158void techno_state::machine_reset()
r17741r17742
113166
114167static MACHINE_CONFIG_START( techno, techno_state )
115168   /* basic machine hardware */
116   MCFG_CPU_ADD("maincpu", M68000, 8000000)
169   MCFG_CPU_ADD("maincpu", M68000, TECHNO_MAINCLK)
117170   MCFG_CPU_PROGRAM_MAP(techno_map)
118   MCFG_CPU_PERIODIC_INT(techno_intgen, 8000000/256) // 31250Hz
171   MCFG_CPU_PERIODIC_INT(techno_intgen, TECHNO_MAINCLK/256) // 31250Hz
119172   //MCFG_CPU_ADD("cpu2", TMS7000, 4000000)
120173   //MCFG_CPU_PROGRAM_MAP(techno_sub_map)
121174

Previous 199869 Revisions Next


© 1997-2024 The MAME Team