static INT32 DrvDraw() { if (DrvRecalc) { for (INT32 i = 0; i < 0x800; i+=2) { speedspn_palette_write(i); } DrvRecalc = 0; } if (*display_enable) { draw_layer(); draw_sprites(); } else { for (INT32 i = 0; i < nScreenWidth * nScreenHeight; i++) { pTransDraw[i] = black_color; } } BurnTransferCopy(DrvPalette); return 0; }
void __fastcall speedspn_main_write(UINT16 address, UINT8 data) { if ((address & 0xf800) == 0x8000) { address &= 0x7ff; if (data != DrvPalRAM[address]) { DrvPalRAM[address] = data; speedspn_palette_write(address & ~1); } } }
void __fastcall speedspn_main_write(unsigned short address, unsigned char data) { if ((address & 0xf800) == 0x8000) { address &= 0x7ff; if (data != DrvPalRAM[address]) { DrvPalRAM[address] = data; speedspn_palette_write(address & ~1); } } }