| 558 | } |
| 559 | |
| 560 | static void lcd_write_crsr_delay() { |
| 561 | switch (control.cpuSpeed) { |
| 562 | case 0: |
| 563 | cpu.cycles += (9 - 2); |
| 564 | break; |
| 565 | case 1: |
| 566 | cpu.cycles += asic.serFlash ? (9 - 2) : (11 - 2); |
| 567 | break; |
| 568 | case 2: |
| 569 | cpu.cycles += asic.serFlash ? (11 - 2) : (13 - 2); |
| 570 | break; |
| 571 | case 3: |
| 572 | if (asic.serFlash) { |
| 573 | cpu.cycles += (14 - 2); |
| 574 | } else { |
| 575 | cpu.cycles += (16 - 2); |
| 576 | /* Align CPU to LCD clock */ |
| 577 | cpu.cycles |= 1; |
| 578 | } |
| 579 | break; |
| 580 | } |
| 581 | } |
| 582 | |
| 583 | static void lcd_write(const uint16_t pio, const uint8_t value, bool poke) { |
| 584 | uint16_t index = pio & 0xFFC; |