blob: be579c4ed32b90cd2e31848dc70aa5c58022caa0 (
plain) (
tree)
|
|
#define MASTER_CLOCK 57272700 // main oscillator frequency
/* Psikyo PS6406B */
#define FLIPSCREEN (((state->m_vidregs[3] & 0x0000c000) == 0x0000c000) ? 1:0)
#define DISPLAY_DISABLE (((state->m_vidregs[2] & 0x0000000f) == 0x00000006) ? 1:0)
#define BG_LARGE(n) (((state->m_vidregs[7] << (4*n)) & 0x00001000 ) ? 1:0)
#define BG_DEPTH_8BPP(n) (((state->m_vidregs[7] << (4*n)) & 0x00004000 ) ? 1:0)
#define BG_LAYER_ENABLE(n) (((state->m_vidregs[7] << (4*n)) & 0x00008000 ) ? 1:0)
#define BG_TYPE(n) (((state->m_vidregs[6] << (8*n)) & 0x7f000000 ) >> 24)
#define BG_LINE(n) (((state->m_vidregs[6] << (8*n)) & 0x80000000 ) ? 1:0)
#define BG_TRANSPEN MAKE_ARGB(0x00,0xff,0x00,0xff) // used for representing transparency in temporary bitmaps
#define SPRITE_PRI(n) (((state->m_vidregs[2] << (4*n)) & 0xf0000000 ) >> 28)
class psikyosh_state : public driver_device
{
public:
psikyosh_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
/* memory pointers */
UINT32 * m_bgram;
UINT32 * m_zoomram;
UINT32 * m_vidregs;
UINT32 * m_ram;
UINT32 * m_paletteram;
// UINT32 * m_spriteram; // currently this uses generic buffered spriteram
// size_t m_spriteram_size;
/* video-related */
bitmap_t *m_zoom_bitmap;
bitmap_t *m_z_bitmap;
bitmap_t *m_bg_bitmap;
UINT16 *m_bg_zoom;
UINT8 m_alphatable[256];
/* devices */
device_t *m_maincpu;
};
/*----------- defined in video/psikyosh.c -----------*/
VIDEO_START( psikyosh );
SCREEN_UPDATE( psikyosh );
SCREEN_EOF( psikyosh );
|