MCPcopy Create free account
hub / github.com/TASEmulators/fceux / Sync

Function Sync

src/boards/28.cpp:54–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52
53
54static void Sync()
55{
56 int prglo = 0;
57 int prghi = 0;
58
59 int outb = outer << 1;
60 //this can probably be rolled up, but i have no motivation to do so
61 //until it's been tested
62 switch (mode & 0x3c)
63 {
64 //32K modes
65 case 0x00:
66 case 0x04:
67 prglo = outb;
68 prghi = outb | 1;
69 break;
70 case 0x10:
71 case 0x14:
72 prglo = outb & ~2 | prg << 1 & 2;
73 prghi = outb & ~2 | prg << 1 & 2 | 1;
74 break;
75 case 0x20:
76 case 0x24:
77 prglo = outb & ~6 | prg << 1 & 6;
78 prghi = outb & ~6 | prg << 1 & 6 | 1;
79 break;
80 case 0x30:
81 case 0x34:
82 prglo = outb & ~14 | prg << 1 & 14;
83 prghi = outb & ~14 | prg << 1 & 14 | 1;
84 break;
85 //bottom fixed modes
86 case 0x08:
87 prglo = outb;
88 prghi = outb | prg & 1;
89 break;
90 case 0x18:
91 prglo = outb;
92 prghi = outb & ~2 | prg & 3;
93 break;
94 case 0x28:
95 prglo = outb;
96 prghi = outb & ~6 | prg & 7;
97 break;
98 case 0x38:
99 prglo = outb;
100 prghi = outb & ~14 | prg & 15;
101 break;
102 //top fixed modes
103 case 0x0c:
104 prglo = outb | prg & 1;
105 prghi = outb | 1;
106 break;
107 case 0x1c:
108 prglo = outb & ~2 | prg & 3;
109 prghi = outb | 1;
110 break;
111 case 0x2c:

Callers 3

DECLFWFunction · 0.70
M28ResetFunction · 0.70
StateRestoreFunction · 0.70

Calls 2

setprg16Function · 0.85
setchr8Function · 0.85

Tested by

no test coverage detected