diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index cc3e415cd4..9084b80f34 100644 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -147,7 +147,7 @@ def runBuild(args) { if (isUnix()) return sh(returnStatus: true, script: "chmod u+x '$WORKSPACE/.ci/build.sh' && exec '$WORKSPACE/.ci/build.sh' $args") else - return bat(returnStatus: true, script: "C:\\msys64\\msys2_shell.cmd -msys2 -defterm -here -no-start -c 'exec \"\$(cygpath -u \\'%WORKSPACE%\\')/.ci/build.sh\" $args'") + return bat(returnStatus: true, script: "C:\\msys64\\msys2_shell.cmd -ucrt64 -defterm -here -no-start -c 'exec \"\$(cygpath -u \\'%WORKSPACE%\\')/.ci/build.sh\" $args'") } def failStage() { diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index 8e74bc78ae..92d60f7088 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -729,6 +729,7 @@ extern int idivl(int32_t val); extern void resetmcr(void); extern void resetx86(void); extern void refreshread(void); +extern void refreshread_vx0(void); extern void resetreadlookup(void); extern void softresetx86(void); extern void hardresetx86(void); diff --git a/src/cpu/vx0.c b/src/cpu/vx0.c index bd1a8da201..42bd7cc4b8 100644 --- a/src/cpu/vx0.c +++ b/src/cpu/vx0.c @@ -41,11 +41,11 @@ #include <86box/plat_unused.h> #include "vx0_biu.h" -#define do_cycle() wait(1) +#define do_cycle() wait_vx0(1) #define do_cycle_no_modrm() if (!nx) \ do_cycle() #define do_cycle_i() do_cycle() -#define do_cycles(c) wait(c) +#define do_cycles(c) wait_vx0(c) #define do_cycles_i(c) do_cycles(c) #define do_cycle_nx() nx = 1 #define do_cycle_nx_i() nx = 1 @@ -222,12 +222,6 @@ const uint8_t opf_0f[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* F0 */ 0, 0, 0, 0, 0, 0, 0, 0 }; /* F8 */ -uint8_t use_custom_nmi_vector = 0; - -uint32_t custom_nmi_vector = 0x00000000; - -/* Is the CPU 8088 or 8086. */ -int is8086 = 0; int nx = 0; static uint32_t cpu_src = 0; @@ -422,12 +416,6 @@ sync_to_i8080(void) emulated_processor.interrupt_delay = noint; } -uint16_t -get_last_addr(void) -{ - return last_addr; -} - static void set_ip(uint16_t new_ip) { diff --git a/src/cpu/vx0_biu.c b/src/cpu/vx0_biu.c index b52b142458..4f7a8e1d2a 100644 --- a/src/cpu/vx0_biu.c +++ b/src/cpu/vx0_biu.c @@ -38,7 +38,7 @@ #include <86box/plat_unused.h> #include "vx0_biu.h" -#define do_cycle() wait(1) +#define do_cycle() wait_vx0(1) #define do_cycle_i() do_cycle() uint8_t biu_preload_byte = 0x00; @@ -287,6 +287,15 @@ bus_inw(uint16_t port) return ret; } +void +resub_cycles_vx0(int old_cycles) +{ + if (old_cycles > cycles) + wait_states = old_cycles - cycles; + + cycles = old_cycles; +} + static void bus_do_io(int io_type) { @@ -310,7 +319,7 @@ bus_do_io(int io_type) AL = bus_inb((uint16_t) cpu_state.eaaddr); } - resub_cycles(old_cycles); + resub_cycles_vx0(old_cycles); } static void @@ -370,7 +379,7 @@ bus_do_mem(int io_type) mem_data = (mem_data & 0xff00) | ((uint16_t) bus_readb(mem_seg, (uint32_t) mem_addr)); } - resub_cycles(old_cycles); + resub_cycles_vx0(old_cycles); } static void @@ -510,15 +519,6 @@ do_bus_access(void) } } -void -resub_cycles(int old_cycles) -{ - if (old_cycles > cycles) - wait_states = old_cycles - cycles; - - cycles = old_cycles; -} - static uint8_t biu_queue_has_room(void) { @@ -705,7 +705,7 @@ biu_eu_request(void) } void -wait(int c) +wait_vx0(int c) { x808x_biu_log("[%04X:%04X] %02X %i cycles\n", CS, cpu_state.pc, opcode, c); @@ -715,7 +715,7 @@ wait(int c) /* This is for external subtraction of cycles, ie. wait states. */ void -sub_cycles(int c) +sub_cycles_vx0(int c) { cycles -= c; } @@ -1143,7 +1143,7 @@ biu_suspend_fetch(void) /* Memory refresh read - called by reads and writes on DMA channel 0. */ void -refreshread(void) +refreshread_vx0(void) { if (dma_state == DMA_STATE_IDLE) { dma_state = DMA_STATE_TIMER; diff --git a/src/cpu/vx0_biu.h b/src/cpu/vx0_biu.h index 58e2ae257e..27d44797c4 100644 --- a/src/cpu/vx0_biu.h +++ b/src/cpu/vx0_biu.h @@ -78,7 +78,7 @@ enum { /* Temporary BIU externs - move to 808x_biu.h. */ extern void biu_resume_on_queue_read(void); -extern void wait(int c); +extern void wait_vx0(int c); extern void biu_reset(void); extern void cpu_io_vx0(int bits, int out, uint16_t port); extern void biu_state_set_eu(void); diff --git a/src/cpu/x87_ops.h b/src/cpu/x87_ops.h index f74e5e91ad..49b5c2378a 100644 --- a/src/cpu/x87_ops.h +++ b/src/cpu/x87_ops.h @@ -581,7 +581,7 @@ FPU_ILLEGAL_a32(uint32_t fetchdat) #define ILLEGAL_a16 FPU_ILLEGAL_a16 #ifdef FPU_8087 -const OpFn OP_TABLE(sf_fpu_8087_d8)[32] = { +static const OpFn OP_TABLE(sf_fpu_8087_d8)[32] = { // clang-format off sf_FADDs_a16, sf_FMULs_a16, sf_FCOMs_a16, sf_FCOMPs_a16, sf_FSUBs_a16, sf_FSUBRs_a16, sf_FDIVs_a16, sf_FDIVRs_a16, sf_FADDs_a16, sf_FMULs_a16, sf_FCOMs_a16, sf_FCOMPs_a16, sf_FSUBs_a16, sf_FSUBRs_a16, sf_FDIVs_a16, sf_FDIVRs_a16, @@ -590,7 +590,7 @@ const OpFn OP_TABLE(sf_fpu_8087_d8)[32] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_d9)[256] = { +static const OpFn OP_TABLE(sf_fpu_8087_d9)[256] = { // clang-format off sf_FLDs_a16, sf_FLDs_a16, sf_FLDs_a16, sf_FLDs_a16, sf_FLDs_a16, sf_FLDs_a16, sf_FLDs_a16, sf_FLDs_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -630,7 +630,7 @@ const OpFn OP_TABLE(sf_fpu_8087_d9)[256] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_da)[256] = { +static const OpFn OP_TABLE(sf_fpu_8087_da)[256] = { // clang-format off sf_FADDil_a16, sf_FADDil_a16, sf_FADDil_a16, sf_FADDil_a16, sf_FADDil_a16, sf_FADDil_a16, sf_FADDil_a16, sf_FADDil_a16, sf_FMULil_a16, sf_FMULil_a16, sf_FMULil_a16, sf_FMULil_a16, sf_FMULil_a16, sf_FMULil_a16, sf_FMULil_a16, sf_FMULil_a16, @@ -670,7 +670,7 @@ const OpFn OP_TABLE(sf_fpu_8087_da)[256] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_db)[256] = { +static const OpFn OP_TABLE(sf_fpu_8087_db)[256] = { // clang-format off sf_FILDil_a16, sf_FILDil_a16, sf_FILDil_a16, sf_FILDil_a16, sf_FILDil_a16, sf_FILDil_a16, sf_FILDil_a16, sf_FILDil_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -710,7 +710,7 @@ const OpFn OP_TABLE(sf_fpu_8087_db)[256] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_dc)[32] = { +static const OpFn OP_TABLE(sf_fpu_8087_dc)[32] = { // clang-format off sf_FADDd_a16, sf_FMULd_a16, sf_FCOMd_a16, sf_FCOMPd_a16, sf_FSUBd_a16, sf_FSUBRd_a16, sf_FDIVd_a16, sf_FDIVRd_a16, sf_FADDd_a16, sf_FMULd_a16, sf_FCOMd_a16, sf_FCOMPd_a16, sf_FSUBd_a16, sf_FSUBRd_a16, sf_FDIVd_a16, sf_FDIVRd_a16, @@ -719,7 +719,7 @@ const OpFn OP_TABLE(sf_fpu_8087_dc)[32] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_dd)[256] = { +static const OpFn OP_TABLE(sf_fpu_8087_dd)[256] = { // clang-format off sf_FLDd_a16, sf_FLDd_a16, sf_FLDd_a16, sf_FLDd_a16, sf_FLDd_a16, sf_FLDd_a16, sf_FLDd_a16, sf_FLDd_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -759,7 +759,7 @@ const OpFn OP_TABLE(sf_fpu_8087_dd)[256] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_de)[256] = { +static const OpFn OP_TABLE(sf_fpu_8087_de)[256] = { // clang-format off sf_FADDiw_a16, sf_FADDiw_a16, sf_FADDiw_a16, sf_FADDiw_a16, sf_FADDiw_a16, sf_FADDiw_a16, sf_FADDiw_a16, sf_FADDiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, sf_FMULiw_a16, @@ -799,7 +799,7 @@ const OpFn OP_TABLE(sf_fpu_8087_de)[256] = { // clang-format on }; -const OpFn OP_TABLE(sf_fpu_8087_df)[256] = { +static const OpFn OP_TABLE(sf_fpu_8087_df)[256] = { // clang-format off sf_FILDiw_a16, sf_FILDiw_a16, sf_FILDiw_a16, sf_FILDiw_a16, sf_FILDiw_a16, sf_FILDiw_a16, sf_FILDiw_a16, sf_FILDiw_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -839,7 +839,7 @@ const OpFn OP_TABLE(sf_fpu_8087_df)[256] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_d8)[32] = { +static const OpFn OP_TABLE(fpu_8087_d8)[32] = { // clang-format off opFADDs_a16, opFMULs_a16, opFCOMs_a16, opFCOMPs_a16, opFSUBs_a16, opFSUBRs_a16, opFDIVs_a16, opFDIVRs_a16, opFADDs_a16, opFMULs_a16, opFCOMs_a16, opFCOMPs_a16, opFSUBs_a16, opFSUBRs_a16, opFDIVs_a16, opFDIVRs_a16, @@ -848,7 +848,7 @@ const OpFn OP_TABLE(fpu_8087_d8)[32] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_d9)[256] = { +static const OpFn OP_TABLE(fpu_8087_d9)[256] = { // clang-format off opFLDs_a16, opFLDs_a16, opFLDs_a16, opFLDs_a16, opFLDs_a16, opFLDs_a16, opFLDs_a16, opFLDs_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -888,7 +888,7 @@ const OpFn OP_TABLE(fpu_8087_d9)[256] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_da)[256] = { +static const OpFn OP_TABLE(fpu_8087_da)[256] = { // clang-format off opFADDil_a16, opFADDil_a16, opFADDil_a16, opFADDil_a16, opFADDil_a16, opFADDil_a16, opFADDil_a16, opFADDil_a16, opFMULil_a16, opFMULil_a16, opFMULil_a16, opFMULil_a16, opFMULil_a16, opFMULil_a16, opFMULil_a16, opFMULil_a16, @@ -928,7 +928,7 @@ const OpFn OP_TABLE(fpu_8087_da)[256] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_db)[256] = { +static const OpFn OP_TABLE(fpu_8087_db)[256] = { // clang-format off opFILDil_a16, opFILDil_a16, opFILDil_a16, opFILDil_a16, opFILDil_a16, opFILDil_a16, opFILDil_a16, opFILDil_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -968,7 +968,7 @@ const OpFn OP_TABLE(fpu_8087_db)[256] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_dc)[32] = { +static const OpFn OP_TABLE(fpu_8087_dc)[32] = { // clang-format off opFADDd_a16, opFMULd_a16, opFCOMd_a16, opFCOMPd_a16, opFSUBd_a16, opFSUBRd_a16, opFDIVd_a16, opFDIVRd_a16, opFADDd_a16, opFMULd_a16, opFCOMd_a16, opFCOMPd_a16, opFSUBd_a16, opFSUBRd_a16, opFDIVd_a16, opFDIVRd_a16, @@ -977,7 +977,7 @@ const OpFn OP_TABLE(fpu_8087_dc)[32] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_dd)[256] = { +static const OpFn OP_TABLE(fpu_8087_dd)[256] = { // clang-format off opFLDd_a16, opFLDd_a16, opFLDd_a16, opFLDd_a16, opFLDd_a16, opFLDd_a16, opFLDd_a16, opFLDd_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, @@ -1017,7 +1017,7 @@ const OpFn OP_TABLE(fpu_8087_dd)[256] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_de)[256] = { +static const OpFn OP_TABLE(fpu_8087_de)[256] = { // clang-format off opFADDiw_a16, opFADDiw_a16, opFADDiw_a16, opFADDiw_a16, opFADDiw_a16, opFADDiw_a16, opFADDiw_a16, opFADDiw_a16, opFMULiw_a16, opFMULiw_a16, opFMULiw_a16, opFMULiw_a16, opFMULiw_a16, opFMULiw_a16, opFMULiw_a16, opFMULiw_a16, @@ -1057,7 +1057,7 @@ const OpFn OP_TABLE(fpu_8087_de)[256] = { // clang-format on }; -const OpFn OP_TABLE(fpu_8087_df)[256] = { +static const OpFn OP_TABLE(fpu_8087_df)[256] = { // clang-format off opFILDiw_a16, opFILDiw_a16, opFILDiw_a16, opFILDiw_a16, opFILDiw_a16, opFILDiw_a16, opFILDiw_a16, opFILDiw_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, ILLEGAL_a16, diff --git a/src/dma.c b/src/dma.c index bfc294f2a2..5dfd70ae8d 100644 --- a/src/dma.c +++ b/src/dma.c @@ -1503,7 +1503,7 @@ dma_channel_read_only(int channel) dma_channel_advance(channel); if (!dma_at && !channel) - refreshread(); + is_nec ? refreshread_vx0() : refreshread(); if (!dma_c->size) { temp = _dma_read(dma_c->ac, dma_c); @@ -1611,7 +1611,7 @@ dma_channel_read(int channel) dma_channel_advance(channel); if (!dma_at && !channel) - refreshread(); + is_nec ? refreshread_vx0() : refreshread(); if (!dma_c->size) { temp = _dma_read(dma_c->ac, dma_c); diff --git a/src/include/86box/86box.h b/src/include/86box/86box.h index d32e13895d..9cb91e7c68 100644 --- a/src/include/86box/86box.h +++ b/src/include/86box/86box.h @@ -315,6 +315,9 @@ extern uint16_t get_last_addr(void); extern void sub_cycles(int c); extern void resub_cycles(int old_cycles); +extern void sub_cycles_vx0(int c); +extern void resub_cycles_vx0(int old_cycles); + extern void ack_pause(void); extern void do_pause(int p); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 762c4410ec..ca484969d9 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -18517,7 +18517,7 @@ const machine_t machines[] = { .max_multi = 5.0 }, .bus_flags = MACHINE_PS2_PCI | MACHINE_BUS_USB, - .flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI | MACHINE_USB, + .flags = MACHINE_IDE_DUAL | MACHINE_SOUND | MACHINE_APM | MACHINE_ACPI | MACHINE_USB, .ram = { .min = 8192, .max = 262144, diff --git a/src/qt/languages/de-DE.po b/src/qt/languages/de-DE.po index f377fcad0f..5dccc6e54c 100644 --- a/src/qt/languages/de-DE.po +++ b/src/qt/languages/de-DE.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-11-29 00:34+0000\n" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" "Last-Translator: OBattler \n" "Language-Team: German \n" "Language: de-DE\n" @@ -2872,7 +2872,7 @@ msgid "%1 VM Manager" msgstr "" msgid "%n disk(s)" -msgstr "" +msgstr "%n Festplatte(n)" msgid "Unknown Status" msgstr "Unbekannter Status" diff --git a/src/qt/languages/fi-FI.po b/src/qt/languages/fi-FI.po index a5f36d2d48..2351f1afaa 100644 --- a/src/qt/languages/fi-FI.po +++ b/src/qt/languages/fi-FI.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-12-29 09:54+0000\n" -"Last-Translator: Daniel Gurney \n" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" +"Last-Translator: OBattler \n" "Language-Team: Finnish \n" "Language: fi-FI\n" "MIME-Version: 1.0\n" @@ -637,7 +637,7 @@ msgid "MO drives:" msgstr "Magneettisoptiset asemat (MO):" msgid "MO:" -msgstr "" +msgstr "MO:" msgid "Removable disks:" msgstr "Irrotettavat levyt:" @@ -1843,7 +1843,7 @@ msgid "Microsoft Serial Mouse" msgstr "Microsoft-sarjahiiri" msgid "Microsoft Serial BallPoint" -msgstr "" +msgstr "Microsoft BallPoint-sarjahiiri" msgid "Logitech Serial Mouse" msgstr "Logitech-sarjahiiri" @@ -1930,7 +1930,7 @@ msgid "Enable BIOS extension ROM Writes (ROM #4)" msgstr "Salli BIOS-laajennuksen ROM-kirjoitukset (ROM #4)" msgid "Linear framebuffer base" -msgstr "" +msgstr "Lineaarisen kehyspuskurin perusosoite" msgid "Address" msgstr "Osoite" @@ -2179,7 +2179,7 @@ msgid "WSS DMA" msgstr "WSS-DMA" msgid "RTC IRQ" -msgstr "" +msgstr "RTC:n IRQ" msgid "RTC Port Address" msgstr "RTC-portin osoite" @@ -2380,10 +2380,10 @@ msgid "Linear" msgstr "Lineaarinen" msgid "4th Order" -msgstr "" +msgstr "4. kertaluku" msgid "7th Order" -msgstr "" +msgstr "7. kertaluku" msgid "Non-timed (original)" msgstr "Ajastamaton (alkuperäinen)" diff --git a/src/qt/languages/ko-KR.po b/src/qt/languages/ko-KR.po index cd186260b3..a46dc07c71 100644 --- a/src/qt/languages/ko-KR.po +++ b/src/qt/languages/ko-KR.po @@ -1,8 +1,14 @@ msgid "" msgstr "" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" +"Last-Translator: OBattler \n" +"Language-Team: Korean \n" +"Language: ko-KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12.2\n" "X-Language: ko_KR\n" "X-Source-Language: en_US\n" @@ -1780,7 +1786,7 @@ msgid "VDE Socket:" msgstr "VDE 소켓:" msgid "TAP Bridge Device:" -msgstr "" +msgstr "TAP 브리지 장치:" msgid "86Box Unit Tester" msgstr "86Box 유닛 테스터" @@ -2173,16 +2179,16 @@ msgid "WSS DMA" msgstr "WSS DMA" msgid "RTC IRQ" -msgstr "" +msgstr "RTC의 IRQ" msgid "RTC Port Address" -msgstr "" +msgstr "RTC의 포트 주소" msgid "Onboard RTC" -msgstr "" +msgstr "온보드 RTC" msgid "Not installed" -msgstr "" +msgstr "설치되지 않음" msgid "Enable OPL" msgstr "OPL 사용" @@ -2806,7 +2812,7 @@ msgid "Toggle fullscreen" msgstr "전체 화면 모드 전환" msgid "Toggle UI in fullscreen" -msgstr "" +msgstr "전체 화면 모드에서 UI 전환" msgid "Release mouse pointer" msgstr "마우스 포인터를 해제합니다" diff --git a/src/qt/languages/nb-NO.po b/src/qt/languages/nb-NO.po index 88679fdd35..b22f0bf69c 100644 --- a/src/qt/languages/nb-NO.po +++ b/src/qt/languages/nb-NO.po @@ -1,8 +1,15 @@ msgid "" msgstr "" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" +"Last-Translator: OBattler \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb-NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.12.2\n" "X-Language: nb_NO\n" "X-Source-Language: en_US\n" @@ -1780,7 +1787,7 @@ msgid "VDE Socket:" msgstr "VDE-kontakt:" msgid "TAP Bridge Device:" -msgstr "" +msgstr "TAP-broenhet:" msgid "86Box Unit Tester" msgstr "86Box-enhetstester" @@ -2173,16 +2180,16 @@ msgid "WSS DMA" msgstr "WSS-DMA" msgid "RTC IRQ" -msgstr "" +msgstr "IRQ for RTC" msgid "RTC Port Address" -msgstr "" +msgstr "Portadresse for RTC" msgid "Onboard RTC" -msgstr "" +msgstr "Innebygd RTC" msgid "Not installed" -msgstr "" +msgstr "Ikke installert" msgid "Enable OPL" msgstr "Aktiver OPL" @@ -2806,7 +2813,7 @@ msgid "Toggle fullscreen" msgstr "Veksle fullskjerm" msgid "Toggle UI in fullscreen" -msgstr "" +msgstr "Veksle mellom brukergrensesnittet i fullskjermmodus" msgid "Release mouse pointer" msgstr "Frigi musepeker" diff --git a/src/qt/languages/nl-NL.po b/src/qt/languages/nl-NL.po index 63dcd239b3..3ad6f4feb8 100644 --- a/src/qt/languages/nl-NL.po +++ b/src/qt/languages/nl-NL.po @@ -1,8 +1,14 @@ msgid "" msgstr "" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" +"Last-Translator: OBattler \n" +"Language-Team: Dutch \n" +"Language: nl-NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.12.2\n" "X-Language: nl_NL\n" "X-Source-Language: en_US\n" @@ -1780,7 +1786,7 @@ msgid "VDE Socket:" msgstr "VDE-socket:" msgid "TAP Bridge Device:" -msgstr "" +msgstr "TAP-brugapparaat:" msgid "86Box Unit Tester" msgstr "86Box Apparaattester" @@ -2173,16 +2179,16 @@ msgid "WSS DMA" msgstr "WSS DMA" msgid "RTC IRQ" -msgstr "" +msgstr "IRQ van de RTC" msgid "RTC Port Address" -msgstr "" +msgstr "Poortadres van de RTC" msgid "Onboard RTC" -msgstr "" +msgstr "Ingebouwde RTC" msgid "Not installed" -msgstr "" +msgstr "Niet geïnstalleerd" msgid "Enable OPL" msgstr "OPL inschakelen" @@ -2806,7 +2812,7 @@ msgid "Toggle fullscreen" msgstr "Volledig scherm omschakelen" msgid "Toggle UI in fullscreen" -msgstr "" +msgstr "Schakel de UI in volledig scherm" msgid "Release mouse pointer" msgstr "Geef muis vrij" diff --git a/src/qt/languages/sv-SE.po b/src/qt/languages/sv-SE.po index eb76331684..5a8c7291c8 100644 --- a/src/qt/languages/sv-SE.po +++ b/src/qt/languages/sv-SE.po @@ -1,8 +1,14 @@ msgid "" msgstr "" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" +"Last-Translator: OBattler \n" +"Language-Team: Swedish \n" +"Language: sv-SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.12.2\n" "X-Language: sv_SE\n" "X-Source-Language: en_US\n" @@ -1780,7 +1786,7 @@ msgid "VDE Socket:" msgstr "VDE-sockel:" msgid "TAP Bridge Device:" -msgstr "" +msgstr "TAP-bryggaenhet:" msgid "86Box Unit Tester" msgstr "86Box enhetsprövare" @@ -2173,16 +2179,16 @@ msgid "WSS DMA" msgstr "WSS DMA" msgid "RTC IRQ" -msgstr "" +msgstr "IRQ för RTC" msgid "RTC Port Address" -msgstr "" +msgstr "Portadress för RTC" msgid "Onboard RTC" -msgstr "" +msgstr "Inbyggd RTC" msgid "Not installed" -msgstr "" +msgstr "Ej installerad" msgid "Enable OPL" msgstr "Aktivera OPL" @@ -2806,7 +2812,7 @@ msgid "Toggle fullscreen" msgstr "Helskärm" msgid "Toggle UI in fullscreen" -msgstr "" +msgstr "Växla UI till helskärmsläge" msgid "Release mouse pointer" msgstr "Släpp muspekare" diff --git a/src/qt/languages/vi-VN.po b/src/qt/languages/vi-VN.po index 64d00e2103..73b59831a2 100644 --- a/src/qt/languages/vi-VN.po +++ b/src/qt/languages/vi-VN.po @@ -1,8 +1,15 @@ msgid "" msgstr "" +"PO-Revision-Date: 2026-01-28 08:57+0000\n" +"Last-Translator: OBattler \n" +"Language-Team: Vietnamese \n" +"Language: vi-VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12.2\n" "X-Language: vi_VN\n" "X-Source-Language: en_US\n" @@ -1780,7 +1787,7 @@ msgid "VDE Socket:" msgstr "Ổ cắm VDE:" msgid "TAP Bridge Device:" -msgstr "" +msgstr "Thiết bị cầu nối TAP:" msgid "86Box Unit Tester" msgstr "Trình kiểm tra đơn vị 86box" @@ -2173,16 +2180,16 @@ msgid "WSS DMA" msgstr "WSS DMA" msgid "RTC IRQ" -msgstr "" +msgstr "IRQ của RTC" msgid "RTC Port Address" -msgstr "" +msgstr "Địa chỉ cổng của RTC" msgid "Onboard RTC" -msgstr "" +msgstr "RTC tích hợp trên bo mạch" msgid "Not installed" -msgstr "" +msgstr "Chưa được cài đặt" msgid "Enable OPL" msgstr "Bật OPL" @@ -2806,7 +2813,7 @@ msgid "Toggle fullscreen" msgstr "Bật/tắt toàn màn hình" msgid "Toggle UI in fullscreen" -msgstr "" +msgstr "Chuyển đổi giao diện người dùng sang chế độ toàn màn hình" msgid "Release mouse pointer" msgstr "Thả con trỏ chuột" diff --git a/src/video/vid_cga_compaq_plasma.c b/src/video/vid_cga_compaq_plasma.c index b894daa9f3..9eea61e0fa 100644 --- a/src/video/vid_cga_compaq_plasma.c +++ b/src/video/vid_cga_compaq_plasma.c @@ -106,7 +106,11 @@ compaq_plasma_waitstates(UNUSED(void *priv)) int ws; ws = ws_array[cycles & 0xf]; - sub_cycles(ws); + + if (is_nec) + sub_cycles_vx0(ws); + else + sub_cycles(ws); } static void diff --git a/src/video/vid_cga_ncr.c b/src/video/vid_cga_ncr.c index cda38036bb..dabbd85bfd 100644 --- a/src/video/vid_cga_ncr.c +++ b/src/video/vid_cga_ncr.c @@ -91,7 +91,11 @@ nga_waitstates(UNUSED(void *priv)) int ws; ws = ws_array[cycles & 0xf]; - sub_cycles(ws); + + if (is_nec) + sub_cycles_vx0(ws); + else + sub_cycles(ws); } void diff --git a/src/video/vid_cga_olivetti.c b/src/video/vid_cga_olivetti.c index 0279621a18..ae539d0843 100644 --- a/src/video/vid_cga_olivetti.c +++ b/src/video/vid_cga_olivetti.c @@ -157,7 +157,11 @@ ogc_waitstates(UNUSED(void *priv)) int ws; ws = ws_array[cycles & 0xf]; - sub_cycles(ws); + + if (is_nec) + sub_cycles_vx0(ws); + else + sub_cycles(ws); } void