mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
readded ace color overlay after confirmation with cabinet photo
This commit is contained in:
parent
303eb069bf
commit
af9bdb3576
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -6424,6 +6424,7 @@ src/mame/layout/30test.lay svneol=native#text/xml
|
||||
src/mame/layout/3bagflnz.lay svneol=native#text/xml
|
||||
src/mame/layout/3bagflvt.lay svneol=native#text/xml
|
||||
src/mame/layout/abaseb.lay svneol=native#text/xml
|
||||
src/mame/layout/ace.lay svneol=native#text/xml
|
||||
src/mame/layout/aces1.lay svneol=native#text/xml
|
||||
src/mame/layout/ampoker2.lay svneol=native#text/xml
|
||||
src/mame/layout/arcwins.lay svneol=native#text/xml
|
||||
|
@ -30,9 +30,6 @@
|
||||
#include "debugger.h"
|
||||
#include "tms7000.h"
|
||||
|
||||
#define VERBOSE 0
|
||||
|
||||
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
|
||||
// flag helpers
|
||||
#define SR_C 0x80 /* Carry */
|
||||
|
@ -83,7 +83,7 @@ protected:
|
||||
virtual UINT32 execute_max_cycles() const { return 49; }
|
||||
virtual UINT32 execute_input_lines() const { return 2; }
|
||||
virtual void execute_run();
|
||||
virtual void execute_set_input(int inputnum, int state);
|
||||
virtual void execute_set_input(int irqline, int state);
|
||||
|
||||
// device_memory_interface overrides
|
||||
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 ); }
|
||||
|
@ -40,6 +40,8 @@ A1 2101 2101
|
||||
#include "emu.h"
|
||||
#include "cpu/i8085/i8085.h"
|
||||
|
||||
#include "ace.lh"
|
||||
|
||||
#define MASTER_CLOCK XTAL_18MHz
|
||||
|
||||
|
||||
@ -62,9 +64,12 @@ public:
|
||||
required_shared_ptr<UINT8> m_scoreram;
|
||||
required_shared_ptr<UINT8> m_ram2;
|
||||
required_shared_ptr<UINT8> m_characterram;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
/* input-related */
|
||||
int m_objpos[8];
|
||||
|
||||
DECLARE_WRITE8_MEMBER(ace_objpos_w);
|
||||
DECLARE_WRITE8_MEMBER(ace_characterram_w);
|
||||
DECLARE_WRITE8_MEMBER(ace_scoreram_w);
|
||||
@ -74,8 +79,6 @@ public:
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_ace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void ace_postload();
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
||||
|
||||
@ -94,38 +97,15 @@ void aceal_state::video_start()
|
||||
|
||||
UINT32 aceal_state::screen_update_ace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int offs;
|
||||
|
||||
/* first of all, fill the screen with the background color */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
|
||||
0,
|
||||
0,
|
||||
0, 0,
|
||||
m_objpos[0], m_objpos[1]);
|
||||
m_gfxdecode->gfx(1)->opaque(bitmap, cliprect, 0, 0, 0, 0, m_objpos[0], m_objpos[1]);
|
||||
m_gfxdecode->gfx(2)->opaque(bitmap, cliprect, 0, 0, 0, 0, m_objpos[2], m_objpos[3]);
|
||||
m_gfxdecode->gfx(3)->opaque(bitmap, cliprect, 0, 0, 0, 0, m_objpos[4], m_objpos[5]);
|
||||
|
||||
m_gfxdecode->gfx(2)->opaque(bitmap,cliprect,
|
||||
0,
|
||||
0,
|
||||
0, 0,
|
||||
m_objpos[2], m_objpos[3]);
|
||||
for (int offs = 0; offs < 8; offs++)
|
||||
m_gfxdecode->gfx(4)->opaque(bitmap, cliprect, offs, 0, 0, 0, 10 * 8 + offs * 16, 256 - 16);
|
||||
|
||||
m_gfxdecode->gfx(3)->opaque(bitmap,cliprect,
|
||||
0,
|
||||
0,
|
||||
0, 0,
|
||||
m_objpos[4], m_objpos[5]);
|
||||
|
||||
for (offs = 0; offs < 8; offs++)
|
||||
{
|
||||
m_gfxdecode->gfx(4)->opaque(bitmap,/* ?? */
|
||||
cliprect,
|
||||
offs,
|
||||
0,
|
||||
0, 0,
|
||||
10 * 8 + offs * 16, 256 - 16);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -135,10 +115,8 @@ WRITE8_MEMBER(aceal_state::ace_characterram_w)
|
||||
if (m_characterram[offset] != data)
|
||||
{
|
||||
if (data & ~0x07)
|
||||
{
|
||||
logerror("write to %04x data = %02x\n", 0x8000 + offset, data);
|
||||
popmessage("write to %04x data = %02x\n", 0x8000 + offset, data);
|
||||
}
|
||||
|
||||
m_characterram[offset] = data;
|
||||
m_gfxdecode->gfx(1)->mark_dirty(0);
|
||||
m_gfxdecode->gfx(2)->mark_dirty(0);
|
||||
@ -163,7 +141,6 @@ READ8_MEMBER(aceal_state::unk_r)
|
||||
/* 1x3622 - ROM 512x4 - doesn't seem to be used ????????????*/
|
||||
|
||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aceal_state )
|
||||
|
||||
AM_RANGE(0x0000, 0x09ff) AM_ROM
|
||||
|
||||
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(ace_scoreram_w) AM_SHARE("scoreram") /* 2x2101 */
|
||||
@ -206,7 +183,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aceal_state )
|
||||
AM_RANGE(0xc024, 0xc024) AM_READ(unk_r)
|
||||
AM_RANGE(0xc025, 0xc025) AM_READ(unk_r)
|
||||
AM_RANGE(0xc026, 0xc026) AM_READ(unk_r)
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -310,11 +286,11 @@ static const gfx_layout scorelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( ace )
|
||||
GFXDECODE_ENTRY( "gfx1", 0 , charlayout, 0, 2 )
|
||||
GFXDECODE_ENTRY( NULL , 0x8000, charlayout0, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( NULL , 0x8000, charlayout1, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( NULL , 0x8000, charlayout2, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( NULL , 0x8000, scorelayout, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 2 )
|
||||
GFXDECODE_ENTRY( NULL, 0x8000, charlayout0, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( NULL, 0x8000, charlayout1, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( NULL, 0x8000, charlayout2, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( NULL, 0x8000, scorelayout, 0, 2 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_END
|
||||
|
||||
void aceal_state::ace_postload()
|
||||
@ -333,16 +309,14 @@ void aceal_state::machine_start()
|
||||
|
||||
void aceal_state::machine_reset()
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
for (int i = 0; i < 8; i++)
|
||||
m_objpos[i] = 0;
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( ace, aceal_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 2 MHz ? */
|
||||
MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 2 MHz ? */
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
|
||||
/* video hardware */
|
||||
@ -381,4 +355,4 @@ ROM_START( ace )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 1976, ace, 0, ace, ace, driver_device, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
|
||||
GAMEL(1976, ace, 0, ace, ace, driver_device, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND, layout_ace )
|
||||
|
18
src/mame/layout/ace.lay
Normal file
18
src/mame/layout/ace.lay
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
<element name="overlay">
|
||||
<rect>
|
||||
<bounds left="0" top="0" right="1" bottom="1" />
|
||||
<color red="0.1" green="0.5" blue="1.0" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<view name="Color Overlay">
|
||||
<screen index="0">
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
<overlay element="overlay">
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</overlay>
|
||||
</view>
|
||||
</mamelayout>
|
@ -2455,6 +2455,8 @@ $(DRIVERS)/8080bw.o: $(LAYOUT)/attackfc.lh \
|
||||
$(LAYOUT)/shuttlei.lh \
|
||||
$(LAYOUT)/spacecom.lh
|
||||
|
||||
$(DRIVERS)/ace.o: $(LAYOUT)/ace.lh
|
||||
|
||||
$(DRIVERS)/aces1.o: $(LAYOUT)/aces1.lh
|
||||
|
||||
$(DRIVERS)/acefruit.o: $(LAYOUT)/sidewndr.lh
|
||||
|
Loading…
Reference in New Issue
Block a user