mirror of
https://github.com/Oibaf66/fbzx-wii.git
synced 2024-12-24 23:51:52 +01:00
Added ultraspeed turbo mode, ULA+ contention
This commit is contained in:
parent
89e9f9bc03
commit
2bc2a83812
@ -1275,7 +1275,7 @@ void Z80free_Out (register word Port, register byte Value) {
|
||||
|
||||
register word maskport;
|
||||
|
||||
if (((Port&0x0001)==0)||((Port>=0x4000)&&(Port<0x8000))) {
|
||||
if (((Port&0x0001)==0)||((Port>=0x4000)&&(Port<0x8000))||Port == 0xBF3B||Port == 0xFF3B) {
|
||||
do_contention();
|
||||
}
|
||||
|
||||
@ -1348,7 +1348,7 @@ byte Z80free_In (register word Port) {
|
||||
static unsigned int temporal_io;
|
||||
byte pines;
|
||||
|
||||
if (((Port&0x0001)==0)||((Port>=0x4000)&&(Port<0x8000))) {
|
||||
if (((Port&0x0001)==0)||((Port>=0x4000)&&(Port<0x8000))||Port == 0xFF3B) {
|
||||
do_contention();
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ static const char *emulation_messages[] = {
|
||||
/*04*/ "Tap fast speed",
|
||||
/*05*/ "^|on|off",
|
||||
/*06*/ "Turbo mode",
|
||||
/*07*/ "^|on|off",
|
||||
/*07*/ "^|off|speed|ultraspeed",
|
||||
/*08*/ "Double scan",
|
||||
/*09*/ "^|on|off",
|
||||
/*10*/ "TV mode",
|
||||
@ -374,7 +374,7 @@ static void emulation_settings(void)
|
||||
submenus[0] = get_machine_model();
|
||||
submenus[1] = ordenador.volume/2;
|
||||
submenus[2] = !ordenador.tape_fast_load;
|
||||
submenus[3] = !ordenador.turbo;
|
||||
submenus[3] = ordenador.turbo;
|
||||
submenus[4] = !ordenador.dblscan;
|
||||
submenus[5] = ordenador.bw;
|
||||
submenus[6] = !ordenador.ay_emul;
|
||||
@ -392,16 +392,26 @@ static void emulation_settings(void)
|
||||
|
||||
ordenador.volume = submenus[1]*2; //I should use set_volume() ?
|
||||
ordenador.tape_fast_load = !submenus[2];
|
||||
ordenador.turbo = !submenus[3];
|
||||
ordenador.turbo = submenus[3];
|
||||
|
||||
if(ordenador.turbo){
|
||||
ordenador.tst_sample=12000000/ordenador.freq; //5,0 MHz max emulation speed for wii at full frames
|
||||
jump_frames=3;
|
||||
} else {
|
||||
ordenador.tst_sample=3500000/ordenador.freq;
|
||||
jump_frames=0;
|
||||
curr_frames=0;
|
||||
}
|
||||
curr_frames=0;
|
||||
switch(ordenador.turbo)
|
||||
{
|
||||
case 0: //off
|
||||
ordenador.tst_sample=3500000/ordenador.freq;
|
||||
jump_frames=0;
|
||||
break;
|
||||
case 1: //speed
|
||||
ordenador.tst_sample=12000000/ordenador.freq; //5,0 MHz max emulation speed for wii at full frames
|
||||
jump_frames=3;
|
||||
break;
|
||||
case 2: //very speed
|
||||
ordenador.tst_sample=20000000/ordenador.freq;
|
||||
jump_frames=24;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
ordenador.dblscan = !submenus[4];
|
||||
ordenador.bw = submenus[5];
|
||||
|
@ -282,15 +282,15 @@ void settings_menu() {
|
||||
computer_set_palete();
|
||||
break;
|
||||
case SDLK_t:
|
||||
curr_frames=0;
|
||||
if(ordenador.turbo){
|
||||
ordenador.tst_sample=3500000/ordenador.freq;
|
||||
ordenador.turbo = 0;
|
||||
jump_frames=0;
|
||||
curr_frames=0;
|
||||
} else {
|
||||
ordenador.tst_sample=12000000/ordenador.freq; //5,0 MHz max emulation speed for wii at full frames
|
||||
ordenador.turbo = 1;
|
||||
jump_frames=3;
|
||||
jump_frames=3;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user