Previous 199869 Revisions Next

r31303 Thursday 17th July, 2014 at 15:36:48 UTC by hap
readded ace color overlay after confirmation with cabinet photo
[src/emu/cpu/tms7000]tms7000.c tms7000.h
[src/mame]mame.mak
[src/mame/drivers]ace.c
[src/mame/layout]ace.lay*

trunk/src/mame/drivers/ace.c
r31302r31303
4040#include "emu.h"
4141#include "cpu/i8085/i8085.h"
4242
43#include "ace.lh"
44
4345#define MASTER_CLOCK XTAL_18MHz
4446
4547
r31302r31303
6264   required_shared_ptr<UINT8> m_scoreram;
6365   required_shared_ptr<UINT8> m_ram2;
6466   required_shared_ptr<UINT8> m_characterram;
67   required_device<gfxdecode_device> m_gfxdecode;
68   required_device<palette_device> m_palette;
6569
6670   /* input-related */
6771   int m_objpos[8];
72
6873   DECLARE_WRITE8_MEMBER(ace_objpos_w);
6974   DECLARE_WRITE8_MEMBER(ace_characterram_w);
7075   DECLARE_WRITE8_MEMBER(ace_scoreram_w);
r31302r31303
7479   virtual void video_start();
7580   UINT32 screen_update_ace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
7681   void ace_postload();
77   required_device<gfxdecode_device> m_gfxdecode;
78   required_device<palette_device> m_palette;
7982};
8083
8184
r31302r31303
9497
9598UINT32 aceal_state::screen_update_ace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
9699{
97   int offs;
98
99   /* first of all, fill the screen with the background color */
100100   bitmap.fill(0, cliprect);
101101
102   m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
103         0,
104         0,
105         0, 0,
106         m_objpos[0], m_objpos[1]);
102   m_gfxdecode->gfx(1)->opaque(bitmap, cliprect, 0, 0, 0, 0, m_objpos[0], m_objpos[1]);
103   m_gfxdecode->gfx(2)->opaque(bitmap, cliprect, 0, 0, 0, 0, m_objpos[2], m_objpos[3]);
104   m_gfxdecode->gfx(3)->opaque(bitmap, cliprect, 0, 0, 0, 0, m_objpos[4], m_objpos[5]);
107105
108   m_gfxdecode->gfx(2)->opaque(bitmap,cliprect,
109         0,
110         0,
111         0, 0,
112         m_objpos[2], m_objpos[3]);
106   for (int offs = 0; offs < 8; offs++)
107      m_gfxdecode->gfx(4)->opaque(bitmap, cliprect, offs, 0, 0, 0, 10 * 8 + offs * 16, 256 - 16);
113108
114   m_gfxdecode->gfx(3)->opaque(bitmap,cliprect,
115         0,
116         0,
117         0, 0,
118         m_objpos[4], m_objpos[5]);
119
120   for (offs = 0; offs < 8; offs++)
121   {
122      m_gfxdecode->gfx(4)->opaque(bitmap,/* ?? */
123            cliprect,
124            offs,
125            0,
126            0, 0,
127            10 * 8 + offs * 16, 256 - 16);
128   }
129109   return 0;
130110}
131111
r31302r31303
135115   if (m_characterram[offset] != data)
136116   {
137117      if (data & ~0x07)
138      {
139118         logerror("write to %04x data = %02x\n", 0x8000 + offset, data);
140         popmessage("write to %04x data = %02x\n", 0x8000 + offset, data);
141      }
119
142120      m_characterram[offset] = data;
143121      m_gfxdecode->gfx(1)->mark_dirty(0);
144122      m_gfxdecode->gfx(2)->mark_dirty(0);
r31302r31303
163141/* 1x3622 - ROM 512x4  - doesn't seem to be used ????????????*/
164142
165143static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aceal_state )
166
167144   AM_RANGE(0x0000, 0x09ff) AM_ROM
168145
169146   AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(ace_scoreram_w) AM_SHARE("scoreram")  /* 2x2101 */
r31302r31303
206183   AM_RANGE(0xc024, 0xc024) AM_READ(unk_r)
207184   AM_RANGE(0xc025, 0xc025) AM_READ(unk_r)
208185   AM_RANGE(0xc026, 0xc026) AM_READ(unk_r)
209
210186ADDRESS_MAP_END
211187
212188
r31302r31303
310286};
311287
312288static GFXDECODE_START( ace )
313   GFXDECODE_ENTRY( "gfx1", 0     , charlayout,  0, 2 )
314   GFXDECODE_ENTRY( NULL          , 0x8000, charlayout0, 0, 2 )    /* the game dynamically modifies this */
315   GFXDECODE_ENTRY( NULL          , 0x8000, charlayout1, 0, 2 )    /* the game dynamically modifies this */
316   GFXDECODE_ENTRY( NULL          , 0x8000, charlayout2, 0, 2 )    /* the game dynamically modifies this */
317   GFXDECODE_ENTRY( NULL          , 0x8000, scorelayout, 0, 2 )    /* the game dynamically modifies this */
289   GFXDECODE_ENTRY( "gfx1", 0, charlayout,  0, 2 )
290   GFXDECODE_ENTRY( NULL, 0x8000, charlayout0, 0, 2 ) /* the game dynamically modifies this */
291   GFXDECODE_ENTRY( NULL, 0x8000, charlayout1, 0, 2 ) /* the game dynamically modifies this */
292   GFXDECODE_ENTRY( NULL, 0x8000, charlayout2, 0, 2 ) /* the game dynamically modifies this */
293   GFXDECODE_ENTRY( NULL, 0x8000, scorelayout, 0, 2 ) /* the game dynamically modifies this */
318294GFXDECODE_END
319295
320296void aceal_state::ace_postload()
r31302r31303
333309
334310void aceal_state::machine_reset()
335311{
336   int i;
337
338   for (i = 0; i < 8; i++)
312   for (int i = 0; i < 8; i++)
339313      m_objpos[i] = 0;
340314}
341315
342316static MACHINE_CONFIG_START( ace, aceal_state )
343317
344318   /* basic machine hardware */
345   MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 2 MHz ? */
319   MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 2 MHz ? */
346320   MCFG_CPU_PROGRAM_MAP(main_map)
347321
348322   /* video hardware */
r31302r31303
381355ROM_END
382356
383357
384GAME( 1976, ace, 0, ace, ace, driver_device, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
358GAMEL(1976, ace, 0, ace, ace, driver_device, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND, layout_ace )
trunk/src/mame/mame.mak
r31302r31303
24552455         $(LAYOUT)/shuttlei.lh \
24562456         $(LAYOUT)/spacecom.lh
24572457
2458$(DRIVERS)/ace.o:       $(LAYOUT)/ace.lh
2459
24582460$(DRIVERS)/aces1.o:     $(LAYOUT)/aces1.lh
24592461
24602462$(DRIVERS)/acefruit.o:  $(LAYOUT)/sidewndr.lh
trunk/src/mame/layout/ace.lay
r0r31303
1<?xml version="1.0"?>
2<mamelayout version="2">
3   <element name="overlay">
4      <rect>
5         <bounds left="0" top="0" right="1" bottom="1" />
6         <color red="0.1" green="0.5" blue="1.0" />
7      </rect>
8   </element>
9
10   <view name="Color Overlay">
11      <screen index="0">
12         <bounds left="0" top="0" right="4" bottom="3" />
13      </screen>
14      <overlay element="overlay">
15         <bounds left="0" top="0" right="4" bottom="3" />
16      </overlay>
17   </view>
18</mamelayout>
Property changes on: trunk/src/mame/layout/ace.lay
Added: svn:mime-type
   + text/xml
Added: svn:eol-style
   + native
trunk/src/emu/cpu/tms7000/tms7000.c
r31302r31303
3030#include "debugger.h"
3131#include "tms7000.h"
3232
33#define VERBOSE 0
3433
35#define LOG(x)  do { if (VERBOSE) logerror x; } while (0)
36
3734// flag helpers
3835#define SR_C        0x80 /* Carry */
3936#define SR_N        0x40 /* Negative */
trunk/src/emu/cpu/tms7000/tms7000.h
r31302r31303
8383   virtual UINT32 execute_max_cycles() const { return 49; }
8484   virtual UINT32 execute_input_lines() const { return 2; }
8585   virtual void execute_run();
86   virtual void execute_set_input(int inputnum, int state);
86   virtual void execute_set_input(int irqline, int state);
8787
8888   // device_memory_interface overrides
8989   virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : NULL ); }

Previous 199869 Revisions Next


© 1997-2024 The MAME Team