Solve (partially ?) audio in picasso mode closes #25

This commit is contained in:
Chips 2016-08-18 22:58:29 +02:00
parent 197952035d
commit b5be69f9cd
2 changed files with 17 additions and 2 deletions

View file

@ -40,6 +40,8 @@
#define nocustom() (picasso_on)
extern int screen_is_picasso;
static uae_u16 last_custom_value1;
/* Events */
@ -2209,6 +2211,9 @@ void compute_vsynctime (void)
{
if (currprefs.chipset_refreshrate) {
vblank_hz = currprefs.chipset_refreshrate;
}
if (screen_is_picasso) {
beamcon0 = new_beamcon0 = currprefs.ntscmode ? 0x00 : 0x20;
}
vsynctimebase = syncbase / vblank_hz;
if (currprefs.produce_sound > 1)

View file

@ -48,6 +48,10 @@ bool cdaudio_active = false;
static int cdwrcnt = 0;
static int cdrdcnt = 0;
extern int screen_is_picasso;
#ifdef NO_SOUND
void finish_sound_buffer (void) { }
@ -94,8 +98,14 @@ void update_sound (int freq, int lof)
freq = lastfreq;
lastfreq = freq;
if (lof < 0) {
lines += 0.5;
if (currprefs.ntscmode || screen_is_picasso) {
hpos += 0.5;
lines += 0.5;
} else {
if (lof < 0)
lines += 0.5;
else if(lof > 0)
lines += 1.0;
}
evtime = hpos * lines * freq * CYCLE_UNIT / (float)currprefs.sound_freq;