Previous 199869 Revisions Next

r35122 Wednesday 18th February, 2015 at 22:06:59 UTC by Angelo Salese
Fixed regressed GRCG data.
[src/mess/drivers]pc9801.c tc4.c

trunk/src/mess/drivers/pc9801.c
r243633r243634
15651565         {
15661566            if((m_grcg.mode & (1 << i)) == 0)
15671567            {
1568
15681569               if(mem_mask & 0xff)
15691570               {
1570                  vram[offset | (((i + 1) & 3) * 0x8000)] &= ~data;
1571                  vram[offset | (((i + 1) & 3) * 0x8000)] |= m_grcg.tile[i] & data;
1571                  vram[offset | (((i + 1) & 3) * 0x8000)] &= ~(data >> 0);
1572                  vram[offset | (((i + 1) & 3) * 0x8000)] |= m_grcg.tile[i] & (data >> 0);
15721573               }
15731574               if(mem_mask & 0xff00)
15741575               {
r243633r243634
18921893   else if(offset == 7)
18931894   {
18941895//      logerror("%02x GRCG TILE %02x\n",data,m_grcg.tile_index);
1895      m_grcg.tile[m_grcg.tile_index] = data;
1896      m_grcg.tile[m_grcg.tile_index] = BITSWAP16(data,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7);
18961897      m_grcg.tile_index ++;
18971898      m_grcg.tile_index &= 3;
18981899      return;
trunk/src/mess/drivers/tc4.c
r243633r243634
44
55  Coleco Total Control 4
66  * TMS1400NLL MP7334-N2 (die labeled MP7334)
7 
8  This is a head to head electronic tabletop LED-display sports console.
9  One cartridge(Football) was included with the console, the other three were
10  sold separately. Gameplay has emphasis on strategy, read the official manual
11  on how to play. Remember that you can rotate the view in MESS.
12 
13  Available cartridges:
14  - Football
15  - Basketball
16  - Hockey
17  - Soccer
187
19  Cartridge socket:
20  1 N/C
21  2 9V+
22  3 power switch
23  4 K8
24  5 K4
25  6 K2
26  7 K1
27  8 R9
28 
29  Football cartridge connects pins 4 and 8
308
319
3210  TODO:
33  - pin configuration of other carts is guessed
34  - offsensive players leds are supposed to look brighter
3511  - MCU clock is unknown
3612
3713***************************************************************************/
r243633r243634
4420
4521// The master clock is a single stage RC oscillator: R=27.3K, C=100pf.
4622// TMS1400 RC curve is unknown, so let's do an approximation until it is.
47#define MASTER_CLOCK (450000)
23#define MASTER_CLOCK (475000)
4824
4925
5026class tc4_state : public driver_device
r243633r243634
5834   { }
5935
6036   required_device<cpu_device> m_maincpu;
61   required_ioport_array<7> m_button_matrix;
37   required_ioport_array<6> m_button_matrix;
6238   required_device<speaker_sound_device> m_speaker;
6339
6440   UINT16 m_r;
r243633r243634
9167// To prevent flickering here, we need to simulate a decay.
9268
9369// decay time, in steps of 1ms
94#define DISPLAY_DECAY_TIME 50
70#define DISPLAY_DECAY_TIME 40
9571
9672inline bool tc4_state::index_is_7segled(int index)
9773{
r243633r243634
9975   return (index >= 5 && index <= 9 && index != 6);
10076}
10177
78
10279void tc4_state::display_update()
10380{
10481   UINT16 active_state[0x10];
r243633r243634
167144   
168145   // read from cartridge
169146   if (m_r & 0x200)
170      k |= m_button_matrix[6]->read();
147      k |= ioport("CART")->read();
171148   
172149   return k;
173150}
r243633r243634
194171
195172
196173
174
197175/***************************************************************************
198176
199177  Inputs
r243633r243634
202180
203181static INPUT_PORTS_START( tc4 )
204182   PORT_START("IN.0") // R0
205   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Pass/Shoot Button 3") // right
206   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Pass/Shoot Button 1") // left
207   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pass/Shoot Button 2") // middle
208   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 D/K Button")
183   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
184   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
185   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
186   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 )
209187
210188   PORT_START("IN.1") // R1
211189   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT )
r243633r243634
232210   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_PLAYER(2)
233211
234212   PORT_START("IN.5") // R5
235   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Pass/Shoot Button 3") // right
236   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Pass/Shoot Button 1") // left
237   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Pass/Shoot Button 2") // middle
238   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 D/K Button")
213   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
214   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
215   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
216   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2)
239217
240   PORT_START("IN.6") // R9
218   PORT_START("CART")
241219   PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "R9:1" )
242220   PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x00, "R9:2" )
243221   PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x00, "R9:3" )
r243633r243634
246224
247225
248226
227
249228/***************************************************************************
250229
251230  Machine Config
r243633r243634
311290ROM_END
312291
313292
293
314294CONS( 1981, tc4, 0, 0, tc4, tc4, driver_device, 0, "Coleco", "Total Control 4", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team