forceinline note: this method is called from two locations, but one of them is the interpreter, which doesn't count. ;) So might as well forceinline it!
| 753 | // of them is the interpreter, which doesn't count. ;) So might as |
| 754 | // well forceinline it! |
| 755 | __fi void rcntUpdate() |
| 756 | { |
| 757 | rcntUpdate_vSync(); |
| 758 | // HBlank after as VSync can do error compensation |
| 759 | rcntUpdate_hScanline(); |
| 760 | |
| 761 | // Update counters so that we can perform overflow and target tests. |
| 762 | |
| 763 | for (int i = 0; i <= 3; i++) |
| 764 | { |
| 765 | rcntSyncCounter(i); |
| 766 | |
| 767 | if (counters[i].mode.ClockSource == 0x3 || !rcntCanCount(i)) // don't count hblank sources |
| 768 | continue; |
| 769 | |
| 770 | _cpuTestOverflow(i); |
| 771 | _cpuTestTarget(i); |
| 772 | } |
| 773 | |
| 774 | cpuRcntSet(); |
| 775 | } |
| 776 | |
| 777 | static __fi void _rcntSetGate(int index) |
| 778 | { |
no test coverage detected