Previous 15994 Revisions Next

r11549 Sunday 15th May, 2011 at 13:15:12 UTC by Angelo Salese
Implemented proper Sharp X1 pixel clock divider [Angelo Salese]
[src/mess/drivers]x1.c

src/mess/drivers/x1.c
r11548r11549
13771377   {
13781378      state->m_crtc_vreg[state->m_crtc_index] = data;
13791379      mc6845_register_w(space->machine().device("crtc"), 0,data);
1380
1381      /* double pump the pixel clock if we are in 640 x 200 mode */
1382      mc6845_set_clock(space->machine().device("crtc"), (space->machine().primary_screen->width() < 640) ? VDP_CLOCK/48 : VDP_CLOCK/24);
13831380   }
13841381}
13851382
r11548r11549
19291926   //printf("PPI Port C read\n");
19301927   /*
19311928    x--- ---- Printer port output
1932    -x-- ---- 320 mode (r/w)
1929    -x-- ---- 320 mode (r/w), divider for the pixel clock
19331930    --x- ---- i/o mode (r/w)
19341931    ---x ---- smooth scroll enabled (?)
19351932    ---- ---x cassette output data
r11548r11549
19521949   x1_state *state = device->machine().driver_data<x1_state>();
19531950   state->m_hres_320 = data & 0x40;
19541951
1952   /* set up the pixel clock according to the above divider */
1953   mc6845_set_clock(device->machine().device("crtc"), VDP_CLOCK/((state->m_hres_320) ? 48 : 24));
1954
19551955   if(((data & 0x20) == 0) && (state->m_io_switch & 0x20))
19561956      state->m_io_bank_mode = 1;
19571957

Previous 15994 Revisions Next


© 1998-2018 The MESS Team