OSDN Git Service

[VM][FM7][DISPLAY] Fix for logging "[EVENT] EVENT: device (name=DISPLAY SUBSYSTEM...
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 13 Dec 2018 09:04:52 +0000 (18:04 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 13 Dec 2018 09:04:52 +0000 (18:04 +0900)
source/src/vm/fm7/display.cpp
source/src/vm/fm7/fm7_mainio.cpp

index 31deb36..7952848 100644 (file)
@@ -223,7 +223,6 @@ void DISPLAY::reset_some_devices()
 void DISPLAY::reset()
 {
        int i;
-       //printf("RESET\n");
        halt_flag = false;
        vram_accessflag = true;
        display_mode = DISPLAY_MODE_8_200L;
@@ -1488,15 +1487,15 @@ void DISPLAY::event_callback_vsync(void)
        //write_access_page = (write_access_page + 1) & 1;
        //displine = 0;
        
-       if((display_mode == DISPLAY_MODE_8_400L) || (display_mode == DISPLAY_MODE_1_400L)) {
-               usec = 0.33 * 1000.0; 
-       } else {
-               usec = 0.51 * 1000.0;
-       }
        call_write_signal(mainio, SIG_DISPLAY_VSYNC, 0x01, 0xff);
        call_write_signal(mainio, SIG_DISPLAY_DISPLAY, 0x00, 0xff);
+       //if((display_mode == DISPLAY_MODE_8_400L) || (display_mode == DISPLAY_MODE_1_400L)) {
+       //      usec = 0.33 * 1000.0; 
+       //} else {
+       //      usec = 0.51 * 1000.0;
+       //}
        //register_event(this, EVENT_FM7SUB_VSTART, usec, false, &vstart_event_id); // NEXT CYCLE_
-
+       vsync_event_id = -1; // Fix for logging "[EVENT] EVENT: device (name=DISPLAY SUBSYSTEM, id=25) tries to cancel event 6 that is not its own (owned by (name=PRINTER I/F id=20))!!!" 
        if(palette_changed) {
 #if defined(_FM77AV_VARIANTS)
                memcpy(analog_palette_pixel, analog_palette_pixel_tmp, sizeof(analog_palette_pixel));
index 34a85c5..128d663 100644 (file)
@@ -207,7 +207,6 @@ void FM7_MAINIO::reset()
        event_beep = -1;
        if(event_beep_oneshot >= 0) cancel_event(this, event_beep_oneshot);
        event_beep_oneshot = -1;
-       if(event_timerirq >= 0) cancel_event(this, event_timerirq);
        beep_snd = true;
        beep_flag = false;
        register_event(this, EVENT_BEEP_CYCLE, (1000.0 * 1000.0) / (1200.0 * 2.0), true, &event_beep);
@@ -331,6 +330,7 @@ void FM7_MAINIO::reset()
        do_irq();
 
 //#if !defined(_FM8)
+       if(event_timerirq >= 0) cancel_event(this, event_timerirq);
        register_event(this, EVENT_TIMERIRQ_ON, 10000.0 / 4.9152, true, &event_timerirq); // TIMER IRQ
 //#endif
 #if defined(_FM77_VARIANTS) || defined(_FM8)