changeset 2570:882ceef923e0

merge
author Michael Pavone <pavone@retrodev.com>
date Sat, 01 Feb 2025 23:22:37 -0800
parents 80606ebec74c (current diff) f0ace2494df6 (diff)
children 3d14db924e57
files vdp.c
diffstat 3 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/gen_player.c	Sat Feb 01 23:22:13 2025 -0800
+++ b/gen_player.c	Sat Feb 01 23:22:37 2025 -0800
@@ -10,7 +10,7 @@
 #define MCLKS_PER_PSG (MCLKS_PER_Z80*16)
 
 #ifdef IS_LIB
-#define MAX_SOUND_CYCLES (MCLKS_PER_YM*NUM_OPERATORS*6*4)
+#define MAX_SOUND_CYCLES (MCLKS_PER_YM*OPN2_NUM_OPERATORS*6*4)
 #else
 #define MAX_SOUND_CYCLES 100000
 #endif
--- a/genesis.c	Sat Feb 01 23:22:13 2025 -0800
+++ b/genesis.c	Sat Feb 01 23:22:37 2025 -0800
@@ -37,7 +37,7 @@
 #define LINES_PAL 313
 
 #ifdef IS_LIB
-#define MAX_SOUND_CYCLES (MCLKS_PER_YM*NUM_OPERATORS*6*4)
+#define MAX_SOUND_CYCLES (MCLKS_PER_YM*OPN2_NUM_OPERATORS*6*4)
 #else
 #define MAX_SOUND_CYCLES 100000
 #endif
--- a/vdp.c	Sat Feb 01 23:22:13 2025 -0800
+++ b/vdp.c	Sat Feb 01 23:22:37 2025 -0800
@@ -117,7 +117,9 @@
 				context->state = ACTIVE;
 			} else if (context->vcounter == 0x1FF) {
 				context->state = PREPARING;
-				memset(context->compositebuf, 0, sizeof(context->compositebuf));
+				if (!context->done_composite) {
+					memset(context->compositebuf, 0, sizeof(context->compositebuf));
+				}
 			}
 		}
 	} else {
@@ -138,7 +140,9 @@
 			}
 			else if (context->vcounter == 0x1FF) {
 				context->state = PREPARING;
-				memset(context->compositebuf, 0, sizeof(context->compositebuf));
+				if (!context->done_composite) {
+					memset(context->compositebuf, 0, sizeof(context->compositebuf));
+				}
 			}
 		}
 	}
@@ -4769,7 +4773,9 @@
 			vdp_advance_line(context);
 			if (context->vcounter == active_line) {
 				context->state = PREPARING;
-				memset(context->compositebuf, 0, sizeof(context->compositebuf));
+				if (!context->done_composite) {
+					memset(context->compositebuf, 0, sizeof(context->compositebuf));
+				}
 				return;
 			}
 		}