|
2 | 2 |
|
3 | 3 | namespace BizHawk.Emulation.Cores.Nintendo.GBHawk |
4 | 4 | { |
5 | | - public class PPU |
| 5 | + public abstract class PPU |
6 | 6 | { |
7 | 7 | public GBHawk Core { get; set; } |
8 | 8 |
|
@@ -127,60 +127,30 @@ public class PPU |
127 | 127 | public int total_counter; |
128 | 128 | public uint[] color_palette = new uint[4]; |
129 | 129 |
|
130 | | - public virtual byte ReadReg(int addr) |
131 | | - { |
132 | | - return 0; |
133 | | - } |
134 | | - |
135 | | - public virtual void WriteReg(int addr, byte value) |
136 | | - { |
| 130 | + public abstract byte ReadReg(int addr); |
137 | 131 |
|
138 | | - } |
139 | | - |
140 | | - public virtual void tick() |
141 | | - { |
| 132 | + public abstract void WriteReg(int addr, byte value); |
142 | 133 |
|
143 | | - } |
| 134 | + public abstract void tick(); |
144 | 135 |
|
145 | 136 | // might be needed, not sure yet |
146 | | - public virtual void latch_delay() |
147 | | - { |
148 | | - |
149 | | - } |
| 137 | + public abstract void latch_delay(); |
150 | 138 |
|
151 | | - public virtual void render(int render_cycle) |
152 | | - { |
| 139 | + public abstract void render(int render_cycle); |
153 | 140 |
|
154 | | - } |
155 | | - |
156 | | - public virtual void process_sprite() |
157 | | - { |
158 | | - |
159 | | - } |
| 141 | + public abstract void process_sprite(); |
160 | 142 |
|
161 | 143 | // normal DMA moves twice as fast in double speed mode on GBC |
162 | 144 | // So give it it's own function so we can seperate it from PPU tick |
163 | | - public virtual void DMA_tick() |
164 | | - { |
165 | | - |
166 | | - } |
167 | | - |
168 | | - public virtual void OAM_scan(int OAM_cycle) |
169 | | - { |
| 145 | + public abstract void DMA_tick(); |
170 | 146 |
|
171 | | - } |
172 | | - |
173 | | - public virtual void Reset() |
174 | | - { |
| 147 | + public abstract void OAM_scan(int OAM_cycle); |
175 | 148 |
|
176 | | - } |
| 149 | + public abstract void Reset(); |
177 | 150 |
|
178 | 151 | // order sprites according to x coordinate |
179 | 152 | // note that for sprites of equal x coordinate, priority goes to first on the list |
180 | | - public virtual void reorder_and_assemble_sprites() |
181 | | - { |
182 | | - |
183 | | - } |
| 153 | + public abstract void reorder_and_assemble_sprites(); |
184 | 154 |
|
185 | 155 | public virtual void SyncState(Serializer ser) |
186 | 156 | { |
|
0 commit comments