Video timing improvements :
- Separated read and write timings - Added timings for onboard video chips - Updated timings based on VIDSPEED testing
This commit is contained in:
parent
26fb271fdc
commit
475f51ba0f
5 changed files with 178 additions and 81 deletions
|
|
@ -333,8 +333,8 @@ void gd5429_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
uint8_t vala, valb, valc, vald, wm = svga->writemask;
|
||||
int writemask2 = svga->writemask;
|
||||
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_write_b;
|
||||
cycles_lost += video_timing_write_b;
|
||||
|
||||
egawrites++;
|
||||
|
||||
|
|
|
|||
|
|
@ -696,8 +696,8 @@ void ega_write(uint32_t addr, uint8_t val, void *p)
|
|||
int writemask2 = ega->writemask;
|
||||
|
||||
egawrites++;
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_write_b;
|
||||
cycles_lost += video_timing_write_b;
|
||||
|
||||
if (addr >= 0xB0000) addr &= 0x7fff;
|
||||
else addr &= 0xffff;
|
||||
|
|
@ -835,8 +835,8 @@ uint8_t ega_read(uint32_t addr, void *p)
|
|||
int readplane = ega->readplane;
|
||||
|
||||
egareads++;
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_read_b;
|
||||
cycles_lost += video_timing_read_b;
|
||||
// pclog("Readega %06X ",addr);
|
||||
if (addr >= 0xb0000) addr &= 0x7fff;
|
||||
else addr &= 0xffff;
|
||||
|
|
|
|||
|
|
@ -773,8 +773,8 @@ void svga_write(uint32_t addr, uint8_t val, void *p)
|
|||
|
||||
egawrites++;
|
||||
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_write_b;
|
||||
cycles_lost += video_timing_write_b;
|
||||
|
||||
if (svga_output) pclog("Writeega %06X ",addr);
|
||||
addr &= svga->banked_mask;
|
||||
|
|
@ -959,8 +959,8 @@ uint8_t svga_read(uint32_t addr, void *p)
|
|||
uint32_t latch_addr;
|
||||
int readplane = svga->readplane;
|
||||
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_read_b;
|
||||
cycles_lost += video_timing_read_b;
|
||||
|
||||
egareads++;
|
||||
// pclog("Readega %06X ",addr);
|
||||
|
|
@ -1035,8 +1035,8 @@ void svga_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
uint8_t vala, valb, valc, vald, wm = svga->writemask;
|
||||
int writemask2 = svga->writemask;
|
||||
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_write_b;
|
||||
cycles_lost += video_timing_write_b;
|
||||
|
||||
egawrites++;
|
||||
|
||||
|
|
@ -1217,8 +1217,8 @@ uint8_t svga_read_linear(uint32_t addr, void *p)
|
|||
uint8_t temp, temp2, temp3, temp4;
|
||||
int readplane = svga->readplane;
|
||||
|
||||
cycles -= video_timing_b;
|
||||
cycles_lost += video_timing_b;
|
||||
cycles -= video_timing_read_b;
|
||||
cycles_lost += video_timing_read_b;
|
||||
|
||||
egareads++;
|
||||
|
||||
|
|
@ -1311,8 +1311,8 @@ void svga_writew(uint32_t addr, uint16_t val, void *p)
|
|||
|
||||
egawrites += 2;
|
||||
|
||||
cycles -= video_timing_w;
|
||||
cycles_lost += video_timing_w;
|
||||
cycles -= video_timing_write_w;
|
||||
cycles_lost += video_timing_write_w;
|
||||
|
||||
if (svga_output) pclog("svga_writew: %05X ", addr);
|
||||
addr = (addr & svga->banked_mask) + svga->write_bank;
|
||||
|
|
@ -1340,8 +1340,8 @@ void svga_writel(uint32_t addr, uint32_t val, void *p)
|
|||
|
||||
egawrites += 4;
|
||||
|
||||
cycles -= video_timing_l;
|
||||
cycles_lost += video_timing_l;
|
||||
cycles -= video_timing_write_l;
|
||||
cycles_lost += video_timing_write_l;
|
||||
|
||||
if (svga_output) pclog("svga_writel: %05X ", addr);
|
||||
addr = (addr & svga->banked_mask) + svga->write_bank;
|
||||
|
|
@ -1364,8 +1364,8 @@ uint16_t svga_readw(uint32_t addr, void *p)
|
|||
|
||||
egareads += 2;
|
||||
|
||||
cycles -= video_timing_w;
|
||||
cycles_lost += video_timing_w;
|
||||
cycles -= video_timing_read_w;
|
||||
cycles_lost += video_timing_read_w;
|
||||
|
||||
// pclog("Readw %05X ", addr);
|
||||
addr = (addr & svga->banked_mask) + svga->read_bank;
|
||||
|
|
@ -1386,8 +1386,8 @@ uint32_t svga_readl(uint32_t addr, void *p)
|
|||
|
||||
egareads += 4;
|
||||
|
||||
cycles -= video_timing_l;
|
||||
cycles_lost += video_timing_l;
|
||||
cycles -= video_timing_read_l;
|
||||
cycles_lost += video_timing_read_l;
|
||||
|
||||
// pclog("Readl %05X ", addr);
|
||||
addr = (addr & svga->banked_mask) + svga->read_bank;
|
||||
|
|
@ -1412,8 +1412,8 @@ void svga_writew_linear(uint32_t addr, uint16_t val, void *p)
|
|||
|
||||
egawrites += 2;
|
||||
|
||||
cycles -= video_timing_w;
|
||||
cycles_lost += video_timing_w;
|
||||
cycles -= video_timing_write_w;
|
||||
cycles_lost += video_timing_write_w;
|
||||
|
||||
if (svga_output) pclog("Write LFBw %08X %04X\n", addr, val);
|
||||
addr &= svga->decode_mask;
|
||||
|
|
@ -1439,8 +1439,8 @@ void svga_writel_linear(uint32_t addr, uint32_t val, void *p)
|
|||
|
||||
egawrites += 4;
|
||||
|
||||
cycles -= video_timing_l;
|
||||
cycles_lost += video_timing_l;
|
||||
cycles -= video_timing_write_l;
|
||||
cycles_lost += video_timing_write_l;
|
||||
|
||||
if (svga_output) pclog("Write LFBl %08X %08X\n", addr, val);
|
||||
addr &= svga->decode_mask;
|
||||
|
|
@ -1460,8 +1460,8 @@ uint16_t svga_readw_linear(uint32_t addr, void *p)
|
|||
|
||||
egareads += 2;
|
||||
|
||||
cycles -= video_timing_w;
|
||||
cycles_lost += video_timing_w;
|
||||
cycles -= video_timing_read_w;
|
||||
cycles_lost += video_timing_read_w;
|
||||
|
||||
addr &= svga->decode_mask;
|
||||
if (addr >= svga->vram_max)
|
||||
|
|
@ -1479,8 +1479,8 @@ uint32_t svga_readl_linear(uint32_t addr, void *p)
|
|||
|
||||
egareads += 4;
|
||||
|
||||
cycles -= video_timing_l;
|
||||
cycles_lost += video_timing_l;
|
||||
cycles -= video_timing_read_l;
|
||||
cycles_lost += video_timing_read_l;
|
||||
|
||||
addr &= svga->decode_mask;
|
||||
if (addr >= svga->vram_max)
|
||||
|
|
|
|||
196
src/video.c
196
src/video.c
|
|
@ -50,50 +50,66 @@ enum
|
|||
VIDEO_BUS
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int write_b, write_w, write_l;
|
||||
int read_b, read_w, read_l;
|
||||
} video_timings_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char name[64];
|
||||
char internal_name[24];
|
||||
device_t *device;
|
||||
int legacy_id;
|
||||
struct
|
||||
{
|
||||
int type;
|
||||
int b, w, l;
|
||||
} timing;
|
||||
video_timings_t timing;
|
||||
} VIDEO_CARD;
|
||||
|
||||
static VIDEO_CARD video_cards[] =
|
||||
{
|
||||
{"ATI Graphics Pro Turbo (Mach64 GX)", "mach64gx", &mach64gx_device, GFX_MACH64GX, {VIDEO_BUS, 4, 8, 16}},
|
||||
{"ATI Video Xpression (Mach64 VT2)", "mach64vt2", &mach64vt2_device, GFX_MACH64VT2, {VIDEO_BUS, 3, 3, 4}},
|
||||
{"ATI VGA Charger (ATI-28800)", "ati28800", &ati28800_device, GFX_VGACHARGER, {VIDEO_ISA, 3, 3, 6}},
|
||||
{"ATI VGA Edge-16 (ATI-18800)", "ati18800", &ati18800_device, GFX_VGAEDGE16, {VIDEO_ISA, 3, 3, 6}},
|
||||
{"CGA", "cga", &cga_device, GFX_CGA, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"Cirrus Logic CL-GD5429", "cl_gd5429", &gd5429_device, GFX_CL_GD5429, {VIDEO_ISA, 3, 3, 6}},
|
||||
{"Diamond Stealth 32 (Tseng ET4000/w32p)", "stealth32", &et4000w32p_device, GFX_ET4000W32, {VIDEO_BUS, 4, 5, 10}},
|
||||
{"Diamond Stealth 3D 2000 (S3 ViRGE)", "stealth3d_2000", &s3_virge_device, GFX_VIRGE, {VIDEO_BUS, 3, 5, 10}},
|
||||
{"EGA", "ega", &ega_device, GFX_EGA, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"Hercules", "hercules", &hercules_device, GFX_HERCULES, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"Hercules InColor", "incolor", &incolor_device, GFX_INCOLOR, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"MDA", "mda", &mda_device, GFX_MDA, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"MDSI Genius", "genius", &genius_device, GFX_GENIUS, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"Number Nine 9FX (S3 Trio64)", "n9_9fx", &s3_9fx_device, GFX_N9_9FX, {VIDEO_BUS, 3, 5, 10}},
|
||||
{"OAK OTI-067", "oti067", &oti067_device, GFX_OTI067, {VIDEO_ISA, 6, 8, 16}},
|
||||
{"Olivetti GO481 (Paradise PVGA1A)", "olivetti_go481", ¶dise_pvga1a_oli_go481_device, GFX_OLIVETTI_GO481, {VIDEO_ISA, 6, 8, 16}},
|
||||
{"Paradise Bahamas 64 (S3 Vision864)", "bahamas64", &s3_bahamas64_device, GFX_BAHAMAS64, {VIDEO_BUS, 4, 5, 10}},
|
||||
{"Phoenix S3 Trio32", "px_trio32", &s3_phoenix_trio32_device, GFX_PHOENIX_TRIO32, {VIDEO_BUS, 4, 5, 10}},
|
||||
{"Phoenix S3 Trio64", "px_trio64", &s3_phoenix_trio64_device, GFX_PHOENIX_TRIO64, {VIDEO_BUS, 3, 5, 10}},
|
||||
{"Plantronics ColorPlus", "plantronics", &colorplus_device, GFX_COLORPLUS, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"S3 ViRGE/DX", "virge375", &s3_virge_375_device, GFX_VIRGEDX, {VIDEO_BUS, 2, 3, 4}},
|
||||
{"Trident TVGA8900D", "tvga8900d", &tvga8900d_device, GFX_TVGA, {VIDEO_ISA, 3, 3, 6}},
|
||||
{"Tseng ET4000AX", "et4000ax", &et4000_device, GFX_ET4000, {VIDEO_ISA, 3, 3, 6}},
|
||||
{"Trident TGUI9440", "tgui9440", &tgui9440_device, GFX_TGUI9440, {VIDEO_BUS, 4, 8, 16}},
|
||||
{"VGA", "vga", &vga_device, GFX_VGA, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"Wyse 700", "wy700", &wy700_device, GFX_WY700, {VIDEO_ISA, 8, 16, 32}},
|
||||
{"ATI Graphics Pro Turbo (Mach64 GX)", "mach64gx", &mach64gx_device, GFX_MACH64GX, {VIDEO_BUS, 2, 2, 1, 20, 20, 21}},
|
||||
{"ATI Video Xpression (Mach64 VT2)", "mach64vt2", &mach64vt2_device, GFX_MACH64VT2, {VIDEO_BUS, 2, 2, 1, 20, 20, 21}},
|
||||
{"ATI VGA Charger (ATI-28800)", "ati28800", &ati28800_device, GFX_VGACHARGER, {VIDEO_ISA, 3, 3, 6, 5, 5, 10}},
|
||||
{"ATI VGA Edge-16 (ATI-18800)", "ati18800", &ati18800_device, GFX_VGAEDGE16, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"CGA", "cga", &cga_device, GFX_CGA, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"Cirrus Logic CL-GD5429", "cl_gd5429", &gd5429_device, GFX_CL_GD5429, {VIDEO_ISA, 3, 3, 6, 3, 3, 6}},
|
||||
{"Diamond Stealth 32 (Tseng ET4000/w32p)", "stealth32", &et4000w32p_device, GFX_ET4000W32, {VIDEO_BUS, 4, 4, 4, 10, 10, 10}},
|
||||
{"Diamond Stealth 3D 2000 (S3 ViRGE)", "stealth3d_2000", &s3_virge_device, GFX_VIRGE, {VIDEO_BUS, 2, 2, 3, 28, 28, 45}},
|
||||
{"EGA", "ega", &ega_device, GFX_EGA, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"Hercules", "hercules", &hercules_device, GFX_HERCULES, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"Hercules InColor", "incolor", &incolor_device, GFX_INCOLOR, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"MDA", "mda", &mda_device, GFX_MDA, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"MDSI Genius", "genius", &genius_device, GFX_GENIUS, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"Number Nine 9FX (S3 Trio64)", "n9_9fx", &s3_9fx_device, GFX_N9_9FX, {VIDEO_BUS, 3, 2, 4, 25, 25, 40}},
|
||||
{"OAK OTI-067", "oti067", &oti067_device, GFX_OTI067, {VIDEO_ISA, 6, 8, 16, 6, 8, 16}},
|
||||
{"Olivetti GO481 (Paradise PVGA1A)", "olivetti_go481", ¶dise_pvga1a_oli_go481_device, GFX_OLIVETTI_GO481, {VIDEO_ISA, 6, 8, 16, 6, 8, 16}},
|
||||
{"Paradise Bahamas 64 (S3 Vision864)", "bahamas64", &s3_bahamas64_device, GFX_BAHAMAS64, {VIDEO_BUS, 4, 4, 5, 20, 20, 35}},
|
||||
{"Phoenix S3 Trio32", "px_trio32", &s3_phoenix_trio32_device, GFX_PHOENIX_TRIO32, {VIDEO_BUS, 3, 2, 4, 25, 25, 40}},
|
||||
{"Phoenix S3 Trio64", "px_trio64", &s3_phoenix_trio64_device, GFX_PHOENIX_TRIO64, {VIDEO_BUS, 3, 2, 4, 25, 25, 40}},
|
||||
{"Plantronics ColorPlus", "plantronics", &colorplus_device, GFX_COLORPLUS, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"S3 ViRGE/DX", "virge375", &s3_virge_375_device, GFX_VIRGEDX, {VIDEO_BUS, 2, 2, 3, 28, 28, 45}},
|
||||
{"Trident TVGA8900D", "tvga8900d", &tvga8900d_device, GFX_TVGA, {VIDEO_ISA, 3, 3, 6, 8, 8, 12}},
|
||||
{"Tseng ET4000AX", "et4000ax", &et4000_device, GFX_ET4000, {VIDEO_ISA, 3, 3, 6, 5, 5, 10}},
|
||||
{"Trident TGUI9440", "tgui9440", &tgui9440_device, GFX_TGUI9440, {VIDEO_BUS, 4, 8, 16, 4, 8, 16}},
|
||||
{"VGA", "vga", &vga_device, GFX_VGA, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"Wyse 700", "wy700", &wy700_device, GFX_WY700, {VIDEO_ISA, 8, 16, 32, 8, 16, 32}},
|
||||
{"", "", NULL, 0}
|
||||
};
|
||||
|
||||
static video_timings_t timing_dram = {VIDEO_BUS, 0,0,0, 0,0,0}; /*No additional waitstates*/
|
||||
static video_timings_t timing_pc1512 = {VIDEO_BUS, 0,0,0, 0,0,0}; /*PC1512 video code handles waitstates itself*/
|
||||
static video_timings_t timing_pc1640 = {VIDEO_ISA, 8,16,32, 8,16,32};
|
||||
static video_timings_t timing_pc200 = {VIDEO_ISA, 8,16,32, 8,16,32};
|
||||
static video_timings_t timing_m24 = {VIDEO_ISA, 8,16,32, 8,16,32};
|
||||
static video_timings_t timing_pvga1a = {VIDEO_ISA, 6, 8,16, 6, 8,16};
|
||||
static video_timings_t timing_wd90c11 = {VIDEO_ISA, 3, 3, 6, 5, 5,10};
|
||||
static video_timings_t timing_oti067 = {VIDEO_ISA, 6, 8,16, 6, 8,16};
|
||||
static video_timings_t timing_vga = {VIDEO_ISA, 8,16,32, 8,16,32};
|
||||
static video_timings_t timing_ps1_svga = {VIDEO_ISA, 6, 8,16, 6, 8,16};
|
||||
static video_timings_t timing_t3100e = {VIDEO_ISA, 8,16,32, 8,16,32};
|
||||
static video_timings_t timing_t1000 = {VIDEO_ISA, 8,16,32, 8,16,32};
|
||||
|
||||
int video_card_available(int card)
|
||||
{
|
||||
if (video_cards[card].device)
|
||||
|
|
@ -236,43 +252,123 @@ void video_updatetiming()
|
|||
{
|
||||
if (video_speed == -1)
|
||||
{
|
||||
int new_gfxcard = video_old_to_new(gfxcard);
|
||||
video_timings_t *timing;
|
||||
int new_gfxcard = 0;
|
||||
|
||||
if (video_cards[new_gfxcard].timing.type == VIDEO_ISA)
|
||||
switch (romset)
|
||||
{
|
||||
case ROM_IBMPCJR:
|
||||
case ROM_TANDY:
|
||||
case ROM_TANDY1000HX:
|
||||
case ROM_TANDY1000SL2:
|
||||
timing = &timing_dram;
|
||||
break;
|
||||
|
||||
case ROM_PC1512:
|
||||
timing = &timing_pc1512;
|
||||
break;
|
||||
|
||||
case ROM_PC1640:
|
||||
timing = &timing_pc1640;
|
||||
break;
|
||||
|
||||
case ROM_PC200:
|
||||
timing = &timing_pc200;
|
||||
break;
|
||||
|
||||
case ROM_OLIM24:
|
||||
timing = &timing_m24;
|
||||
break;
|
||||
|
||||
case ROM_PC2086:
|
||||
case ROM_PC3086:
|
||||
timing = &timing_pvga1a;
|
||||
break;
|
||||
|
||||
case ROM_MEGAPC:
|
||||
timing = &timing_wd90c11;
|
||||
break;
|
||||
|
||||
case ROM_ACER386:
|
||||
timing = &timing_oti067;
|
||||
break;
|
||||
|
||||
case ROM_IBMPS1_2011:
|
||||
case ROM_IBMPS2_M30_286:
|
||||
case ROM_IBMPS2_M50:
|
||||
case ROM_IBMPS2_M55SX:
|
||||
case ROM_IBMPS2_M80:
|
||||
timing = &timing_vga;
|
||||
break;
|
||||
|
||||
case ROM_IBMPS1_2121:
|
||||
timing = &timing_ps1_svga;
|
||||
break;
|
||||
|
||||
case ROM_T3100E:
|
||||
timing = &timing_t3100e;
|
||||
break;
|
||||
|
||||
case ROM_T1000:
|
||||
timing = &timing_t1000;
|
||||
break;
|
||||
|
||||
default:
|
||||
new_gfxcard = video_old_to_new(gfxcard);
|
||||
timing = &video_cards[new_gfxcard].timing;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (timing->type == VIDEO_ISA)
|
||||
{
|
||||
video_timing_b = (int)(isa_timing * video_cards[new_gfxcard].timing.b);
|
||||
video_timing_w = (int)(isa_timing * video_cards[new_gfxcard].timing.w);
|
||||
video_timing_l = (int)(isa_timing * video_cards[new_gfxcard].timing.l);
|
||||
video_timing_read_b = ISA_CYCLES(timing->read_b);
|
||||
video_timing_read_w = ISA_CYCLES(timing->read_w);
|
||||
video_timing_read_l = ISA_CYCLES(timing->read_l);
|
||||
video_timing_write_b = ISA_CYCLES(timing->write_b);
|
||||
video_timing_write_w = ISA_CYCLES(timing->write_w);
|
||||
video_timing_write_l = ISA_CYCLES(timing->write_l);
|
||||
}
|
||||
else
|
||||
{
|
||||
video_timing_b = (int)(bus_timing * video_cards[new_gfxcard].timing.b);
|
||||
video_timing_w = (int)(bus_timing * video_cards[new_gfxcard].timing.w);
|
||||
video_timing_l = (int)(bus_timing * video_cards[new_gfxcard].timing.l);
|
||||
video_timing_read_b = (int)(bus_timing * timing->read_b);
|
||||
video_timing_read_w = (int)(bus_timing * timing->read_w);
|
||||
video_timing_read_l = (int)(bus_timing * timing->read_l);
|
||||
video_timing_write_b = (int)(bus_timing * timing->write_b);
|
||||
video_timing_write_w = (int)(bus_timing * timing->write_w);
|
||||
video_timing_write_l = (int)(bus_timing * timing->write_l);
|
||||
}
|
||||
if (cpu_16bitbus)
|
||||
video_timing_l = video_timing_w * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (video_timing[video_speed][0] == VIDEO_ISA)
|
||||
{
|
||||
video_timing_b = (int)(isa_timing * video_timing[video_speed][1]);
|
||||
video_timing_w = (int)(isa_timing * video_timing[video_speed][2]);
|
||||
video_timing_l = (int)(isa_timing * video_timing[video_speed][3]);
|
||||
video_timing_read_b = ISA_CYCLES(video_timing[video_speed][1]);
|
||||
video_timing_read_w = ISA_CYCLES(video_timing[video_speed][2]);
|
||||
video_timing_read_l = ISA_CYCLES(video_timing[video_speed][3]);
|
||||
video_timing_write_b = ISA_CYCLES(video_timing[video_speed][1]);
|
||||
video_timing_write_w = ISA_CYCLES(video_timing[video_speed][2]);
|
||||
video_timing_write_l = ISA_CYCLES(video_timing[video_speed][3]);
|
||||
}
|
||||
else
|
||||
{
|
||||
video_timing_b = (int)(bus_timing * video_timing[video_speed][1]);
|
||||
video_timing_w = (int)(bus_timing * video_timing[video_speed][2]);
|
||||
video_timing_l = (int)(bus_timing * video_timing[video_speed][3]);
|
||||
video_timing_read_b = (int)(bus_timing * video_timing[video_speed][1]);
|
||||
video_timing_read_w = (int)(bus_timing * video_timing[video_speed][2]);
|
||||
video_timing_read_l = (int)(bus_timing * video_timing[video_speed][3]);
|
||||
video_timing_write_b = (int)(bus_timing * video_timing[video_speed][1]);
|
||||
video_timing_write_w = (int)(bus_timing * video_timing[video_speed][2]);
|
||||
video_timing_write_l = (int)(bus_timing * video_timing[video_speed][3]);
|
||||
}
|
||||
if (cpu_16bitbus)
|
||||
video_timing_l = video_timing_w * 2;
|
||||
}
|
||||
if (cpu_16bitbus)
|
||||
{
|
||||
video_timing_read_l = video_timing_read_w * 2;
|
||||
video_timing_write_l = video_timing_write_w * 2;
|
||||
}
|
||||
}
|
||||
|
||||
int video_timing_b, video_timing_w, video_timing_l;
|
||||
int video_timing_read_b, video_timing_read_w, video_timing_read_l;
|
||||
int video_timing_write_b, video_timing_write_w, video_timing_write_l;
|
||||
|
||||
int video_res_x, video_res_y, video_bpp;
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,8 @@ void video_blit_memtoscreen(int x, int y, int y1, int y2, int w, int h);
|
|||
|
||||
extern void (*video_blit_memtoscreen_func)(int x, int y, int y1, int y2, int w, int h);
|
||||
|
||||
extern int video_timing_b, video_timing_w, video_timing_l;
|
||||
extern int video_timing_read_b, video_timing_read_w, video_timing_read_l;
|
||||
extern int video_timing_write_b, video_timing_write_w, video_timing_write_l;
|
||||
extern int video_speed;
|
||||
|
||||
extern int video_res_x, video_res_y, video_bpp;
|
||||
|
|
|
|||
Loading…
Reference in a new issue