Browse code

Added ability to fix PPU size

For testing compatibility with ports that cannot change the PPU size,
the FIXED_SIZE define can be set nonzero and Screen/width,height changes
will be ignored. They can still be read to find the correct width/height
that the PPU is currently using.

Andrew Alderwick authored on 19/09/2021 21:58:23
Showing 1 changed files
... ...
@@ -22,6 +22,7 @@ WITH REGARD TO THIS SOFTWARE.
22 22
 */
23 23
 
24 24
 #define PAD 4
25
+#define FIXED_SIZE 0
25 26
 #define POLYPHONY 4
26 27
 #define BENCH 0
27 28
 
... ...
@@ -352,7 +353,7 @@ screen_talk(Device *d, Uint8 b0, Uint8 w)
352 353
 	else
353 354
 		switch(b0) {
354 355
 		case 0x5:
355
-			set_size(peek16(d->dat, 0x2), peek16(d->dat, 0x4));
356
+			if(!FIXED_SIZE) set_size(peek16(d->dat, 0x2), peek16(d->dat, 0x4));
356 357
 			break;
357 358
 		case 0xe: {
358 359
 			Uint16 x = peek16(d->dat, 0x8);