diff --git a/src/computer.c b/src/computer.c index 3fe3228..6015c22 100644 --- a/src/computer.c +++ b/src/computer.c @@ -1356,7 +1356,7 @@ inline void read_keyboard () { if ((ordenador.mport1 & 0x10)&&(ordenador.mode128k!=4)) //ROM 48k model128k =0; - if ((ordenador.mode128k==0)&&(ordenador.se_basic)) + if (ordenador.se_basic) model128k =4; switch (model128k) diff --git a/src/emulator.c b/src/emulator.c index b917be8..c8e536c 100644 --- a/src/emulator.c +++ b/src/emulator.c @@ -408,7 +408,7 @@ void load_rom(char type) { if (rom_cartridge[0]) load_rom_cartridge(); break; case 1: - filenames[0]="spectrum-roms/128-0.rom"; + if (ordenador.se_basic) filenames[0]="spectrum-roms/opense.rom"; else filenames[0]="spectrum-roms/128-0.rom"; filenames[1]="spectrum-roms/128-1.rom"; filenames[2]=NULL; retval=load_a_rom(filenames); @@ -418,7 +418,7 @@ void load_rom(char type) { } break; case 2: - filenames[0]="spectrum-roms/plus2-0.rom"; + if (ordenador.se_basic) filenames[0]="spectrum-roms/opense.rom"; else filenames[0]="spectrum-roms/plus2-0.rom"; filenames[1]="spectrum-roms/plus2-1.rom"; filenames[2]=NULL; retval=load_a_rom(filenames); @@ -430,7 +430,7 @@ void load_rom(char type) { case 3: // first, try last version of PLUS3 roms - filenames[0]="spectrum-roms/plus3-41-0.rom"; + if (ordenador.se_basic) filenames[0]="spectrum-roms/opense.rom"; else filenames[0]="spectrum-roms/plus3-41-0.rom"; filenames[1]="spectrum-roms/plus3-41-1.rom"; filenames[2]="spectrum-roms/plus3-41-2.rom"; filenames[3]="spectrum-roms/plus3-41-3.rom"; @@ -438,7 +438,7 @@ void load_rom(char type) { retval=load_a_rom(filenames); if (retval) { printf("Can't load the Spectrum +3 ROM version 4.1. Trying with version 4.0\n"); - filenames[0]="spectrum-roms/plus3-40-0.rom"; + if (ordenador.se_basic) filenames[0]="spectrum-roms/opense.rom"; else filenames[0]="spectrum-roms/plus3-40-0.rom"; filenames[1]="spectrum-roms/plus3-40-1.rom"; filenames[2]="spectrum-roms/plus3-40-2.rom"; filenames[3]="spectrum-roms/plus3-40-3.rom"; @@ -446,7 +446,7 @@ void load_rom(char type) { retval=load_a_rom(filenames); if (retval) { printf("Can't load the Spectrum +3 ROM version 4.0. Trying with legacy filenames\n"); - filenames[0]="spectrum-roms/plus3-0.rom"; + if (ordenador.se_basic) filenames[0]="spectrum-roms/opense.rom"; else filenames[0]="spectrum-roms/plus3-0.rom"; filenames[1]="spectrum-roms/plus3-1.rom"; filenames[2]="spectrum-roms/plus3-2.rom"; filenames[3]="spectrum-roms/plus3-3.rom"; @@ -460,7 +460,7 @@ void load_rom(char type) { } break; case 4: - filenames[0]="spectrum-roms/128-spanish-0.rom"; + if (ordenador.se_basic) filenames[0]="spectrum-roms/opense.rom"; else filenames[0]="spectrum-roms/128-spanish-0.rom"; filenames[1]="spectrum-roms/128-spanish-1.rom"; filenames[2]=NULL; retval=load_a_rom(filenames); diff --git a/src/gui_sdl.c b/src/gui_sdl.c index 2840f16..93b695b 100644 --- a/src/gui_sdl.c +++ b/src/gui_sdl.c @@ -87,7 +87,7 @@ static const char *emulation_messages[] = { /*03*/ "48K model", /*04*/ "^|issue2|issue3", /*05*/ " ", - /*06*/ "48k SE Basic", + /*06*/ "SE Basic", /*07*/ "^|on|off", /*08*/ " ", /*09*/ "Frame rate", @@ -445,7 +445,7 @@ static int manage_tape(int which) if ((ordenador.mport1 & 0x10)&&(ordenador.mode128k!=4)) //ROM 48k model128k =0; - if ((ordenador.mode128k==0)&&(ordenador.se_basic)) + if (ordenador.se_basic) model128k =4; switch (model128k) @@ -624,7 +624,7 @@ static int emulation_settings(void) ordenador.se_basic = !submenus[2]; - if ((submenus[2]!=submenus_old[2])&&(ordenador.mode128k==0)) {ResetComputer ();retorno=-2;} + if ((submenus[2]!=submenus_old[2])) {ResetComputer ();retorno=-2;} jump_frames = submenus[3]; @@ -735,7 +735,7 @@ static int audio_settings(void) ordenador.volume = submenus[0]*2; ordenador.ay_emul = !submenus[1]; ordenador.fuller_box_sound = !submenus[2]; - if ((submenus[3]==0)&&(ordenador.mode128k)) {ordenador.currah_active=0; msgInfo("Currah only in 48k mode", 3000, NULL);} + if ((submenus[3]==0)&&(ordenador.mode128k)) {ordenador.currah_active=0; msgInfo("Currah only with 48k model", 3000, NULL);} else if (ordenador.currah_rom_unavailable) {ordenador.currah_active=0; msgInfo("currah.rom not present", 3000, NULL);} else ordenador.currah_active = !submenus[3]; ordenador.audio_mode = submenus[4]; @@ -1005,7 +1005,7 @@ void load_mdr_file(void) if ((ordenador.mport1 & 0x10)&&(ordenador.mode128k!=4)) //ROM 48k model128k =0; - if ((ordenador.mode128k==0)&&(ordenador.se_basic)) + if (ordenador.se_basic) model128k =4; //Emulate load *"m";1;"run"