- [CHG] Netejada l'interficie del ay-3-8912

- [FIX] Llevat el retras en la UI, encara no se si puja la CPU a lo loco, a vore quan ho prove amb el portatil
This commit is contained in:
Raimon @ quifisraimon
2026-07-20 13:55:02 +02:00
parent 1e3e9691d4
commit 3cbbc5fd68
4 changed files with 7 additions and 16 deletions
-13
View File
@@ -1,7 +1,4 @@
#include "ay-3-8912.h"
#include "z80.h"
#include <SDL2/SDL.h>
#include "zx_ula.h"
#define MIXER_REG_A_TONE 0x01
#define MIXER_REG_B_TONE 0x02
@@ -23,7 +20,6 @@ namespace audio
float cycles_per_sample;
uint8_t volume_table[16] {0,2,3,4,6,8,11,16,23,32,45,64,90,128,180,255};
SDL_AudioDeviceID sdlAudioDevice;
uint8_t selected_register {0};
uint8_t registers[16];
@@ -112,13 +108,6 @@ namespace audio
}
}
void init()
{
reset();
z80::connect_port(0xfffd, 0xffff, audio::read_register, audio::select_register);
z80::connect_port(0xbffd, 0xffff, nullptr, audio::write_register);
}
void reset()
{
enabled = true;
@@ -209,8 +198,6 @@ namespace audio
if ((registers[7] & MIXER_REG_C_TONE)==0) channel_c_level &= channel_c_tone_level;
if ((registers[7] & MIXER_REG_C_NOISE)==0) channel_c_level &= noise_level;
//zx_ula::set_border_color(channel_a_tone_level&0xf);
const uint8_t channel_a_volume = (registers[8]&0x10) ? envelope_volume : registers[8]&0xf;
const uint8_t channel_b_volume = (registers[9]&0x10) ? envelope_volume : registers[9]&0xf;
const uint8_t channel_c_volume = (registers[10]&0x10) ? envelope_volume : registers[10]&0xf;
-1
View File
@@ -8,7 +8,6 @@ namespace audio
int read_register(int port);
void write_register(int port, int val);
void init();
void reset();
void update(uint32_t dt);
+1
View File
@@ -321,6 +321,7 @@ int main(int argc, char *argv[])
ui::menu::show();
zxscreen::present();
wait = 1;
}
if (wait == 0) {
+6 -2
View File
@@ -54,7 +54,9 @@ namespace zx_system
z80::connect_port(0xfe, 0x0001, zx_ula::port_in, zx_ula::port_out);
mem::init(ZX_128K);
zxscreen::init(SCREEN_MODE_128K);
audio::init();
audio::reset();
z80::connect_port(0xfffd, 0xffff, audio::read_register, audio::select_register);
z80::connect_port(0xbffd, 0xffff, nullptr, audio::write_register);
speaker::init();
speaker::register_source(zx_ula::get_sample);
speaker::register_source(audio::get_sample);
@@ -74,7 +76,9 @@ namespace zx_system
z80::connect_port(0xfe, 0x0001, zx_ula::port_in, zx_ula::port_out);
mem::init(ZX_PLUS3);
zxscreen::init(SCREEN_MODE_128K);
audio::init();
audio::reset();
z80::connect_port(0xfffd, 0xffff, audio::read_register, audio::select_register);
z80::connect_port(0xbffd, 0xffff, nullptr, audio::write_register);
speaker::init();
speaker::register_source(zx_ula::get_sample);
speaker::register_source(audio::get_sample);