Ejemplo n.º 1
0
static void NGP_z80_writebyte(uint16 address, uint8 value)
{
	if (address <= 0x0FFF)
	{
		storeB(0x7000 + address, value);
		return;
	}

	if (address == 0x8000)
	{
		CommByte = value;
		return;
	}

	if (address == 0x4001)	{	Write_SoundChipLeft(value); return; }
	if (address == 0x4000)	{	Write_SoundChipRight(value); return; }

	if (address == 0xC000)
	{
		TestIntHDMA(6, 0x0C);
	}
}
Ejemplo n.º 2
0
bool NGPGFX_CLASS::draw(MDFN_Surface *surface, bool skip)
{
	bool ret = 0;

        //Draw the scanline
        if (raster_line < SCREEN_HEIGHT && !skip)
        {
                if (!K2GE_MODE)        draw_scanline_colour(layer_enable, raster_line);
                else                   draw_scanline_mono(layer_enable, raster_line);

                uint32 *dest = surface->pixels + surface->pitch32 * raster_line;
                for(int x = 0; x < SCREEN_WIDTH; x++)
                 dest[x] = ColorMap[cfb_scanline[x] & 4095];
        }
	raster_line++;

        //V_Int?
        if (raster_line == SCREEN_HEIGHT)
        {
                        BLNK = 1;
                        ret = 1;

			if(CONTROL_INT & 0x80) // (statusIFF() <= 4
			 TestIntHDMA(5, 0x0B);
        }

        //End of V_Int
        if(raster_line == SCREEN_PERIOD + 1)     //Last scanline + 1
        {
         raster_line = 0;
	 C_OVR = 0;
	 BLNK = 0;
        }

	return(ret);
}