--- trunk/src/devices/dev_sgi_gbe.c 2007/10/08 16:18:31 11 +++ trunk/src/devices/dev_sgi_gbe.c 2007/10/08 16:18:38 12 @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * - * $Id: dev_sgi_gbe.c,v 1.21 2005/02/11 09:29:48 debug Exp $ + * $Id: dev_sgi_gbe.c,v 1.26 2005/08/16 05:37:12 debug Exp $ * * SGI "gbe", graphics controller. Framebuffer. * Loosely inspired by Linux code. @@ -47,6 +47,9 @@ #define FAKE_GBE_FB_ADDRESS 0x38000000 #define GBE_DEBUG +/* #define debug fatal */ + +/* #define MTE_TEST */ #define GBE_DEFAULT_XRES 640 #define GBE_DEFAULT_YRES 480 @@ -87,17 +90,23 @@ unsigned char tileptr_buf[sizeof(uint16_t)]; uint64_t tileptr, tiletable; int lines_to_copy, pixels_per_line, y; - unsigned char buf[16384]; /* must be power of 2, at most 65536 */ + unsigned char buf[16384]; /* must be power of 2, at most 65536 */ int copy_len, copy_offset; uint64_t old_fb_offset = 0; int tweaked = 1; +#ifdef MTE_TEST +return; +#endif + /* debug("[ sgi_gbe: dev_sgi_gbe_tick() ]\n"); */ tiletable = (d->frm_control & 0xfffffe00); if (tiletable == 0) on_screen = 0; - +/* +tweaked = 0; +*/ while (on_screen) { /* Get pointer to a tile: */ cpu->memory_rw(cpu, cpu->mem, tiletable + @@ -155,7 +164,13 @@ cpu->memory_rw(cpu, cpu->mem, tileptr + 512 * y, buf, pixels_per_line * d->bitdepth / 8, MEM_READ, NO_EXCEPTIONS | PHYSICAL); - +#if 0 +{ +int i; +for (i=0; ibitdepth / 8; i++) + buf[i] ^= (random() & 0x20); +} +#endif dev_fb_access(cpu, cpu->mem, ((ybase + y) * d->xres + xbase) * d->bitdepth / 8, buf, pixels_per_line * d->bitdepth / 8, @@ -387,9 +402,11 @@ d->xres = GBE_DEFAULT_XRES; d->yres = GBE_DEFAULT_YRES; d->bitdepth = 8; +#if 0 d->control = 0x20aa000; /* or 0x00000001? */ +#endif d->fb_data = dev_fb_init(machine, mem, FAKE_GBE_FB_ADDRESS, - VFB_GENERIC, d->xres, d->yres, d->xres, d->yres, 8, "SGI GBE", 0); + VFB_GENERIC, d->xres, d->yres, d->xres, d->yres, 8, "SGI GBE"); set_grayscale_palette(d->fb_data, 256); memory_device_register(mem, "sgi_gbe", baseaddr, DEV_SGI_GBE_LENGTH,