decbac06 - save ram properly, added a note about flipscreen behavior as a reminder for reimplementing flips on some of these games later (nw)

This commit is contained in:
David Haywood 2012-12-29 00:12:11 +00:00
parent e0c2dfd1b9
commit becc76adab
2 changed files with 23 additions and 0 deletions

View File

@ -171,6 +171,14 @@ void deco_bac06_device::device_start()
m_bppmult = 0x10;
m_bppmask = 0x0f;
m_rambank = 0;
save_pointer(NAME(pf_data), 0x4000/2);
save_pointer(NAME(pf_rowscroll), 0x2000/2);
save_pointer(NAME(pf_colscroll), 0x2000/2);
save_pointer(NAME(pf_control_0), 8);
save_pointer(NAME(pf_control_1), 8);
save_item(NAME(m_rambank));
}
void deco_bac06_device::device_reset()

View File

@ -24,7 +24,22 @@ public:
void deco_bac06_pf_draw(running_machine &machine,bitmap_ind16 &bitmap,const rectangle &cliprect,int flags,UINT16 penmask, UINT16 pencondition,UINT16 colprimask, UINT16 colpricondition);
void deco_bac06_pf_draw_bootleg(running_machine &machine,bitmap_ind16 &bitmap,const rectangle &cliprect,int flags, int mode, int type);
/* I wonder if pf_control_0 is really registers, or a selection of pins.
For games with multiple chips typically the flip bit only gets set on one of the chips, but
is expected to apply to both (and often the sprites as well?)
Furthermore we have the m_rambank thing used by Stadium Hero which appears to be used to
control the upper address line on some external RAM even if it gets written to the control_0
area
For now we have this get_flip_state function so that drivers can query the bit and set other
flip flags accordingly
*/
UINT8 get_flip_state(void) { return pf_control_0[0]&0x80; };
void set_colmask(int data) { m_gfxcolmask = data; }
void set_bppmultmask( int mult, int mask ) { m_bppmult = mult; m_bppmask = mask; } // stadium hero has 3bpp tiles
UINT8 m_gfxcolmask;