From cc939fe1710e03c0f7e3e7fd41a6dd1f6cc90165 Mon Sep 17 00:00:00 2001 From: Daniel Gurney Date: Sun, 28 Dec 2025 15:37:18 +0000 Subject: [PATCH 1/9] Translated using Weblate (Finnish) Currently translated at 97.1% (971 of 999 strings) Translation: 86Box/86Box Translate-URL: https://weblate.86box.net/projects/86box/86box/fi/ --- src/qt/languages/fi-FI.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/languages/fi-FI.po b/src/qt/languages/fi-FI.po index d43b70192..f5cd64b90 100644 --- a/src/qt/languages/fi-FI.po +++ b/src/qt/languages/fi-FI.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-12-06 18:56+0000\n" +"PO-Revision-Date: 2025-12-29 09:54+0000\n" "Last-Translator: Daniel Gurney \n" "Language-Team: Finnish \n" "Language: fi-FI\n" @@ -211,13 +211,13 @@ msgid "Take s&creenshot" msgstr "Ota &kuvakaappaus" msgid "Take &raw screenshot" -msgstr "Ota &raaka kuvakaapus" +msgstr "Ota &raaka kuvakaappaus" msgid "C&opy screenshot" -msgstr "K&opia kuvakaapaus" +msgstr "K&opioi kuvakaappaus" msgid "Copy r&aw screenshot" -msgstr "Kopia r&aaka kuvakaapaus" +msgstr "Kopioi r&aaka kuvakaappaus" msgid "S&ound" msgstr "&Ääni" From caab65339e5b62a40002a2f5a830f2d91e001b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Tue, 30 Dec 2025 18:01:17 +0100 Subject: [PATCH 2/9] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..7446dd9aa --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,27 @@ +**1. No illegal activity or Discord ToS violations** +- 1.1. Do not distribute malware for non-research purposes. Post samples in a clearly named encrypted archive. +- 1.2. Posting old software is allowed if at least 10 years old and out of support. +- 1.3. Do not join while being under the age of 13 (this Discord server is bridged to an IRC network and Minecraft server hosted in Finland, where the minimum age is 13 (or higher if you are in a country where the minimum age is higher), as such we enforce that minimum age server-wide). +- 1.4. Do not post NSFW content (defined at the staff's discretion). + +**2. No offensive or disruptive behavior or harassment** +- 2.1. No gate-keeping. We aim to accommodate and welcome people of all different opinions and knowledge levels to this server. +- 2.2. You may speak any language but provide a summary in English so that we can understand what you are saying and use English when requested. +- 2.3. Do not retroactively delete messages or do major edits. +- 2.4. Do not antagonize, defame, demean, blackmail, impersonate, dox others, bring outside drama, use intentionally offensive profile aspects, or otherwise post messages to start a fight (eg. platform wars). Discuss or debate the idea, not the person. +- 2.5. Do not backseat moderate, spam, flood, unsolicitedly ping people, advertise without staff permission, or evade server bans. +- 2.6. Do not speak on behalf of the project unless you are a project member (staff role or higher). This includes all messages which could reasonably be understood as being an official position. Ask a staff member if you're unsure about your message. +- 2.7. Do not block essential communications, including Staff or the Owner. +- 2.8. Do not engage in political discussions. (Formerly Rule 8) +- 2.9. Decisions by higher-ranked users supersede those by lower-ranked users. This applies to moderation **and** emulator development. The rank will be proportional to the accrued contribution. Seniority must be earned. + +**3. Moderation and appeal protocol** +- 3.1. Rule violations are punished at the staff's discretion, taking all circumstances into account. +- 3.2. Rules enforcement must be equal, impartial, and not retroactive or politically motivated. +- 3.3. Everyone is innocent until proven guilty. +- 3.4. Unless there is an emergency, urgent action is otherwise warranted, or a user has joined with the express purpose of violating our rules, staff shall deliberate before taking action in order to reach consensus and avoid staff conflicts. + +**4. Do not insist on requests or suggestions** +- 4.1. You may politely request something from us; if rejected, you are going to be told why and what to do to have it reconsidered. +- 4.2. Follow the contribution requirements listed on the GitHub readme. +- 4.3. Follow proper procedure (eg. for pull requests or bug reports). From e8c3f13eccda5c89740e82c8d680f2a3eca91b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Tue, 30 Dec 2025 18:04:29 +0100 Subject: [PATCH 3/9] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 7446dd9aa..56384bfda 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,8 +1,9 @@ -**1. No illegal activity or Discord ToS violations** +**1. No illegal activity or Discord or GitHub ToS violations** - 1.1. Do not distribute malware for non-research purposes. Post samples in a clearly named encrypted archive. - 1.2. Posting old software is allowed if at least 10 years old and out of support. -- 1.3. Do not join while being under the age of 13 (this Discord server is bridged to an IRC network and Minecraft server hosted in Finland, where the minimum age is 13 (or higher if you are in a country where the minimum age is higher), as such we enforce that minimum age server-wide). +- 1.3. Do not join while being under the age of 13. - 1.4. Do not post NSFW content (defined at the staff's discretion). +- 1.5. Do not do anything forbidden by the law or the Discord or GitHub Terms of Service. **2. No offensive or disruptive behavior or harassment** - 2.1. No gate-keeping. We aim to accommodate and welcome people of all different opinions and knowledge levels to this server. From f4f2a1223ae72b28d332f803ae14beeb0cd0f563 Mon Sep 17 00:00:00 2001 From: Daniel Gurney Date: Tue, 30 Dec 2025 19:16:39 +0200 Subject: [PATCH 4/9] Refine CoC Change some wording to fit GitHub better, as the initial commit was just a copy from Discord --- CODE_OF_CONDUCT.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 56384bfda..3975e1df6 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,28 +1,30 @@ -**1. No illegal activity or Discord or GitHub ToS violations** +# Code of Conduct +In order for everyone to enjoy their time contributing to 86Box or otherwise being a part of the community, we kindly ask you to review and follow the below rules. + +## 1. No illegal activity or GitHub ToS violations - 1.1. Do not distribute malware for non-research purposes. Post samples in a clearly named encrypted archive. - 1.2. Posting old software is allowed if at least 10 years old and out of support. - 1.3. Do not join while being under the age of 13. -- 1.4. Do not post NSFW content (defined at the staff's discretion). +- 1.4. Do not post NSFW content (defined at the team's discretion). - 1.5. Do not do anything forbidden by the law or the Discord or GitHub Terms of Service. -**2. No offensive or disruptive behavior or harassment** -- 2.1. No gate-keeping. We aim to accommodate and welcome people of all different opinions and knowledge levels to this server. +## 2. No offensive or disruptive behavior or harassment +- 2.1. No gate-keeping. We aim to accommodate and welcome people of all different opinions and knowledge levels to this community. - 2.2. You may speak any language but provide a summary in English so that we can understand what you are saying and use English when requested. -- 2.3. Do not retroactively delete messages or do major edits. +- 2.3. Do not retroactively delete messages or do major edits unless you posted something by mistake. - 2.4. Do not antagonize, defame, demean, blackmail, impersonate, dox others, bring outside drama, use intentionally offensive profile aspects, or otherwise post messages to start a fight (eg. platform wars). Discuss or debate the idea, not the person. -- 2.5. Do not backseat moderate, spam, flood, unsolicitedly ping people, advertise without staff permission, or evade server bans. -- 2.6. Do not speak on behalf of the project unless you are a project member (staff role or higher). This includes all messages which could reasonably be understood as being an official position. Ask a staff member if you're unsure about your message. -- 2.7. Do not block essential communications, including Staff or the Owner. -- 2.8. Do not engage in political discussions. (Formerly Rule 8) -- 2.9. Decisions by higher-ranked users supersede those by lower-ranked users. This applies to moderation **and** emulator development. The rank will be proportional to the accrued contribution. Seniority must be earned. +- 2.5. Do not backseat moderate, spam, flood, unsolicitedly ping people, advertise without permission, or evade blocks. +- 2.6. Do not speak on behalf of the project unless you are a team member. This includes all messages which could reasonably be understood as being an official position. Ask a team member if you're unsure about your message. +- 2.7. Do not engage in political discussions. +- 2.8. Decisions by higher-ranked users supersede those by lower-ranked users. -**3. Moderation and appeal protocol** -- 3.1. Rule violations are punished at the staff's discretion, taking all circumstances into account. +## 3. Moderation and appeal protocol +- 3.1. Rule violations are punished at the team's discretion, taking all circumstances into account. - 3.2. Rules enforcement must be equal, impartial, and not retroactive or politically motivated. - 3.3. Everyone is innocent until proven guilty. -- 3.4. Unless there is an emergency, urgent action is otherwise warranted, or a user has joined with the express purpose of violating our rules, staff shall deliberate before taking action in order to reach consensus and avoid staff conflicts. +- 3.4. Unless there is an emergency, urgent action is otherwise warranted, or a user is participating with the express purpose of violating our rules, the team shall deliberate before taking action in order to reach consensus and avoid team conflicts. -**4. Do not insist on requests or suggestions** +## 4. Do not insist on requests or suggestions - 4.1. You may politely request something from us; if rejected, you are going to be told why and what to do to have it reconsidered. - 4.2. Follow the contribution requirements listed on the GitHub readme. - 4.3. Follow proper procedure (eg. for pull requests or bug reports). From 15e6841d8a11908009b0bfcef0be7ebb10581caf Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Wed, 31 Dec 2025 00:16:51 +0600 Subject: [PATCH 5/9] Fix drawing of 2D polygons on ATi Mach64 --- src/video/vid_ati_mach64.c | 93 ++++++++++++++------------------------ 1 file changed, 34 insertions(+), 59 deletions(-) diff --git a/src/video/vid_ati_mach64.c b/src/video/vid_ati_mach64.c index 97c869668..4cecf6cf4 100644 --- a/src/video/vid_ati_mach64.c +++ b/src/video/vid_ati_mach64.c @@ -2169,6 +2169,14 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) uint32_t dest_dat; uint32_t host_dat = 0; int mix = 0; + int draw_pixel = !(mach64->dst_cntl & DST_POLYGON_EN); + + if (mach64->dst_cntl & DST_POLYGON_EN) { + if (mach64->dst_cntl & DST_Y_MAJOR) + draw_pixel = 1; + else if (mach64->accel.err >= 0) + draw_pixel = 1; + } if (mach64->accel.source_host) { host_dat = cpu_dat; @@ -2215,7 +2223,7 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) break; } - if ((mach64->accel.dst_x >= mach64->accel.sc_left) && (mach64->accel.dst_x <= mach64->accel.sc_right) && (mach64->accel.dst_y >= mach64->accel.sc_top) && (mach64->accel.dst_y <= mach64->accel.sc_bottom)) { + if ((mach64->accel.dst_x >= mach64->accel.sc_left) && (mach64->accel.dst_x <= mach64->accel.sc_right) && (mach64->accel.dst_y >= mach64->accel.sc_top) && (mach64->accel.dst_y <= mach64->accel.sc_bottom) && draw_pixel) { switch (mix ? mach64->accel.source_fg : mach64->accel.source_bg) { case SRC_HOST: src_dat = host_dat; @@ -2285,17 +2293,21 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) if (mach64->dst_cntl & DST_Y_MAJOR) { mach64->accel.dst_y += mach64->accel.yinc; + mach64->accel.src_y += mach64->accel.yinc; if (mach64->accel.err >= 0) { mach64->accel.err += mach64->dst_bres_dec; mach64->accel.dst_x += mach64->accel.xinc; + mach64->accel.src_x += mach64->accel.xinc; } else { mach64->accel.err += mach64->dst_bres_inc; } } else { mach64->accel.dst_x += mach64->accel.xinc; + mach64->accel.src_x += mach64->accel.xinc; if (mach64->accel.err >= 0) { mach64->accel.err += mach64->dst_bres_dec; mach64->accel.dst_y += mach64->accel.yinc; + mach64->accel.src_y += mach64->accel.yinc; } else { mach64->accel.err += mach64->dst_bres_inc; } @@ -2347,9 +2359,7 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) if (mach64->dst_cntl & DST_POLYGON_EN) { if (mach64->dst_cntl & DST_Y_MAJOR) draw_pixel = 1; - else if ((mach64->dst_cntl & DST_X_DIR) && mach64->accel.err < (mach64->dst_bres_dec + mach64->dst_bres_inc)) /*X+*/ - draw_pixel = 1; - else if (!(mach64->dst_cntl & DST_X_DIR) && mach64->accel.err >= 0) /*X-*/ + else if (mach64->accel.err >= 0) draw_pixel = 1; } @@ -2406,62 +2416,27 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) return; } - switch (mach64->dst_cntl & 7) { - case 0: - case 2: - mach64->accel.src_x--; - mach64->accel.dst_x--; - break; - case 1: - case 3: - mach64->accel.src_x++; - mach64->accel.dst_x++; - break; - case 4: - case 5: - mach64->accel.src_y--; - mach64->accel.dst_y--; - break; - case 6: - case 7: - mach64->accel.src_y++; - mach64->accel.dst_y++; - break; - - default: - break; - } - mach64_log("x %i y %i err %i inc %i dec %i\n", mach64->accel.dst_x, mach64->accel.dst_y, mach64->accel.err, mach64->dst_bres_inc, mach64->dst_bres_dec); - if (mach64->accel.err >= 0) { - mach64->accel.err += mach64->dst_bres_dec; - - switch (mach64->dst_cntl & 7) { - case 0: - case 1: - mach64->accel.src_y--; - mach64->accel.dst_y--; - break; - case 2: - case 3: - mach64->accel.src_y++; - mach64->accel.dst_y++; - break; - case 4: - case 6: - mach64->accel.src_x--; - mach64->accel.dst_x--; - break; - case 5: - case 7: - mach64->accel.src_x++; - mach64->accel.dst_x++; - break; - - default: - break; + if (mach64->dst_cntl & DST_Y_MAJOR) { + mach64->accel.dst_y += mach64->accel.yinc; + mach64->accel.src_y += mach64->accel.yinc; + if (mach64->accel.err >= 0) { + mach64->accel.err += mach64->dst_bres_dec; + mach64->accel.dst_x += mach64->accel.xinc; + mach64->accel.src_x += mach64->accel.xinc; + } else { + mach64->accel.err += mach64->dst_bres_inc; } - } else - mach64->accel.err += mach64->dst_bres_inc; + } else { + mach64->accel.dst_x += mach64->accel.xinc; + mach64->accel.src_x += mach64->accel.xinc; + if (mach64->accel.err >= 0) { + mach64->accel.err += mach64->dst_bres_dec; + mach64->accel.dst_y += mach64->accel.yinc; + mach64->accel.src_y += mach64->accel.yinc; + } else { + mach64->accel.err += mach64->dst_bres_inc; + } + } } } break; From a10bda22ef8297de5aa0a31e0bdb6823d1c5219c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Tue, 30 Dec 2025 20:02:15 +0100 Subject: [PATCH 6/9] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 3975e1df6..bd5810a77 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -15,8 +15,8 @@ In order for everyone to enjoy their time contributing to 86Box or otherwise bei - 2.4. Do not antagonize, defame, demean, blackmail, impersonate, dox others, bring outside drama, use intentionally offensive profile aspects, or otherwise post messages to start a fight (eg. platform wars). Discuss or debate the idea, not the person. - 2.5. Do not backseat moderate, spam, flood, unsolicitedly ping people, advertise without permission, or evade blocks. - 2.6. Do not speak on behalf of the project unless you are a team member. This includes all messages which could reasonably be understood as being an official position. Ask a team member if you're unsure about your message. -- 2.7. Do not engage in political discussions. -- 2.8. Decisions by higher-ranked users supersede those by lower-ranked users. +- 2.7. Decisions by higher-ranked users supersede those by lower-ranked users. +- 2.8. Do not engage in political discussions. ## 3. Moderation and appeal protocol - 3.1. Rule violations are punished at the team's discretion, taking all circumstances into account. From 08851fae31ecbdc96c71caaf4c72f52fb21656a7 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Mon, 29 Dec 2025 13:46:46 +0000 Subject: [PATCH 7/9] Translated using Weblate (Russian) Currently translated at 100.0% (999 of 999 strings) Translation: 86Box/86Box Translate-URL: https://weblate.86box.net/projects/86box/86box/ru/ --- src/qt/languages/ru-RU.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/languages/ru-RU.po b/src/qt/languages/ru-RU.po index 9e16f6c28..8f3e611ad 100644 --- a/src/qt/languages/ru-RU.po +++ b/src/qt/languages/ru-RU.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-12-07 13:33+0000\n" +"PO-Revision-Date: 2025-12-30 13:56+0000\n" "Last-Translator: Alexander Babikov \n" "Language-Team: Russian \n" "Language: ru-RU\n" @@ -212,13 +212,13 @@ msgid "Take s&creenshot" msgstr "Сделать с&криншот" msgid "Take &raw screenshot" -msgstr "Сделать &сырой скриншот" +msgstr "Сделать н&еобработанный скриншот" msgid "C&opy screenshot" -msgstr "С&копировать скриншот" +msgstr "Ско&пировать скриншот" msgid "Copy r&aw screenshot" -msgstr "Скопировать с&ырой скриншот" +msgstr "Скопировать необработанный скрин&шот" msgid "S&ound" msgstr "&Звук" From 261840be7bc2423a8a1d40b1b8e8ffc439df5f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Tue, 30 Dec 2025 20:04:24 +0100 Subject: [PATCH 8/9] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index bd5810a77..88c62ddef 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -17,6 +17,7 @@ In order for everyone to enjoy their time contributing to 86Box or otherwise bei - 2.6. Do not speak on behalf of the project unless you are a team member. This includes all messages which could reasonably be understood as being an official position. Ask a team member if you're unsure about your message. - 2.7. Decisions by higher-ranked users supersede those by lower-ranked users. - 2.8. Do not engage in political discussions. +- 2.9. Ignoring essential communication from team members does not exempt you from possible actions against you. Seniority must be earned. ## 3. Moderation and appeal protocol - 3.1. Rule violations are punished at the team's discretion, taking all circumstances into account. From b1756b250f49a8a21234953c6f26cffdf601c255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Tue, 30 Dec 2025 20:08:38 +0100 Subject: [PATCH 9/9] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 88c62ddef..8691505fc 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -4,9 +4,8 @@ In order for everyone to enjoy their time contributing to 86Box or otherwise bei ## 1. No illegal activity or GitHub ToS violations - 1.1. Do not distribute malware for non-research purposes. Post samples in a clearly named encrypted archive. - 1.2. Posting old software is allowed if at least 10 years old and out of support. -- 1.3. Do not join while being under the age of 13. -- 1.4. Do not post NSFW content (defined at the team's discretion). -- 1.5. Do not do anything forbidden by the law or the Discord or GitHub Terms of Service. +- 1.3. Do not post NSFW content (defined at the staff's discretion). +- 1.4. Do not do anything forbidden by the law or the Discord or GitHub Terms of Service. ## 2. No offensive or disruptive behavior or harassment - 2.1. No gate-keeping. We aim to accommodate and welcome people of all different opinions and knowledge levels to this community.