| 29 | }; |
| 30 | |
| 31 | static void Sync(void) { |
| 32 | if (mode & 2) { |
| 33 | setprg8(0x6000, ((bank & 7) << 2) | 0x23); |
| 34 | setprg16(0x8000, (bank << 1) | 0); |
| 35 | setprg16(0xC000, (bank << 1) | 1); |
| 36 | } else { |
| 37 | setprg8(0x6000, ((bank & 4) << 2) | 0x2F); |
| 38 | setprg16(0x8000, (bank << 1) | (mode >> 4)); |
| 39 | setprg16(0xC000, ((bank & 0xC) << 1) | 7); |
| 40 | } |
| 41 | if (mode == 0x12) |
| 42 | setmirror(MI_H); |
| 43 | else |
| 44 | setmirror(MI_V); |
| 45 | setchr8(0); |
| 46 | } |
| 47 | |
| 48 | static DECLFW(M51WriteMode) { |
| 49 | mode = V & 0x12; |