abf09485 |
1 | /*************************************************************************** |
2 | * This program is free software; you can redistribute it and/or modify * |
3 | * it under the terms of the GNU General Public License as published by * |
4 | * the Free Software Foundation; either version 2 of the License, or * |
5 | * (at your option) any later version. * |
6 | * * |
7 | * This program is distributed in the hope that it will be useful, * |
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
10 | * GNU General Public License for more details. * |
11 | ***************************************************************************/ |
12 | |
13 | #include "gpu.h" |
14 | #include "psxdma.h" |
15 | |
16 | void gpu_state_change(int what) |
17 | { |
18 | enum psx_gpu_state state = what; |
19 | switch (state) |
20 | { |
21 | case PGS_VRAM_TRANSFER_START: |
f8896d18 |
22 | psxRegs.gpuIdleAfter = psxRegs.cycle + PSXCLK / 50; |
abf09485 |
23 | break; |
24 | case PGS_VRAM_TRANSFER_END: |
f8896d18 |
25 | psxRegs.gpuIdleAfter = psxRegs.cycle; |
abf09485 |
26 | break; |
27 | case PGS_PRIMITIVE_START: |
f8896d18 |
28 | psxRegs.gpuIdleAfter = psxRegs.cycle + 200; |
abf09485 |
29 | break; |
30 | } |
31 | } |