Merge branch '86Box:master' into master

This commit is contained in:
starfrost
2024-12-01 20:58:01 +00:00
committed by GitHub
3 changed files with 45 additions and 19 deletions

View File

@@ -26,6 +26,7 @@
#define HAVE_STDARG_H
#include <86box/86box.h>
#include <86box/timer.h>
#include <86box/machine.h>
#include <86box/path.h>
#include <86box/plat.h>
#include <86box/ui.h>
@@ -153,20 +154,16 @@ static const struct {
{ 43, FLAG_RPM_300 | FLAG_525 | FLAG_DS | FLAG_HOLE0, "5.25\" 360k", "525_2dd" },
/* 5.25" QD */
{ 86, FLAG_RPM_300 | FLAG_525 | FLAG_DS | FLAG_HOLE0 | FLAG_DOUBLE_STEP, "5.25\" 720k", "525_2qd" },
/* 5.25" HD PS/2 */
{ 86, FLAG_RPM_360 | FLAG_525 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP | FLAG_INVERT_DENSEL | FLAG_PS2, "5.25\" 1.2M PS/2", "525_2hd_ps2" },
/* 5.25" HD */
{ 86, FLAG_RPM_360 | FLAG_525 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP, "5.25\" 1.2M", "525_2hd" },
{ 86, FLAG_RPM_360 | FLAG_525 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP | FLAG_PS2, "5.25\" 1.2M", "525_2hd" },
/* 5.25" HD Dual RPM */
{ 86, FLAG_RPM_300 | FLAG_RPM_360 | FLAG_525 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP, "5.25\" 1.2M 300/360 RPM", "525_2hd_dualrpm" },
/* 3.5" 1DD */
{ 86, FLAG_RPM_300 | FLAG_HOLE0 | FLAG_DOUBLE_STEP, "3.5\" 360k", "35_1dd" },
/* 3.5" DD, Equivalent to TEAC FD-235F */
{ 86, FLAG_RPM_300 | FLAG_DS | FLAG_HOLE0 | FLAG_DOUBLE_STEP, "3.5\" 720k", "35_2dd" },
/* 3.5" HD PS/2 */
{ 86, FLAG_RPM_300 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP | FLAG_INVERT_DENSEL | FLAG_PS2, "3.5\" 1.44M PS/2", "35_2hd_ps2" },
/* 3.5" HD, Equivalent to TEAC FD-235HF */
{ 86, FLAG_RPM_300 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP, "3.5\" 1.44M", "35_2hd" },
{ 86, FLAG_RPM_300 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP | FLAG_PS2, "3.5\" 1.44M", "35_2hd" },
/* TODO: 3.5" DD, Equivalent to TEAC FD-235GF */
// { 86, FLAG_RPM_300 | FLAG_RPM_360 | FLAG_DS | FLAG_HOLE0 | FLAG_HOLE1 | FLAG_DOUBLE_STEP, "3.5\" 1.25M", "35_2hd_2mode" },
/* 3.5" HD PC-98 */
@@ -214,10 +211,19 @@ fdd_get_internal_name(int type)
int
fdd_get_from_internal_name(char *s)
{
int c = 0;
int c = 0;
char *n;
/* TODO: Remove this once the migration period is over. */
if (!strcmp(s, "525_2hd_ps2"))
n = "525_2hd";
else if (!strcmp(s, "35_2hd_ps2"))
n = "35_2hd";
else
n = s;
while (strlen(drive_types[c].internal_name)) {
if (!strcmp((char *) drive_types[c].internal_name, s))
if (!strcmp((char *) drive_types[c].internal_name, n))
return c;
c++;
}
@@ -282,11 +288,32 @@ fdd_current_track(int drive)
return fdd[drive].track;
}
static int
fdd_type_invert_densel(int type)
{
int ret;
if (drive_types[type].flags & FLAG_PS2)
ret = !strstr(machine_getname(), "PS/2");
else
ret = drive_types[type].flags & FLAG_INVERT_DENSEL;
return ret;
}
static int
fdd_invert_densel(int drive)
{
int ret = fdd_type_invert_densel(fdd[drive].type);
return ret;
}
void
fdd_set_densel(int densel)
{
for (uint8_t i = 0; i < FDD_NUM; i++) {
if (drive_types[fdd[i].type].flags & FLAG_INVERT_DENSEL)
if (fdd_invert_densel(i))
fdd[i].densel = densel ^ 1;
else
fdd[i].densel = densel;
@@ -302,7 +329,7 @@ fdd_getrpm(int drive)
hole = fdd_hole(drive);
densel = fdd[drive].densel;
if (drive_types[fdd[drive].type].flags & FLAG_INVERT_DENSEL)
if (fdd_invert_densel(drive))
densel ^= 1;
if (!(drive_types[fdd[drive].type].flags & FLAG_RPM_360))
@@ -340,10 +367,9 @@ fdd_doublestep_40(int drive)
void
fdd_set_type(int drive, int type)
{
int old_type = fdd[drive].type;
fdd[drive].type = type;
if ((drive_types[old_type].flags ^ drive_types[type].flags) & FLAG_INVERT_DENSEL)
if (fdd_type_invert_densel(fdd[drive].type) != fdd_type_invert_densel(type))
fdd[drive].densel ^= 1;
fdd[drive].type = type;
}
int

View File

@@ -1372,13 +1372,13 @@ msgid "This machine might have been moved or copied."
msgstr "这台机器可能被移动或复制过。"
msgid "In order to ensure proper networking functionality, 86Box needs to know if this machine was moved or copied.\n\nSelect \"I Copied It\" if you are not sure."
msgstr "为了确保网络功能正常86Box需要知道这台机器是否被移动或复制。\n\n如果您不确定请选择\"我复制了它\"。"
msgstr "为了确保网络功能正常86Box需要知道这台机器是否被移动或复制。\n\n如果您不确定请选择\"我复制这台机器\"。"
msgid "I Moved It"
msgstr "我移动了它"
msgstr "我移动这台机器"
msgid "I Copied It"
msgstr "我复制了它"
msgstr "我复制这台机器"
msgid "86Box Monitor #"
msgstr "86Box 监测器 "

View File

@@ -1372,13 +1372,13 @@ msgid "This machine might have been moved or copied."
msgstr "這台機器可能已被移動或複製。"
msgid "In order to ensure proper networking functionality, 86Box needs to know if this machine was moved or copied.\n\nSelect \"I Copied It\" if you are not sure."
msgstr "為了確保正常的網路功能86Box 需要知道這台機器是否被移動或複製。\n\n如果您不確定請選擇「我複製了它」。"
msgstr "為了確保正常的網路功能86Box 需要知道這台機器是否被移動或複製。\n\n如果您不確定請選擇「我複製這台機器」。"
msgid "I Moved It"
msgstr "我移動了它"
msgstr "我移動這台機器"
msgid "I Copied It"
msgstr "我複製了它"
msgstr "我複製這台機器"
msgid "86Box Monitor #"
msgstr "86Box Monitor "