mirror of
https://github.com/holub/mame
synced 2025-05-18 19:49:35 +03:00
Create new devices buffered_spriteram<n>_device, which manage buffered
spriteram. Removed core support for legacy buffered spriteram, and updated all drivers to use the new devices instead. [Aaron Giles] Removed required/optional_shared_size helpers. Instead the existing required/optional_shared_ptr helpers now have a bytes() method that can be used to query the size of the shared region. [Aaron Giles]
This commit is contained in:
parent
8d0ec85106
commit
388d53737e
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -1319,6 +1319,8 @@ src/emu/video.c svneol=native#text/plain
|
|||||||
src/emu/video.h svneol=native#text/plain
|
src/emu/video.h svneol=native#text/plain
|
||||||
src/emu/video/315_5124.c svneol=native#text/plain
|
src/emu/video/315_5124.c svneol=native#text/plain
|
||||||
src/emu/video/315_5124.h svneol=native#text/plain
|
src/emu/video/315_5124.h svneol=native#text/plain
|
||||||
|
src/emu/video/bufsprite.c svneol=native#text/plain
|
||||||
|
src/emu/video/bufsprite.h svneol=native#text/plain
|
||||||
src/emu/video/cdp1861.c svneol=native#text/plain
|
src/emu/video/cdp1861.c svneol=native#text/plain
|
||||||
src/emu/video/cdp1861.h svneol=native#text/plain
|
src/emu/video/cdp1861.h svneol=native#text/plain
|
||||||
src/emu/video/cdp1862.c svneol=native#text/plain
|
src/emu/video/cdp1862.c svneol=native#text/plain
|
||||||
|
@ -871,21 +871,9 @@ device_t *device_t::auto_finder_base::find_device(device_t &base, const char *ta
|
|||||||
// find_shared_ptr - find a shared pointer
|
// find_shared_ptr - find a shared pointer
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void *device_t::auto_finder_base::find_shared_ptr(device_t &base, const char *tag)
|
void *device_t::auto_finder_base::find_shared_ptr(device_t &base, const char *tag, size_t &bytes)
|
||||||
{
|
{
|
||||||
return memory_get_shared(base.machine(), tag);
|
return memory_get_shared(base.machine(), tag, bytes);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// find_shared_size - find a shared pointer size
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
size_t device_t::auto_finder_base::find_shared_size(device_t &base, const char *tag)
|
|
||||||
{
|
|
||||||
size_t result = 0;
|
|
||||||
memory_get_shared(base.machine(), tag, result);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -301,8 +301,7 @@ protected:
|
|||||||
|
|
||||||
// helpers
|
// helpers
|
||||||
device_t *find_device(device_t &device, const char *tag);
|
device_t *find_device(device_t &device, const char *tag);
|
||||||
void *find_shared_ptr(device_t &device, const char *tag);
|
void *find_shared_ptr(device_t &device, const char *tag, size_t &bytes);
|
||||||
size_t find_shared_size(device_t &device, const char *tag);
|
|
||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
auto_finder_base *m_next;
|
auto_finder_base *m_next;
|
||||||
@ -335,6 +334,7 @@ protected:
|
|||||||
throw emu_fatalerror("Unable to find required object '%s'", this->m_tag);
|
throw emu_fatalerror("Unable to find required object '%s'", this->m_tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
// internal state
|
// internal state
|
||||||
_TargetType m_target;
|
_TargetType m_target;
|
||||||
};
|
};
|
||||||
@ -362,8 +362,13 @@ protected:
|
|||||||
class optional_shared_ptr : public auto_finder_type<_PointerType *, false>
|
class optional_shared_ptr : public auto_finder_type<_PointerType *, false>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
optional_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, false>(base, tag) { }
|
optional_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, false>(base, tag), m_bytes(0) { }
|
||||||
virtual void findit(device_t &base) { this->set_target(reinterpret_cast<_PointerType *>(this->find_shared_ptr(base, this->m_tag))); }
|
virtual void findit(device_t &base) { this->set_target(reinterpret_cast<_PointerType *>(this->find_shared_ptr(base, this->m_tag, m_bytes))); }
|
||||||
|
UINT32 bytes() const { return m_bytes; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
// internal state
|
||||||
|
size_t m_bytes;
|
||||||
};
|
};
|
||||||
|
|
||||||
// required shared pointer finder
|
// required shared pointer finder
|
||||||
@ -371,24 +376,13 @@ protected:
|
|||||||
class required_shared_ptr : public auto_finder_type<_PointerType *, true>
|
class required_shared_ptr : public auto_finder_type<_PointerType *, true>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
required_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, true>(base, tag) { }
|
required_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, true>(base, tag), m_bytes(0) { }
|
||||||
virtual void findit(device_t &base) { this->set_target(reinterpret_cast<_PointerType *>(this->find_shared_ptr(base, this->m_tag))); }
|
virtual void findit(device_t &base) { this->set_target(reinterpret_cast<_PointerType *>(this->find_shared_ptr(base, this->m_tag, m_bytes))); }
|
||||||
};
|
UINT32 bytes() const { return m_bytes; }
|
||||||
|
|
||||||
// optional shared pointer size finder
|
private:
|
||||||
class optional_shared_size : public auto_finder_type<size_t, false>
|
// internal state
|
||||||
{
|
size_t m_bytes;
|
||||||
public:
|
|
||||||
optional_shared_size(device_t &base, const char *tag) : auto_finder_type<size_t, false>(base, tag) { }
|
|
||||||
virtual void findit(device_t &base) { this->set_target(find_shared_size(base, this->m_tag)); }
|
|
||||||
};
|
|
||||||
|
|
||||||
// required shared pointer size finder
|
|
||||||
class required_shared_size : public auto_finder_type<size_t, true>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
required_shared_size(device_t &base, const char *tag) : auto_finder_type<size_t, true>(base, tag) { }
|
|
||||||
virtual void findit(device_t &base) { this->set_target(find_shared_size(base, this->m_tag)); }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// internal helpers
|
// internal helpers
|
||||||
|
@ -225,38 +225,6 @@ device_t *legacy_device_creator(const machine_config &mconfig, const char *tag,
|
|||||||
#define MCFG_DEVICE_CONFIG_DATA32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) \
|
#define MCFG_DEVICE_CONFIG_DATA32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) \
|
||||||
MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(structsizeof(_memstruct, _member), offsetof(_struct, _field) + (_index) * structsizeof(_struct, _field[0]) + offsetof(_memstruct, _member), _val)
|
MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(structsizeof(_memstruct, _member), offsetof(_struct, _field) + (_index) * structsizeof(_struct, _field[0]) + offsetof(_memstruct, _member), _val)
|
||||||
|
|
||||||
#define MCFG_NEW_DEVICE_CONFIG_DATA32(_struct, _field, _val) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(DEVCONFIG_SIZEOF(_struct, _field), DEVCONFIG_OFFSETOF(_struct, _field), _val)
|
|
||||||
|
|
||||||
#define MCFG_NEW_DEVICE_CONFIG_DATA32_ARRAY(_struct, _field, _index, _val) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(DEVCONFIG_SIZEOF(_struct, _field[0]), DEVCONFIG_OFFSETOF(_struct, _field) + (_index) * DEVCONFIG_SIZEOF(_struct, _field[0]), _val)
|
|
||||||
|
|
||||||
#define MCFG_NEW_DEVICE_CONFIG_DATA32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(DEVCONFIG_SIZEOF(_memstruct, _member), DEVCONFIG_OFFSETOF(_struct, _field) + (_index) * DEVCONFIG_SIZEOF(_struct, _field[0]) + DEVCONFIG_OFFSETOF(_memstruct, _member), _val)
|
|
||||||
|
|
||||||
|
|
||||||
// inline device configurations that require 32 bits of fixed-point storage in the token
|
|
||||||
#define MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(_size, _offset, _val, _fixbits) \
|
|
||||||
legacy_device_base::static_set_inline_float(*device, _offset, _size, (float)(_val));
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_CONFIG_DATAFP32(_struct, _field, _val, _fixbits) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(structsizeof(_struct, _field), offsetof(_struct, _field), _val, _fixbits)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_CONFIG_DATAFP32_ARRAY(_struct, _field, _index, _val, _fixbits) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(structsizeof(_struct, _field[0]), offsetof(_struct, _field) + (_index) * structsizeof(_struct, _field[0]), _val, _fixbits)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_CONFIG_DATAFP32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val, _fixbits) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(structsizeof(_memstruct, _member), offsetof(_struct, _field) + (_index) * structsizeof(_struct, _field[0]) + offsetof(_memstruct, _member), _val, _fixbits)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATAFP32(_struct, _field, _val, _fixbits) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(DEVCONFIG_SIZEOF(_struct, _field), DEVCONFIG_OFFSETOF(_struct, _field), _val, _fixbits)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATAFP32_ARRAY(_struct, _field, _index, _val, _fixbits) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(DEVCONFIG_SIZEOF(_struct, _field[0]), DEVCONFIG_OFFSETOF(_struct, _field) + (_index) * DEVCONFIG_SIZEOF(_struct, _field[0]), _val, _fixbits)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATAFP32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val, _fixbits) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATAFP32_EXPLICIT(DEVCONFIG_SIZEOF(_memstruct, _member), DEVCONFIG_OFFSETOF(_struct, _field) + (_index) * DEVCONFIG_SIZEOF(_struct, _field[0]) + DEVCONFIG_OFFSETOF(_memstruct, _member), _val, _fixbits)
|
|
||||||
|
|
||||||
|
|
||||||
// inline device configurations that require 64 bits of storage in the token
|
// inline device configurations that require 64 bits of storage in the token
|
||||||
#define MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(_size, _offset, _val) \
|
#define MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(_size, _offset, _val) \
|
||||||
@ -271,15 +239,6 @@ device_t *legacy_device_creator(const machine_config &mconfig, const char *tag,
|
|||||||
#define MCFG_DEVICE_CONFIG_DATA64_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) \
|
#define MCFG_DEVICE_CONFIG_DATA64_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) \
|
||||||
MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(structsizeof(_memstruct, _member), offsetof(_struct, _field) + (_index) * structsizeof(_struct, _field[0]) + offsetof(_memstruct, _member), _val)
|
MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(structsizeof(_memstruct, _member), offsetof(_struct, _field) + (_index) * structsizeof(_struct, _field[0]) + offsetof(_memstruct, _member), _val)
|
||||||
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATA64(_struct, _field, _val) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(DEVCONFIG_SIZEOF(_struct, _field), DEVCONFIG_OFFSETOF(_struct, _field), _val)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATA64_ARRAY(_struct, _field, _index, _val) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(DEVCONFIG_SIZEOF(_struct, _field[0]), DEVCONFIG_OFFSETOF(_struct, _field) + (_index) * DEVCONFIG_SIZEOF(_struct, _field[0]), _val)
|
|
||||||
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATA64_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) \
|
|
||||||
MCFG_DEVICE_CONFIG_DATA64_EXPLICIT(DEVCONFIG_SIZEOF(_memstruct, _member), DEVCONFIG_OFFSETOF(_struct, _field) + (_index) * DEVCONFIG_SIZEOF(_struct, _field[0]) + DEVCONFIG_OFFSETOF(_memstruct, _member), _val)
|
|
||||||
|
|
||||||
|
|
||||||
// inline device configurations that require a pointer-sized amount of storage in the token
|
// inline device configurations that require a pointer-sized amount of storage in the token
|
||||||
#ifdef PTR64
|
#ifdef PTR64
|
||||||
@ -287,17 +246,11 @@ device_t *legacy_device_creator(const machine_config &mconfig, const char *tag,
|
|||||||
#define MCFG_DEVICE_CONFIG_DATAPTR(_struct, _field, _val) MCFG_DEVICE_CONFIG_DATA64(_struct, _field, _val)
|
#define MCFG_DEVICE_CONFIG_DATAPTR(_struct, _field, _val) MCFG_DEVICE_CONFIG_DATA64(_struct, _field, _val)
|
||||||
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY(_struct, _field, _index, _val) MCFG_DEVICE_CONFIG_DATA64_ARRAY(_struct, _field, _index, _val)
|
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY(_struct, _field, _index, _val) MCFG_DEVICE_CONFIG_DATA64_ARRAY(_struct, _field, _index, _val)
|
||||||
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) MCFG_DEVICE_CONFIG_DATA64_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val)
|
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) MCFG_DEVICE_CONFIG_DATA64_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val)
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATAPTR(_struct, _field, _val) MCFG_DEVICE_NEW_CONFIG_DATA64(_struct, _field, _val)
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATAPTR_ARRAY(_struct, _field, _index, _val) MCFG_DEVICE_NEW_CONFIG_DATA64_ARRAY(_struct, _field, _index, _val)
|
|
||||||
#define MCFG_DEVICE_NEW_CONFIG_DATAPTR_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) MCFG_DEVICE_NEW_CONFIG_DATA64_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val)
|
|
||||||
#else
|
#else
|
||||||
#define MCFG_DEVICE_CONFIG_DATAPTR_EXPLICIT(_struct, _size, _offset) MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(_struct, _size, _offset)
|
#define MCFG_DEVICE_CONFIG_DATAPTR_EXPLICIT(_struct, _size, _offset) MCFG_DEVICE_CONFIG_DATA32_EXPLICIT(_struct, _size, _offset)
|
||||||
#define MCFG_DEVICE_CONFIG_DATAPTR(_struct, _field, _val) MCFG_DEVICE_CONFIG_DATA32(_struct, _field, _val)
|
#define MCFG_DEVICE_CONFIG_DATAPTR(_struct, _field, _val) MCFG_DEVICE_CONFIG_DATA32(_struct, _field, _val)
|
||||||
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY(_struct, _field, _index, _val) MCFG_DEVICE_CONFIG_DATA32_ARRAY(_struct, _field, _index, _val)
|
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY(_struct, _field, _index, _val) MCFG_DEVICE_CONFIG_DATA32_ARRAY(_struct, _field, _index, _val)
|
||||||
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) MCFG_DEVICE_CONFIG_DATA32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val)
|
#define MCFG_DEVICE_CONFIG_DATAPTR_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) MCFG_DEVICE_CONFIG_DATA32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val)
|
||||||
#define MCFG_DEVICE_CONFIG_NEW_DATAPTR(_struct, _field, _val) MCFG_DEVICE_NEW_CONFIG_DATA32(_struct, _field, _val)
|
|
||||||
#define MCFG_DEVICE_CONFIG_NEW_DATAPTR_ARRAY(_struct, _field, _index, _val) MCFG_DEVICE_NEW_CONFIG_DATA32_ARRAY(_struct, _field, _index, _val)
|
|
||||||
#define MCFG_DEVICE_CONFIG_NEW_DATAPTR_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val) MCFG_DEVICE_NEW_CONFIG_DATA32_ARRAY_MEMBER(_struct, _field, _index, _memstruct, _member, _val)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -267,6 +267,7 @@ EMUMACHINEOBJS = \
|
|||||||
|
|
||||||
EMUVIDEOOBJS = \
|
EMUVIDEOOBJS = \
|
||||||
$(EMUVIDEO)/315_5124.o \
|
$(EMUVIDEO)/315_5124.o \
|
||||||
|
$(EMUVIDEO)/bufsprite.o \
|
||||||
$(EMUVIDEO)/cdp1861.o \
|
$(EMUVIDEO)/cdp1861.o \
|
||||||
$(EMUVIDEO)/cdp1862.o \
|
$(EMUVIDEO)/cdp1862.o \
|
||||||
$(EMUVIDEO)/crt9007.o \
|
$(EMUVIDEO)/crt9007.o \
|
||||||
|
@ -267,8 +267,6 @@ struct generic_pointers
|
|||||||
UINT32 spriteram_size;
|
UINT32 spriteram_size;
|
||||||
generic_ptr spriteram2; // secondary spriteram
|
generic_ptr spriteram2; // secondary spriteram
|
||||||
UINT32 spriteram2_size;
|
UINT32 spriteram2_size;
|
||||||
generic_ptr buffered_spriteram; // buffered spriteram
|
|
||||||
generic_ptr buffered_spriteram2;// secondary buffered spriteram
|
|
||||||
generic_ptr paletteram; // palette RAM
|
generic_ptr paletteram; // palette RAM
|
||||||
generic_ptr paletteram2; // secondary palette RAM
|
generic_ptr paletteram2; // secondary palette RAM
|
||||||
};
|
};
|
||||||
|
@ -72,9 +72,6 @@
|
|||||||
// automatically extend the palette creating a brighter copy for highlights
|
// automatically extend the palette creating a brighter copy for highlights
|
||||||
#define VIDEO_HAS_HIGHLIGHTS 0x0020
|
#define VIDEO_HAS_HIGHLIGHTS 0x0020
|
||||||
|
|
||||||
// Mish 181099: See comments in video/generic.c for details
|
|
||||||
#define VIDEO_BUFFERS_SPRITERAM 0x0040
|
|
||||||
|
|
||||||
// force VIDEO_UPDATE to be called even for skipped frames
|
// force VIDEO_UPDATE to be called even for skipped frames
|
||||||
#define VIDEO_ALWAYS_UPDATE 0x0080
|
#define VIDEO_ALWAYS_UPDATE 0x0080
|
||||||
|
|
||||||
|
71
src/emu/video/bufsprite.c
Normal file
71
src/emu/video/bufsprite.c
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
/*********************************************************************
|
||||||
|
|
||||||
|
bufsprite.h
|
||||||
|
|
||||||
|
Buffered Sprite RAM device.
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
|
||||||
|
Copyright Aaron Giles
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
* Neither the name 'MAME' nor the names of its contributors may be
|
||||||
|
used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
|
||||||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||||
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "bufsprite.h"
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// GLOBAL VARIABLES
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
// device type definition
|
||||||
|
extern const device_type BUFFERED_SPRITERAM8 = &device_creator<buffered_spriteram8_device>;
|
||||||
|
extern const device_type BUFFERED_SPRITERAM16 = &device_creator<buffered_spriteram16_device>;
|
||||||
|
extern const device_type BUFFERED_SPRITERAM32 = &device_creator<buffered_spriteram32_device>;
|
||||||
|
extern const device_type BUFFERED_SPRITERAM64 = &device_creator<buffered_spriteram64_device>;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* ----- sprite buffering ----- */
|
||||||
|
|
||||||
|
/* buffered sprite RAM write handlers */
|
||||||
|
WRITE8_HANDLER( buffer_spriteram_w ) { }
|
||||||
|
WRITE16_HANDLER( buffer_spriteram16_w ) { }
|
||||||
|
WRITE32_HANDLER( buffer_spriteram32_w ) { }
|
||||||
|
WRITE8_HANDLER( buffer_spriteram_2_w ) { }
|
||||||
|
WRITE16_HANDLER( buffer_spriteram16_2_w ) { }
|
||||||
|
WRITE32_HANDLER( buffer_spriteram32_2_w ) { }
|
||||||
|
|
||||||
|
/* perform the actual buffering */
|
||||||
|
void buffer_spriteram(running_machine &machine, UINT8 *ptr, int length) { }
|
||||||
|
void buffer_spriteram_2(running_machine &machine, UINT8 *ptr, int length) { }
|
||||||
|
|
||||||
|
|
||||||
|
|
177
src/emu/video/bufsprite.h
Normal file
177
src/emu/video/bufsprite.h
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
/*********************************************************************
|
||||||
|
|
||||||
|
bufsprite.h
|
||||||
|
|
||||||
|
Buffered Sprite RAM device.
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
|
||||||
|
Copyright Aaron Giles
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
* Neither the name 'MAME' nor the names of its contributors may be
|
||||||
|
used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
|
||||||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||||
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef __BUFSPRITE_H__
|
||||||
|
#define __BUFSPRITE_H__
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// GLOBAL VARIABLES
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
// device type definition
|
||||||
|
extern const device_type BUFFERED_SPRITERAM8;
|
||||||
|
extern const device_type BUFFERED_SPRITERAM16;
|
||||||
|
extern const device_type BUFFERED_SPRITERAM32;
|
||||||
|
extern const device_type BUFFERED_SPRITERAM64;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// DEVICE CONFIGURATION MACROS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
#define MCFG_BUFFERED_SPRITERAM8_ADD(_tag) \
|
||||||
|
MCFG_DEVICE_ADD(_tag, BUFFERED_SPRITERAM8, 0) \
|
||||||
|
|
||||||
|
#define MCFG_BUFFERED_SPRITERAM16_ADD(_tag) \
|
||||||
|
MCFG_DEVICE_ADD(_tag, BUFFERED_SPRITERAM16, 0) \
|
||||||
|
|
||||||
|
#define MCFG_BUFFERED_SPRITERAM32_ADD(_tag) \
|
||||||
|
MCFG_DEVICE_ADD(_tag, BUFFERED_SPRITERAM32, 0) \
|
||||||
|
|
||||||
|
#define MCFG_BUFFERED_SPRITERAM64_ADD(_tag) \
|
||||||
|
MCFG_DEVICE_ADD(_tag, BUFFERED_SPRITERAM64, 0) \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// TYPE DEFINITIONS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
// ======================> buffered_spriteram_device
|
||||||
|
|
||||||
|
// base class to manage buffered spriteram
|
||||||
|
template<typename _Type>
|
||||||
|
class buffered_spriteram_device : public device_t
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction
|
||||||
|
buffered_spriteram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, UINT32 clock)
|
||||||
|
: device_t(mconfig, type, "Buffered Sprite RAM", tag, owner, clock),
|
||||||
|
m_spriteram(*owner, tag) { }
|
||||||
|
|
||||||
|
// getters
|
||||||
|
_Type *live() const { return m_spriteram; }
|
||||||
|
_Type *buffer() { return m_buffered; }
|
||||||
|
UINT32 bytes() const { return m_spriteram.bytes(); }
|
||||||
|
|
||||||
|
// operations
|
||||||
|
_Type *copy(UINT32 srcoffset = 0, UINT32 srclength = 0x7fffffff)
|
||||||
|
{
|
||||||
|
assert(m_spriteram != NULL);
|
||||||
|
if (m_spriteram != NULL)
|
||||||
|
memcpy(m_buffered, m_spriteram + srcoffset, MIN(srclength, m_spriteram.bytes() / sizeof(_Type) - srcoffset) * sizeof(_Type));
|
||||||
|
return m_buffered;
|
||||||
|
}
|
||||||
|
|
||||||
|
// read/write handlers
|
||||||
|
void write(address_space &space, offs_t offset, _Type data, _Type mem_mask = ~_Type(0)) { copy(); }
|
||||||
|
|
||||||
|
// VBLANK handlers
|
||||||
|
void vblank_copy_rising(screen_device &screen, bool state) { if (state) copy(); }
|
||||||
|
void vblank_copy_falling(screen_device &screen, bool state) { if (!state) copy(); }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// first-time setup
|
||||||
|
virtual void device_start()
|
||||||
|
{
|
||||||
|
printf("tag=%s spriteram=%p size=%d\n", tag(), (void *)m_spriteram, UINT32(m_spriteram.bytes()));
|
||||||
|
if (m_spriteram != NULL)
|
||||||
|
{
|
||||||
|
m_buffered.resize(m_spriteram.bytes() / sizeof(_Type));
|
||||||
|
save_item(NAME(m_buffered));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
// internal state
|
||||||
|
required_shared_ptr<_Type> m_spriteram;
|
||||||
|
dynamic_array<_Type> m_buffered;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> buffered_spriteram8_device
|
||||||
|
|
||||||
|
class buffered_spriteram8_device : public buffered_spriteram_device<UINT8>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction
|
||||||
|
buffered_spriteram8_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||||
|
: buffered_spriteram_device(mconfig, BUFFERED_SPRITERAM8, tag, owner, clock) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> buffered_spriteram16_device
|
||||||
|
|
||||||
|
class buffered_spriteram16_device : public buffered_spriteram_device<UINT16>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction
|
||||||
|
buffered_spriteram16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||||
|
: buffered_spriteram_device(mconfig, BUFFERED_SPRITERAM16, tag, owner, clock) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> buffered_spriteram32_device
|
||||||
|
|
||||||
|
class buffered_spriteram32_device : public buffered_spriteram_device<UINT32>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction
|
||||||
|
buffered_spriteram32_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||||
|
: buffered_spriteram_device(mconfig, BUFFERED_SPRITERAM32, tag, owner, clock) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> buffered_spriteram64_device
|
||||||
|
|
||||||
|
class buffered_spriteram64_device : public buffered_spriteram_device<UINT64>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction
|
||||||
|
buffered_spriteram64_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||||
|
: buffered_spriteram_device(mconfig, BUFFERED_SPRITERAM64, tag, owner, clock) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __BUFSPRITE_H__ */
|
@ -235,135 +235,6 @@ void generic_video_init(running_machine &machine)
|
|||||||
|
|
||||||
machine.save().save_item(NAME(state->flip_screen_x));
|
machine.save().save_item(NAME(state->flip_screen_x));
|
||||||
machine.save().save_item(NAME(state->flip_screen_y));
|
machine.save().save_item(NAME(state->flip_screen_y));
|
||||||
|
|
||||||
// create spriteram buffers if necessary
|
|
||||||
if (machine.config().m_video_attributes & VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
{
|
|
||||||
assert_always(machine.generic.spriteram_size != 0, "Video buffers spriteram but spriteram size is 0");
|
|
||||||
|
|
||||||
// allocate memory for the back buffer
|
|
||||||
machine.generic.buffered_spriteram.u8 = auto_alloc_array(machine, UINT8, machine.generic.spriteram_size);
|
|
||||||
|
|
||||||
// register for saving it
|
|
||||||
state_save_register_global_pointer(machine, machine.generic.buffered_spriteram.u8, machine.generic.spriteram_size);
|
|
||||||
|
|
||||||
// do the same for the second back buffer, if present
|
|
||||||
if (machine.generic.spriteram2_size)
|
|
||||||
{
|
|
||||||
// allocate memory
|
|
||||||
machine.generic.buffered_spriteram2.u8 = auto_alloc_array(machine, UINT8, machine.generic.spriteram2_size);
|
|
||||||
|
|
||||||
// register for saving it
|
|
||||||
state_save_register_global_pointer(machine, machine.generic.buffered_spriteram2.u8, machine.generic.spriteram2_size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************
|
|
||||||
GENERIC SPRITE BUFFERING
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
/* Mish: 171099
|
|
||||||
|
|
||||||
'Buffered spriteram' is where the graphics hardware draws the sprites
|
|
||||||
from private ram that the main CPU cannot access. The main CPU typically
|
|
||||||
prepares sprites for the next frame in it's own sprite ram as the graphics
|
|
||||||
hardware renders sprites for the current frame from private ram. Main CPU
|
|
||||||
sprite ram is usually copied across to private ram by setting some flag
|
|
||||||
in the VBL interrupt routine.
|
|
||||||
|
|
||||||
The reason for this is to avoid sprite flicker or lag - if a game
|
|
||||||
is unable to prepare sprite ram within a frame (for example, lots of sprites
|
|
||||||
on screen) then it doesn't trigger the buffering hardware - instead the
|
|
||||||
graphics hardware will use the sprites from the last frame. An example is
|
|
||||||
Dark Seal - the buffer flag is only written to if the CPU is idle at the time
|
|
||||||
of the VBL interrupt. If the buffering is not emulated the sprites flicker
|
|
||||||
at busy scenes.
|
|
||||||
|
|
||||||
Some games seem to use buffering because of hardware constraints -
|
|
||||||
Capcom games (Cps1, Last Duel, etc) render spriteram _1 frame ahead_ and
|
|
||||||
buffer this spriteram at the end of a frame, so the _next_ frame must be drawn
|
|
||||||
from the buffer. Presumably the graphics hardware and the main cpu cannot
|
|
||||||
share the same spriteram for whatever reason.
|
|
||||||
|
|
||||||
Sprite buffering & Mame:
|
|
||||||
|
|
||||||
To use sprite buffering in a driver use VIDEO_BUFFERS_SPRITERAM in the
|
|
||||||
machine driver. This will automatically create an area for buffered spriteram
|
|
||||||
equal to the size of normal spriteram.
|
|
||||||
|
|
||||||
Spriteram size _must_ be declared in the memory map:
|
|
||||||
|
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAMBANK("sprites") AM_BASE_SIZE_GENERIC(spriteram)
|
|
||||||
|
|
||||||
Then the video driver must draw the sprites from the buffered_spriteram
|
|
||||||
pointer. The function buffer_spriteram_w() is used to simulate hardware
|
|
||||||
which buffers the spriteram from a memory location write. The function
|
|
||||||
buffer_spriteram(UINT8 *ptr, int length) can be used where
|
|
||||||
more control is needed over what is buffered.
|
|
||||||
|
|
||||||
For examples see darkseal.c, contra.c, lastduel.c, bionicc.c etc.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
buffer_spriteram_w - triggered writes to
|
|
||||||
buffer spriteram
|
|
||||||
-------------------------------------------------*/
|
|
||||||
|
|
||||||
WRITE8_HANDLER( buffer_spriteram_w )
|
|
||||||
{
|
|
||||||
memcpy(space->machine().generic.buffered_spriteram.u8, space->machine().generic.spriteram.u8, space->machine().generic.spriteram_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
WRITE16_HANDLER( buffer_spriteram16_w )
|
|
||||||
{
|
|
||||||
memcpy(space->machine().generic.buffered_spriteram.u16, space->machine().generic.spriteram.u16, space->machine().generic.spriteram_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
WRITE32_HANDLER( buffer_spriteram32_w )
|
|
||||||
{
|
|
||||||
memcpy(space->machine().generic.buffered_spriteram.u32, space->machine().generic.spriteram.u32, space->machine().generic.spriteram_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
buffer_spriteram_2_w - triggered writes to
|
|
||||||
buffer spriteram_2
|
|
||||||
-------------------------------------------------*/
|
|
||||||
|
|
||||||
WRITE8_HANDLER( buffer_spriteram_2_w )
|
|
||||||
{
|
|
||||||
memcpy(space->machine().generic.buffered_spriteram2.u8, space->machine().generic.spriteram2.u8, space->machine().generic.spriteram2_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
WRITE16_HANDLER( buffer_spriteram16_2_w )
|
|
||||||
{
|
|
||||||
memcpy(space->machine().generic.buffered_spriteram2.u16, space->machine().generic.spriteram2.u16, space->machine().generic.spriteram2_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
WRITE32_HANDLER( buffer_spriteram32_2_w )
|
|
||||||
{
|
|
||||||
memcpy(space->machine().generic.buffered_spriteram2.u32, space->machine().generic.spriteram2.u32, space->machine().generic.spriteram2_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
buffer_spriteram - for manually buffering
|
|
||||||
spriteram
|
|
||||||
-------------------------------------------------*/
|
|
||||||
|
|
||||||
void buffer_spriteram(running_machine &machine, UINT8 *ptr, int length)
|
|
||||||
{
|
|
||||||
memcpy(machine.generic.buffered_spriteram.u8, ptr, length);
|
|
||||||
}
|
|
||||||
|
|
||||||
void buffer_spriteram_2(running_machine &machine, UINT8 *ptr, int length)
|
|
||||||
{
|
|
||||||
memcpy(machine.generic.buffered_spriteram2.u8, ptr, length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,22 +42,6 @@ void generic_video_init(running_machine &machine);
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ----- sprite buffering ----- */
|
|
||||||
|
|
||||||
/* buffered sprite RAM write handlers */
|
|
||||||
WRITE8_HANDLER( buffer_spriteram_w );
|
|
||||||
WRITE16_HANDLER( buffer_spriteram16_w );
|
|
||||||
WRITE32_HANDLER( buffer_spriteram32_w );
|
|
||||||
WRITE8_HANDLER( buffer_spriteram_2_w );
|
|
||||||
WRITE16_HANDLER( buffer_spriteram16_2_w );
|
|
||||||
WRITE32_HANDLER( buffer_spriteram32_2_w );
|
|
||||||
|
|
||||||
/* perform the actual buffering */
|
|
||||||
void buffer_spriteram(running_machine &machine, UINT8 *ptr, int length);
|
|
||||||
void buffer_spriteram_2(running_machine &machine, UINT8 *ptr, int length);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ----- global attributes ----- */
|
/* ----- global attributes ----- */
|
||||||
|
|
||||||
/* set global attributes */
|
/* set global attributes */
|
||||||
|
@ -68,13 +68,11 @@ static WRITE8_HANDLER( actfancr_buffer_spriteram_w)
|
|||||||
{
|
{
|
||||||
actfancr_state *state = space->machine().driver_data<actfancr_state>();
|
actfancr_state *state = space->machine().driver_data<actfancr_state>();
|
||||||
|
|
||||||
UINT8* buffered_spriteram = space->machine().generic.buffered_spriteram.u8;
|
UINT8 *src = reinterpret_cast<UINT8 *>(memory_get_shared(space->machine(), "spriteram"));
|
||||||
// make a buffered copy
|
|
||||||
memcpy(buffered_spriteram, space->machine().generic.spriteram.u8, 0x800);
|
|
||||||
// copy to a 16-bit region for our sprite draw code too
|
// copy to a 16-bit region for our sprite draw code too
|
||||||
for (int i=0;i<0x800/2;i++)
|
for (int i=0;i<0x800/2;i++)
|
||||||
{
|
{
|
||||||
state->m_spriteram16[i] = buffered_spriteram[i*2] | (buffered_spriteram[(i*2)+1] <<8);
|
state->m_spriteram16[i] = src[i*2] | (src[(i*2)+1] <<8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +84,7 @@ static ADDRESS_MAP_START( actfan_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x070000, 0x070007) AM_DEVWRITE("tilegen2", deco_bac06_pf_control0_8bit_w)
|
AM_RANGE(0x070000, 0x070007) AM_DEVWRITE("tilegen2", deco_bac06_pf_control0_8bit_w)
|
||||||
AM_RANGE(0x070010, 0x07001f) AM_DEVWRITE("tilegen2", deco_bac06_pf_control1_8bit_swap_w)
|
AM_RANGE(0x070010, 0x07001f) AM_DEVWRITE("tilegen2", deco_bac06_pf_control1_8bit_swap_w)
|
||||||
AM_RANGE(0x072000, 0x0727ff) AM_DEVREADWRITE("tilegen2", deco_bac06_pf_data_8bit_swap_r, deco_bac06_pf_data_8bit_swap_w)
|
AM_RANGE(0x072000, 0x0727ff) AM_DEVREADWRITE("tilegen2", deco_bac06_pf_data_8bit_swap_r, deco_bac06_pf_data_8bit_swap_w)
|
||||||
AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
|
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
|
||||||
AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x130000, 0x130000) AM_READ_PORT("P1")
|
AM_RANGE(0x130000, 0x130000) AM_READ_PORT("P1")
|
||||||
@ -110,7 +108,7 @@ static ADDRESS_MAP_START( triothep_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x066400, 0x0667ff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_rowscroll_8bit_swap_r, deco_bac06_pf_rowscroll_8bit_swap_w)
|
AM_RANGE(0x066400, 0x0667ff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_rowscroll_8bit_swap_r, deco_bac06_pf_rowscroll_8bit_swap_w)
|
||||||
AM_RANGE(0x100000, 0x100001) AM_WRITE(actfancr_sound_w)
|
AM_RANGE(0x100000, 0x100001) AM_WRITE(actfancr_sound_w)
|
||||||
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
|
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x140000, 0x140001) AM_READNOP /* Value doesn't matter */
|
AM_RANGE(0x140000, 0x140001) AM_READNOP /* Value doesn't matter */
|
||||||
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_BASE_MEMBER(actfancr_state, m_main_ram) /* Main ram */
|
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_BASE_MEMBER(actfancr_state, m_main_ram) /* Main ram */
|
||||||
@ -342,8 +340,6 @@ static MACHINE_CONFIG_START( actfancr, actfancr_state )
|
|||||||
MCFG_MACHINE_RESET(actfancr)
|
MCFG_MACHINE_RESET(actfancr)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
||||||
@ -395,8 +391,6 @@ static MACHINE_CONFIG_START( triothep, actfancr_state )
|
|||||||
MCFG_MACHINE_RESET(triothep)
|
MCFG_MACHINE_RESET(triothep)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
||||||
|
@ -393,7 +393,7 @@ static WRITE16_HANDLER( irq_lv2_ack_w )
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x060400, 0x063fff) AM_RAM
|
AM_RANGE(0x060400, 0x063fff) AM_RAM
|
||||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||||
@ -414,7 +414,7 @@ static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16 )
|
|||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( kozure_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( kozure_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||||
// AM_RANGE(0x07c000, 0x07c001) AM_WRITE(kozure_io_w)
|
// AM_RANGE(0x07c000, 0x07c001) AM_WRITE(kozure_io_w)
|
||||||
// AM_RANGE(0x0c0000, 0x0c0001) AM_WRITENOP /* watchdog? */
|
// AM_RANGE(0x0c0000, 0x0c0001) AM_WRITENOP /* watchdog? */
|
||||||
@ -424,7 +424,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||||
@ -446,7 +446,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||||
@ -480,7 +480,7 @@ static WRITE8_HANDLER( legiono_fg_scroll_w )
|
|||||||
static ADDRESS_MAP_START( legiono_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( legiono_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x040000, 0x04003f) AM_WRITE8(legiono_fg_scroll_w,0x00ff)
|
AM_RANGE(0x040000, 0x04003f) AM_WRITE8(legiono_fg_scroll_w,0x00ff)
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||||
@ -502,7 +502,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x061000, 0x065fff) AM_RAM
|
AM_RANGE(0x061000, 0x065fff) AM_RAM
|
||||||
AM_RANGE(0x066000, 0x066fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE_MEMBER(armedf_state, m_bg_videoram)
|
AM_RANGE(0x066000, 0x066fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE_MEMBER(armedf_state, m_bg_videoram)
|
||||||
AM_RANGE(0x067000, 0x067fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_BASE_MEMBER(armedf_state, m_fg_videoram)
|
AM_RANGE(0x067000, 0x067fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_BASE_MEMBER(armedf_state, m_fg_videoram)
|
||||||
@ -679,7 +679,7 @@ static READ16_HANDLER(sharedram_r)
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0x080000, 0x0805ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x080000, 0x0805ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x080600, 0x083fff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE_MEMBER(bigfghtr_state, m_sharedram)
|
AM_RANGE(0x080600, 0x083fff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE_MEMBER(bigfghtr_state, m_sharedram)
|
||||||
AM_RANGE(0x084000, 0x085fff) AM_RAM //work ram
|
AM_RANGE(0x084000, 0x085fff) AM_RAM //work ram
|
||||||
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE_MEMBER(armedf_state, m_bg_videoram)
|
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE_MEMBER(armedf_state, m_bg_videoram)
|
||||||
@ -1204,8 +1204,6 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(57)
|
MCFG_SCREEN_REFRESH_RATE(57)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1214,12 +1212,14 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(terraf)
|
MCFG_VIDEO_START(terraf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
|
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1253,8 +1253,6 @@ static MACHINE_CONFIG_START( terrafb, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(57)
|
MCFG_SCREEN_REFRESH_RATE(57)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1263,11 +1261,13 @@ static MACHINE_CONFIG_START( terrafb, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(terraf)
|
MCFG_VIDEO_START(terraf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1297,8 +1297,6 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1307,11 +1305,13 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(terraf)
|
MCFG_VIDEO_START(terraf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1341,8 +1341,6 @@ static MACHINE_CONFIG_START( armedf, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(57)
|
MCFG_SCREEN_REFRESH_RATE(57)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1351,11 +1349,13 @@ static MACHINE_CONFIG_START( armedf, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(armedf)
|
MCFG_VIDEO_START(armedf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1385,8 +1385,6 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1395,11 +1393,13 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(terraf)
|
MCFG_VIDEO_START(terraf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1429,8 +1429,6 @@ static MACHINE_CONFIG_START( legion, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1439,11 +1437,13 @@ static MACHINE_CONFIG_START( legion, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(terraf)
|
MCFG_VIDEO_START(terraf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1473,8 +1473,6 @@ static MACHINE_CONFIG_START( legiono, armedf_state )
|
|||||||
MCFG_MACHINE_RESET(armedf)
|
MCFG_MACHINE_RESET(armedf)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1483,11 +1481,13 @@ static MACHINE_CONFIG_START( legiono, armedf_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(terraf)
|
MCFG_VIDEO_START(terraf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
@ -1532,8 +1532,6 @@ static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
|
|||||||
MCFG_MACHINE_RESET(bigfghtr)
|
MCFG_MACHINE_RESET(bigfghtr)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(57)
|
MCFG_SCREEN_REFRESH_RATE(57)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -1542,11 +1540,13 @@ static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(armedf)
|
MCFG_VIDEO_START(armedf)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
MCFG_SCREEN_UPDATE_STATIC(armedf)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(armedf)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(armedf)
|
MCFG_GFXDECODE(armedf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
|
@ -331,9 +331,9 @@ static ADDRESS_MAP_START( bbusters_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_BASE_MEMBER(bbusters_state, m_ram)
|
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_BASE_MEMBER(bbusters_state, m_ram)
|
||||||
AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE_MEMBER(bbusters_state, m_videoram)
|
AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE_MEMBER(bbusters_state, m_videoram)
|
||||||
AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x0a1000, 0x0a7fff) AM_RAM /* service mode */
|
AM_RANGE(0x0a1000, 0x0a7fff) AM_RAM /* service mode */
|
||||||
AM_RANGE(0x0a8000, 0x0a8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x0a8000, 0x0a8fff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0x0a9000, 0x0affff) AM_RAM /* service mode */
|
AM_RANGE(0x0a9000, 0x0affff) AM_RAM /* service mode */
|
||||||
AM_RANGE(0x0b0000, 0x0b1fff) AM_RAM_WRITE(bbusters_pf1_w) AM_BASE_MEMBER(bbusters_state, m_pf1_data)
|
AM_RANGE(0x0b0000, 0x0b1fff) AM_RAM_WRITE(bbusters_pf1_w) AM_BASE_MEMBER(bbusters_state, m_pf1_data)
|
||||||
AM_RANGE(0x0b2000, 0x0b3fff) AM_RAM_WRITE(bbusters_pf2_w) AM_BASE_MEMBER(bbusters_state, m_pf2_data)
|
AM_RANGE(0x0b2000, 0x0b3fff) AM_RAM_WRITE(bbusters_pf2_w) AM_BASE_MEMBER(bbusters_state, m_pf2_data)
|
||||||
@ -361,7 +361,7 @@ static ADDRESS_MAP_START( mechatt_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x000000, 0x06ffff) AM_ROM
|
AM_RANGE(0x000000, 0x06ffff) AM_ROM
|
||||||
AM_RANGE(0x070000, 0x07ffff) AM_RAM AM_BASE_MEMBER(bbusters_state, m_ram)
|
AM_RANGE(0x070000, 0x07ffff) AM_RAM AM_BASE_MEMBER(bbusters_state, m_ram)
|
||||||
AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE_MEMBER(bbusters_state, m_videoram)
|
AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE_MEMBER(bbusters_state, m_videoram)
|
||||||
AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x0a1000, 0x0a7fff) AM_WRITENOP
|
AM_RANGE(0x0a1000, 0x0a7fff) AM_WRITENOP
|
||||||
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(bbusters_pf1_w) AM_BASE_MEMBER(bbusters_state, m_pf1_data)
|
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(bbusters_pf1_w) AM_BASE_MEMBER(bbusters_state, m_pf1_data)
|
||||||
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE_MEMBER(bbusters_state, m_pf1_scroll_data)
|
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE_MEMBER(bbusters_state, m_pf1_scroll_data)
|
||||||
@ -666,24 +666,9 @@ static const ym2610_interface ym2610_config =
|
|||||||
|
|
||||||
static SCREEN_VBLANK( bbuster )
|
static SCREEN_VBLANK( bbuster )
|
||||||
{
|
{
|
||||||
// rising edge
|
bbusters_state *state = screen.machine().driver_data<bbusters_state>();
|
||||||
if (vblank_on)
|
state->m_spriteram->vblank_copy_rising(screen, vblank_on);
|
||||||
{
|
state->m_spriteram2->vblank_copy_rising(screen, vblank_on);
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram16_w(space,0,0,0xffff);
|
|
||||||
buffer_spriteram16_2_w(space,0,0,0xffff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static SCREEN_VBLANK( mechatt )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
buffer_spriteram16_w(space,0,0,0xffff);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( bbusters, bbusters_state )
|
static MACHINE_CONFIG_START( bbusters, bbusters_state )
|
||||||
@ -700,8 +685,6 @@ static MACHINE_CONFIG_START( bbusters, bbusters_state )
|
|||||||
MCFG_NVRAM_ADD_0FILL("eeprom")
|
MCFG_NVRAM_ADD_0FILL("eeprom")
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
@ -714,6 +697,9 @@ static MACHINE_CONFIG_START( bbusters, bbusters_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(bbuster)
|
MCFG_VIDEO_START(bbuster)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||||
|
|
||||||
@ -737,20 +723,20 @@ static MACHINE_CONFIG_START( mechatt, bbusters_state )
|
|||||||
MCFG_CPU_IO_MAP(sounda_portmap)
|
MCFG_CPU_IO_MAP(sounda_portmap)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(mechatt)
|
MCFG_SCREEN_UPDATE_STATIC(mechatt)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(mechatt)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(mechatt)
|
MCFG_GFXDECODE(mechatt)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
|
||||||
MCFG_VIDEO_START(mechatt)
|
MCFG_VIDEO_START(mechatt)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ static TIMER_DEVICE_CALLBACK( bionicc_scanline )
|
|||||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||||
AM_RANGE(0xfe0000, 0xfe07ff) AM_RAM /* RAM? */
|
AM_RANGE(0xfe0000, 0xfe07ff) AM_RAM /* RAM? */
|
||||||
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xfe0d00, 0xfe3fff) AM_RAM /* RAM? */
|
AM_RANGE(0xfe0d00, 0xfe3fff) AM_RAM /* RAM? */
|
||||||
AM_RANGE(0xfe4000, 0xfe4001) AM_WRITE(bionicc_gfxctrl_w) /* + coin counters */
|
AM_RANGE(0xfe4000, 0xfe4001) AM_WRITE(bionicc_gfxctrl_w) /* + coin counters */
|
||||||
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("SYSTEM")
|
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("SYSTEM")
|
||||||
@ -375,21 +375,21 @@ static MACHINE_CONFIG_START( bionicc, bionicc_state )
|
|||||||
MCFG_MACHINE_RESET(bionicc)
|
MCFG_MACHINE_RESET(bionicc)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(bionicc)
|
MCFG_SCREEN_UPDATE_STATIC(bionicc)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(bionicc)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(bionicc)
|
MCFG_GFXDECODE(bionicc)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
|
||||||
MCFG_VIDEO_START(bionicc)
|
MCFG_VIDEO_START(bionicc)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
MCFG_SOUND_ADD("ymsnd", YM2151, 3579545)
|
MCFG_SOUND_ADD("ymsnd", YM2151, 3579545)
|
||||||
|
@ -79,7 +79,7 @@ static ADDRESS_MAP_START( blktiger_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||||
AM_RANGE(0xe000, 0xfdff) AM_RAM
|
AM_RANGE(0xe000, 0xfdff) AM_RAM
|
||||||
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8 )
|
static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8 )
|
||||||
@ -337,21 +337,21 @@ static MACHINE_CONFIG_START( blktiger, blktiger_state )
|
|||||||
MCFG_MACHINE_RESET(blktiger)
|
MCFG_MACHINE_RESET(blktiger)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(blktiger)
|
MCFG_SCREEN_UPDATE_STATIC(blktiger)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(blktiger)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(blktiger)
|
MCFG_GFXDECODE(blktiger)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
|
||||||
MCFG_VIDEO_START(blktiger)
|
MCFG_VIDEO_START(blktiger)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
|
@ -97,10 +97,10 @@ static ADDRESS_MAP_START( boogwing_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x220000, 0x220001) AM_DEVWRITE("deco_common", decocomn_priority_w)
|
AM_RANGE(0x220000, 0x220001) AM_DEVWRITE("deco_common", decocomn_priority_w)
|
||||||
AM_RANGE(0x220002, 0x22000f) AM_NOP
|
AM_RANGE(0x220002, 0x22000f) AM_NOP
|
||||||
|
|
||||||
AM_RANGE(0x240000, 0x240001) AM_WRITE(buffer_spriteram16_w)
|
AM_RANGE(0x240000, 0x240001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write)
|
||||||
AM_RANGE(0x242000, 0x2427ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x242000, 0x2427ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x244000, 0x244001) AM_WRITE(buffer_spriteram16_2_w)
|
AM_RANGE(0x244000, 0x244001) AM_DEVWRITE_MODERN("spriteram2", buffered_spriteram16_device, write)
|
||||||
AM_RANGE(0x246000, 0x2467ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x246000, 0x2467ff) AM_RAM AM_SHARE("spriteram2")
|
||||||
|
|
||||||
AM_RANGE(0x24e6c0, 0x24e6c1) AM_READ_PORT("DSW")
|
AM_RANGE(0x24e6c0, 0x24e6c1) AM_READ_PORT("DSW")
|
||||||
AM_RANGE(0x24e138, 0x24e139) AM_READ_PORT("SYSTEM")
|
AM_RANGE(0x24e138, 0x24e139) AM_READ_PORT("SYSTEM")
|
||||||
@ -350,8 +350,6 @@ static MACHINE_CONFIG_START( boogwing, boogwing_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(audio_map)
|
MCFG_CPU_PROGRAM_MAP(audio_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
@ -364,6 +362,9 @@ static MACHINE_CONFIG_START( boogwing, boogwing_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(boogwing)
|
MCFG_VIDEO_START(boogwing)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", boogwing_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", boogwing_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", boogwing_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", boogwing_deco16ic_tilegen1_intf)
|
||||||
|
@ -185,8 +185,8 @@ static ADDRESS_MAP_START( cninja_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||||
AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
|
|
||||||
AM_RANGE(0x1a4000, 0x1a47ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
|
AM_RANGE(0x1a4000, 0x1a47ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||||
AM_RANGE(0x1b4000, 0x1b4001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
AM_RANGE(0x1b4000, 0x1b4001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* DMA flag */
|
||||||
AM_RANGE(0x1bc000, 0x1bc0ff) AM_WRITE(deco16_104_cninja_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
|
AM_RANGE(0x1bc000, 0x1bc0ff) AM_WRITE(deco16_104_cninja_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
|
||||||
AM_RANGE(0x1bc000, 0x1bcfff) AM_READ(deco16_104_cninja_prot_r) AM_BASE(&deco16_prot_ram) /* Protection device */
|
AM_RANGE(0x1bc000, 0x1bcfff) AM_READ(deco16_104_cninja_prot_r) AM_BASE(&deco16_prot_ram) /* Protection device */
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ ADDRESS_MAP_END
|
|||||||
static ADDRESS_MAP_START( cninjabl_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( cninjabl_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0bffff) AM_ROM
|
AM_RANGE(0x000000, 0x0bffff) AM_ROM
|
||||||
|
|
||||||
AM_RANGE(0x138000, 0x1387ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* bootleg sprite-ram (sprites rewritten here in new format) */
|
AM_RANGE(0x138000, 0x1387ff) AM_RAM AM_SHARE("spriteram") /* bootleg sprite-ram (sprites rewritten here in new format) */
|
||||||
|
|
||||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(cninja_pf12_control_w)
|
AM_RANGE(0x140000, 0x14000f) AM_WRITE(cninja_pf12_control_w)
|
||||||
AM_RANGE(0x144000, 0x144fff) AM_DEVREADWRITE("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
|
AM_RANGE(0x144000, 0x144fff) AM_DEVREADWRITE("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
|
||||||
@ -220,7 +220,7 @@ static ADDRESS_MAP_START( cninjabl_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||||
AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
|
|
||||||
AM_RANGE(0x1b4000, 0x1b4001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
AM_RANGE(0x1b4000, 0x1b4001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* DMA flag */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( edrandy_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( edrandy_map, AS_PROGRAM, 16 )
|
||||||
@ -245,8 +245,8 @@ static ADDRESS_MAP_START( edrandy_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x199750, 0x199751) AM_WRITENOP /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
|
AM_RANGE(0x199750, 0x199751) AM_WRITENOP /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
|
||||||
|
|
||||||
AM_RANGE(0x1a4000, 0x1a4007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
AM_RANGE(0x1a4000, 0x1a4007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||||
AM_RANGE(0x1ac000, 0x1ac001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
AM_RANGE(0x1ac000, 0x1ac001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* DMA flag */
|
||||||
AM_RANGE(0x1bc000, 0x1bc7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
|
AM_RANGE(0x1bc000, 0x1bc7ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||||
AM_RANGE(0x1bc800, 0x1bcfff) AM_WRITENOP /* Another bug in game code? Sprite list can overrun. Doesn't seem to mirror */
|
AM_RANGE(0x1bc800, 0x1bcfff) AM_WRITENOP /* Another bug in game code? Sprite list can overrun. Doesn't seem to mirror */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -266,11 +266,11 @@ static ADDRESS_MAP_START( robocop2_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE_MEMBER(cninja_state, m_pf3_rowscroll)
|
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE_MEMBER(cninja_state, m_pf3_rowscroll)
|
||||||
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE_MEMBER(cninja_state, m_pf4_rowscroll)
|
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE_MEMBER(cninja_state, m_pf4_rowscroll)
|
||||||
|
|
||||||
AM_RANGE(0x180000, 0x1807ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x180000, 0x1807ff) AM_RAM AM_SHARE("spriteram")
|
||||||
// AM_RANGE(0x18c000, 0x18c0ff) AM_WRITE(cninja_loopback_w) /* Protection writes */
|
// AM_RANGE(0x18c000, 0x18c0ff) AM_WRITE(cninja_loopback_w) /* Protection writes */
|
||||||
AM_RANGE(0x18c000, 0x18c7ff) AM_READ(robocop2_prot_r) /* Protection device */
|
AM_RANGE(0x18c000, 0x18c7ff) AM_READ(robocop2_prot_r) /* Protection device */
|
||||||
AM_RANGE(0x18c064, 0x18c065) AM_WRITE(cninja_sound_w)
|
AM_RANGE(0x18c064, 0x18c065) AM_WRITE(cninja_sound_w)
|
||||||
AM_RANGE(0x198000, 0x198001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
AM_RANGE(0x198000, 0x198001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* DMA flag */
|
||||||
AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x1b0000, 0x1b0007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
AM_RANGE(0x1b0000, 0x1b0007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||||
AM_RANGE(0x1b8000, 0x1bbfff) AM_RAM AM_BASE_MEMBER(cninja_state, m_ram) /* Main ram */
|
AM_RANGE(0x1b8000, 0x1bbfff) AM_RAM AM_BASE_MEMBER(cninja_state, m_ram) /* Main ram */
|
||||||
@ -281,14 +281,14 @@ ADDRESS_MAP_END
|
|||||||
static ADDRESS_MAP_START( mutantf_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( mutantf_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0x100000, 0x103fff) AM_RAM
|
AM_RANGE(0x100000, 0x103fff) AM_RAM
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0x160000, 0x161fff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x160000, 0x161fff) AM_RAM_DEVWRITE("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x180000, 0x180001) AM_DEVWRITE("deco_common", decocomn_priority_w)
|
AM_RANGE(0x180000, 0x180001) AM_DEVWRITE("deco_common", decocomn_priority_w)
|
||||||
AM_RANGE(0x180002, 0x180003) AM_WRITENOP /* VBL irq ack */
|
AM_RANGE(0x180002, 0x180003) AM_WRITENOP /* VBL irq ack */
|
||||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_READWRITE(deco16_66_prot_r, deco16_66_prot_w) AM_BASE(&deco16_prot_ram) /* Protection device */
|
AM_RANGE(0x1a0000, 0x1a07ff) AM_READWRITE(deco16_66_prot_r, deco16_66_prot_w) AM_BASE(&deco16_prot_ram) /* Protection device */
|
||||||
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(buffer_spriteram16_w) AM_DEVREAD("deco_common", decocomn_71_r)
|
AM_RANGE(0x1c0000, 0x1c0001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) AM_DEVREAD("deco_common", decocomn_71_r)
|
||||||
AM_RANGE(0x1e0000, 0x1e0001) AM_WRITE(buffer_spriteram16_2_w)
|
AM_RANGE(0x1e0000, 0x1e0001) AM_DEVWRITE_MODERN("spriteram2", buffered_spriteram16_device, write)
|
||||||
|
|
||||||
AM_RANGE(0x300000, 0x30000f) AM_WRITE(cninja_pf12_control_w)
|
AM_RANGE(0x300000, 0x30000f) AM_WRITE(cninja_pf12_control_w)
|
||||||
AM_RANGE(0x304000, 0x305fff) AM_DEVREADWRITE("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
|
AM_RANGE(0x304000, 0x305fff) AM_DEVREADWRITE("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
|
||||||
@ -924,8 +924,6 @@ static MACHINE_CONFIG_START( cninja, cninja_state )
|
|||||||
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
@ -935,6 +933,8 @@ static MACHINE_CONFIG_START( cninja, cninja_state )
|
|||||||
MCFG_GFXDECODE(cninja)
|
MCFG_GFXDECODE(cninja)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
|
||||||
@ -978,8 +978,6 @@ static MACHINE_CONFIG_START( stoneage, cninja_state )
|
|||||||
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
@ -991,6 +989,8 @@ static MACHINE_CONFIG_START( stoneage, cninja_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START(stoneage)
|
MCFG_VIDEO_START(stoneage)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
|
||||||
@ -1032,8 +1032,6 @@ static MACHINE_CONFIG_START( cninjabl, cninja_state )
|
|||||||
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
@ -1043,6 +1041,8 @@ static MACHINE_CONFIG_START( cninjabl, cninja_state )
|
|||||||
MCFG_GFXDECODE(cninjabl)
|
MCFG_GFXDECODE(cninjabl)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
|
||||||
@ -1077,8 +1077,6 @@ static MACHINE_CONFIG_START( edrandy, cninja_state )
|
|||||||
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
@ -1088,6 +1086,8 @@ static MACHINE_CONFIG_START( edrandy, cninja_state )
|
|||||||
MCFG_GFXDECODE(cninja)
|
MCFG_GFXDECODE(cninja)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", edrandy_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", edrandy_deco16ic_tilegen1_intf)
|
||||||
@ -1131,8 +1131,6 @@ static MACHINE_CONFIG_START( robocop2, cninja_state )
|
|||||||
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(40*8, 32*8)
|
MCFG_SCREEN_SIZE(40*8, 32*8)
|
||||||
@ -1142,6 +1140,8 @@ static MACHINE_CONFIG_START( robocop2, cninja_state )
|
|||||||
MCFG_GFXDECODE(robocop2)
|
MCFG_GFXDECODE(robocop2)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", robocop2_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", robocop2_deco16ic_tilegen1_intf)
|
||||||
@ -1186,8 +1186,6 @@ static MACHINE_CONFIG_START( mutantf, cninja_state )
|
|||||||
MCFG_MACHINE_RESET(cninja)
|
MCFG_MACHINE_RESET(cninja)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(40*8, 32*8)
|
MCFG_SCREEN_SIZE(40*8, 32*8)
|
||||||
@ -1199,6 +1197,9 @@ static MACHINE_CONFIG_START( mutantf, cninja_state )
|
|||||||
MCFG_GFXDECODE(mutantf)
|
MCFG_GFXDECODE(mutantf)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", cninja_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", mutantf_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", mutantf_deco16ic_tilegen1_intf)
|
||||||
|
@ -66,7 +66,7 @@ static ADDRESS_MAP_START( commando_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(commando_videoram_w) AM_BASE_MEMBER(commando_state, m_videoram)
|
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(commando_videoram_w) AM_BASE_MEMBER(commando_state, m_videoram)
|
||||||
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(commando_colorram_w) AM_BASE_MEMBER(commando_state, m_colorram)
|
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(commando_colorram_w) AM_BASE_MEMBER(commando_state, m_colorram)
|
||||||
AM_RANGE(0xe000, 0xfdff) AM_RAM
|
AM_RANGE(0xe000, 0xfdff) AM_RAM
|
||||||
AM_RANGE(0xfe00, 0xff7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xfe00, 0xff7f) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xff80, 0xffff) AM_RAM
|
AM_RANGE(0xff80, 0xffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -259,15 +259,13 @@ static MACHINE_CONFIG_START( commando, commando_state )
|
|||||||
MCFG_MACHINE_RESET(commando)
|
MCFG_MACHINE_RESET(commando)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(commando)
|
MCFG_SCREEN_UPDATE_STATIC(commando)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(commando)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(commando)
|
MCFG_GFXDECODE(commando)
|
||||||
MCFG_PALETTE_LENGTH(256)
|
MCFG_PALETTE_LENGTH(256)
|
||||||
@ -275,6 +273,8 @@ static MACHINE_CONFIG_START( commando, commando_state )
|
|||||||
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
|
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
|
||||||
MCFG_VIDEO_START(commando)
|
MCFG_VIDEO_START(commando)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
|
@ -127,7 +127,6 @@ Dip locations verified with Service Mode.
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/z80/z80.h"
|
|
||||||
#include "cpu/m68000/m68000.h"
|
#include "cpu/m68000/m68000.h"
|
||||||
#include "sound/2610intf.h"
|
#include "sound/2610intf.h"
|
||||||
#include "video/konicdev.h"
|
#include "video/konicdev.h"
|
||||||
@ -168,7 +167,7 @@ static WRITE16_HANDLER( sound_command_w )
|
|||||||
{
|
{
|
||||||
state->m_pending_command = 1;
|
state->m_pending_command = 1;
|
||||||
soundlatch_w(space, offset, data & 0xff);
|
soundlatch_w(space, offset, data & 0xff);
|
||||||
device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
|
state->m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,9 +190,9 @@ static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x300000, 0x3fffff) AM_READ(extrarom1_r)
|
AM_RANGE(0x300000, 0x3fffff) AM_READ(extrarom1_r)
|
||||||
AM_RANGE(0x400000, 0x4fffff) AM_READ(extrarom2_r)
|
AM_RANGE(0x400000, 0x4fffff) AM_READ(extrarom2_r)
|
||||||
AM_RANGE(0x500000, 0x5fffff) AM_READ(extrarom2_r) /* mirror */
|
AM_RANGE(0x500000, 0x5fffff) AM_READ(extrarom2_r) /* mirror */
|
||||||
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0xd00000, 0xd01fff) AM_RAM_WRITE(crshrace_videoram1_w) AM_BASE_MEMBER(crshrace_state, m_videoram1)
|
AM_RANGE(0xd00000, 0xd01fff) AM_RAM_WRITE(crshrace_videoram1_w) AM_BASE_MEMBER(crshrace_state, m_videoram1)
|
||||||
AM_RANGE(0xe00000, 0xe01fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xe00000, 0xe01fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
|
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
|
||||||
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
|
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
|
||||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(crshrace_videoram2_w) AM_BASE_MEMBER(crshrace_state, m_videoram2)
|
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(crshrace_videoram2_w) AM_BASE_MEMBER(crshrace_state, m_videoram2)
|
||||||
@ -428,7 +427,7 @@ GFXDECODE_END
|
|||||||
static void irqhandler( device_t *device, int irq )
|
static void irqhandler( device_t *device, int irq )
|
||||||
{
|
{
|
||||||
crshrace_state *state = device->machine().driver_data<crshrace_state>();
|
crshrace_state *state = device->machine().driver_data<crshrace_state>();
|
||||||
device_set_input_line(state->m_audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
|
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const ym2610_interface ym2610_config =
|
static const ym2610_interface ym2610_config =
|
||||||
@ -448,9 +447,6 @@ static MACHINE_START( crshrace )
|
|||||||
|
|
||||||
memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
|
memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
|
||||||
|
|
||||||
state->m_audiocpu = machine.device("audiocpu");
|
|
||||||
state->m_k053936 = machine.device("k053936");
|
|
||||||
|
|
||||||
state->save_item(NAME(state->m_roz_bank));
|
state->save_item(NAME(state->m_roz_bank));
|
||||||
state->save_item(NAME(state->m_gfxctrl));
|
state->save_item(NAME(state->m_gfxctrl));
|
||||||
state->save_item(NAME(state->m_flipscreen));
|
state->save_item(NAME(state->m_flipscreen));
|
||||||
@ -482,8 +478,6 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state )
|
|||||||
MCFG_MACHINE_RESET(crshrace)
|
MCFG_MACHINE_RESET(crshrace)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
@ -494,6 +488,9 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state )
|
|||||||
MCFG_GFXDECODE(crshrace)
|
MCFG_GFXDECODE(crshrace)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_K053936_ADD("k053936", crshrace_k053936_intf)
|
MCFG_K053936_ADD("k053936", crshrace_k053936_intf)
|
||||||
|
|
||||||
MCFG_VIDEO_START(crshrace)
|
MCFG_VIDEO_START(crshrace)
|
||||||
|
@ -27,9 +27,10 @@
|
|||||||
|
|
||||||
static WRITE16_HANDLER( darkseal_control_w )
|
static WRITE16_HANDLER( darkseal_control_w )
|
||||||
{
|
{
|
||||||
|
darkseal_state *state = space->machine().driver_data<darkseal_state>();
|
||||||
switch (offset<<1) {
|
switch (offset<<1) {
|
||||||
case 6: /* DMA flag */
|
case 6: /* DMA flag */
|
||||||
buffer_spriteram16_w(space, 0, 0, 0xffff);
|
state->m_spriteram->copy();
|
||||||
return;
|
return;
|
||||||
case 8: /* Sound CPU write */
|
case 8: /* Sound CPU write */
|
||||||
soundlatch_w(space, 0, data & 0xff);
|
soundlatch_w(space, 0, data & 0xff);
|
||||||
@ -62,7 +63,7 @@ static READ16_HANDLER( darkseal_control_r )
|
|||||||
static ADDRESS_MAP_START( darkseal_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( darkseal_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_MEMBER(darkseal_state, m_ram)
|
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_MEMBER(darkseal_state, m_ram)
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(darkseal_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(darkseal_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE(darkseal_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE(darkseal_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
|
||||||
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(darkseal_control_r, darkseal_control_w)
|
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(darkseal_control_r, darkseal_control_w)
|
||||||
@ -269,8 +270,6 @@ static MACHINE_CONFIG_START( darkseal, darkseal_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
||||||
@ -281,6 +280,8 @@ static MACHINE_CONFIG_START( darkseal, darkseal_state )
|
|||||||
MCFG_GFXDECODE(darkseal)
|
MCFG_GFXDECODE(darkseal)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", darkseal_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", darkseal_deco16ic_tilegen1_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen2", darkseal_deco16ic_tilegen2_intf)
|
MCFG_DECO16IC_ADD("tilegen2", darkseal_deco16ic_tilegen2_intf)
|
||||||
|
@ -219,7 +219,7 @@ static ADDRESS_MAP_START( dassault_map, AS_PROGRAM, 16 )
|
|||||||
|
|
||||||
AM_RANGE(0x1c0000, 0x1c000f) AM_READ(dassault_control_r)
|
AM_RANGE(0x1c0000, 0x1c000f) AM_READ(dassault_control_r)
|
||||||
AM_RANGE(0x1c000a, 0x1c000b) AM_DEVWRITE("deco_common", decocomn_priority_w)
|
AM_RANGE(0x1c000a, 0x1c000b) AM_DEVWRITE("deco_common", decocomn_priority_w)
|
||||||
AM_RANGE(0x1c000c, 0x1c000d) AM_WRITE(buffer_spriteram16_2_w)
|
AM_RANGE(0x1c000c, 0x1c000d) AM_DEVWRITE_MODERN("spriteram2", buffered_spriteram16_device, write)
|
||||||
AM_RANGE(0x1c000e, 0x1c000f) AM_WRITE(dassault_control_w)
|
AM_RANGE(0x1c000e, 0x1c000f) AM_WRITE(dassault_control_w)
|
||||||
|
|
||||||
AM_RANGE(0x200000, 0x201fff) AM_DEVREADWRITE("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
|
AM_RANGE(0x200000, 0x201fff) AM_DEVREADWRITE("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
|
||||||
@ -233,7 +233,7 @@ static ADDRESS_MAP_START( dassault_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x260000, 0x26000f) AM_DEVWRITE("tilegen2", deco16ic_pf_control_w)
|
AM_RANGE(0x260000, 0x26000f) AM_DEVWRITE("tilegen2", deco16ic_pf_control_w)
|
||||||
|
|
||||||
AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_BASE_MEMBER(dassault_state, m_ram) /* Main ram */
|
AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_BASE_MEMBER(dassault_state, m_ram) /* Main ram */
|
||||||
AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2) /* Spriteram (2nd) */
|
AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_SHARE("spriteram2") /* Spriteram (2nd) */
|
||||||
AM_RANGE(0x3feffc, 0x3fefff) AM_READWRITE(dassault_irq_r, dassault_irq_w)
|
AM_RANGE(0x3feffc, 0x3fefff) AM_READWRITE(dassault_irq_r, dassault_irq_w)
|
||||||
AM_RANGE(0x3fe000, 0x3fefff) AM_READWRITE(shared_ram_r, shared_ram_w) AM_BASE_MEMBER(dassault_state, m_shared_ram) /* Shared ram */
|
AM_RANGE(0x3fe000, 0x3fefff) AM_READWRITE(shared_ram_r, shared_ram_w) AM_BASE_MEMBER(dassault_state, m_shared_ram) /* Shared ram */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -241,12 +241,12 @@ ADDRESS_MAP_END
|
|||||||
static ADDRESS_MAP_START( dassault_sub_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( dassault_sub_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
|
|
||||||
AM_RANGE(0x100000, 0x100001) AM_WRITE(buffer_spriteram16_w)
|
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write)
|
||||||
AM_RANGE(0x100002, 0x100007) AM_WRITENOP /* ? */
|
AM_RANGE(0x100002, 0x100007) AM_WRITENOP /* ? */
|
||||||
AM_RANGE(0x100004, 0x100005) AM_READ(dassault_sub_control_r)
|
AM_RANGE(0x100004, 0x100005) AM_READ(dassault_sub_control_r)
|
||||||
|
|
||||||
AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_BASE_MEMBER(dassault_state, m_ram2) /* Sub cpu ram */
|
AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_BASE_MEMBER(dassault_state, m_ram2) /* Sub cpu ram */
|
||||||
AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprite ram */
|
AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_SHARE("spriteram") /* Sprite ram */
|
||||||
AM_RANGE(0x3feffc, 0x3fefff) AM_READWRITE(dassault_irq_r, dassault_irq_w)
|
AM_RANGE(0x3feffc, 0x3fefff) AM_READWRITE(dassault_irq_r, dassault_irq_w)
|
||||||
AM_RANGE(0x3fe000, 0x3fefff) AM_READWRITE(shared_ram_r, shared_ram_w)
|
AM_RANGE(0x3fe000, 0x3fefff) AM_READWRITE(shared_ram_r, shared_ram_w)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -582,8 +582,6 @@ static MACHINE_CONFIG_START( dassault, dassault_state )
|
|||||||
MCFG_QUANTUM_PERFECT_CPU("maincpu") // I was seeing random lockups.. let's see if this helps
|
MCFG_QUANTUM_PERFECT_CPU("maincpu") // I was seeing random lockups.. let's see if this helps
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
||||||
@ -596,6 +594,9 @@ static MACHINE_CONFIG_START( dassault, dassault_state )
|
|||||||
MCFG_GFXDECODE(dassault)
|
MCFG_GFXDECODE(dassault)
|
||||||
MCFG_PALETTE_LENGTH(4096)
|
MCFG_PALETTE_LENGTH(4096)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_DECOCOMN_ADD("deco_common", dassault_decocomn_intf)
|
MCFG_DECOCOMN_ADD("deco_common", dassault_decocomn_intf)
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", dassault_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", dassault_deco16ic_tilegen1_intf)
|
||||||
|
@ -56,7 +56,7 @@ To do:
|
|||||||
static WRITE8_HANDLER( dec8_mxc06_karn_buffer_spriteram_w)
|
static WRITE8_HANDLER( dec8_mxc06_karn_buffer_spriteram_w)
|
||||||
{
|
{
|
||||||
dec8_state *state = space->machine().driver_data<dec8_state>();
|
dec8_state *state = space->machine().driver_data<dec8_state>();
|
||||||
UINT8* spriteram = space->machine().generic.spriteram.u8;
|
UINT8* spriteram = state->m_spriteram->live();
|
||||||
// copy to a 16-bit region for the sprite chip
|
// copy to a 16-bit region for the sprite chip
|
||||||
for (int i=0;i<0x800/2;i++)
|
for (int i=0;i<0x800/2;i++)
|
||||||
{
|
{
|
||||||
@ -498,8 +498,6 @@ static WRITE8_HANDLER( shackled_int_w )
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
static READ8_HANDLER( shackled_sprite_r ) { return space->machine().generic.spriteram.u8[offset]; }
|
|
||||||
static WRITE8_HANDLER( shackled_sprite_w ) { space->machine().generic.spriteram.u8[offset] = data; }
|
|
||||||
static WRITE8_HANDLER( flip_screen_w ) { flip_screen_set(space->machine(), data); }
|
static WRITE8_HANDLER( flip_screen_w ) { flip_screen_set(space->machine(), data); }
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
@ -512,7 +510,7 @@ static ADDRESS_MAP_START( cobra_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE("tilegen2", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE("tilegen2", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
||||||
AM_RANGE(0x1800, 0x1fff) AM_RAM
|
AM_RANGE(0x1800, 0x1fff) AM_RAM
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x3200, 0x37ff) AM_WRITEONLY /* Unused */
|
AM_RANGE(0x3200, 0x37ff) AM_WRITEONLY /* Unused */
|
||||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
|
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
|
||||||
@ -538,7 +536,7 @@ static ADDRESS_MAP_START( meikyuh_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x2000, 0x27ff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
AM_RANGE(0x2000, 0x27ff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
||||||
AM_RANGE(0x2800, 0x2bff) AM_RAM // colscroll? mirror?
|
AM_RANGE(0x2800, 0x2bff) AM_RAM // colscroll? mirror?
|
||||||
AM_RANGE(0x2c00, 0x2fff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_rowscroll_8bit_r, deco_bac06_pf_rowscroll_8bit_w)
|
AM_RANGE(0x2c00, 0x2fff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_rowscroll_8bit_r, deco_bac06_pf_rowscroll_8bit_w)
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
|
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
|
||||||
AM_RANGE(0x3800, 0x3800) AM_WRITE(dec8_sound_w)
|
AM_RANGE(0x3800, 0x3800) AM_WRITE(dec8_sound_w)
|
||||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
|
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
|
||||||
@ -557,14 +555,14 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x05ff) AM_RAM
|
AM_RANGE(0x0000, 0x05ff) AM_RAM
|
||||||
AM_RANGE(0x0600, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
AM_RANGE(0x0600, 0x07ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(srdarwin_videoram_w) AM_BASE_MEMBER(dec8_state, m_videoram) AM_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(srdarwin_videoram_w) AM_BASE_MEMBER(dec8_state, m_videoram)
|
||||||
AM_RANGE(0x1000, 0x13ff) AM_RAM
|
AM_RANGE(0x1000, 0x13ff) AM_RAM
|
||||||
AM_RANGE(0x1400, 0x17ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
AM_RANGE(0x1400, 0x17ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
||||||
AM_RANGE(0x1800, 0x1801) AM_WRITE(srdarwin_i8751_w)
|
AM_RANGE(0x1800, 0x1801) AM_WRITE(srdarwin_i8751_w)
|
||||||
AM_RANGE(0x1802, 0x1802) AM_WRITE(i8751_reset_w) /* Maybe.. */
|
AM_RANGE(0x1802, 0x1802) AM_WRITE(i8751_reset_w) /* Maybe.. */
|
||||||
AM_RANGE(0x1803, 0x1803) AM_WRITENOP /* NMI ack */
|
AM_RANGE(0x1803, 0x1803) AM_WRITENOP /* NMI ack */
|
||||||
AM_RANGE(0x1804, 0x1804) AM_WRITE(buffer_spriteram_w) /* DMA */
|
AM_RANGE(0x1804, 0x1804) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram8_device, write) /* DMA */
|
||||||
AM_RANGE(0x1805, 0x1806) AM_WRITE(srdarwin_control_w) /* Scroll & Bank */
|
AM_RANGE(0x1805, 0x1806) AM_WRITE(srdarwin_control_w) /* Scroll & Bank */
|
||||||
AM_RANGE(0x2000, 0x2000) AM_READWRITE(i8751_h_r, dec8_sound_w) /* Sound */
|
AM_RANGE(0x2000, 0x2000) AM_READWRITE(i8751_h_r, dec8_sound_w) /* Sound */
|
||||||
AM_RANGE(0x2001, 0x2001) AM_READWRITE(i8751_l_r, flip_screen_w) /* Flipscreen */
|
AM_RANGE(0x2001, 0x2001) AM_READWRITE(i8751_l_r, flip_screen_w) /* Flipscreen */
|
||||||
@ -584,7 +582,7 @@ static ADDRESS_MAP_START( gondo_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
||||||
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
||||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
|
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
|
||||||
AM_RANGE(0x380a, 0x380b) AM_READ(gondo_player_1_r) /* Player 1 rotary */
|
AM_RANGE(0x380a, 0x380b) AM_READ(gondo_player_1_r) /* Player 1 rotary */
|
||||||
@ -607,7 +605,7 @@ static ADDRESS_MAP_START( oscar_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
AM_RANGE(0x2800, 0x2fff) AM_DEVREADWRITE("tilegen1", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||||
AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x3c00, 0x3c00) AM_READ_PORT("IN0")
|
AM_RANGE(0x3c00, 0x3c00) AM_READ_PORT("IN0")
|
||||||
AM_RANGE(0x3c01, 0x3c01) AM_READ_PORT("IN1")
|
AM_RANGE(0x3c01, 0x3c01) AM_READ_PORT("IN1")
|
||||||
@ -652,7 +650,7 @@ static ADDRESS_MAP_START( lastmisn_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x180d, 0x180d) AM_WRITE(lastmisn_control_w) /* Bank switch + Scroll MSB */
|
AM_RANGE(0x180d, 0x180d) AM_WRITE(lastmisn_control_w) /* Bank switch + Scroll MSB */
|
||||||
AM_RANGE(0x180e, 0x180f) AM_WRITE(lastmisn_i8751_w)
|
AM_RANGE(0x180e, 0x180f) AM_WRITE(lastmisn_i8751_w)
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
||||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||||
@ -673,7 +671,7 @@ static ADDRESS_MAP_START( lastmisn_sub_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x1807, 0x1807) AM_WRITE(flip_screen_w)
|
AM_RANGE(0x1807, 0x1807) AM_WRITE(flip_screen_w)
|
||||||
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
|
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_WRITE(shackled_sprite_w)
|
AM_RANGE(0x2800, 0x2fff) AM_WRITEONLY AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w)
|
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w)
|
||||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||||
@ -696,7 +694,7 @@ static ADDRESS_MAP_START( shackled_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
|
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
|
||||||
AM_RANGE(0x180d, 0x180d) AM_WRITE(shackled_control_w) /* Bank switch + Scroll MSB */
|
AM_RANGE(0x180d, 0x180d) AM_WRITE(shackled_control_w) /* Bank switch + Scroll MSB */
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_READWRITE(shackled_sprite_r, shackled_sprite_w)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
||||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||||
@ -722,7 +720,7 @@ static ADDRESS_MAP_START( shackled_sub_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x180d, 0x180d) AM_WRITE(shackled_control_w) /* Bank switch + Scroll MSB */
|
AM_RANGE(0x180d, 0x180d) AM_WRITE(shackled_control_w) /* Bank switch + Scroll MSB */
|
||||||
AM_RANGE(0x180e, 0x180f) AM_WRITE(shackled_i8751_w)
|
AM_RANGE(0x180e, 0x180f) AM_WRITE(shackled_i8751_w)
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w)
|
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w)
|
||||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||||
@ -746,7 +744,7 @@ static ADDRESS_MAP_START( csilver_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x1c00, 0x1c00) AM_READ(i8751_h_r)
|
AM_RANGE(0x1c00, 0x1c00) AM_READ(i8751_h_r)
|
||||||
AM_RANGE(0x1e00, 0x1e00) AM_READ(i8751_l_r)
|
AM_RANGE(0x1e00, 0x1e00) AM_READ(i8751_l_r)
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_READWRITE(shackled_sprite_r, shackled_sprite_w)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
||||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||||
@ -763,7 +761,7 @@ static ADDRESS_MAP_START( csilver_sub_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x1805, 0x1805) AM_READ_PORT("DSW0") AM_WRITE(dec8_mxc06_karn_buffer_spriteram_w) /* DMA */
|
AM_RANGE(0x1805, 0x1805) AM_READ_PORT("DSW0") AM_WRITE(dec8_mxc06_karn_buffer_spriteram_w) /* DMA */
|
||||||
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
|
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE_MEMBER(dec8_state, m_videoram, m_videoram_size)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("share2")
|
||||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w)
|
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w)
|
||||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||||
@ -775,7 +773,7 @@ static ADDRESS_MAP_START( garyoret_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE_MEMBER(dec8_state, m_bg_data)
|
||||||
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
|
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
||||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
|
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
|
||||||
AM_RANGE(0x3808, 0x3808) AM_READNOP /* ? */
|
AM_RANGE(0x3808, 0x3808) AM_READNOP /* ? */
|
||||||
@ -2010,7 +2008,7 @@ static MACHINE_CONFIG_START( cobracom, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
|
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
|
||||||
deco_bac06_device::set_gfx_region_wide(*device, 2,2,0);
|
deco_bac06_device::set_gfx_region_wide(*device, 2,2,0);
|
||||||
@ -2065,7 +2063,7 @@ static MACHINE_CONFIG_START( ghostb, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
|
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
|
||||||
deco_bac06_device::set_gfx_region_wide(*device, 2,2,0);
|
deco_bac06_device::set_gfx_region_wide(*device, 2,2,0);
|
||||||
@ -2121,7 +2119,7 @@ static MACHINE_CONFIG_START( oscar, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
|
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
|
||||||
deco_bac06_device::set_gfx_region_wide(*device, 2,2,0);
|
deco_bac06_device::set_gfx_region_wide(*device, 2,2,0);
|
||||||
@ -2171,7 +2169,7 @@ static MACHINE_CONFIG_START( srdarwin, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
@ -2217,7 +2215,7 @@ static MACHINE_CONFIG_START( gondo, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
||||||
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
||||||
@ -2267,7 +2265,7 @@ static MACHINE_CONFIG_START( lastmisn, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
||||||
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
||||||
@ -2316,7 +2314,7 @@ static MACHINE_CONFIG_START( shackled, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
||||||
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
||||||
@ -2366,7 +2364,7 @@ static MACHINE_CONFIG_START( csilver, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
||||||
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
||||||
@ -2416,7 +2414,7 @@ static MACHINE_CONFIG_START( garyoret, dec8_state )
|
|||||||
MCFG_MACHINE_RESET(dec8)
|
MCFG_MACHINE_RESET(dec8)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
|
||||||
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
deco_karnovsprites_device::set_gfx_region(*device, 1);
|
||||||
|
@ -862,7 +862,7 @@ static ADDRESS_MAP_START( dragngun_map, AS_PROGRAM, 32 )
|
|||||||
AM_RANGE(0x20c000, 0x20cfff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_layout_1_ram)
|
AM_RANGE(0x20c000, 0x20cfff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_layout_1_ram)
|
||||||
AM_RANGE(0x210000, 0x217fff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_0_ram)
|
AM_RANGE(0x210000, 0x217fff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_0_ram)
|
||||||
AM_RANGE(0x218000, 0x21ffff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_1_ram)
|
AM_RANGE(0x218000, 0x21ffff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_1_ram)
|
||||||
AM_RANGE(0x220000, 0x221fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Main spriteram */
|
AM_RANGE(0x220000, 0x221fff) AM_RAM AM_SHARE("spriteram") /* Main spriteram */
|
||||||
|
|
||||||
AM_RANGE(0x228000, 0x2283ff) AM_RAM //0x10 byte increments only
|
AM_RANGE(0x228000, 0x2283ff) AM_RAM //0x10 byte increments only
|
||||||
|
|
||||||
@ -911,7 +911,7 @@ static ADDRESS_MAP_START( lockload_map, AS_PROGRAM, 32 )
|
|||||||
AM_RANGE(0x20c000, 0x20cfff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_layout_1_ram)
|
AM_RANGE(0x20c000, 0x20cfff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_layout_1_ram)
|
||||||
AM_RANGE(0x210000, 0x217fff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_0_ram)
|
AM_RANGE(0x210000, 0x217fff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_0_ram)
|
||||||
AM_RANGE(0x218000, 0x21ffff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_1_ram)
|
AM_RANGE(0x218000, 0x21ffff) AM_RAM AM_BASE_MEMBER(dragngun_state, m_dragngun_sprite_lookup_1_ram)
|
||||||
AM_RANGE(0x220000, 0x221fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Main spriteram */
|
AM_RANGE(0x220000, 0x221fff) AM_RAM AM_SHARE("spriteram") /* Main spriteram */
|
||||||
|
|
||||||
AM_RANGE(0x228000, 0x2283ff) AM_RAM //0x10 byte increments only
|
AM_RANGE(0x228000, 0x2283ff) AM_RAM //0x10 byte increments only
|
||||||
AM_RANGE(0x230000, 0x230003) AM_WRITE(dragngun_spriteram_dma_w)
|
AM_RANGE(0x230000, 0x230003) AM_WRITE(dragngun_spriteram_dma_w)
|
||||||
@ -1959,8 +1959,6 @@ static MACHINE_CONFIG_START( dragngun, dragngun_state )
|
|||||||
MCFG_TIMER_ADD("int_timer", interrupt_gen)
|
MCFG_TIMER_ADD("int_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(42*8, 32*8)
|
MCFG_SCREEN_SIZE(42*8, 32*8)
|
||||||
@ -1968,6 +1966,8 @@ static MACHINE_CONFIG_START( dragngun, dragngun_state )
|
|||||||
MCFG_SCREEN_UPDATE_STATIC(dragngun)
|
MCFG_SCREEN_UPDATE_STATIC(dragngun)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dragngun)
|
MCFG_SCREEN_VBLANK_STATIC(dragngun)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM32_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", dragngun_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", dragngun_deco16ic_tilegen1_intf)
|
||||||
MCFG_DECO16IC_ADD("tilegen2", dragngun_deco16ic_tilegen2_intf)
|
MCFG_DECO16IC_ADD("tilegen2", dragngun_deco16ic_tilegen2_intf)
|
||||||
|
|
||||||
@ -2032,8 +2032,6 @@ static MACHINE_CONFIG_START( lockload, dragngun_state )
|
|||||||
MCFG_TIMER_ADD("int_timer", interrupt_gen)
|
MCFG_TIMER_ADD("int_timer", interrupt_gen)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(42*8, 32*8+22)
|
MCFG_SCREEN_SIZE(42*8, 32*8+22)
|
||||||
@ -2041,6 +2039,8 @@ static MACHINE_CONFIG_START( lockload, dragngun_state )
|
|||||||
MCFG_SCREEN_UPDATE_STATIC(dragngun)
|
MCFG_SCREEN_UPDATE_STATIC(dragngun)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dragngun)
|
MCFG_SCREEN_VBLANK_STATIC(dragngun)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM32_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_DECO16IC_ADD("tilegen1", lockload_deco16ic_tilegen1_intf)
|
MCFG_DECO16IC_ADD("tilegen1", lockload_deco16ic_tilegen1_intf)
|
||||||
MCFG_DECO16IC_ADD("tilegen2", lockload_deco16ic_tilegen2_intf)
|
MCFG_DECO16IC_ADD("tilegen2", lockload_deco16ic_tilegen2_intf)
|
||||||
|
|
||||||
|
@ -131,14 +131,14 @@ static ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM
|
AM_RANGE(0xe000, 0xefff) AM_RAM
|
||||||
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
||||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
||||||
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA") AM_WRITE(lastday_bankswitch_w)
|
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA") AM_WRITE(lastday_bankswitch_w)
|
||||||
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("DSWB")
|
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("DSWB")
|
||||||
@ -156,7 +156,7 @@ static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
||||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
||||||
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA")
|
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA")
|
||||||
AM_RANGE(0xf000, 0xf000) AM_WRITE(lastday_bankswitch_w)
|
AM_RANGE(0xf000, 0xf000) AM_WRITE(lastday_bankswitch_w)
|
||||||
@ -187,14 +187,14 @@ static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xc048, 0xc04f) AM_WRITE(dooyong_fgscroll8_w)
|
AM_RANGE(0xc048, 0xc04f) AM_WRITE(dooyong_fgscroll8_w)
|
||||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE_MEMBER(dooyong_state, m_txvideoram)
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xf000, 0xffff) AM_RAM
|
AM_RANGE(0xf000, 0xffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xd000, 0xdfff) AM_RAM
|
AM_RANGE(0xd000, 0xdfff) AM_RAM
|
||||||
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("P1")
|
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("P1")
|
||||||
AM_RANGE(0xe000, 0xe000) AM_WRITE(lastday_bankswitch_w)
|
AM_RANGE(0xe000, 0xe000) AM_WRITE(lastday_bankswitch_w)
|
||||||
@ -232,7 +232,7 @@ static ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16 )
|
|||||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff) /* super-x needs this and is similar */
|
ADDRESS_MAP_GLOBAL_MASK(0xfffff) /* super-x needs this and is similar */
|
||||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||||
AM_RANGE(0x040000, 0x04cfff) AM_RAM
|
AM_RANGE(0x040000, 0x04cfff) AM_RAM
|
||||||
AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_SHARE("spriteram16")
|
||||||
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
|
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
|
||||||
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
|
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
|
||||||
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
|
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
|
||||||
@ -250,7 +250,7 @@ static ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16 )
|
|||||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
||||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||||
AM_RANGE(0x0d0000, 0x0dcfff) AM_RAM
|
AM_RANGE(0x0d0000, 0x0dcfff) AM_RAM
|
||||||
AM_RANGE(0x0dd000, 0x0ddfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x0dd000, 0x0ddfff) AM_RAM AM_SHARE("spriteram16")
|
||||||
AM_RANGE(0x0de000, 0x0dffff) AM_RAM
|
AM_RANGE(0x0de000, 0x0dffff) AM_RAM
|
||||||
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("DSW")
|
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("DSW")
|
||||||
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("P1_P2")
|
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("P1_P2")
|
||||||
@ -268,7 +268,7 @@ static ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16 )
|
|||||||
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
|
||||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||||
AM_RANGE(0x040000, 0x04cfff) AM_RAM
|
AM_RANGE(0x040000, 0x04cfff) AM_RAM
|
||||||
AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_SHARE("spriteram16")
|
||||||
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
|
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
|
||||||
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
|
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
|
||||||
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
|
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
|
||||||
@ -876,7 +876,7 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
|
|||||||
|
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -884,7 +884,7 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(lastday)
|
MCFG_SCREEN_UPDATE_STATIC(lastday)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dooyong)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(lastday)
|
MCFG_GFXDECODE(lastday)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -918,7 +918,7 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
|
|||||||
MCFG_MACHINE_RESET(sound_ym2203)
|
MCFG_MACHINE_RESET(sound_ym2203)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -926,7 +926,7 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gulfstrm)
|
MCFG_SCREEN_UPDATE_STATIC(gulfstrm)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dooyong)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(lastday)
|
MCFG_GFXDECODE(lastday)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -951,7 +951,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
|
|||||||
MCFG_MACHINE_RESET(sound_ym2203)
|
MCFG_MACHINE_RESET(sound_ym2203)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -959,7 +959,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(pollux)
|
MCFG_SCREEN_UPDATE_STATIC(pollux)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dooyong)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(lastday)
|
MCFG_GFXDECODE(lastday)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -983,7 +983,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
|
|||||||
MCFG_MACHINE_START(lastday)
|
MCFG_MACHINE_START(lastday)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -991,7 +991,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(bluehawk)
|
MCFG_SCREEN_UPDATE_STATIC(bluehawk)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dooyong)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(bluehawk)
|
MCFG_GFXDECODE(bluehawk)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -1015,7 +1015,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
|
|||||||
MCFG_MACHINE_START(lastday)
|
MCFG_MACHINE_START(lastday)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -1023,7 +1023,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(flytiger)
|
MCFG_SCREEN_UPDATE_STATIC(flytiger)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dooyong)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(flytiger)
|
MCFG_GFXDECODE(flytiger)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -1053,7 +1053,6 @@ static MACHINE_CONFIG_START( primella, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(primella)
|
MCFG_SCREEN_UPDATE_STATIC(primella)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dooyong)
|
|
||||||
|
|
||||||
MCFG_GFXDECODE(primella)
|
MCFG_GFXDECODE(primella)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -1087,7 +1086,7 @@ static MACHINE_CONFIG_START( rshark, dooyong_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
|
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -1095,7 +1094,7 @@ static MACHINE_CONFIG_START( rshark, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(rshark)
|
MCFG_SCREEN_UPDATE_STATIC(rshark)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(rshark)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(rshark)
|
MCFG_GFXDECODE(rshark)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
@ -1117,7 +1116,7 @@ static MACHINE_CONFIG_START( superx, dooyong_state ) // dif mem map
|
|||||||
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
|
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -1125,7 +1124,7 @@ static MACHINE_CONFIG_START( superx, dooyong_state ) // dif mem map
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(rshark)
|
MCFG_SCREEN_UPDATE_STATIC(rshark)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(rshark)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(rshark)
|
MCFG_GFXDECODE(rshark)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
@ -1147,7 +1146,7 @@ static MACHINE_CONFIG_START( popbingo, dooyong_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
|
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -1155,7 +1154,7 @@ static MACHINE_CONFIG_START( popbingo, dooyong_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(popbingo)
|
MCFG_SCREEN_UPDATE_STATIC(popbingo)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(rshark)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(popbingo)
|
MCFG_GFXDECODE(popbingo)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
@ -74,7 +74,7 @@ Also, implemented conditional port for Coin Mode (SW1:1)
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x08000, 0x080ff) AM_RAM AM_BASE_MEMBER(dynduke_state, m_scroll_ram)
|
AM_RANGE(0x08000, 0x080ff) AM_RAM AM_BASE_MEMBER(dynduke_state, m_scroll_ram)
|
||||||
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1")
|
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1")
|
||||||
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
||||||
@ -100,7 +100,7 @@ ADDRESS_MAP_END
|
|||||||
/* Memory map used by DlbDyn - probably an addressing PAL is different */
|
/* Memory map used by DlbDyn - probably an addressing PAL is different */
|
||||||
static ADDRESS_MAP_START( masterj_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( masterj_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_MEMBER(dynduke_state, m_videoram)
|
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_MEMBER(dynduke_state, m_videoram)
|
||||||
AM_RANGE(0x09000, 0x0900d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
AM_RANGE(0x09000, 0x0900d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||||
AM_RANGE(0x0c000, 0x0c0ff) AM_RAM AM_BASE_MEMBER(dynduke_state, m_scroll_ram)
|
AM_RANGE(0x0c000, 0x0c0ff) AM_RAM AM_BASE_MEMBER(dynduke_state, m_scroll_ram)
|
||||||
@ -287,7 +287,7 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
// video hardware
|
// video hardware
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -295,7 +295,7 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
|
|||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(dynduke)
|
MCFG_SCREEN_UPDATE_STATIC(dynduke)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(dynduke)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(dynduke)
|
MCFG_GFXDECODE(dynduke)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
@ -45,7 +45,7 @@ static ADDRESS_MAP_START( exedexes_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xd804, 0xd805) AM_WRITEONLY AM_BASE_MEMBER(exedexes_state, m_bg_scroll)
|
AM_RANGE(0xd804, 0xd805) AM_WRITEONLY AM_BASE_MEMBER(exedexes_state, m_bg_scroll)
|
||||||
AM_RANGE(0xd807, 0xd807) AM_WRITE(exedexes_gfxctrl_w) /* layer enables */
|
AM_RANGE(0xd807, 0xd807) AM_WRITE(exedexes_gfxctrl_w) /* layer enables */
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM /* Work RAM */
|
AM_RANGE(0xe000, 0xefff) AM_RAM /* Work RAM */
|
||||||
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprite RAM */
|
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
|
||||||
@ -231,7 +231,7 @@ static MACHINE_CONFIG_START( exedexes, exedexes_state )
|
|||||||
MCFG_MACHINE_RESET(exedexes)
|
MCFG_MACHINE_RESET(exedexes)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -239,7 +239,7 @@ static MACHINE_CONFIG_START( exedexes, exedexes_state )
|
|||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(exedexes)
|
MCFG_SCREEN_UPDATE_STATIC(exedexes)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(exedexes)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(exedexes)
|
MCFG_GFXDECODE(exedexes)
|
||||||
MCFG_PALETTE_LENGTH(64*4+64*4+16*16+16*16)
|
MCFG_PALETTE_LENGTH(64*4+64*4+16*16+16*16)
|
||||||
|
@ -611,8 +611,6 @@ static MACHINE_CONFIG_START( fuuki32, fuuki32_state )
|
|||||||
MCFG_MACHINE_RESET(fuuki32)
|
MCFG_MACHINE_RESET(fuuki32)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
//MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM) // Buffered by 2 frames
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m68000/m68000.h"
|
|
||||||
#include "machine/eeprom.h"
|
#include "machine/eeprom.h"
|
||||||
#include "sound/gaelco.h"
|
#include "sound/gaelco.h"
|
||||||
#include "rendlay.h"
|
#include "rendlay.h"
|
||||||
@ -58,7 +57,7 @@ GFXDECODEINFO(0x0400000, 128)
|
|||||||
static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
|
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
|
||||||
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
|
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
|
||||||
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
||||||
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
||||||
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
|
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
|
||||||
@ -161,7 +160,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco2_state )
|
|||||||
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
|
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.1)
|
MCFG_SCREEN_REFRESH_RATE(59.1)
|
||||||
@ -169,7 +168,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco2_state )
|
|||||||
MCFG_SCREEN_SIZE(64*16, 32*16)
|
MCFG_SCREEN_SIZE(64*16, 32*16)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gaelco2)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(0x0080000)
|
MCFG_GFXDECODE(0x0080000)
|
||||||
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
||||||
@ -215,7 +214,7 @@ static READ16_HANDLER(p2_gun_y) {return (input_port_read(space->machine(), "LIGH
|
|||||||
static ADDRESS_MAP_START( bang_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( bang_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
||||||
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
|
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
|
||||||
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
||||||
AM_RANGE(0x218004, 0x218009) AM_READONLY /* Video Registers */
|
AM_RANGE(0x218004, 0x218009) AM_READONLY /* Video Registers */
|
||||||
AM_RANGE(0x218004, 0x218007) AM_WRITEONLY AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
AM_RANGE(0x218004, 0x218007) AM_WRITEONLY AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
||||||
@ -294,7 +293,7 @@ static MACHINE_CONFIG_START( bang, gaelco2_state )
|
|||||||
MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface)
|
MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.1)
|
MCFG_SCREEN_REFRESH_RATE(59.1)
|
||||||
@ -302,7 +301,7 @@ static MACHINE_CONFIG_START( bang, gaelco2_state )
|
|||||||
MCFG_SCREEN_SIZE(64*16, 32*16)
|
MCFG_SCREEN_SIZE(64*16, 32*16)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gaelco2)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(0x0200000)
|
MCFG_GFXDECODE(0x0200000)
|
||||||
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
||||||
@ -433,7 +432,7 @@ ROM_END
|
|||||||
static ADDRESS_MAP_START( alighunt_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( alighunt_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
||||||
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
|
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
|
||||||
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
||||||
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
||||||
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
|
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
|
||||||
@ -535,7 +534,7 @@ static MACHINE_CONFIG_START( alighunt, gaelco2_state )
|
|||||||
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
|
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.1)
|
MCFG_SCREEN_REFRESH_RATE(59.1)
|
||||||
@ -543,7 +542,7 @@ static MACHINE_CONFIG_START( alighunt, gaelco2_state )
|
|||||||
MCFG_SCREEN_SIZE(64*16, 32*16)
|
MCFG_SCREEN_SIZE(64*16, 32*16)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gaelco2)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(0x0400000)
|
MCFG_GFXDECODE(0x0400000)
|
||||||
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
||||||
@ -644,7 +643,7 @@ static READ16_HANDLER ( dallas_kludge_r )
|
|||||||
static ADDRESS_MAP_START( touchgo_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( touchgo_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
||||||
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
|
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
|
||||||
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
||||||
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
||||||
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
|
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
|
||||||
@ -777,7 +776,7 @@ static MACHINE_CONFIG_START( touchgo, gaelco2_state )
|
|||||||
MCFG_CPU_VBLANK_INT("lscreen", irq6_line_hold)
|
MCFG_CPU_VBLANK_INT("lscreen", irq6_line_hold)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
MCFG_GFXDECODE(0x0400000)
|
MCFG_GFXDECODE(0x0400000)
|
||||||
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
||||||
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
|
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
|
||||||
@ -795,7 +794,7 @@ static MACHINE_CONFIG_START( touchgo, gaelco2_state )
|
|||||||
MCFG_SCREEN_SIZE(64*16, 32*16)
|
MCFG_SCREEN_SIZE(64*16, 32*16)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 16, 256-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 16, 256-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gaelco2_right)
|
MCFG_SCREEN_UPDATE_STATIC(gaelco2_right)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gaelco2)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_VIDEO_START(gaelco2_dual)
|
MCFG_VIDEO_START(gaelco2_dual)
|
||||||
|
|
||||||
@ -908,7 +907,7 @@ ROM_END
|
|||||||
static ADDRESS_MAP_START( snowboar_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( snowboar_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
||||||
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
|
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
|
||||||
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
||||||
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
|
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
|
||||||
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
||||||
@ -971,7 +970,7 @@ static MACHINE_CONFIG_START( snowboar, gaelco2_state )
|
|||||||
MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface)
|
MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.1)
|
MCFG_SCREEN_REFRESH_RATE(59.1)
|
||||||
@ -979,7 +978,7 @@ static MACHINE_CONFIG_START( snowboar, gaelco2_state )
|
|||||||
MCFG_SCREEN_SIZE(64*16, 32*16)
|
MCFG_SCREEN_SIZE(64*16, 32*16)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
MCFG_SCREEN_UPDATE_STATIC(gaelco2)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gaelco2)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(0x0400000)
|
MCFG_GFXDECODE(0x0400000)
|
||||||
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
||||||
@ -1093,7 +1092,7 @@ ROM_END
|
|||||||
static ADDRESS_MAP_START( wrally2_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( wrally2_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
|
||||||
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
|
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
|
||||||
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
|
||||||
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
|
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
|
||||||
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE_MEMBER(gaelco2_state, m_vregs) /* Video Registers */
|
||||||
@ -1212,7 +1211,7 @@ static MACHINE_CONFIG_START( wrally2, gaelco2_state )
|
|||||||
MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface)
|
MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
MCFG_GFXDECODE(0x0200000)
|
MCFG_GFXDECODE(0x0200000)
|
||||||
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
|
||||||
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
|
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
|
||||||
@ -1230,7 +1229,7 @@ static MACHINE_CONFIG_START( wrally2, gaelco2_state )
|
|||||||
MCFG_SCREEN_SIZE(384, 32*16)
|
MCFG_SCREEN_SIZE(384, 32*16)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gaelco2_right)
|
MCFG_SCREEN_UPDATE_STATIC(gaelco2_right)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gaelco2)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
|
|
||||||
MCFG_VIDEO_START(gaelco2_dual)
|
MCFG_VIDEO_START(gaelco2_dual)
|
||||||
|
@ -42,7 +42,7 @@ static WRITE8_HANDLER( gng_coin_counter_w )
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( gng_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( gng_map, AS_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x1dff) AM_RAM
|
AM_RANGE(0x0000, 0x1dff) AM_RAM
|
||||||
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(gng_fgvideoram_w) AM_BASE_MEMBER(gng_state, m_fgvideoram)
|
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(gng_fgvideoram_w) AM_BASE_MEMBER(gng_state, m_fgvideoram)
|
||||||
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(gng_bgvideoram_w) AM_BASE_MEMBER(gng_state, m_bgvideoram)
|
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(gng_bgvideoram_w) AM_BASE_MEMBER(gng_state, m_bgvideoram)
|
||||||
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("SYSTEM")
|
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("SYSTEM")
|
||||||
@ -355,7 +355,7 @@ static MACHINE_CONFIG_START( gng, gng_state )
|
|||||||
MCFG_MACHINE_RESET(gng)
|
MCFG_MACHINE_RESET(gng)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.59) /* verified on pcb */
|
MCFG_SCREEN_REFRESH_RATE(59.59) /* verified on pcb */
|
||||||
@ -363,7 +363,7 @@ static MACHINE_CONFIG_START( gng, gng_state )
|
|||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(gng)
|
MCFG_SCREEN_UPDATE_STATIC(gng)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(gng)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(gng)
|
MCFG_GFXDECODE(gng)
|
||||||
MCFG_PALETTE_LENGTH(256)
|
MCFG_PALETTE_LENGTH(256)
|
||||||
|
@ -55,9 +55,9 @@ static ADDRESS_MAP_START( hcastle_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE_MEMBER(hcastle_state, m_paletteram)
|
AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE_MEMBER(hcastle_state, m_paletteram)
|
||||||
AM_RANGE(0x0700, 0x1fff) AM_RAM
|
AM_RANGE(0x0700, 0x1fff) AM_RAM
|
||||||
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(hcastle_pf1_video_w) AM_BASE_MEMBER(hcastle_state, m_pf1_videoram)
|
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(hcastle_pf1_video_w) AM_BASE_MEMBER(hcastle_state, m_pf1_videoram)
|
||||||
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(hcastle_pf2_video_w) AM_BASE_MEMBER(hcastle_state, m_pf2_videoram)
|
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(hcastle_pf2_video_w) AM_BASE_MEMBER(hcastle_state, m_pf2_videoram)
|
||||||
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
|
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -220,7 +220,8 @@ static MACHINE_CONFIG_START( hcastle, hcastle_state )
|
|||||||
MCFG_MACHINE_RESET(hcastle)
|
MCFG_MACHINE_RESET(hcastle)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59)
|
MCFG_SCREEN_REFRESH_RATE(59)
|
||||||
|
@ -367,7 +367,7 @@ static WRITE16_HANDLER( karnov_control_w )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: /* DM (DMA to buffer spriteram) */
|
case 4: /* DM (DMA to buffer spriteram) */
|
||||||
buffer_spriteram16_w(space, 0, 0, 0xffff);
|
state->m_spriteram->copy();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6: /* SECREQ (Interrupt & Data to i8751) */
|
case 6: /* SECREQ (Interrupt & Data to i8751) */
|
||||||
@ -430,7 +430,7 @@ static READ16_HANDLER( karnov_control_r )
|
|||||||
static ADDRESS_MAP_START( karnov_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( karnov_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x063fff) AM_RAM AM_BASE_MEMBER(karnov_state, m_ram)
|
AM_RANGE(0x060000, 0x063fff) AM_RAM AM_BASE_MEMBER(karnov_state, m_ram)
|
||||||
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(karnov_videoram_w) AM_BASE_MEMBER(karnov_state, m_videoram)
|
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(karnov_videoram_w) AM_BASE_MEMBER(karnov_state, m_videoram)
|
||||||
AM_RANGE(0x0a0800, 0x0a0fff) AM_WRITE(karnov_videoram_w) /* Wndrplnt Mirror */
|
AM_RANGE(0x0a0800, 0x0a0fff) AM_WRITE(karnov_videoram_w) /* Wndrplnt Mirror */
|
||||||
AM_RANGE(0x0a1000, 0x0a17ff) AM_WRITEONLY AM_BASE_MEMBER(karnov_state, m_pf_data)
|
AM_RANGE(0x0a1000, 0x0a17ff) AM_WRITEONLY AM_BASE_MEMBER(karnov_state, m_pf_data)
|
||||||
@ -819,7 +819,7 @@ static MACHINE_CONFIG_START( karnov, karnov_state )
|
|||||||
MCFG_MACHINE_RESET(karnov)
|
MCFG_MACHINE_RESET(karnov)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -863,7 +863,7 @@ static MACHINE_CONFIG_START( wndrplnt, karnov_state )
|
|||||||
MCFG_MACHINE_RESET(karnov)
|
MCFG_MACHINE_RESET(karnov)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
|
@ -135,7 +135,7 @@ static WRITE16_HANDLER( lastduel_sound_w )
|
|||||||
static ADDRESS_MAP_START( lastduel_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( lastduel_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0xfc0000, 0xfc0003) AM_WRITENOP /* Written rarely */
|
AM_RANGE(0xfc0000, 0xfc0003) AM_WRITENOP /* Written rarely */
|
||||||
AM_RANGE(0xfc0800, 0xfc0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xfc0800, 0xfc0fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("P1_P2") AM_WRITE(lastduel_flip_w)
|
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("P1_P2") AM_WRITE(lastduel_flip_w)
|
||||||
AM_RANGE(0xfc4002, 0xfc4003) AM_READ_PORT("SYSTEM") AM_WRITE(lastduel_sound_w)
|
AM_RANGE(0xfc4002, 0xfc4003) AM_READ_PORT("SYSTEM") AM_WRITE(lastduel_sound_w)
|
||||||
AM_RANGE(0xfc4004, 0xfc4005) AM_READ_PORT("DSW1")
|
AM_RANGE(0xfc4004, 0xfc4005) AM_READ_PORT("DSW1")
|
||||||
@ -150,7 +150,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( madgear_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( madgear_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0xfc1800, 0xfc1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xfc1800, 0xfc1fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("DSW1") AM_WRITE(lastduel_flip_w)
|
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("DSW1") AM_WRITE(lastduel_flip_w)
|
||||||
AM_RANGE(0xfc4002, 0xfc4003) AM_READ_PORT("DSW2") AM_WRITE(lastduel_sound_w)
|
AM_RANGE(0xfc4002, 0xfc4003) AM_READ_PORT("DSW2") AM_WRITE(lastduel_sound_w)
|
||||||
AM_RANGE(0xfc4004, 0xfc4005) AM_READ_PORT("P1_P2")
|
AM_RANGE(0xfc4004, 0xfc4005) AM_READ_PORT("P1_P2")
|
||||||
@ -512,7 +512,7 @@ static MACHINE_CONFIG_START( lastduel, lastduel_state )
|
|||||||
MCFG_MACHINE_RESET(lastduel)
|
MCFG_MACHINE_RESET(lastduel)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_BUFFERS_SPRITERAM)
|
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -520,7 +520,9 @@ static MACHINE_CONFIG_START( lastduel, lastduel_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(lastduel)
|
MCFG_SCREEN_UPDATE_STATIC(lastduel)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(lastduel)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_GFXDECODE(lastduel)
|
MCFG_GFXDECODE(lastduel)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -554,7 +556,7 @@ static MACHINE_CONFIG_START( madgear, lastduel_state )
|
|||||||
MCFG_MACHINE_RESET(lastduel)
|
MCFG_MACHINE_RESET(lastduel)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_BUFFERS_SPRITERAM)
|
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -562,7 +564,9 @@ static MACHINE_CONFIG_START( madgear, lastduel_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(madgear)
|
MCFG_SCREEN_UPDATE_STATIC(madgear)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(lastduel)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_GFXDECODE(madgear)
|
MCFG_GFXDECODE(madgear)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
@ -88,7 +88,7 @@ static ADDRESS_MAP_START( legionna_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE_MEMBER(legionna_state, m_mid_data)
|
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE_MEMBER(legionna_state, m_mid_data)
|
||||||
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* palette xRRRRxGGGGxBBBBx ? */
|
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* palette xRRRRxGGGGxBBBBx ? */
|
||||||
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x106000, 0x107fff) AM_RAM
|
AM_RANGE(0x106000, 0x107fff) AM_RAM
|
||||||
AM_RANGE(0x108000, 0x11ffff) AM_RAM /* main ram */
|
AM_RANGE(0x108000, 0x11ffff) AM_RAM /* main ram */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -102,7 +102,7 @@ static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE_MEMBER(legionna_state, m_fore_data)
|
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE_MEMBER(legionna_state, m_fore_data)
|
||||||
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE_MEMBER(legionna_state, m_mid_data)
|
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE_MEMBER(legionna_state, m_mid_data)
|
||||||
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
||||||
AM_RANGE(0x103000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x103000, 0x103fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x108000, 0x11ffff) AM_RAM
|
AM_RANGE(0x108000, 0x11ffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -117,7 +117,7 @@ static ADDRESS_MAP_START( godzilla_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
||||||
AM_RANGE(0x103800, 0x103fff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE_MEMBER(legionna_state, m_fore_data)
|
AM_RANGE(0x103800, 0x103fff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE_MEMBER(legionna_state, m_fore_data)
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x106000, 0x1067ff) AM_RAM
|
AM_RANGE(0x106000, 0x1067ff) AM_RAM
|
||||||
AM_RANGE(0x106800, 0x106fff) AM_RAM
|
AM_RANGE(0x106800, 0x106fff) AM_RAM
|
||||||
AM_RANGE(0x107000, 0x107fff) AM_RAM /*Ani-DSP ram*/
|
AM_RANGE(0x107000, 0x107fff) AM_RAM /*Ani-DSP ram*/
|
||||||
@ -142,7 +142,7 @@ static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE_MEMBER(legionna_state, m_mid_data)
|
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE_MEMBER(legionna_state, m_mid_data)
|
||||||
AM_RANGE(0x102800, 0x103fff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
AM_RANGE(0x102800, 0x103fff) AM_RAM_WRITE(legionna_text_w) AM_BASE_MEMBER(legionna_state, m_textram)
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x106000, 0x107fff) AM_RAM
|
AM_RANGE(0x106000, 0x107fff) AM_RAM
|
||||||
AM_RANGE(0x108000, 0x11dfff) AM_RAM
|
AM_RANGE(0x108000, 0x11dfff) AM_RAM
|
||||||
AM_RANGE(0x11e000, 0x11efff) AM_RAM
|
AM_RANGE(0x11e000, 0x11efff) AM_RAM
|
||||||
@ -161,7 +161,7 @@ static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM//_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x104000, 0x104fff) AM_RAM//_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x105000, 0x105fff) AM_RAM
|
AM_RANGE(0x105000, 0x105fff) AM_RAM
|
||||||
AM_RANGE(0x106000, 0x106fff) AM_RAM
|
AM_RANGE(0x106000, 0x106fff) AM_RAM
|
||||||
AM_RANGE(0x107000, 0x107fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x107000, 0x107fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x108000, 0x11ffff) AM_RAM
|
AM_RANGE(0x108000, 0x11ffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM
|
AM_RANGE(0x104000, 0x104fff) AM_RAM
|
||||||
AM_RANGE(0x105000, 0x106fff) AM_RAM
|
AM_RANGE(0x105000, 0x106fff) AM_RAM
|
||||||
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
|
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
|
||||||
AM_RANGE(0x108000, 0x10ffff) AM_RAM
|
AM_RANGE(0x108000, 0x10ffff) AM_RAM
|
||||||
AM_RANGE(0x110000, 0x119fff) AM_RAM
|
AM_RANGE(0x110000, 0x119fff) AM_RAM
|
||||||
@ -195,7 +195,7 @@ static ADDRESS_MAP_START( cupsocs_mem, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM
|
AM_RANGE(0x104000, 0x104fff) AM_RAM
|
||||||
AM_RANGE(0x105000, 0x106fff) AM_RAM
|
AM_RANGE(0x105000, 0x106fff) AM_RAM
|
||||||
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
|
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
|
||||||
AM_RANGE(0x108000, 0x10ffff) AM_RAM
|
AM_RANGE(0x108000, 0x10ffff) AM_RAM
|
||||||
AM_RANGE(0x110000, 0x119fff) AM_RAM
|
AM_RANGE(0x110000, 0x119fff) AM_RAM
|
||||||
@ -214,7 +214,7 @@ static ADDRESS_MAP_START( cupsocbl_mem, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x104000, 0x104fff) AM_RAM
|
AM_RANGE(0x104000, 0x104fff) AM_RAM
|
||||||
AM_RANGE(0x105000, 0x106fff) AM_RAM
|
AM_RANGE(0x105000, 0x106fff) AM_RAM
|
||||||
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
|
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
|
||||||
AM_RANGE(0x108000, 0x10ffff) AM_RAM
|
AM_RANGE(0x108000, 0x10ffff) AM_RAM
|
||||||
AM_RANGE(0x110000, 0x119fff) AM_RAM
|
AM_RANGE(0x110000, 0x119fff) AM_RAM
|
||||||
@ -1058,8 +1058,6 @@ static MACHINE_CONFIG_START( legionna, legionna_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
@ -1090,8 +1088,6 @@ static MACHINE_CONFIG_START( heatbrl, legionna_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
@ -1121,8 +1117,6 @@ static MACHINE_CONFIG_START( godzilla, legionna_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(61)
|
MCFG_SCREEN_REFRESH_RATE(61)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
@ -1152,8 +1146,6 @@ static MACHINE_CONFIG_START( denjinmk, legionna_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_SIZE(40*8, 32*8)
|
MCFG_SCREEN_SIZE(40*8, 32*8)
|
||||||
MCFG_SCREEN_REFRESH_RATE(61)
|
MCFG_SCREEN_REFRESH_RATE(61)
|
||||||
@ -1183,8 +1175,6 @@ static MACHINE_CONFIG_START( grainbow, legionna_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
@ -1215,8 +1205,6 @@ static MACHINE_CONFIG_START( cupsoc, legionna_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
@ -1255,8 +1243,6 @@ static MACHINE_CONFIG_START( cupsocbl, legionna_state )
|
|||||||
//MCFG_MACHINE_INIT(seibu_sound)
|
//MCFG_MACHINE_INIT(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||||
|
@ -97,15 +97,15 @@ static WRITE8_HANDLER( lemmings_sound_ack_w )
|
|||||||
static ADDRESS_MAP_START( lemmings_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( lemmings_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM
|
AM_RANGE(0x100000, 0x10ffff) AM_RAM
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(lemmings_palette_24bit_w) AM_BASE_MEMBER(lemmings_state, m_paletteram)
|
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(lemmings_palette_24bit_w) AM_BASE_MEMBER(lemmings_state, m_paletteram)
|
||||||
AM_RANGE(0x170000, 0x17000f) AM_RAM_WRITE(lemmings_control_w) AM_BASE_MEMBER(lemmings_state, m_control_data)
|
AM_RANGE(0x170000, 0x17000f) AM_RAM_WRITE(lemmings_control_w) AM_BASE_MEMBER(lemmings_state, m_control_data)
|
||||||
AM_RANGE(0x190000, 0x19000f) AM_READ(lemmings_trackball_r)
|
AM_RANGE(0x190000, 0x19000f) AM_READ(lemmings_trackball_r)
|
||||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_READ(lemmings_prot_r)
|
AM_RANGE(0x1a0000, 0x1a07ff) AM_READ(lemmings_prot_r)
|
||||||
AM_RANGE(0x1a0064, 0x1a0065) AM_WRITE(lemmings_sound_w)
|
AM_RANGE(0x1a0064, 0x1a0065) AM_WRITE(lemmings_sound_w)
|
||||||
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(buffer_spriteram16_w) /* 1 written once a frame */
|
AM_RANGE(0x1c0000, 0x1c0001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* 1 written once a frame */
|
||||||
AM_RANGE(0x1e0000, 0x1e0001) AM_WRITE(buffer_spriteram16_2_w) /* 1 written once a frame */
|
AM_RANGE(0x1e0000, 0x1e0001) AM_DEVWRITE_MODERN("spriteram2", buffered_spriteram16_device, write) /* 1 written once a frame */
|
||||||
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(lemmings_vram_w) AM_BASE_MEMBER(lemmings_state, m_vram_data)
|
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(lemmings_vram_w) AM_BASE_MEMBER(lemmings_state, m_vram_data)
|
||||||
AM_RANGE(0x202000, 0x202fff) AM_RAM
|
AM_RANGE(0x202000, 0x202fff) AM_RAM
|
||||||
AM_RANGE(0x300000, 0x37ffff) AM_RAM_WRITE(lemmings_pixel_0_w) AM_BASE_MEMBER(lemmings_state, m_pixel_0_data)
|
AM_RANGE(0x300000, 0x37ffff) AM_RAM_WRITE(lemmings_pixel_0_w) AM_BASE_MEMBER(lemmings_state, m_pixel_0_data)
|
||||||
@ -276,7 +276,8 @@ static MACHINE_CONFIG_START( lemmings, lemmings_state )
|
|||||||
MCFG_MACHINE_START(lemmings)
|
MCFG_MACHINE_START(lemmings)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
|
@ -291,7 +291,7 @@ static ADDRESS_MAP_START( avengers_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xddff) AM_RAM
|
AM_RANGE(0xc000, 0xddff) AM_RAM
|
||||||
AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xdf80, 0xdfff) AM_RAM
|
AM_RANGE(0xdf80, 0xdfff) AM_RAM
|
||||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE_MEMBER(lwings_state, m_fgvideoram)
|
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE_MEMBER(lwings_state, m_fgvideoram)
|
||||||
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE_MEMBER(lwings_state, m_bg1videoram)
|
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE_MEMBER(lwings_state, m_bg1videoram)
|
||||||
@ -315,7 +315,7 @@ static ADDRESS_MAP_START( lwings_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xddff) AM_RAM
|
AM_RANGE(0xc000, 0xddff) AM_RAM
|
||||||
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE_MEMBER(lwings_state, m_fgvideoram)
|
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE_MEMBER(lwings_state, m_fgvideoram)
|
||||||
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE_MEMBER(lwings_state, m_bg1videoram)
|
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE_MEMBER(lwings_state, m_bg1videoram)
|
||||||
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||||
@ -336,7 +336,7 @@ static ADDRESS_MAP_START( trojan_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xddff) AM_RAM
|
AM_RANGE(0xc000, 0xddff) AM_RAM
|
||||||
AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xdf80, 0xdfff) AM_RAM
|
AM_RANGE(0xdf80, 0xdfff) AM_RAM
|
||||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE_MEMBER(lwings_state, m_fgvideoram)
|
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE_MEMBER(lwings_state, m_fgvideoram)
|
||||||
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE_MEMBER(lwings_state, m_bg1videoram)
|
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE_MEMBER(lwings_state, m_bg1videoram)
|
||||||
@ -801,7 +801,7 @@ static MACHINE_CONFIG_START( lwings, lwings_state )
|
|||||||
MCFG_MACHINE_RESET(lwings)
|
MCFG_MACHINE_RESET(lwings)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -809,7 +809,7 @@ static MACHINE_CONFIG_START( lwings, lwings_state )
|
|||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(lwings)
|
MCFG_SCREEN_UPDATE_STATIC(lwings)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(lwings)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(lwings)
|
MCFG_GFXDECODE(lwings)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
@ -338,7 +338,7 @@ static ADDRESS_MAP_START( lethalth_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||||
AM_RANGE(0x80000, 0x8ffff) AM_RAM_WRITE(m92_vram_w) AM_BASE_MEMBER(m92_state, m_vram_data)
|
AM_RANGE(0x80000, 0x8ffff) AM_RAM_WRITE(m92_vram_w) AM_BASE_MEMBER(m92_state, m_vram_data)
|
||||||
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
|
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
|
||||||
AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w)
|
AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w)
|
||||||
AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE_MEMBER(m92_state, m_spritecontrol)
|
AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE_MEMBER(m92_state, m_spritecontrol)
|
||||||
AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w)
|
AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w)
|
||||||
@ -351,7 +351,7 @@ static ADDRESS_MAP_START( m92_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0xc0000, 0xcffff) AM_ROM AM_REGION("maincpu", 0x00000) /* Mirror used by In The Hunt as protection */
|
AM_RANGE(0xc0000, 0xcffff) AM_ROM AM_REGION("maincpu", 0x00000) /* Mirror used by In The Hunt as protection */
|
||||||
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m92_vram_w) AM_BASE_MEMBER(m92_state, m_vram_data)
|
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m92_vram_w) AM_BASE_MEMBER(m92_state, m_vram_data)
|
||||||
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
|
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
|
||||||
AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w)
|
AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w)
|
||||||
AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE_MEMBER(m92_state, m_spritecontrol)
|
AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE_MEMBER(m92_state, m_spritecontrol)
|
||||||
AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w)
|
AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w)
|
||||||
@ -912,7 +912,7 @@ static MACHINE_CONFIG_START( m92, m92_state )
|
|||||||
MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1)
|
MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -998,7 +998,7 @@ static MACHINE_CONFIG_START( ppan, m92_state )
|
|||||||
MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1)
|
MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM) // not really...
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram") // not really...
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
|
@ -38,6 +38,7 @@ MR_01-.3A [a0b758aa]
|
|||||||
#include "includes/decoprot.h"
|
#include "includes/decoprot.h"
|
||||||
#include "video/deco16ic.h"
|
#include "video/deco16ic.h"
|
||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
#include "video/decospr.h"
|
#include "video/decospr.h"
|
||||||
|
|
||||||
// mirage_state was also defined in mess/drivers/mirage.c
|
// mirage_state was also defined in mess/drivers/mirage.c
|
||||||
@ -49,14 +50,13 @@ public:
|
|||||||
m_maincpu(*this, "maincpu"),
|
m_maincpu(*this, "maincpu"),
|
||||||
m_deco_tilegen1(*this, "tilegen1"),
|
m_deco_tilegen1(*this, "tilegen1"),
|
||||||
m_oki_sfx(*this, "oki_sfx"),
|
m_oki_sfx(*this, "oki_sfx"),
|
||||||
m_oki_bgm(*this, "oki_bgm") { }
|
m_oki_bgm(*this, "oki_bgm"),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_pf1_rowscroll;
|
UINT16 * m_pf1_rowscroll;
|
||||||
UINT16 * m_pf2_rowscroll;
|
UINT16 * m_pf2_rowscroll;
|
||||||
// UINT16 * m_spriteram;
|
|
||||||
// UINT16 * m_paletteram; // currently this uses generic palette handling (in decocomn.c)
|
// UINT16 * m_paletteram; // currently this uses generic palette handling (in decocomn.c)
|
||||||
// size_t m_spriteram_size;
|
|
||||||
|
|
||||||
/* misc */
|
/* misc */
|
||||||
UINT8 m_mux_data;
|
UINT8 m_mux_data;
|
||||||
@ -66,6 +66,7 @@ public:
|
|||||||
required_device<deco16ic_device> m_deco_tilegen1;
|
required_device<deco16ic_device> m_deco_tilegen1;
|
||||||
required_device<okim6295_device> m_oki_sfx;
|
required_device<okim6295_device> m_oki_sfx;
|
||||||
required_device<okim6295_device> m_oki_bgm;
|
required_device<okim6295_device> m_oki_bgm;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
static VIDEO_START( mirage )
|
static VIDEO_START( mirage )
|
||||||
@ -80,7 +81,7 @@ static SCREEN_UPDATE_RGB32( mirage )
|
|||||||
|
|
||||||
flip_screen_set(screen.machine(), BIT(flip, 7));
|
flip_screen_set(screen.machine(), BIT(flip, 7));
|
||||||
|
|
||||||
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram.u16, 0x400);
|
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, state->m_spriteram->buffer(), 0x400);
|
||||||
|
|
||||||
deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll);
|
deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll);
|
||||||
|
|
||||||
@ -94,16 +95,6 @@ static SCREEN_UPDATE_RGB32( mirage )
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static SCREEN_VBLANK( mirage )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
buffer_spriteram16_w(space,0,0,0xffff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static WRITE16_HANDLER( mirage_mux_w )
|
static WRITE16_HANDLER( mirage_mux_w )
|
||||||
{
|
{
|
||||||
@ -148,7 +139,7 @@ static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 16 )
|
|||||||
/* linescroll */
|
/* linescroll */
|
||||||
AM_RANGE(0x110000, 0x110bff) AM_RAM AM_BASE_MEMBER(miragemi_state, m_pf1_rowscroll)
|
AM_RANGE(0x110000, 0x110bff) AM_RAM AM_BASE_MEMBER(miragemi_state, m_pf1_rowscroll)
|
||||||
AM_RANGE(0x112000, 0x112bff) AM_RAM AM_BASE_MEMBER(miragemi_state, m_pf2_rowscroll)
|
AM_RANGE(0x112000, 0x112bff) AM_RAM AM_BASE_MEMBER(miragemi_state, m_pf2_rowscroll)
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x140000, 0x14000f) AM_DEVREADWRITE8_MODERN("oki_sfx", okim6295_device, read, write, 0x00ff)
|
AM_RANGE(0x140000, 0x14000f) AM_DEVREADWRITE8_MODERN("oki_sfx", okim6295_device, read, write, 0x00ff)
|
||||||
AM_RANGE(0x150000, 0x15000f) AM_DEVREADWRITE8_MODERN("oki_bgm", okim6295_device, read, write, 0x00ff)
|
AM_RANGE(0x150000, 0x15000f) AM_DEVREADWRITE8_MODERN("oki_bgm", okim6295_device, read, write, 0x00ff)
|
||||||
@ -330,7 +321,7 @@ static MACHINE_CONFIG_START( mirage, miragemi_state )
|
|||||||
MCFG_MACHINE_RESET(mirage)
|
MCFG_MACHINE_RESET(mirage)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
@ -338,7 +329,7 @@ static MACHINE_CONFIG_START( mirage, miragemi_state )
|
|||||||
MCFG_SCREEN_SIZE(40*8, 32*8)
|
MCFG_SCREEN_SIZE(40*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(mirage)
|
MCFG_SCREEN_UPDATE_STATIC(mirage)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(mirage)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_VIDEO_START(mirage)
|
MCFG_VIDEO_START(mirage)
|
||||||
|
|
||||||
|
@ -516,7 +516,7 @@ static ADDRESS_MAP_START( ps3v1_map, AS_PROGRAM, 32 )
|
|||||||
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
|
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
|
||||||
AM_RANGE(0x02000000, 0x021fffff) AM_ROMBANK("bank1") // data ROM
|
AM_RANGE(0x02000000, 0x021fffff) AM_ROMBANK("bank1") // data ROM
|
||||||
// video chip
|
// video chip
|
||||||
AM_RANGE(0x03000000, 0x03003fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // video banks0-7 (sprites and sprite list)
|
AM_RANGE(0x03000000, 0x03003fff) AM_RAM AM_SHARE("spriteram") // video banks0-7 (sprites and sprite list)
|
||||||
AM_RANGE(0x03004000, 0x0300ffff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_bgram) // video banks 7-0x1f (backgrounds and other effects)
|
AM_RANGE(0x03004000, 0x0300ffff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_bgram) // video banks 7-0x1f (backgrounds and other effects)
|
||||||
AM_RANGE(0x03040000, 0x03044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_MEMBER(psikyosh_state, m_paletteram) // palette..
|
AM_RANGE(0x03040000, 0x03044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_MEMBER(psikyosh_state, m_paletteram) // palette..
|
||||||
AM_RANGE(0x03050000, 0x030501ff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_zoomram) // sprite zoom lookup table
|
AM_RANGE(0x03050000, 0x030501ff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_zoomram) // sprite zoom lookup table
|
||||||
@ -544,7 +544,7 @@ static ADDRESS_MAP_START( ps5_map, AS_PROGRAM, 32 )
|
|||||||
// sound chip
|
// sound chip
|
||||||
AM_RANGE(0x03100000, 0x03100007) AM_DEVREADWRITE8("ymf", ymf278b_r, ymf278b_w, 0xffffffff)
|
AM_RANGE(0x03100000, 0x03100007) AM_DEVREADWRITE8("ymf", ymf278b_r, ymf278b_w, 0xffffffff)
|
||||||
// video chip
|
// video chip
|
||||||
AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // video banks0-7 (sprites and sprite list)
|
AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_SHARE("spriteram") // video banks0-7 (sprites and sprite list)
|
||||||
AM_RANGE(0x04004000, 0x0400ffff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_bgram) // video banks 7-0x1f (backgrounds and other effects)
|
AM_RANGE(0x04004000, 0x0400ffff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_bgram) // video banks 7-0x1f (backgrounds and other effects)
|
||||||
AM_RANGE(0x04040000, 0x04044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_MEMBER(psikyosh_state, m_paletteram)
|
AM_RANGE(0x04040000, 0x04044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_MEMBER(psikyosh_state, m_paletteram)
|
||||||
AM_RANGE(0x04050000, 0x040501ff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_zoomram) // sprite zoom lookup table
|
AM_RANGE(0x04050000, 0x040501ff) AM_RAM AM_BASE_MEMBER(psikyosh_state, m_zoomram) // sprite zoom lookup table
|
||||||
@ -819,7 +819,7 @@ static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
|
|||||||
MCFG_EEPROM_DEFAULT_VALUE(0)
|
MCFG_EEPROM_DEFAULT_VALUE(0)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM ) /* If using alpha */
|
MCFG_BUFFERED_SPRITERAM32_ADD("spriteram") /* If using alpha */
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -827,7 +827,7 @@ static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 28*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 28*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(psikyosh)
|
MCFG_SCREEN_UPDATE_STATIC(psikyosh)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(psikyosh)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram32_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(psikyosh)
|
MCFG_GFXDECODE(psikyosh)
|
||||||
MCFG_PALETTE_LENGTH(0x5000/4)
|
MCFG_PALETTE_LENGTH(0x5000/4)
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(raiden_state, m_shared_ram)
|
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(raiden_state, m_shared_ram)
|
||||||
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
||||||
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
|
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
|
||||||
@ -73,7 +73,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( alt_main_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( alt_main_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(raiden_state, m_shared_ram)
|
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(raiden_state, m_shared_ram)
|
||||||
AM_RANGE(0x0a000, 0x0a00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
AM_RANGE(0x0a000, 0x0a00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, m_videoram)
|
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, m_videoram)
|
||||||
@ -88,7 +88,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( raidenu_main_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( raidenu_main_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x08000, 0x08035) AM_WRITEONLY AM_BASE_MEMBER(raiden_state, m_scroll_ram)
|
AM_RANGE(0x08000, 0x08035) AM_WRITEONLY AM_BASE_MEMBER(raiden_state, m_scroll_ram)
|
||||||
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(raiden_state, m_shared_ram)
|
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(raiden_state, m_shared_ram)
|
||||||
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
||||||
@ -242,16 +242,6 @@ static INTERRUPT_GEN( raiden_interrupt )
|
|||||||
device_set_input_line_and_vector(device, 0, HOLD_LINE, 0xc8/4); /* VBL */
|
device_set_input_line_and_vector(device, 0, HOLD_LINE, 0xc8/4); /* VBL */
|
||||||
}
|
}
|
||||||
|
|
||||||
static SCREEN_VBLANK( raiden )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
buffer_spriteram16_w(space,0,0,0xffff); /* Could be a memory location instead */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( raiden, raiden_state )
|
static MACHINE_CONFIG_START( raiden, raiden_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
@ -270,7 +260,7 @@ static MACHINE_CONFIG_START( raiden, raiden_state )
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.60) /* verified on pcb */
|
MCFG_SCREEN_REFRESH_RATE(59.60) /* verified on pcb */
|
||||||
@ -278,7 +268,7 @@ static MACHINE_CONFIG_START( raiden, raiden_state )
|
|||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(raiden)
|
MCFG_SCREEN_UPDATE_STATIC(raiden)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(raiden)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(raiden)
|
MCFG_GFXDECODE(raiden)
|
||||||
MCFG_PALETTE_LENGTH(2048)
|
MCFG_PALETTE_LENGTH(2048)
|
||||||
|
@ -161,7 +161,7 @@ static ADDRESS_MAP_START( rohga_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x3cc000, 0x3ccfff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf3_rowscroll)
|
AM_RANGE(0x3cc000, 0x3ccfff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf3_rowscroll)
|
||||||
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf4_rowscroll)
|
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf4_rowscroll)
|
||||||
|
|
||||||
AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3e0000, 0x3e1fff) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x3e0000, 0x3e1fff) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x3f0000, 0x3f3fff) AM_RAM /* Main ram */
|
AM_RANGE(0x3f0000, 0x3f3fff) AM_RAM /* Main ram */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -185,10 +185,10 @@ static ADDRESS_MAP_START( wizdfire_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x320002, 0x320003) AM_WRITENOP /* ? */
|
AM_RANGE(0x320002, 0x320003) AM_WRITENOP /* ? */
|
||||||
AM_RANGE(0x320004, 0x320005) AM_WRITE(wizdfire_irq_ack_w) /* VBL IRQ ack */
|
AM_RANGE(0x320004, 0x320005) AM_WRITE(wizdfire_irq_ack_w) /* VBL IRQ ack */
|
||||||
|
|
||||||
AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x350000, 0x350001) AM_WRITE(buffer_spriteram16_w) /* Triggers DMA for spriteram */
|
AM_RANGE(0x350000, 0x350001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* Triggers DMA for spriteram */
|
||||||
AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0x370000, 0x370001) AM_WRITE(buffer_spriteram16_2_w) /* Triggers DMA for spriteram */
|
AM_RANGE(0x370000, 0x370001) AM_DEVWRITE_MODERN("spriteram2", buffered_spriteram16_device, write) /* Triggers DMA for spriteram */
|
||||||
|
|
||||||
AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE("deco_common", decocomn_palette_dma_w)
|
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE("deco_common", decocomn_palette_dma_w)
|
||||||
@ -217,10 +217,10 @@ static ADDRESS_MAP_START( nitrobal_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x320002, 0x320003) AM_WRITENOP /* ? */
|
AM_RANGE(0x320002, 0x320003) AM_WRITENOP /* ? */
|
||||||
AM_RANGE(0x320004, 0x320005) AM_WRITE(wizdfire_irq_ack_w) /* VBL IRQ ack */
|
AM_RANGE(0x320004, 0x320005) AM_WRITE(wizdfire_irq_ack_w) /* VBL IRQ ack */
|
||||||
|
|
||||||
AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x350000, 0x350001) AM_WRITE(buffer_spriteram16_w) /* Triggers DMA for spriteram */
|
AM_RANGE(0x350000, 0x350001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write) /* Triggers DMA for spriteram */
|
||||||
AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
|
AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_SHARE("spriteram2")
|
||||||
AM_RANGE(0x370000, 0x370001) AM_WRITE(buffer_spriteram16_2_w) /* Triggers DMA for spriteram */
|
AM_RANGE(0x370000, 0x370001) AM_DEVWRITE_MODERN("spriteram2", buffered_spriteram16_device, write) /* Triggers DMA for spriteram */
|
||||||
|
|
||||||
AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE("deco_common", decocomn_palette_dma_w)
|
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE("deco_common", decocomn_palette_dma_w)
|
||||||
@ -254,7 +254,7 @@ static ADDRESS_MAP_START( schmeisr_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x3cc000, 0x3ccfff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf3_rowscroll)
|
AM_RANGE(0x3cc000, 0x3ccfff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf3_rowscroll)
|
||||||
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf4_rowscroll)
|
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE_MEMBER(rohga_state, m_pf4_rowscroll)
|
||||||
|
|
||||||
AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_DEVWRITE("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0xff0000, 0xff7fff) AM_RAM /* Main ram */
|
AM_RANGE(0xff0000, 0xff7fff) AM_RAM /* Main ram */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -809,7 +809,7 @@ static MACHINE_CONFIG_START( rohga, rohga_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
@ -859,7 +859,8 @@ static MACHINE_CONFIG_START( wizdfire, rohga_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
@ -912,7 +913,8 @@ static MACHINE_CONFIG_START( nitrobal, rohga_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
@ -965,7 +967,7 @@ static MACHINE_CONFIG_START( schmeisr, rohga_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
MCFG_CPU_PROGRAM_MAP(rohga_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
|
@ -87,14 +87,14 @@ static ADDRESS_MAP_START( sidearms_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_MEMBER(sidearms_state,m_videoram)
|
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_MEMBER(sidearms_state,m_videoram)
|
||||||
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_MEMBER(sidearms_state,m_colorram)
|
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_MEMBER(sidearms_state,m_colorram)
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM
|
AM_RANGE(0xe000, 0xefff) AM_RAM
|
||||||
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
||||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||||
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
|
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
|
||||||
@ -160,7 +160,7 @@ static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_MEMBER(sidearms_state,m_videoram)
|
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_MEMBER(sidearms_state,m_videoram)
|
||||||
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_MEMBER(sidearms_state,m_colorram)
|
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_MEMBER(sidearms_state,m_colorram)
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM
|
AM_RANGE(0xe000, 0xefff) AM_RAM
|
||||||
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( whizz_sound_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( whizz_sound_map, AS_PROGRAM, 8 )
|
||||||
@ -663,7 +663,7 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(sidearms_sound_map)
|
MCFG_CPU_PROGRAM_MAP(sidearms_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -671,7 +671,7 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(sidearms)
|
MCFG_SCREEN_UPDATE_STATIC(sidearms)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(sidearms)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(sidearms)
|
MCFG_GFXDECODE(sidearms)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -707,14 +707,14 @@ static MACHINE_CONFIG_START( turtship, sidearms_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(sidearms_sound_map)
|
MCFG_CPU_PROGRAM_MAP(sidearms_sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||||
MCFG_SCREEN_VBLANK_STATIC(sidearms)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(sidearms)
|
MCFG_SCREEN_UPDATE_STATIC(sidearms)
|
||||||
|
|
||||||
MCFG_GFXDECODE(turtship)
|
MCFG_GFXDECODE(turtship)
|
||||||
@ -754,7 +754,7 @@ static MACHINE_CONFIG_START( whizz, sidearms_state )
|
|||||||
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
|
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -762,7 +762,7 @@ static MACHINE_CONFIG_START( whizz, sidearms_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(sidearms)
|
MCFG_SCREEN_UPDATE_STATIC(sidearms)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(sidearms)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(turtship)
|
MCFG_GFXDECODE(turtship)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
@ -276,7 +276,7 @@ static ADDRESS_MAP_START( perfrman_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with sound CPU */
|
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with sound CPU */
|
||||||
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
||||||
AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
||||||
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("spriteram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8 )
|
||||||
@ -286,7 +286,7 @@ static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xc810, 0xcfff) AM_RAM
|
AM_RANGE(0xc810, 0xcfff) AM_RAM
|
||||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
||||||
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
||||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
|
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
|
||||||
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
|
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
|
||||||
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
|
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
|
||||||
@ -302,7 +302,7 @@ static ADDRESS_MAP_START( slapfght_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xc810, 0xcfff) AM_RAM
|
AM_RANGE(0xc810, 0xcfff) AM_RAM
|
||||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
||||||
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
||||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
|
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
|
||||||
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
|
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
|
||||||
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
|
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
|
||||||
@ -319,7 +319,7 @@ static ADDRESS_MAP_START( slapfighb2_map, AS_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xc810, 0xcfff) AM_RAM
|
AM_RANGE(0xc810, 0xcfff) AM_RAM
|
||||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_videoram)
|
||||||
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_MEMBER(slapfght_state, m_slapfight_colorram)
|
||||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
|
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_hi)
|
||||||
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
|
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrolly)
|
||||||
AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
|
AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_BASE_MEMBER(slapfght_state, m_slapfight_scrollx_lo)
|
||||||
@ -734,16 +734,6 @@ static const ay8910_interface ay8910_interface_2 =
|
|||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static SCREEN_VBLANK( perfrman )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
buffer_spriteram_w(space, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static INTERRUPT_GEN( vblank_irq )
|
static INTERRUPT_GEN( vblank_irq )
|
||||||
{
|
{
|
||||||
slapfght_state *state = device->machine().driver_data<slapfght_state>();
|
slapfght_state *state = device->machine().driver_data<slapfght_state>();
|
||||||
@ -770,7 +760,7 @@ static MACHINE_CONFIG_START( perfrman, slapfght_state )
|
|||||||
MCFG_MACHINE_RESET(slapfight)
|
MCFG_MACHINE_RESET(slapfight)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -778,7 +768,7 @@ static MACHINE_CONFIG_START( perfrman, slapfght_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(1*8, 34*8-1, 2*8, 32*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(1*8, 34*8-1, 2*8, 32*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(perfrman)
|
MCFG_SCREEN_UPDATE_STATIC(perfrman)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(perfrman)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(perfrman)
|
MCFG_GFXDECODE(perfrman)
|
||||||
MCFG_PALETTE_LENGTH(256)
|
MCFG_PALETTE_LENGTH(256)
|
||||||
@ -816,7 +806,7 @@ static MACHINE_CONFIG_START( tigerhb, slapfght_state )
|
|||||||
MCFG_MACHINE_RESET(slapfight)
|
MCFG_MACHINE_RESET(slapfight)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -824,7 +814,7 @@ static MACHINE_CONFIG_START( tigerhb, slapfght_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(slapfight)
|
MCFG_SCREEN_UPDATE_STATIC(slapfight)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(perfrman)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(slapfght)
|
MCFG_GFXDECODE(slapfght)
|
||||||
MCFG_PALETTE_LENGTH(256)
|
MCFG_PALETTE_LENGTH(256)
|
||||||
@ -864,7 +854,7 @@ static MACHINE_CONFIG_START( tigerh, slapfght_state )
|
|||||||
MCFG_MACHINE_RESET(slapfight)
|
MCFG_MACHINE_RESET(slapfight)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -872,7 +862,7 @@ static MACHINE_CONFIG_START( tigerh, slapfght_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(slapfight)
|
MCFG_SCREEN_UPDATE_STATIC(slapfight)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(perfrman)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(slapfght)
|
MCFG_GFXDECODE(slapfght)
|
||||||
MCFG_PALETTE_LENGTH(256)
|
MCFG_PALETTE_LENGTH(256)
|
||||||
@ -913,7 +903,7 @@ static MACHINE_CONFIG_START( slapfigh, slapfght_state )
|
|||||||
MCFG_MACHINE_RESET(slapfight)
|
MCFG_MACHINE_RESET(slapfight)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -921,7 +911,7 @@ static MACHINE_CONFIG_START( slapfigh, slapfght_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8, 32*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(slapfight)
|
MCFG_SCREEN_UPDATE_STATIC(slapfight)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(perfrman)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(slapfght)
|
MCFG_GFXDECODE(slapfght)
|
||||||
MCFG_PALETTE_LENGTH(256)
|
MCFG_PALETTE_LENGTH(256)
|
||||||
|
@ -74,7 +74,7 @@ Ignore the warnings about writing to unmapped memory.
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( srumbler_map, AS_PROGRAM, 8 )
|
static ADDRESS_MAP_START( srumbler_map, AS_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x1dff) AM_RAM /* RAM (of 1 sort or another) */
|
AM_RANGE(0x0000, 0x1dff) AM_RAM /* RAM (of 1 sort or another) */
|
||||||
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(srumbler_background_w) AM_BASE_MEMBER(srumbler_state, m_backgroundram)
|
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(srumbler_background_w) AM_BASE_MEMBER(srumbler_state, m_backgroundram)
|
||||||
AM_RANGE(0x4008, 0x4008) AM_READ_PORT("SYSTEM") AM_WRITE(srumbler_bankswitch_w)
|
AM_RANGE(0x4008, 0x4008) AM_READ_PORT("SYSTEM") AM_WRITE(srumbler_bankswitch_w)
|
||||||
AM_RANGE(0x4009, 0x4009) AM_READ_PORT("P1") AM_WRITE(srumbler_4009_w)
|
AM_RANGE(0x4009, 0x4009) AM_READ_PORT("P1") AM_WRITE(srumbler_4009_w)
|
||||||
@ -248,7 +248,7 @@ static MACHINE_CONFIG_START( srumbler, srumbler_state )
|
|||||||
MCFG_MACHINE_START(srumbler)
|
MCFG_MACHINE_START(srumbler)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
@ -256,7 +256,7 @@ static MACHINE_CONFIG_START( srumbler, srumbler_state )
|
|||||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(10*8, (64-10)*8-1, 1*8, 31*8-1 )
|
MCFG_SCREEN_VISIBLE_AREA(10*8, (64-10)*8-1, 1*8, 31*8-1 )
|
||||||
MCFG_SCREEN_UPDATE_STATIC(srumbler)
|
MCFG_SCREEN_UPDATE_STATIC(srumbler)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(srumbler)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(srumbler)
|
MCFG_GFXDECODE(srumbler)
|
||||||
MCFG_PALETTE_LENGTH(512)
|
MCFG_PALETTE_LENGTH(512)
|
||||||
|
@ -169,7 +169,7 @@ static WRITE8_DEVICE_HANDLER( msm5205_w )
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||||
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xfe0d00, 0xfe1807) AM_RAM /* still part of OBJ RAM */
|
AM_RANGE(0xfe0d00, 0xfe1807) AM_RAM /* still part of OBJ RAM */
|
||||||
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("P1_P2") AM_WRITE(tigeroad_videoctrl_w) /* char bank, coin counters, + ? */
|
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("P1_P2") AM_WRITE(tigeroad_videoctrl_w) /* char bank, coin counters, + ? */
|
||||||
AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM")
|
AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM")
|
||||||
@ -529,7 +529,7 @@ static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
|
|||||||
/* IRQs are triggered by the YM2203 */
|
/* IRQs are triggered by the YM2203 */
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60.08) /* verified on pcb */
|
MCFG_SCREEN_REFRESH_RATE(60.08) /* verified on pcb */
|
||||||
@ -537,7 +537,7 @@ static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
|
|||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(tigeroad)
|
MCFG_SCREEN_UPDATE_STATIC(tigeroad)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(tigeroad)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(tigeroad)
|
MCFG_GFXDECODE(tigeroad)
|
||||||
MCFG_PALETTE_LENGTH(576)
|
MCFG_PALETTE_LENGTH(576)
|
||||||
|
@ -93,7 +93,7 @@ static WRITE8_HANDLER( toki_adpcm_data_w )
|
|||||||
static ADDRESS_MAP_START( toki_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( toki_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||||
AM_RANGE(0x060000, 0x06d7ff) AM_RAM
|
AM_RANGE(0x060000, 0x06d7ff) AM_RAM
|
||||||
AM_RANGE(0x06d800, 0x06dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x06d800, 0x06dfff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE_MEMBER(toki_state, m_background1_videoram16)
|
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE_MEMBER(toki_state, m_background1_videoram16)
|
||||||
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE_MEMBER(toki_state, m_background2_videoram16)
|
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE_MEMBER(toki_state, m_background2_videoram16)
|
||||||
@ -116,7 +116,7 @@ static ADDRESS_MAP_START( tokib_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x071000, 0x071001) AM_WRITENOP /* sprite related? seems another scroll register */
|
AM_RANGE(0x071000, 0x071001) AM_WRITENOP /* sprite related? seems another scroll register */
|
||||||
/* gets written the same value as 75000a (bg2 scrollx) */
|
/* gets written the same value as 75000a (bg2 scrollx) */
|
||||||
AM_RANGE(0x071804, 0x071807) AM_WRITENOP /* sprite related, always 01be0100 */
|
AM_RANGE(0x071804, 0x071807) AM_WRITENOP /* sprite related, always 01be0100 */
|
||||||
AM_RANGE(0x07180e, 0x071e45) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x07180e, 0x071e45) AM_WRITEONLY AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x072000, 0x072001) AM_READ(watchdog_reset16_r) /* probably */
|
AM_RANGE(0x072000, 0x072001) AM_READ(watchdog_reset16_r) /* probably */
|
||||||
AM_RANGE(0x075000, 0x075001) AM_WRITE(tokib_soundcommand16_w)
|
AM_RANGE(0x075000, 0x075001) AM_WRITE(tokib_soundcommand16_w)
|
||||||
AM_RANGE(0x075004, 0x07500b) AM_WRITEONLY AM_BASE_MEMBER(toki_state, m_scrollram16)
|
AM_RANGE(0x075004, 0x07500b) AM_WRITEONLY AM_BASE_MEMBER(toki_state, m_scrollram16)
|
||||||
@ -425,14 +425,14 @@ static MACHINE_CONFIG_START( toki, toki_state ) /* KOYO 20.000MHz near the cpu *
|
|||||||
MCFG_MACHINE_RESET(seibu_sound)
|
MCFG_MACHINE_RESET(seibu_sound)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(59.61) /* verified on pcb */
|
MCFG_SCREEN_REFRESH_RATE(59.61) /* verified on pcb */
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) /* verified */
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) /* verified */
|
||||||
MCFG_SCREEN_UPDATE_STATIC(toki)
|
MCFG_SCREEN_UPDATE_STATIC(toki)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(toki)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(toki)
|
MCFG_GFXDECODE(toki)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
@ -455,14 +455,14 @@ static MACHINE_CONFIG_START( tokib, toki_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(tokib_audio_map)
|
MCFG_CPU_PROGRAM_MAP(tokib_audio_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) /* verified */
|
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) /* verified */
|
||||||
MCFG_SCREEN_UPDATE_STATIC(tokib)
|
MCFG_SCREEN_UPDATE_STATIC(tokib)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(tokib)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(tokib)
|
MCFG_GFXDECODE(tokib)
|
||||||
MCFG_PALETTE_LENGTH(1024)
|
MCFG_PALETTE_LENGTH(1024)
|
||||||
|
@ -261,7 +261,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE_MEMBER(twin16_state, m_text_ram)
|
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE_MEMBER(twin16_state, m_text_ram)
|
||||||
// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj
|
// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj
|
||||||
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, m_videoram)
|
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, m_videoram)
|
||||||
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("share1") AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("spriteram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16 )
|
||||||
@ -271,7 +271,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x060000, 0x063fff) AM_RAM
|
AM_RANGE(0x060000, 0x063fff) AM_RAM
|
||||||
AM_RANGE(0x080000, 0x09ffff) AM_READ(extra_rom_r)
|
AM_RANGE(0x080000, 0x09ffff) AM_READ(extra_rom_r)
|
||||||
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUB_register_w)
|
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUB_register_w)
|
||||||
AM_RANGE(0x400000, 0x403fff) AM_RAM AM_SHARE("share1")
|
AM_RANGE(0x400000, 0x403fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x480000, 0x483fff) AM_READWRITE(videoram16_r, videoram16_w)
|
AM_RANGE(0x480000, 0x483fff) AM_READWRITE(videoram16_r, videoram16_w)
|
||||||
AM_RANGE(0x500000, 0x53ffff) AM_RAM AM_BASE_MEMBER(twin16_state, m_tile_gfx_ram)
|
AM_RANGE(0x500000, 0x53ffff) AM_RAM AM_BASE_MEMBER(twin16_state, m_tile_gfx_ram)
|
||||||
AM_RANGE(0x600000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
|
AM_RANGE(0x600000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
|
||||||
@ -293,7 +293,7 @@ static ADDRESS_MAP_START( fround_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(fround_gfx_bank_w)
|
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(fround_gfx_bank_w)
|
||||||
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE_MEMBER(twin16_state, m_text_ram)
|
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE_MEMBER(twin16_state, m_text_ram)
|
||||||
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, m_videoram)
|
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, m_videoram)
|
||||||
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x500000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
|
AM_RANGE(0x500000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -746,7 +746,8 @@ static MACHINE_CONFIG_START( twin16, twin16_state )
|
|||||||
MCFG_MACHINE_RESET(twin16)
|
MCFG_MACHINE_RESET(twin16)
|
||||||
|
|
||||||
// video hardware
|
// video hardware
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_BUFFERS_SPRITERAM)
|
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(((double)XTAL_18_432MHz / 2) / (576 * 264))
|
MCFG_SCREEN_REFRESH_RATE(((double)XTAL_18_432MHz / 2) / (576 * 264))
|
||||||
@ -799,7 +800,8 @@ static MACHINE_CONFIG_START( fround, twin16_state )
|
|||||||
MCFG_MACHINE_RESET(twin16)
|
MCFG_MACHINE_RESET(twin16)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_BUFFERS_SPRITERAM)
|
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
|
@ -277,7 +277,7 @@ Shark Zame
|
|||||||
static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x02ffff) AM_ROM
|
AM_RANGE(0x000000, 0x02ffff) AM_ROM
|
||||||
AM_RANGE(0x030000, 0x033fff) AM_RAM /* 68K and DSP shared RAM */
|
AM_RANGE(0x030000, 0x033fff) AM_RAM /* 68K and DSP shared RAM */
|
||||||
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x050000, 0x050dff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x050000, 0x050dff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x060000, 0x060001) AM_DEVWRITE8_MODERN("crtc", mc6845_device, address_w, 0x00ff)
|
AM_RANGE(0x060000, 0x060001) AM_DEVWRITE8_MODERN("crtc", mc6845_device, address_w, 0x00ff)
|
||||||
AM_RANGE(0x060002, 0x060003) AM_DEVWRITE8_MODERN("crtc", mc6845_device, register_w, 0x00ff)
|
AM_RANGE(0x060002, 0x060003) AM_DEVWRITE8_MODERN("crtc", mc6845_device, register_w, 0x00ff)
|
||||||
@ -582,12 +582,13 @@ static MACHINE_CONFIG_START( twincobr, twincobr_state )
|
|||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_MC6845_ADD("crtc", HD6845, XTAL_28MHz/8, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
|
MCFG_MC6845_ADD("crtc", HD6845, XTAL_28MHz/8, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
|
||||||
|
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_BUFFERS_SPRITERAM)
|
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_RAW_PARAMS(XTAL_28MHz/4, 446, 0, 320, 286, 0, 240)
|
MCFG_SCREEN_RAW_PARAMS(XTAL_28MHz/4, 446, 0, 320, 286, 0, 240)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(toaplan0)
|
MCFG_SCREEN_UPDATE_STATIC(toaplan0)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(toaplan0)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(twincobr)
|
MCFG_GFXDECODE(twincobr)
|
||||||
MCFG_PALETTE_LENGTH(1792)
|
MCFG_PALETTE_LENGTH(1792)
|
||||||
|
@ -62,8 +62,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE(vaportra_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
|
AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE(vaportra_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
|
||||||
AM_RANGE(0x308000, 0x308001) AM_NOP
|
AM_RANGE(0x308000, 0x308001) AM_NOP
|
||||||
AM_RANGE(0x30c000, 0x30c001) AM_WRITE(buffer_spriteram16_w)
|
AM_RANGE(0x30c000, 0x30c001) AM_DEVWRITE_MODERN("spriteram", buffered_spriteram16_device, write)
|
||||||
AM_RANGE(0xff8000, 0xff87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0xff8000, 0xff87ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0xffc000, 0xffffff) AM_RAM
|
AM_RANGE(0xffc000, 0xffffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ static MACHINE_CONFIG_START( vaportra, vaportra_state )
|
|||||||
MCFG_MACHINE_RESET(vaportra)
|
MCFG_MACHINE_RESET(vaportra)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(58)
|
MCFG_SCREEN_REFRESH_RATE(58)
|
||||||
|
@ -203,7 +203,7 @@ static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8 )
|
|||||||
|
|
||||||
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") /* Overlapped RAM/Banked ROM - See below */
|
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") /* Overlapped RAM/Banked ROM - See below */
|
||||||
|
|
||||||
AM_RANGE(0x8000, 0x8fff) AM_WRITE(wardner_sprite_w) AM_BASE_SIZE_GENERIC(spriteram)
|
AM_RANGE(0x8000, 0x8fff) AM_WRITE(wardner_sprite_w) AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x9000, 0x9fff) AM_ROM
|
AM_RANGE(0x9000, 0x9fff) AM_ROM
|
||||||
AM_RANGE(0xa000, 0xadff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
AM_RANGE(0xa000, 0xadff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram)
|
||||||
AM_RANGE(0xae00, 0xafff) AM_RAM AM_BASE_MEMBER(wardner_state, m_rambase_ae00)
|
AM_RANGE(0xae00, 0xafff) AM_RAM AM_BASE_MEMBER(wardner_state, m_rambase_ae00)
|
||||||
@ -427,12 +427,13 @@ static MACHINE_CONFIG_START( wardner, wardner_state )
|
|||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_MC6845_ADD("crtc", HD6845, XTAL_14MHz/4, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
|
MCFG_MC6845_ADD("crtc", HD6845, XTAL_14MHz/4, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
|
||||||
|
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_BUFFERS_SPRITERAM)
|
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||||
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_RAW_PARAMS(XTAL_14MHz/2, 446, 0, 320, 286, 0, 240)
|
MCFG_SCREEN_RAW_PARAMS(XTAL_14MHz/2, 446, 0, 320, 286, 0, 240)
|
||||||
MCFG_SCREEN_UPDATE_STATIC(toaplan0)
|
MCFG_SCREEN_UPDATE_STATIC(toaplan0)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(toaplan0)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(wardner)
|
MCFG_GFXDECODE(wardner)
|
||||||
MCFG_PALETTE_LENGTH(1792)
|
MCFG_PALETTE_LENGTH(1792)
|
||||||
|
@ -69,7 +69,7 @@ static WRITE16_HANDLER ( wwfwfest_irq_ack_w );
|
|||||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||||
AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM_WRITE(wwfwfest_fg0_videoram_w) AM_BASE_MEMBER(wwfwfest_state, m_fg0_videoram) /* FG0 Ram - 4 bytes per tile */
|
AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM_WRITE(wwfwfest_fg0_videoram_w) AM_BASE_MEMBER(wwfwfest_state, m_fg0_videoram) /* FG0 Ram - 4 bytes per tile */
|
||||||
AM_RANGE(0x0c2000, 0x0c3fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* SPR Ram */
|
AM_RANGE(0x0c2000, 0x0c3fff) AM_RAM AM_SHARE("spriteram") /* SPR Ram */
|
||||||
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(wwfwfest_bg0_videoram_w) AM_BASE_MEMBER(wwfwfest_state, m_bg0_videoram) /* BG0 Ram - 4 bytes per tile */
|
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(wwfwfest_bg0_videoram_w) AM_BASE_MEMBER(wwfwfest_state, m_bg0_videoram) /* BG0 Ram - 4 bytes per tile */
|
||||||
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(wwfwfest_bg1_videoram_w) AM_BASE_MEMBER(wwfwfest_state, m_bg1_videoram) /* BG1 Ram - 2 bytes per tile */
|
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(wwfwfest_bg1_videoram_w) AM_BASE_MEMBER(wwfwfest_state, m_bg1_videoram) /* BG1 Ram - 2 bytes per tile */
|
||||||
AM_RANGE(0x100000, 0x100007) AM_WRITE(wwfwfest_scroll_write)
|
AM_RANGE(0x100000, 0x100007) AM_WRITE(wwfwfest_scroll_write)
|
||||||
@ -381,17 +381,6 @@ static const ym2151_interface ym2151_config =
|
|||||||
dd3_ymirq_handler
|
dd3_ymirq_handler
|
||||||
};
|
};
|
||||||
|
|
||||||
static SCREEN_VBLANK( wwfwfest )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram16_w(space,0,0,0xffff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
Machine Driver(s)
|
Machine Driver(s)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
@ -407,12 +396,12 @@ static MACHINE_CONFIG_START( wwfwfest, wwfwfest_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 320, 272, 8, 248) /* HTOTAL and VTOTAL are guessed */
|
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 320, 272, 8, 248) /* HTOTAL and VTOTAL are guessed */
|
||||||
MCFG_SCREEN_UPDATE_STATIC(wwfwfest)
|
MCFG_SCREEN_UPDATE_STATIC(wwfwfest)
|
||||||
MCFG_SCREEN_VBLANK_STATIC(wwfwfest)
|
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
|
||||||
|
|
||||||
MCFG_GFXDECODE(wwfwfest)
|
MCFG_GFXDECODE(wwfwfest)
|
||||||
MCFG_PALETTE_LENGTH(8192)
|
MCFG_PALETTE_LENGTH(8192)
|
||||||
|
@ -12,12 +12,10 @@ public:
|
|||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_main_ram;
|
UINT8 * m_main_ram;
|
||||||
// UINT8 * m_spriteram; // currently this uses buffered_spriteram
|
|
||||||
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
|
||||||
UINT16 m_spriteram16[0x800/2]; // a 16-bit copy of spriteram for use with the MXC06 code
|
UINT16 m_spriteram16[0x800/2]; // a 16-bit copy of spriteram for use with the MXC06 code
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
int m_flipscreen;
|
int m_flipscreen;
|
||||||
|
|
||||||
/* misc */
|
/* misc */
|
||||||
int m_trio_control_select;
|
int m_trio_control_select;
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class armedf_state : public driver_device
|
class armedf_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
armedf_state(const machine_config &mconfig, device_type type, const char *tag)
|
armedf_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_text_videoram;
|
UINT8 * m_text_videoram;
|
||||||
@ -11,7 +13,6 @@ public:
|
|||||||
UINT16 * m_fg_videoram;
|
UINT16 * m_fg_videoram;
|
||||||
UINT16 * m_spr_pal_clut;
|
UINT16 * m_spr_pal_clut;
|
||||||
UINT16 m_legion_cmd[4]; // legiono only!
|
UINT16 m_legion_cmd[4]; // legiono only!
|
||||||
// UINT16 * m_spriteram; // currently this uses generic buffered_spriteram
|
|
||||||
// UINT16 * m_paletteram; // currently this uses generic palette handling
|
// UINT16 * m_paletteram; // currently this uses generic palette handling
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
@ -28,6 +29,8 @@ public:
|
|||||||
int m_sprite_offy;
|
int m_sprite_offy;
|
||||||
int m_old_mcu_mode;
|
int m_old_mcu_mode;
|
||||||
int m_waiting_msb;
|
int m_waiting_msb;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
class bigfghtr_state : public armedf_state
|
class bigfghtr_state : public armedf_state
|
||||||
@ -47,7 +50,6 @@ public:
|
|||||||
/*----------- defined in video/armedf.c -----------*/
|
/*----------- defined in video/armedf.c -----------*/
|
||||||
|
|
||||||
SCREEN_UPDATE_IND16( armedf );
|
SCREEN_UPDATE_IND16( armedf );
|
||||||
SCREEN_VBLANK( armedf );
|
|
||||||
VIDEO_START( armedf );
|
VIDEO_START( armedf );
|
||||||
VIDEO_START( terraf );
|
VIDEO_START( terraf );
|
||||||
|
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class bbusters_state : public driver_device
|
class bbusters_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bbusters_state(const machine_config &mconfig, device_type type, const char *tag)
|
bbusters_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_eprom_data(*this, "eeprom") { }
|
m_eprom_data(*this, "eeprom"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
UINT16 *m_videoram;
|
UINT16 *m_videoram;
|
||||||
UINT16 *m_ram;
|
UINT16 *m_ram;
|
||||||
@ -21,6 +25,9 @@ public:
|
|||||||
UINT16 *m_pf2_data;
|
UINT16 *m_pf2_data;
|
||||||
UINT16 *m_pf1_scroll_data;
|
UINT16 *m_pf1_scroll_data;
|
||||||
UINT16 *m_pf2_scroll_data;
|
UINT16 *m_pf2_scroll_data;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
optional_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,18 +4,20 @@
|
|||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class bionicc_state : public driver_device
|
class bionicc_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bionicc_state(const machine_config &mconfig, device_type type, const char *tag)
|
bionicc_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_bgvideoram;
|
UINT16 * m_bgvideoram;
|
||||||
UINT16 * m_fgvideoram;
|
UINT16 * m_fgvideoram;
|
||||||
UINT16 * m_txvideoram;
|
UINT16 * m_txvideoram;
|
||||||
UINT16 * m_paletteram;
|
UINT16 * m_paletteram;
|
||||||
// UINT16 * m_spriteram; // needed for EOF, but currently handled through buffer_spriteram16
|
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
tilemap_t *m_tx_tilemap;
|
tilemap_t *m_tx_tilemap;
|
||||||
@ -25,6 +27,8 @@ public:
|
|||||||
|
|
||||||
UINT16 m_inp[3];
|
UINT16 m_inp[3];
|
||||||
UINT16 m_soundcommand;
|
UINT16 m_soundcommand;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -39,4 +43,3 @@ WRITE16_HANDLER( bionicc_gfxctrl_w );
|
|||||||
|
|
||||||
VIDEO_START( bionicc );
|
VIDEO_START( bionicc );
|
||||||
SCREEN_UPDATE_IND16( bionicc );
|
SCREEN_UPDATE_IND16( bionicc );
|
||||||
SCREEN_VBLANK( bionicc );
|
|
||||||
|
@ -4,15 +4,17 @@
|
|||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class blktiger_state : public driver_device
|
class blktiger_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
blktiger_state(const machine_config &mconfig, device_type type, const char *tag)
|
blktiger_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_txvideoram;
|
UINT8 * m_txvideoram;
|
||||||
// UINT8 * m_spriteram; // currently this uses generic buffer_spriteram_w
|
|
||||||
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
||||||
// UINT8 * m_paletteram2; // currently this uses generic palette handling
|
// UINT8 * m_paletteram2; // currently this uses generic palette handling
|
||||||
|
|
||||||
@ -36,6 +38,7 @@ public:
|
|||||||
/* devices */
|
/* devices */
|
||||||
device_t *m_mcu;
|
device_t *m_mcu;
|
||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -54,4 +57,3 @@ WRITE8_HANDLER( blktiger_scrolly_w );
|
|||||||
|
|
||||||
VIDEO_START( blktiger );
|
VIDEO_START( blktiger );
|
||||||
SCREEN_UPDATE_IND16( blktiger );
|
SCREEN_UPDATE_IND16( blktiger );
|
||||||
SCREEN_VBLANK( blktiger );
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
#include "video/deco16ic.h"
|
#include "video/deco16ic.h"
|
||||||
#include "video/decocomn.h"
|
#include "video/decocomn.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class boogwing_state : public driver_device
|
class boogwing_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -19,7 +20,9 @@ public:
|
|||||||
m_deco_tilegen1(*this, "tilegen1"),
|
m_deco_tilegen1(*this, "tilegen1"),
|
||||||
m_deco_tilegen2(*this, "tilegen2"),
|
m_deco_tilegen2(*this, "tilegen2"),
|
||||||
m_oki1(*this, "oki1"),
|
m_oki1(*this, "oki1"),
|
||||||
m_oki2(*this, "oki2") { }
|
m_oki2(*this, "oki2"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_pf1_rowscroll;
|
UINT16 * m_pf1_rowscroll;
|
||||||
@ -35,6 +38,8 @@ public:
|
|||||||
required_device<deco16ic_device> m_deco_tilegen2;
|
required_device<deco16ic_device> m_deco_tilegen2;
|
||||||
required_device<okim6295_device> m_oki1;
|
required_device<okim6295_device> m_oki1;
|
||||||
required_device<okim6295_device> m_oki2;
|
required_device<okim6295_device> m_oki2;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
#include "video/deco16ic.h"
|
#include "video/deco16ic.h"
|
||||||
#include "video/decocomn.h"
|
#include "video/decocomn.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class cninja_state : public driver_device
|
class cninja_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -19,7 +20,9 @@ public:
|
|||||||
m_deco_tilegen1(*this, "tilegen1"),
|
m_deco_tilegen1(*this, "tilegen1"),
|
||||||
m_deco_tilegen2(*this, "tilegen2"),
|
m_deco_tilegen2(*this, "tilegen2"),
|
||||||
m_raster_irq_timer(*this, "raster_timer"),
|
m_raster_irq_timer(*this, "raster_timer"),
|
||||||
m_oki2(*this, "oki2") { }
|
m_oki2(*this, "oki2"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_ram;
|
UINT16 * m_ram;
|
||||||
@ -40,6 +43,8 @@ public:
|
|||||||
required_device<deco16ic_device> m_deco_tilegen2;
|
required_device<deco16ic_device> m_deco_tilegen2;
|
||||||
optional_device<timer_device> m_raster_irq_timer;
|
optional_device<timer_device> m_raster_irq_timer;
|
||||||
optional_device<okim6295_device> m_oki2;
|
optional_device<okim6295_device> m_oki2;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
optional_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in video/cninja.c -----------*/
|
/*----------- defined in video/cninja.c -----------*/
|
||||||
|
@ -4,11 +4,14 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class commando_state : public driver_device
|
class commando_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
commando_state(const machine_config &mconfig, device_type type, const char *tag)
|
commando_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_videoram;
|
UINT8 * m_videoram;
|
||||||
@ -25,6 +28,7 @@ public:
|
|||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -41,4 +45,3 @@ WRITE8_HANDLER( commando_c804_w );
|
|||||||
|
|
||||||
VIDEO_START( commando );
|
VIDEO_START( commando );
|
||||||
SCREEN_UPDATE_IND16( commando );
|
SCREEN_UPDATE_IND16( commando );
|
||||||
SCREEN_VBLANK( commando );
|
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
|
#include "cpu/z80/z80.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class crshrace_state : public driver_device
|
class crshrace_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
crshrace_state(const machine_config &mconfig, device_type type, const char *tag)
|
crshrace_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_audiocpu(*this, "audiocpu"),
|
||||||
|
m_k053936(*this, "k053936"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_videoram1;
|
UINT16 * m_videoram1;
|
||||||
UINT16 * m_videoram2;
|
UINT16 * m_videoram2;
|
||||||
// UINT16 * m_spriteram1; // currently this uses generic buffered spriteram
|
|
||||||
// UINT16 * m_spriteram2; // currently this uses generic buffered spriteram
|
|
||||||
// UINT16 * m_paletteram; // currently this uses generic palette handling
|
// UINT16 * m_paletteram; // currently this uses generic palette handling
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
@ -23,8 +27,10 @@ public:
|
|||||||
int m_pending_command;
|
int m_pending_command;
|
||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
device_t *m_audiocpu;
|
required_device<z80_device> m_audiocpu;
|
||||||
device_t *m_k053936;
|
required_device<k053936_device> m_k053936;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in video/crshrace.c -----------*/
|
/*----------- defined in video/crshrace.c -----------*/
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include "video/deco16ic.h"
|
#include "video/deco16ic.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class darkseal_state : public driver_device
|
class darkseal_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -6,7 +7,8 @@ public:
|
|||||||
darkseal_state(const machine_config &mconfig, device_type type, const char *tag)
|
darkseal_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_deco_tilegen1(*this, "tilegen1"),
|
m_deco_tilegen1(*this, "tilegen1"),
|
||||||
m_deco_tilegen2(*this, "tilegen2") { }
|
m_deco_tilegen2(*this, "tilegen2"),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_ram;
|
UINT16 *m_ram;
|
||||||
UINT16 *m_pf1_rowscroll;
|
UINT16 *m_pf1_rowscroll;
|
||||||
@ -16,6 +18,7 @@ public:
|
|||||||
|
|
||||||
required_device<deco16ic_device> m_deco_tilegen1;
|
required_device<deco16ic_device> m_deco_tilegen1;
|
||||||
required_device<deco16ic_device> m_deco_tilegen2;
|
required_device<deco16ic_device> m_deco_tilegen2;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
|
||||||
int m_flipscreen;
|
int m_flipscreen;
|
||||||
};
|
};
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
#include "video/deco16ic.h"
|
#include "video/deco16ic.h"
|
||||||
#include "video/decocomn.h"
|
#include "video/decocomn.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class dassault_state : public driver_device
|
class dassault_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -19,7 +20,9 @@ public:
|
|||||||
m_decocomn(*this, "deco_common"),
|
m_decocomn(*this, "deco_common"),
|
||||||
m_deco_tilegen1(*this, "tilegen1"),
|
m_deco_tilegen1(*this, "tilegen1"),
|
||||||
m_deco_tilegen2(*this, "tilegen2"),
|
m_deco_tilegen2(*this, "tilegen2"),
|
||||||
m_oki2(*this, "oki2") { }
|
m_oki2(*this, "oki2"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_pf2_rowscroll;
|
UINT16 * m_pf2_rowscroll;
|
||||||
@ -36,6 +39,8 @@ public:
|
|||||||
required_device<deco16ic_device> m_deco_tilegen1;
|
required_device<deco16ic_device> m_deco_tilegen1;
|
||||||
required_device<deco16ic_device> m_deco_tilegen2;
|
required_device<deco16ic_device> m_deco_tilegen2;
|
||||||
required_device<okim6295_device> m_oki2;
|
required_device<okim6295_device> m_oki2;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class dec8_state : public driver_device
|
class dec8_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
dec8_state(const machine_config &mconfig, device_type type, const char *tag)
|
dec8_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_videoram;
|
UINT8 * m_videoram;
|
||||||
@ -12,7 +14,6 @@ public:
|
|||||||
UINT8 * m_row;
|
UINT8 * m_row;
|
||||||
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
||||||
// UINT8 * m_paletteram_2; // currently this uses generic palette handling
|
// UINT8 * m_paletteram_2; // currently this uses generic palette handling
|
||||||
// UINT8 * m_spriteram; // currently this uses buffered_spriteram in some games
|
|
||||||
size_t m_videoram_size;
|
size_t m_videoram_size;
|
||||||
UINT16 m_buffered_spriteram16[0x800/2]; // for the mxc06 sprite chip emulation (oscar, cobra)
|
UINT16 m_buffered_spriteram16[0x800/2]; // for the mxc06 sprite chip emulation (oscar, cobra)
|
||||||
|
|
||||||
@ -44,6 +45,7 @@ public:
|
|||||||
device_t *m_subcpu;
|
device_t *m_subcpu;
|
||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
device_t *m_mcu;
|
device_t *m_mcu;
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in video/dec8.c -----------*/
|
/*----------- defined in video/dec8.c -----------*/
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include "audio/decobsmt.h"
|
#include "audio/decobsmt.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class deco32_state : public driver_device
|
class deco32_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -6,11 +7,13 @@ public:
|
|||||||
deco32_state(const machine_config &mconfig, device_type type, const char *tag)
|
deco32_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_maincpu(*this, "maincpu"),
|
m_maincpu(*this, "maincpu"),
|
||||||
m_decobsmt(*this, "decobsmt")
|
m_decobsmt(*this, "decobsmt"),
|
||||||
|
m_spriteram(*this, "spriteram")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
optional_device<decobsmt_device> m_decobsmt;
|
optional_device<decobsmt_device> m_decobsmt;
|
||||||
|
optional_device<buffered_spriteram32_device> m_spriteram;
|
||||||
|
|
||||||
UINT32 *m_ram;
|
UINT32 *m_ram;
|
||||||
int m_raster_enable;
|
int m_raster_enable;
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class dooyong_state : public driver_device
|
class dooyong_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
dooyong_state(const machine_config &mconfig, device_type type, const char *tag)
|
dooyong_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram16(*this, "spriteram16") { }
|
||||||
|
|
||||||
UINT8 *m_txvideoram;
|
UINT8 *m_txvideoram;
|
||||||
UINT8 *m_paletteram_flytiger;
|
UINT8 *m_paletteram_flytiger;
|
||||||
@ -36,6 +40,8 @@ public:
|
|||||||
|
|
||||||
int m_interrupt_line_1;
|
int m_interrupt_line_1;
|
||||||
int m_interrupt_line_2;
|
int m_interrupt_line_2;
|
||||||
|
optional_device<buffered_spriteram8_device> m_spriteram;
|
||||||
|
optional_device<buffered_spriteram16_device> m_spriteram16;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -76,6 +82,3 @@ VIDEO_START( flytiger );
|
|||||||
VIDEO_START( primella );
|
VIDEO_START( primella );
|
||||||
VIDEO_START( rshark );
|
VIDEO_START( rshark );
|
||||||
VIDEO_START( popbingo );
|
VIDEO_START( popbingo );
|
||||||
|
|
||||||
SCREEN_VBLANK( dooyong );
|
|
||||||
SCREEN_VBLANK( rshark );
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class dynduke_state : public driver_device
|
class dynduke_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
dynduke_state(const machine_config &mconfig, device_type type, const char *tag)
|
dynduke_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_videoram;
|
UINT16 *m_videoram;
|
||||||
UINT16 *m_back_data;
|
UINT16 *m_back_data;
|
||||||
@ -19,6 +22,7 @@ public:
|
|||||||
int m_txt_enable;
|
int m_txt_enable;
|
||||||
int m_old_back;
|
int m_old_back;
|
||||||
int m_old_fore;
|
int m_old_fore;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -32,4 +36,3 @@ WRITE16_HANDLER( dynduke_control_w );
|
|||||||
WRITE16_HANDLER( dynduke_paletteram_w );
|
WRITE16_HANDLER( dynduke_paletteram_w );
|
||||||
VIDEO_START( dynduke );
|
VIDEO_START( dynduke );
|
||||||
SCREEN_UPDATE_IND16( dynduke );
|
SCREEN_UPDATE_IND16( dynduke );
|
||||||
SCREEN_VBLANK( dynduke );
|
|
||||||
|
@ -4,12 +4,14 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class exedexes_state : public driver_device
|
class exedexes_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
exedexes_state(const machine_config &mconfig, device_type type, const char *tag)
|
exedexes_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_videoram;
|
UINT8 * m_videoram;
|
||||||
@ -27,6 +29,8 @@ public:
|
|||||||
int m_objon;
|
int m_objon;
|
||||||
int m_sc1on;
|
int m_sc1on;
|
||||||
int m_sc2on;
|
int m_sc2on;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -41,4 +45,3 @@ extern WRITE8_HANDLER( exedexes_gfxctrl_w );
|
|||||||
extern PALETTE_INIT( exedexes );
|
extern PALETTE_INIT( exedexes );
|
||||||
extern VIDEO_START( exedexes );
|
extern VIDEO_START( exedexes );
|
||||||
extern SCREEN_UPDATE_IND16( exedexes );
|
extern SCREEN_UPDATE_IND16( exedexes );
|
||||||
extern SCREEN_VBLANK( exedexes );
|
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
|
#include "cpu/m68000/m68000.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class gaelco2_state : public driver_device
|
class gaelco2_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
gaelco2_state(const machine_config &mconfig, device_type type, const char *tag)
|
gaelco2_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_maincpu(*this,"maincpu")
|
m_maincpu(*this,"maincpu"),
|
||||||
|
m_spriteram(*this,"spriteram")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
UINT16 *m_snowboar_protection;
|
UINT16 *m_snowboar_protection;
|
||||||
@ -14,7 +18,8 @@ public:
|
|||||||
tilemap_t *m_pant[2];
|
tilemap_t *m_pant[2];
|
||||||
int m_dual_monitor;
|
int m_dual_monitor;
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<m68000_device> m_maincpu;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -44,7 +49,6 @@ WRITE16_HANDLER( snowboar_protection_w );
|
|||||||
WRITE16_HANDLER( gaelco2_vram_w );
|
WRITE16_HANDLER( gaelco2_vram_w );
|
||||||
WRITE16_HANDLER( gaelco2_palette_w );
|
WRITE16_HANDLER( gaelco2_palette_w );
|
||||||
SCREEN_UPDATE_IND16( gaelco2 );
|
SCREEN_UPDATE_IND16( gaelco2 );
|
||||||
SCREEN_VBLANK( gaelco2 );
|
|
||||||
VIDEO_START( gaelco2 );
|
VIDEO_START( gaelco2 );
|
||||||
SCREEN_UPDATE_IND16( gaelco2_left );
|
SCREEN_UPDATE_IND16( gaelco2_left );
|
||||||
SCREEN_UPDATE_IND16( gaelco2_right );
|
SCREEN_UPDATE_IND16( gaelco2_right );
|
||||||
|
@ -4,24 +4,28 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class gng_state : public driver_device
|
class gng_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
gng_state(const machine_config &mconfig, device_type type, const char *tag)
|
gng_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_bgvideoram;
|
UINT8 * m_bgvideoram;
|
||||||
UINT8 * m_fgvideoram;
|
UINT8 * m_fgvideoram;
|
||||||
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
||||||
// UINT8 * m_paletteram2; // currently this uses generic palette handling
|
// UINT8 * m_paletteram2; // currently this uses generic palette handling
|
||||||
// UINT8 * m_spriteram; // currently this uses generic buffered spriteram
|
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
tilemap_t *m_bg_tilemap;
|
tilemap_t *m_bg_tilemap;
|
||||||
tilemap_t *m_fg_tilemap;
|
tilemap_t *m_fg_tilemap;
|
||||||
UINT8 m_scrollx[2];
|
UINT8 m_scrollx[2];
|
||||||
UINT8 m_scrolly[2];
|
UINT8 m_scrolly[2];
|
||||||
|
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -35,4 +39,3 @@ WRITE8_HANDLER( gng_flipscreen_w );
|
|||||||
|
|
||||||
VIDEO_START( gng );
|
VIDEO_START( gng );
|
||||||
SCREEN_UPDATE_IND16( gng );
|
SCREEN_UPDATE_IND16( gng );
|
||||||
SCREEN_VBLANK( gng );
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
|
|
||||||
// set to 0 to enable Votrax device and disable samples
|
// set to 0 to enable Votrax device and disable samples
|
||||||
#define USE_FAKE_VOTRAX (1)
|
#define USE_FAKE_VOTRAX (0)
|
||||||
|
|
||||||
|
|
||||||
#define GOTTLIEB_VIDEO_HCOUNT 318
|
#define GOTTLIEB_VIDEO_HCOUNT 318
|
||||||
|
@ -4,18 +4,20 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class hcastle_state : public driver_device
|
class hcastle_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
hcastle_state(const machine_config &mconfig, device_type type, const char *tag)
|
hcastle_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_pf1_videoram;
|
UINT8 * m_pf1_videoram;
|
||||||
UINT8 * m_pf2_videoram;
|
UINT8 * m_pf2_videoram;
|
||||||
UINT8 * m_paletteram;
|
UINT8 * m_paletteram;
|
||||||
// UINT8 * m_spriteram;
|
|
||||||
// UINT8 * m_spriteram2;
|
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
tilemap_t *m_fg_tilemap;
|
tilemap_t *m_fg_tilemap;
|
||||||
@ -30,6 +32,9 @@ public:
|
|||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
device_t *m_k007121_1;
|
device_t *m_k007121_1;
|
||||||
device_t *m_k007121_2;
|
device_t *m_k007121_2;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,17 +4,19 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class karnov_state : public driver_device
|
class karnov_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
karnov_state(const machine_config &mconfig, device_type type, const char *tag)
|
karnov_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_videoram;
|
UINT16 * m_videoram;
|
||||||
UINT16 * m_ram;
|
UINT16 * m_ram;
|
||||||
UINT16 * m_pf_data;
|
UINT16 * m_pf_data;
|
||||||
// UINT16 * m_spriteram; // currently this uses generic buffered spriteram
|
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
bitmap_ind16 *m_bitmap_f;
|
bitmap_ind16 *m_bitmap_f;
|
||||||
@ -35,6 +37,7 @@ public:
|
|||||||
/* devices */
|
/* devices */
|
||||||
device_t *m_maincpu;
|
device_t *m_maincpu;
|
||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -4,13 +4,16 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class lastduel_state : public driver_device
|
class lastduel_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
lastduel_state(const machine_config &mconfig, device_type type, const char *tag)
|
lastduel_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_maincpu(*this, "maincpu"),
|
m_maincpu(*this, "maincpu"),
|
||||||
m_audiocpu(*this, "audiocpu")
|
m_audiocpu(*this, "audiocpu"),
|
||||||
|
m_spriteram(*this, "spriteram")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
@ -32,6 +35,7 @@ public:
|
|||||||
/* devices */
|
/* devices */
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<cpu_device> m_audiocpu;
|
required_device<cpu_device> m_audiocpu;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in video/lastduel.c -----------*/
|
/*----------- defined in video/lastduel.c -----------*/
|
||||||
@ -49,4 +53,3 @@ VIDEO_START( lastduel );
|
|||||||
VIDEO_START( madgear );
|
VIDEO_START( madgear );
|
||||||
SCREEN_UPDATE_IND16( lastduel );
|
SCREEN_UPDATE_IND16( lastduel );
|
||||||
SCREEN_UPDATE_IND16( madgear );
|
SCREEN_UPDATE_IND16( madgear );
|
||||||
SCREEN_VBLANK( lastduel );
|
|
||||||
|
@ -2,7 +2,8 @@ class legionna_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
legionna_state(const machine_config &mconfig, device_type type, const char *tag)
|
legionna_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_back_data;
|
UINT16 *m_back_data;
|
||||||
UINT16 *m_fore_data;
|
UINT16 *m_fore_data;
|
||||||
@ -21,6 +22,7 @@ public:
|
|||||||
UINT16 m_back_gfx_bank;
|
UINT16 m_back_gfx_bank;
|
||||||
UINT16 m_fore_gfx_bank;
|
UINT16 m_fore_gfx_bank;
|
||||||
UINT16 m_mid_gfx_bank;
|
UINT16 m_mid_gfx_bank;
|
||||||
|
required_shared_ptr<UINT16> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class lemmings_state : public driver_device
|
class lemmings_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
lemmings_state(const machine_config &mconfig, device_type type, const char *tag)
|
lemmings_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_bitmap0(2048, 256),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_pixel_0_data;
|
UINT16 * m_pixel_0_data;
|
||||||
@ -11,18 +15,18 @@ public:
|
|||||||
UINT16 * m_vram_data;
|
UINT16 * m_vram_data;
|
||||||
UINT16 * m_control_data;
|
UINT16 * m_control_data;
|
||||||
UINT16 * m_paletteram;
|
UINT16 * m_paletteram;
|
||||||
// UINT16 * m_spriteram; // this currently uses generic buffered spriteram
|
|
||||||
// UINT16 * m_spriteram2; // this currently uses generic buffered spriteram
|
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
bitmap_ind16 *m_bitmap0;
|
bitmap_ind16 m_bitmap0;
|
||||||
tilemap_t *m_vram_tilemap;
|
tilemap_t *m_vram_tilemap;
|
||||||
UINT16 *m_sprite_triple_buffer_0;
|
UINT16 m_sprite_triple_buffer_0[0x800];
|
||||||
UINT16 *m_sprite_triple_buffer_1;
|
UINT16 m_sprite_triple_buffer_1[0x800];
|
||||||
UINT8 *m_vram_buffer;
|
UINT8 m_vram_buffer[2048 * 64]; // 64 bytes per VRAM character
|
||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class lwings_state : public driver_device
|
class lwings_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
lwings_state(const machine_config &mconfig, device_type type, const char *tag)
|
lwings_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT8 * m_fgvideoram;
|
UINT8 * m_fgvideoram;
|
||||||
UINT8 * m_bg1videoram;
|
UINT8 * m_bg1videoram;
|
||||||
UINT8 * m_soundlatch2;
|
UINT8 * m_soundlatch2;
|
||||||
// UINT8 * m_spriteram; // currently this uses generic buffered spriteram
|
|
||||||
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
||||||
// UINT8 * m_paletteram2; // currently this uses generic palette handling
|
// UINT8 * m_paletteram2; // currently this uses generic palette handling
|
||||||
|
|
||||||
@ -28,6 +29,8 @@ public:
|
|||||||
UINT8 m_soundstate;
|
UINT8 m_soundstate;
|
||||||
UINT8 m_adpcm;
|
UINT8 m_adpcm;
|
||||||
UINT8 m_nmi_mask;
|
UINT8 m_nmi_mask;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -45,4 +48,3 @@ VIDEO_START( trojan );
|
|||||||
VIDEO_START( avengers );
|
VIDEO_START( avengers );
|
||||||
SCREEN_UPDATE_IND16( lwings );
|
SCREEN_UPDATE_IND16( lwings );
|
||||||
SCREEN_UPDATE_IND16( trojan );
|
SCREEN_UPDATE_IND16( trojan );
|
||||||
SCREEN_VBLANK( lwings );
|
|
||||||
|
@ -4,8 +4,9 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
typedef struct _pf_layer_info pf_layer_info;
|
#include "video/bufsprite.h"
|
||||||
struct _pf_layer_info
|
|
||||||
|
struct pf_layer_info
|
||||||
{
|
{
|
||||||
tilemap_t * tmap;
|
tilemap_t * tmap;
|
||||||
tilemap_t * wide_tmap;
|
tilemap_t * wide_tmap;
|
||||||
@ -17,7 +18,8 @@ class m92_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
m92_state(const machine_config &mconfig, device_type type, const char *tag)
|
m92_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 m_sound_status;
|
UINT16 m_sound_status;
|
||||||
UINT8 m_irq_vectorbase;
|
UINT8 m_irq_vectorbase;
|
||||||
@ -31,6 +33,8 @@ public:
|
|||||||
UINT16 m_pf_master_control[4];
|
UINT16 m_pf_master_control[4];
|
||||||
INT32 m_sprite_list;
|
INT32 m_sprite_list;
|
||||||
UINT8 m_palette_bank;
|
UINT8 m_palette_bank;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
#define MASTER_CLOCK 57272700 // main oscillator frequency
|
#define MASTER_CLOCK 57272700 // main oscillator frequency
|
||||||
|
|
||||||
@ -20,7 +21,8 @@ class psikyosh_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
psikyosh_state(const machine_config &mconfig, device_type type, const char *tag)
|
psikyosh_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT32 * m_bgram;
|
UINT32 * m_bgram;
|
||||||
@ -28,8 +30,6 @@ public:
|
|||||||
UINT32 * m_vidregs;
|
UINT32 * m_vidregs;
|
||||||
UINT32 * m_ram;
|
UINT32 * m_ram;
|
||||||
UINT32 * m_paletteram;
|
UINT32 * m_paletteram;
|
||||||
// UINT32 * m_spriteram; // currently this uses generic buffered spriteram
|
|
||||||
// size_t m_spriteram_size;
|
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
bitmap_ind8 m_zoom_bitmap;
|
bitmap_ind8 m_zoom_bitmap;
|
||||||
@ -40,6 +40,7 @@ public:
|
|||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
device_t *m_maincpu;
|
device_t *m_maincpu;
|
||||||
|
required_device<buffered_spriteram32_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in video/psikyosh.c -----------*/
|
/*----------- defined in video/psikyosh.c -----------*/
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class raiden_state : public driver_device
|
class raiden_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
raiden_state(const machine_config &mconfig, device_type type, const char *tag)
|
raiden_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_videoram;
|
UINT16 *m_videoram;
|
||||||
UINT16 *m_shared_ram;
|
UINT16 *m_shared_ram;
|
||||||
@ -14,6 +17,7 @@ public:
|
|||||||
tilemap_t *m_tx_layer;
|
tilemap_t *m_tx_layer;
|
||||||
int m_flipscreen;
|
int m_flipscreen;
|
||||||
int m_alternate;
|
int m_alternate;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
#include "video/deco16ic.h"
|
#include "video/deco16ic.h"
|
||||||
#include "video/decocomn.h"
|
#include "video/decocomn.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class rohga_state : public driver_device
|
class rohga_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -19,14 +20,15 @@ public:
|
|||||||
m_deco_tilegen1(*this, "tilegen1"),
|
m_deco_tilegen1(*this, "tilegen1"),
|
||||||
m_deco_tilegen2(*this, "tilegen2"),
|
m_deco_tilegen2(*this, "tilegen2"),
|
||||||
m_oki1(*this, "oki1"),
|
m_oki1(*this, "oki1"),
|
||||||
m_oki2(*this, "oki2") { }
|
m_oki2(*this, "oki2"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram2(*this, "spriteram2") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_pf1_rowscroll;
|
UINT16 * m_pf1_rowscroll;
|
||||||
UINT16 * m_pf2_rowscroll;
|
UINT16 * m_pf2_rowscroll;
|
||||||
UINT16 * m_pf3_rowscroll;
|
UINT16 * m_pf3_rowscroll;
|
||||||
UINT16 * m_pf4_rowscroll;
|
UINT16 * m_pf4_rowscroll;
|
||||||
UINT16 * m_spriteram;
|
|
||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
@ -36,6 +38,8 @@ public:
|
|||||||
required_device<deco16ic_device> m_deco_tilegen2;
|
required_device<deco16ic_device> m_deco_tilegen2;
|
||||||
required_device<okim6295_device> m_oki1;
|
required_device<okim6295_device> m_oki1;
|
||||||
required_device<okim6295_device> m_oki2;
|
required_device<okim6295_device> m_oki2;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
|
optional_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class sidearms_state : public driver_device
|
class sidearms_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
sidearms_state(const machine_config &mconfig, device_type type, const char *tag)
|
sidearms_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
int m_gameid;
|
int m_gameid;
|
||||||
|
|
||||||
@ -24,6 +27,8 @@ public:
|
|||||||
UINT32 m_hcount_191;
|
UINT32 m_hcount_191;
|
||||||
UINT32 m_vcount_191;
|
UINT32 m_vcount_191;
|
||||||
UINT32 m_latch_374;
|
UINT32 m_latch_374;
|
||||||
|
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------- defined in video/sidearms.c -----------*/
|
/*----------- defined in video/sidearms.c -----------*/
|
||||||
@ -37,4 +42,3 @@ WRITE8_HANDLER( sidearms_gfxctrl_w );
|
|||||||
|
|
||||||
VIDEO_START( sidearms );
|
VIDEO_START( sidearms );
|
||||||
SCREEN_UPDATE_IND16( sidearms );
|
SCREEN_UPDATE_IND16( sidearms );
|
||||||
SCREEN_VBLANK( sidearms );
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
|
|
||||||
/* This it the best way to allow game specific kludges until the system is fully understood */
|
/* This it the best way to allow game specific kludges until the system is fully understood */
|
||||||
@ -15,7 +16,8 @@ class slapfght_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
slapfght_state(const machine_config &mconfig, device_type type, const char *tag)
|
slapfght_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
int m_getstar_id;
|
int m_getstar_id;
|
||||||
UINT8 *m_slapfight_videoram;
|
UINT8 *m_slapfight_videoram;
|
||||||
@ -53,6 +55,7 @@ public:
|
|||||||
tilemap_t *m_pf1_tilemap;
|
tilemap_t *m_pf1_tilemap;
|
||||||
tilemap_t *m_fix_tilemap;
|
tilemap_t *m_fix_tilemap;
|
||||||
UINT8 m_irq_mask;
|
UINT8 m_irq_mask;
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class srumbler_state : public driver_device
|
class srumbler_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
srumbler_state(const machine_config &mconfig, device_type type, const char *tag)
|
srumbler_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_maincpu(*this,"maincpu")
|
m_maincpu(*this,"maincpu"),
|
||||||
|
m_spriteram(*this,"spriteram")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
UINT8 *m_backgroundram;
|
UINT8 *m_backgroundram;
|
||||||
@ -13,6 +16,7 @@ public:
|
|||||||
int m_scroll[4];
|
int m_scroll[4];
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
|
required_device<buffered_spriteram8_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class tigeroad_state : public driver_device
|
class tigeroad_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
tigeroad_state(const machine_config &mconfig, device_type type, const char *tag)
|
tigeroad_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_videoram;
|
UINT16 *m_videoram;
|
||||||
UINT16 *m_ram16;
|
UINT16 *m_ram16;
|
||||||
int m_bgcharbank;
|
int m_bgcharbank;
|
||||||
tilemap_t *m_bg_tilemap;
|
tilemap_t *m_bg_tilemap;
|
||||||
tilemap_t *m_fg_tilemap;
|
tilemap_t *m_fg_tilemap;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -19,4 +23,3 @@ WRITE16_HANDLER( tigeroad_videoctrl_w );
|
|||||||
WRITE16_HANDLER( tigeroad_scroll_w );
|
WRITE16_HANDLER( tigeroad_scroll_w );
|
||||||
VIDEO_START( tigeroad );
|
VIDEO_START( tigeroad );
|
||||||
SCREEN_UPDATE_IND16( tigeroad );
|
SCREEN_UPDATE_IND16( tigeroad );
|
||||||
SCREEN_VBLANK( tigeroad );
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class toki_state : public driver_device
|
class toki_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
toki_state(const machine_config &mconfig, device_type type, const char *tag)
|
toki_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_videoram;
|
UINT16 *m_videoram;
|
||||||
int m_msm5205next;
|
int m_msm5205next;
|
||||||
@ -13,14 +16,13 @@ public:
|
|||||||
tilemap_t *m_background_layer;
|
tilemap_t *m_background_layer;
|
||||||
tilemap_t *m_foreground_layer;
|
tilemap_t *m_foreground_layer;
|
||||||
tilemap_t *m_text_layer;
|
tilemap_t *m_text_layer;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*----------- defined in video/toki.c -----------*/
|
/*----------- defined in video/toki.c -----------*/
|
||||||
|
|
||||||
VIDEO_START( toki );
|
VIDEO_START( toki );
|
||||||
SCREEN_VBLANK( toki );
|
|
||||||
SCREEN_VBLANK( tokib );
|
|
||||||
SCREEN_UPDATE_IND16( toki );
|
SCREEN_UPDATE_IND16( toki );
|
||||||
SCREEN_UPDATE_IND16( tokib );
|
SCREEN_UPDATE_IND16( tokib );
|
||||||
WRITE16_HANDLER( toki_background1_videoram16_w );
|
WRITE16_HANDLER( toki_background1_videoram16_w );
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class twin16_state : public driver_device
|
class twin16_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
twin16_state(const machine_config &mconfig, device_type type, const char *tag)
|
twin16_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_videoram;
|
UINT16 *m_videoram;
|
||||||
UINT16 m_CPUA_register;
|
UINT16 m_CPUA_register;
|
||||||
@ -24,6 +27,7 @@ public:
|
|||||||
UINT16 m_scrolly[3];
|
UINT16 m_scrolly[3];
|
||||||
UINT16 m_video_register;
|
UINT16 m_video_register;
|
||||||
tilemap_t *m_text_tilemap;
|
tilemap_t *m_text_tilemap;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,13 +5,15 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "video/mc6845.h"
|
#include "video/mc6845.h"
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
|
|
||||||
class twincobr_state : public driver_device
|
class twincobr_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
twincobr_state(const machine_config &mconfig, device_type type, const char *tag)
|
twincobr_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
int m_toaplan_main_cpu;
|
int m_toaplan_main_cpu;
|
||||||
int m_wardner_membank;
|
int m_wardner_membank;
|
||||||
@ -48,6 +50,7 @@ public:
|
|||||||
tilemap_t *m_bg_tilemap;
|
tilemap_t *m_bg_tilemap;
|
||||||
tilemap_t *m_fg_tilemap;
|
tilemap_t *m_fg_tilemap;
|
||||||
tilemap_t *m_tx_tilemap;
|
tilemap_t *m_tx_tilemap;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -122,4 +125,3 @@ WRITE8_HANDLER( wardner_sprite_w );
|
|||||||
|
|
||||||
VIDEO_START( toaplan0 );
|
VIDEO_START( toaplan0 );
|
||||||
SCREEN_UPDATE_IND16( toaplan0 );
|
SCREEN_UPDATE_IND16( toaplan0 );
|
||||||
SCREEN_VBLANK( toaplan0 );
|
|
||||||
|
@ -4,11 +4,14 @@
|
|||||||
|
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class vaportra_state : public driver_device
|
class vaportra_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
vaportra_state(const machine_config &mconfig, device_type type, const char *tag)
|
vaportra_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
UINT16 * m_pf1_rowscroll;
|
UINT16 * m_pf1_rowscroll;
|
||||||
@ -24,6 +27,7 @@ public:
|
|||||||
device_t *m_audiocpu;
|
device_t *m_audiocpu;
|
||||||
device_t *m_deco_tilegen1;
|
device_t *m_deco_tilegen1;
|
||||||
device_t *m_deco_tilegen2;
|
device_t *m_deco_tilegen2;
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
|
#include "video/bufsprite.h"
|
||||||
|
|
||||||
class wwfwfest_state : public driver_device
|
class wwfwfest_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wwfwfest_state(const machine_config &mconfig, device_type type, const char *tag)
|
wwfwfest_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag) { }
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_spriteram(*this, "spriteram") { }
|
||||||
|
|
||||||
UINT16 *m_fg0_videoram;
|
UINT16 *m_fg0_videoram;
|
||||||
UINT16 *m_bg0_videoram;
|
UINT16 *m_bg0_videoram;
|
||||||
@ -18,6 +21,7 @@ public:
|
|||||||
UINT16 m_sprite_xoff;
|
UINT16 m_sprite_xoff;
|
||||||
UINT16 m_bg0_dx;
|
UINT16 m_bg0_dx;
|
||||||
UINT16 m_bg1_dx[2];
|
UINT16 m_bg1_dx[2];
|
||||||
|
required_device<buffered_spriteram16_device> m_spriteram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,8 +14,7 @@ public:
|
|||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_maincpu(*this, "maincpu"),
|
m_maincpu(*this, "maincpu"),
|
||||||
m_audiocpu(*this, "audiocpu"),
|
m_audiocpu(*this, "audiocpu"),
|
||||||
m_vram(*this, "videoram"),
|
m_vram(*this, "videoram")
|
||||||
m_vram_size(*this, "videoram")
|
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
// in drivers/zerozone.c
|
// in drivers/zerozone.c
|
||||||
@ -31,7 +30,6 @@ public:
|
|||||||
|
|
||||||
// shared pointers
|
// shared pointers
|
||||||
required_shared_ptr<UINT16> m_vram;
|
required_shared_ptr<UINT16> m_vram;
|
||||||
required_shared_size m_vram_size;
|
|
||||||
// currently this driver uses generic palette handling
|
// currently this driver uses generic palette handling
|
||||||
|
|
||||||
// state
|
// state
|
||||||
|
@ -13,10 +13,7 @@ public:
|
|||||||
m_videoram_2(*this, "videoram_2"),
|
m_videoram_2(*this, "videoram_2"),
|
||||||
m_attributeram(*this, "attributeram"),
|
m_attributeram(*this, "attributeram"),
|
||||||
m_spriteram(*this, "spriteram"),
|
m_spriteram(*this, "spriteram"),
|
||||||
m_bulletsram(*this, "bulletsram"),
|
m_bulletsram(*this, "bulletsram")
|
||||||
m_videoram_size(*this, "videoram"),
|
|
||||||
m_spriteram_size(*this, "spriteram"),
|
|
||||||
m_bulletsram_size(*this, "bulletsram")
|
|
||||||
{ m_percuss_hardware = 0; }
|
{ m_percuss_hardware = 0; }
|
||||||
|
|
||||||
// in drivers/zodiack.c
|
// in drivers/zodiack.c
|
||||||
@ -44,9 +41,6 @@ public:
|
|||||||
required_shared_ptr<UINT8> m_attributeram;
|
required_shared_ptr<UINT8> m_attributeram;
|
||||||
required_shared_ptr<UINT8> m_spriteram;
|
required_shared_ptr<UINT8> m_spriteram;
|
||||||
required_shared_ptr<UINT8> m_bulletsram;
|
required_shared_ptr<UINT8> m_bulletsram;
|
||||||
required_shared_size m_videoram_size;
|
|
||||||
required_shared_size m_spriteram_size;
|
|
||||||
required_shared_size m_bulletsram_size;
|
|
||||||
// currently this driver uses generic palette handling
|
// currently this driver uses generic palette handling
|
||||||
|
|
||||||
// state
|
// state
|
||||||
|
@ -97,8 +97,7 @@ public:
|
|||||||
atarigen_state(const machine_config &mconfig, device_type type, const char *tag)
|
atarigen_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_earom(*this, "earom"),
|
m_earom(*this, "earom"),
|
||||||
m_eeprom(*this, "eeprom"),
|
m_eeprom(*this, "eeprom") { }
|
||||||
m_eeprom_size(*this, "eeprom") { }
|
|
||||||
|
|
||||||
// users must call through to these
|
// users must call through to these
|
||||||
virtual void machine_start();
|
virtual void machine_start();
|
||||||
@ -115,7 +114,6 @@ public:
|
|||||||
UINT8 m_earom_control;
|
UINT8 m_earom_control;
|
||||||
|
|
||||||
optional_shared_ptr<UINT16> m_eeprom;
|
optional_shared_ptr<UINT16> m_eeprom;
|
||||||
optional_shared_size m_eeprom_size;
|
|
||||||
|
|
||||||
UINT8 m_scanline_int_state;
|
UINT8 m_scanline_int_state;
|
||||||
UINT8 m_sound_int_state;
|
UINT8 m_sound_int_state;
|
||||||
|
@ -352,11 +352,11 @@ void armedf_drawgfx(running_machine &machine, bitmap_ind16 &dest_bmp,const recta
|
|||||||
|
|
||||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority )
|
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority )
|
||||||
{
|
{
|
||||||
UINT16 *buffered_spriteram = machine.generic.buffered_spriteram.u16;
|
|
||||||
armedf_state *state = machine.driver_data<armedf_state>();
|
armedf_state *state = machine.driver_data<armedf_state>();
|
||||||
|
UINT16 *buffered_spriteram = state->m_spriteram->buffer();
|
||||||
int offs;
|
int offs;
|
||||||
|
|
||||||
for (offs = 0; offs < machine.generic.spriteram_size / 2; offs += 4)
|
for (offs = 0; offs < state->m_spriteram->bytes() / 2; offs += 4)
|
||||||
{
|
{
|
||||||
int code = buffered_spriteram[offs + 1]; /* ??YX?TTTTTTTTTTT */
|
int code = buffered_spriteram[offs + 1]; /* ??YX?TTTTTTTTTTT */
|
||||||
int flipx = code & 0x2000;
|
int flipx = code & 0x2000;
|
||||||
@ -431,15 +431,3 @@ SCREEN_UPDATE_IND16( armedf )
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SCREEN_VBLANK( armedf )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram16_w(space, 0, 0, 0xffff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -289,10 +289,10 @@ SCREEN_UPDATE_IND16( bbuster )
|
|||||||
state->m_pf2_tilemap->set_scrolly(0, state->m_pf2_scroll_data[1]);
|
state->m_pf2_tilemap->set_scrolly(0, state->m_pf2_scroll_data[1]);
|
||||||
|
|
||||||
state->m_pf2_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_pf2_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
//draw_sprites(screen.machine(), bitmap, screen.machine().generic.buffered_spriteram2.u16, 2, 0x8, 0x8);
|
//draw_sprites(screen.machine(), bitmap, state->m_spriteram2->buffer(), 2, 0x8, 0x8);
|
||||||
state->m_pf1_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_pf1_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
draw_sprites(screen.machine(), bitmap, screen.machine().generic.buffered_spriteram2.u16, 2, 0, 0);
|
draw_sprites(screen.machine(), bitmap, state->m_spriteram2->buffer(), 2, 0, 0);
|
||||||
draw_sprites(screen.machine(), bitmap, screen.machine().generic.buffered_spriteram.u16, 1, 0, 0);
|
draw_sprites(screen.machine(), bitmap, state->m_spriteram->buffer(), 1, 0, 0);
|
||||||
state->m_fix_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_fix_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -308,7 +308,7 @@ SCREEN_UPDATE_IND16( mechatt )
|
|||||||
|
|
||||||
state->m_pf2_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_pf2_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
state->m_pf1_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_pf1_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
draw_sprites(screen.machine(), bitmap, screen.machine().generic.buffered_spriteram.u16, 1, 0, 0);
|
draw_sprites(screen.machine(), bitmap, state->m_spriteram->buffer(), 1, 0, 0);
|
||||||
state->m_fix_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_fix_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -209,12 +209,12 @@ WRITE16_HANDLER( bionicc_gfxctrl_w )
|
|||||||
|
|
||||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||||
{
|
{
|
||||||
UINT16 *buffered_spriteram = machine.generic.buffered_spriteram.u16;
|
bionicc_state *state = machine.driver_data<bionicc_state>();
|
||||||
// bionicc_state *state = machine.driver_data<bionicc_state>();
|
UINT16 *buffered_spriteram = state->m_spriteram->buffer();
|
||||||
int offs;
|
int offs;
|
||||||
const gfx_element *gfx = machine.gfx[3];
|
const gfx_element *gfx = machine.gfx[3];
|
||||||
|
|
||||||
for (offs = (machine.generic.spriteram_size - 8) / 2; offs >= 0; offs -= 4)
|
for (offs = (state->m_spriteram->bytes() - 8) / 2; offs >= 0; offs -= 4)
|
||||||
{
|
{
|
||||||
int tile_number = buffered_spriteram[offs] & 0x7ff;
|
int tile_number = buffered_spriteram[offs] & 0x7ff;
|
||||||
if( tile_number != 0x7ff )
|
if( tile_number != 0x7ff )
|
||||||
@ -259,14 +259,3 @@ SCREEN_UPDATE_IND16( bionicc )
|
|||||||
state->m_tx_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_tx_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCREEN_VBLANK( bionicc )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram16_w(space, 0, 0, 0xffff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -201,12 +201,12 @@ WRITE8_HANDLER( blktiger_screen_layout_w )
|
|||||||
|
|
||||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||||
{
|
{
|
||||||
// blktiger_state *state = machine.driver_data<blktiger_state>();
|
blktiger_state *state = machine.driver_data<blktiger_state>();
|
||||||
UINT8 *buffered_spriteram = machine.generic.buffered_spriteram.u8;
|
UINT8 *buffered_spriteram = state->m_spriteram->buffer();
|
||||||
int offs;
|
int offs;
|
||||||
|
|
||||||
/* Draw the sprites. */
|
/* Draw the sprites. */
|
||||||
for (offs = machine.generic.spriteram_size - 4;offs >= 0;offs -= 4)
|
for (offs = state->m_spriteram->bytes() - 4;offs >= 0;offs -= 4)
|
||||||
{
|
{
|
||||||
int attr = buffered_spriteram[offs+1];
|
int attr = buffered_spriteram[offs+1];
|
||||||
int sx = buffered_spriteram[offs + 3] - ((attr & 0x10) << 4);
|
int sx = buffered_spriteram[offs + 3] - ((attr & 0x10) << 4);
|
||||||
@ -250,14 +250,3 @@ SCREEN_UPDATE_IND16( blktiger )
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCREEN_VBLANK( blktiger )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram_w(space, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -184,8 +184,8 @@ SCREEN_UPDATE_RGB32( boogwing )
|
|||||||
UINT16 priority = decocomn_priority_r(state->m_decocomn, 0, 0xffff);
|
UINT16 priority = decocomn_priority_r(state->m_decocomn, 0, 0xffff);
|
||||||
|
|
||||||
/* Draw sprite planes to bitmaps for later mixing */
|
/* Draw sprite planes to bitmaps for later mixing */
|
||||||
screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram2.u16, 0x400, true);
|
screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, state->m_spriteram2->buffer(), 0x400, true);
|
||||||
screen.machine().device<decospr_device>("spritegen1")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram.u16, 0x400, true);
|
screen.machine().device<decospr_device>("spritegen1")->draw_sprites(bitmap, cliprect, state->m_spriteram->buffer(), 0x400, true);
|
||||||
|
|
||||||
flip_screen_set(screen.machine(), BIT(flip, 7));
|
flip_screen_set(screen.machine(), BIT(flip, 7));
|
||||||
deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll);
|
deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll);
|
||||||
|
@ -28,7 +28,8 @@ VIDEO_START( stoneage )
|
|||||||
/* The bootleg sprites are in a different format! */
|
/* The bootleg sprites are in a different format! */
|
||||||
static void cninjabl_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
static void cninjabl_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||||
{
|
{
|
||||||
UINT16 *buffered_spriteram = machine.generic.buffered_spriteram.u16;
|
cninja_state *state = machine.driver_data<cninja_state>();
|
||||||
|
UINT16 *buffered_spriteram = state->m_spriteram->buffer();
|
||||||
int offs;
|
int offs;
|
||||||
int endoffs;
|
int endoffs;
|
||||||
|
|
||||||
@ -140,7 +141,7 @@ SCREEN_UPDATE_IND16( cninja )
|
|||||||
deco16ic_tilemap_1_draw(state->m_deco_tilegen2, bitmap, cliprect, 0, 2);
|
deco16ic_tilemap_1_draw(state->m_deco_tilegen2, bitmap, cliprect, 0, 2);
|
||||||
deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, TILEMAP_DRAW_LAYER1, 2);
|
deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, TILEMAP_DRAW_LAYER1, 2);
|
||||||
deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, TILEMAP_DRAW_LAYER0, 4);
|
deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, TILEMAP_DRAW_LAYER0, 4);
|
||||||
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram.u16, 0x400);
|
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, state->m_spriteram->buffer(), 0x400);
|
||||||
deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
|
deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -184,7 +185,7 @@ SCREEN_UPDATE_IND16( edrandy )
|
|||||||
deco16ic_tilemap_2_draw(state->m_deco_tilegen2, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 1);
|
deco16ic_tilemap_2_draw(state->m_deco_tilegen2, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 1);
|
||||||
deco16ic_tilemap_1_draw(state->m_deco_tilegen2, bitmap, cliprect, 0, 2);
|
deco16ic_tilemap_1_draw(state->m_deco_tilegen2, bitmap, cliprect, 0, 2);
|
||||||
deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 4);
|
deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 4);
|
||||||
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram.u16, 0x400);
|
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, state->m_spriteram->buffer(), 0x400);
|
||||||
deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
|
deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -235,7 +236,7 @@ SCREEN_UPDATE_IND16( robocop2 )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram.u16, 0x400);
|
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, state->m_spriteram->buffer(), 0x400);
|
||||||
deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
|
deco16ic_tilemap_1_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -262,8 +263,8 @@ SCREEN_UPDATE_RGB32( mutantf )
|
|||||||
|
|
||||||
screen.machine().device<decospr_device>("spritegen1")->set_alt_format(true);
|
screen.machine().device<decospr_device>("spritegen1")->set_alt_format(true);
|
||||||
screen.machine().device<decospr_device>("spritegen2")->set_alt_format(true);
|
screen.machine().device<decospr_device>("spritegen2")->set_alt_format(true);
|
||||||
screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram2.u16, 0x400, true);
|
screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, state->m_spriteram2->buffer(), 0x400, true);
|
||||||
screen.machine().device<decospr_device>("spritegen1")->draw_sprites(bitmap, cliprect, screen.machine().generic.buffered_spriteram.u16, 0x400, true);
|
screen.machine().device<decospr_device>("spritegen1")->draw_sprites(bitmap, cliprect, state->m_spriteram->buffer(), 0x400, true);
|
||||||
|
|
||||||
|
|
||||||
/* There is no priority prom on this board, but there is a
|
/* There is no priority prom on this board, but there is a
|
||||||
|
@ -107,10 +107,11 @@ VIDEO_START( commando )
|
|||||||
|
|
||||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||||
{
|
{
|
||||||
UINT8 *buffered_spriteram = machine.generic.buffered_spriteram.u8;
|
commando_state *state = machine.driver_data<commando_state>();
|
||||||
|
UINT8 *buffered_spriteram = state->m_spriteram->buffer();
|
||||||
int offs;
|
int offs;
|
||||||
|
|
||||||
for (offs = machine.generic.spriteram_size - 4; offs >= 0; offs -= 4)
|
for (offs = state->m_spriteram->bytes() - 4; offs >= 0; offs -= 4)
|
||||||
{
|
{
|
||||||
// bit 1 of attr is not used
|
// bit 1 of attr is not used
|
||||||
int attr = buffered_spriteram[offs + 1];
|
int attr = buffered_spriteram[offs + 1];
|
||||||
@ -144,14 +145,3 @@ SCREEN_UPDATE_IND16( commando )
|
|||||||
state->m_fg_tilemap->draw(bitmap, cliprect, 0, 0);
|
state->m_fg_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCREEN_VBLANK( commando )
|
|
||||||
{
|
|
||||||
// rising edge
|
|
||||||
if (vblank_on)
|
|
||||||
{
|
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram_w(space, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -102,8 +102,8 @@ WRITE16_HANDLER( crshrace_gfxctrl_w )
|
|||||||
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect)
|
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
crshrace_state *state = machine.driver_data<crshrace_state>();
|
crshrace_state *state = machine.driver_data<crshrace_state>();
|
||||||
UINT16 *buffered_spriteram = machine.generic.buffered_spriteram.u16;
|
UINT16 *buffered_spriteram = state->m_spriteram->buffer();
|
||||||
UINT16 *buffered_spriteram_2 = machine.generic.buffered_spriteram2.u16;
|
UINT16 *buffered_spriteram_2 = state->m_spriteram2->buffer();
|
||||||
int offs;
|
int offs;
|
||||||
|
|
||||||
offs = 0;
|
offs = 0;
|
||||||
@ -219,12 +219,7 @@ SCREEN_UPDATE_IND16( crshrace )
|
|||||||
|
|
||||||
SCREEN_VBLANK( crshrace )
|
SCREEN_VBLANK( crshrace )
|
||||||
{
|
{
|
||||||
// rising edge
|
crshrace_state *state = screen.machine().driver_data<crshrace_state>();
|
||||||
if (vblank_on)
|
state->m_spriteram->vblank_copy_rising(screen, vblank_on);
|
||||||
{
|
state->m_spriteram2->vblank_copy_rising(screen, vblank_on);
|
||||||
address_space *space = screen.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
|
||||||
|
|
||||||
buffer_spriteram16_w(space, 0, 0, 0xffff);
|
|
||||||
buffer_spriteram16_2_w(space, 0, 0, 0xffff);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user