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); } }
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); }