X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftom.cpp;h=c98916ad13a552439e3d361d72bba82097335459;hb=4fc7c64eac42b571ee64ec693e6da1d5a458344f;hp=f1709e641c98660d7dae1d735008215b86ba576a;hpb=aaa37222bec76a065e74830b363e8c9dfa4709ae;p=virtualjaguar diff --git a/src/tom.cpp b/src/tom.cpp index f1709e6..c98916a 100644 --- a/src/tom.cpp +++ b/src/tom.cpp @@ -1,7 +1,7 @@ // // TOM Processing // -// by cal16 +// by cal2 // GCC/SDL port by Niels Wagenaar (Linux/WIN32) and Caz (BeOS) // Cleanups and endian wrongness amelioration by James L. Hammons // Note: Endian wrongness probably stems from the MAME origins of this emu and @@ -931,31 +931,6 @@ void tom_reset(void) tom_timer_counter = 0; memcpy(scanline_render, scanline_render_normal, sizeof(scanline_render)); } -////////////////////////////////////////////////////////////////////////////// -// -////////////////////////////////////////////////////////////////////////////// -// -// -// -// -// -// -////////////////////////////////////////////////////////////////////////////// -void tom_done(void) -{ -// fprintf(log_get(),"tom: done()\n"); - op_done(); - pcm_done(); - blitter_done(); - fprintf(log_get(), "tom: resolution %ix%i %s\n", tom_getVideoModeWidth(), tom_getVideoModeHeight(), - videoMode_to_str[tom_getVideoMode()]); -// fprintf(log_get(),"\ntom: object processor:\n"); -// fprintf(log_get(),"tom: pointer to object list: 0x%.8x\n",op_get_list_pointer()); -// fprintf(log_get(),"tom: INT1=0x%.2x%.2x\n",tom_byte_read(0xf000e0),tom_byte_read(0xf000e1)); - gpu_done(); - dsp_done(); - memory_free(tom_ram_8); -} // // TOM byte access (read) @@ -1199,58 +1174,22 @@ void tom_word_write(unsigned offset, unsigned data) } } } -////////////////////////////////////////////////////////////////////////////// -// -////////////////////////////////////////////////////////////////////////////// -// -// -// -// -// -// -////////////////////////////////////////////////////////////////////////////// + int tom_irq_enabled(int irq) { return jaguar_byte_read(0xF000E1) & (1 << irq); } -////////////////////////////////////////////////////////////////////////////// -// -////////////////////////////////////////////////////////////////////////////// -// -// -// -// -// -// -////////////////////////////////////////////////////////////////////////////// + void tom_set_irq_latch(int irq, int enabled) { tom_ram_8[0xE0] = (tom_ram_8[0xE0] & (~(1< 0) @@ -1289,3 +1219,21 @@ void tom_pit_exec(uint32 cycles) } } } + +void tom_done(void) +{ + fprintf(log_get(),"TOM: done() ...START\n"); + op_done(); + pcm_done(); +//This is killing the log for some reason, even though it doesn't do much of anything... +// blitter_done(); + fprintf(log_get(), "TOM: resolution %i x %i %s\n", tom_getVideoModeWidth(), tom_getVideoModeHeight(), + videoMode_to_str[tom_getVideoMode()]); +// fprintf(log_get(),"\ntom: object processor:\n"); +// fprintf(log_get(),"tom: pointer to object list: 0x%.8x\n",op_get_list_pointer()); +// fprintf(log_get(),"tom: INT1=0x%.2x%.2x\n",tom_byte_read(0xf000e0),tom_byte_read(0xf000e1)); + gpu_done(); + dsp_done(); + memory_free(tom_ram_8); + fprintf(log_get(),"TOM: done() ...END\n"); +}