Exemple #1
0
/*
** The init, reset and shutdown functions
*/
void TMS9928A_reset () {
    int  i;

    for (i=0;i<8;i++) tms.Regs[i] = 0;
    tms.StatusReg = 0;
    tms.nametbl = tms.pattern = tms.colour = 0;
    tms.spritepattern = tms.spriteattribute = 0;
    tms.colourmask = tms.patternmask = 0;
    tms.Addr = tms.ReadAhead = tms.INT = 0;
    tms.mode = tms.BackColour = 0;
    tms.Change = 1;
    tms.FirstByte = 0;
	tms.latch = 0;
    _TMS9928A_set_dirty (1);
}
Exemple #2
0
/*
** The init, reset and shutdown functions
*/
void TMS9928A_reset (int which) {
	int  i;

	for (i=0;i<8;i++) tms[which].Regs[i] = 0;
	tms[which].StatusReg = 0;
	tms[which].nametbl = tms[which].pattern = tms[which].colour = 0;
	tms[which].spritepattern = tms[which].spriteattribute = 0;
	tms[which].colourmask = tms[which].patternmask = 0;
	tms[which].Addr = tms[which].ReadAhead = tms[which].INT = 0;
	tms[which].mode = tms[which].BackColour = 0;
	tms[which].Change = 1;
	tms[which].FirstByte = 0;
	tms[which].latch = 0;
	_TMS9928A_set_dirty (which,1);
}
Exemple #3
0
void TMS9928A_post_load (void) {
	int i;

	/* mark the screen as dirty */
	_TMS9928A_set_dirty (1);

	/* all registers need to be re-written, so tables are recalculated */
	for (i=0;i<8;i++)
		_TMS9928A_change_register (i, tms.Regs[i]);

	/* make sure the back ground colour is reset */
	tms.BackColour = -1;

	/* make sure the interrupt request is set properly */
	if (tms.INTCallback) tms.INTCallback (tms.INT);
}