mirror of
https://github.com/holub/mame
synced 2025-05-23 22:20:01 +03:00
Improved visible area stuff, not worth
This commit is contained in:
parent
8f829c7f11
commit
47fe4cd04b
@ -38,7 +38,7 @@
|
||||
|
||||
static const int page_sizes[4] = { 4096, 8192, 16384, 32768 };
|
||||
|
||||
#define IOC_LOG 1
|
||||
#define IOC_LOG 0
|
||||
|
||||
UINT32 *archimedes_memc_physmem;
|
||||
static UINT32 memc_pagesize;
|
||||
@ -589,7 +589,15 @@ READ32_HANDLER(archimedes_ioc_r)
|
||||
logerror("IOC: Internal Podule Read\n");
|
||||
return 0xffff;
|
||||
case 5:
|
||||
switch(ioc_addr & 0xfffc)
|
||||
{
|
||||
#ifdef MESS
|
||||
case 0x50: return 0; //fdc type, new model returns 5 here
|
||||
#endif
|
||||
}
|
||||
|
||||
logerror("IOC: Internal Latches Read %08x\n",ioc_addr);
|
||||
|
||||
return 0xffff;
|
||||
}
|
||||
}
|
||||
@ -663,7 +671,7 @@ WRITE32_HANDLER(archimedes_ioc_w)
|
||||
}
|
||||
|
||||
|
||||
logerror("I/O: W %x @ %x (mask %08x)\n", data, (offset*4)+0x3000000, mem_mask);
|
||||
logerror("(PC=%08x) I/O: W %x @ %x (mask %08x)\n", cpu_get_pc(space->cpu), data, (offset*4)+0x3000000, mem_mask);
|
||||
}
|
||||
|
||||
READ32_HANDLER(archimedes_vidc_r)
|
||||
@ -737,10 +745,10 @@ WRITE32_HANDLER(archimedes_vidc_w)
|
||||
{
|
||||
case VIDC_HCR: vidc_regs[VIDC_HCR] = ((val >> 14)<<1)+1; break;
|
||||
// case VIDC_HSWR: vidc_regs[VIDC_HSWR] = (val >> 14)+1; break;
|
||||
case VIDC_HBSR: vidc_regs[VIDC_HBSR] = (val >> 14)+1; break;
|
||||
case VIDC_HBSR: vidc_regs[VIDC_HBSR] = ((val >> 14)<<1)+1; break;
|
||||
case VIDC_HDSR: vidc_regs[VIDC_HDSR] = (val >> 14); break;
|
||||
case VIDC_HDER: vidc_regs[VIDC_HDER] = (val >> 14); break;
|
||||
case VIDC_HBER: vidc_regs[VIDC_HBER] = (val >> 14)+1; break;
|
||||
case VIDC_HBER: vidc_regs[VIDC_HBER] = ((val >> 14)<<1)+1; break;
|
||||
// #define VIDC_HCSR 0x98
|
||||
// #define VIDC_HIR 0x9c
|
||||
|
||||
@ -844,7 +852,7 @@ WRITE32_HANDLER(archimedes_memc_w)
|
||||
case 7: /* Control */
|
||||
memc_pagesize = ((data>>2) & 3);
|
||||
|
||||
logerror("MEMC: %x to Control (page size %d, %s, %s)\n", data & 0x1ffc, page_sizes[memc_pagesize], ((data>>10)&1) ? "Video DMA on" : "Video DMA off", ((data>>11)&1) ? "Sound DMA on" : "Sound DMA off");
|
||||
logerror("(PC = %08x) MEMC: %x to Control (page size %d, %s, %s)\n", cpu_get_pc(space->cpu), data & 0x1ffc, page_sizes[memc_pagesize], ((data>>10)&1) ? "Video DMA on" : "Video DMA off", ((data>>11)&1) ? "Sound DMA on" : "Sound DMA off");
|
||||
|
||||
video_dma_on = ((data>>10)&1);
|
||||
|
||||
@ -954,6 +962,6 @@ WRITE32_HANDLER(archimedes_memc_page_w)
|
||||
// now go ahead and set the mapping in the page table
|
||||
memc_pages[log] = phys + (memc*0x80);
|
||||
|
||||
// printf("MEMC_PAGE(%d): W %08x: log %x to phys %x, MEMC %d, perms %d\n", memc_pagesize, data, log, phys, memc, perms);
|
||||
printf("PC=%08x = MEMC_PAGE(%d): W %08x: log %x to phys %x, MEMC %d, perms %d\n", cpu_get_pc(space->cpu),memc_pagesize, data, log, phys, memc, perms);
|
||||
}
|
||||
|
||||
|
@ -15,14 +15,20 @@ VIDEO_UPDATE( archimds_vidc )
|
||||
{
|
||||
int xstart,ystart,xend,yend;
|
||||
int res_x,res_y;
|
||||
int calc_dxs = 0,calc_dxe = 0;
|
||||
const UINT8 x_step[4] = { 5, 7, 11, 19 };
|
||||
|
||||
/* border color */
|
||||
bitmap_fill(bitmap, cliprect, screen->machine->pens[0x10]);
|
||||
|
||||
/* display area x/y */
|
||||
xstart = vidc_regs[VIDC_HBSR]-vidc_regs[VIDC_HDSR];
|
||||
ystart = vidc_regs[VIDC_VBSR]-vidc_regs[VIDC_VDSR];
|
||||
xend = vidc_regs[VIDC_HDER]+xstart;
|
||||
/* define X display area thru BPP mode register */
|
||||
calc_dxs = (vidc_regs[VIDC_HDSR]*2)+x_step[vidc_bpp_mode & 3];
|
||||
calc_dxe = (vidc_regs[VIDC_HDER]*2)+x_step[vidc_bpp_mode & 3];
|
||||
|
||||
/* now calculate display clip rectangle start/end areas */
|
||||
xstart = (calc_dxs)-vidc_regs[VIDC_HBSR];
|
||||
ystart = (vidc_regs[VIDC_VDSR])-vidc_regs[VIDC_VBSR];
|
||||
xend = (calc_dxe)+xstart;
|
||||
yend = vidc_regs[VIDC_VDER]+ystart;
|
||||
|
||||
/* disable the screen if display params are invalid */
|
||||
|
Loading…
Reference in New Issue
Block a user