tangled
alpha
login
or
join now
jcs.org
/
pce
0
fork
atom
fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation
0
fork
atom
overview
issues
pulls
pipelines
vic20: Increase framedrop during cassette access
Hampa Hug
5 years ago
2e83044e
a22c0508
+26
-2
3 changed files
expand all
collapse all
unified
split
src
arch
vic20
setup.c
vic20.c
vic20.h
+5
src/arch/vic20/setup.c
reviewed
···
74
74
sim->speed_auto = (aspeed != 0);
75
75
sim->speed_tape = 0;
76
76
77
77
+
sim->framedrop_base = 0;
78
78
+
sim->framedrop_tape = 0;
79
79
+
77
80
pce_log_tag (MSG_INF, "VIC20:",
78
81
"cpu=6502 clock=%lu speed=%u autospeed=%d pal=%d\n",
79
82
sim->clock, sim->speed, sim->speed_auto, sim->pal
···
150
153
if (snd != NULL) {
151
154
pce_log_tag (MSG_INF, "VIC:", "sound=%s\n", snd);
152
155
}
156
156
+
157
157
+
sim->framedrop_base = drop;
153
158
154
159
v20_video_init (&sim->video);
155
160
+18
-2
src/arch/vic20/vic20.c
reviewed
···
264
264
265
265
void v20_set_speed_tape (vic20_t *sim, unsigned char val)
266
266
{
267
267
-
sim->speed_tape = (val != 0);
267
267
+
if (val) {
268
268
+
sim->speed_tape = 1;
269
269
+
sim->framedrop_tape = 4;
270
270
+
}
271
271
+
else {
272
272
+
sim->speed_tape = 0;
273
273
+
sim->framedrop_tape = 0;
274
274
+
}
268
275
269
276
v20_set_speed (sim, sim->speed_base);
270
277
}
271
278
272
279
void v20_set_speed (vic20_t *sim, unsigned speed)
273
280
{
274
274
-
int report;
281
281
+
int report;
282
282
+
unsigned drop;
275
283
276
284
report = (sim->speed_base != speed);
285
285
+
286
286
+
drop = sim->framedrop_base;
287
287
+
288
288
+
if (sim->framedrop_tape > drop) {
289
289
+
drop = sim->framedrop_tape;
290
290
+
}
291
291
+
292
292
+
v20_video_set_framedrop (&sim->video, drop);
277
293
278
294
sim->speed_base = speed;
279
295
+3
src/arch/vic20/vic20.h
reviewed
···
81
81
char speed_auto;
82
82
char speed_tape;
83
83
84
84
+
unsigned framedrop_base;
85
85
+
unsigned framedrop_tape;
86
86
+
84
87
unsigned long clock;
85
88
unsigned long sync_clk;
86
89
unsigned long sync_us;