Merge branch 'master' into pc98x1

This commit is contained in:
TC1995
2024-11-20 19:50:54 +01:00
66 changed files with 21959 additions and 1202 deletions

View File

@@ -593,7 +593,7 @@ else
grep -q " bullseye " /etc/apt/sources.list || echo [!] WARNING: System not running the expected Debian version
# Establish general dependencies.
pkgs="cmake ninja-build pkg-config git wget p7zip-full extra-cmake-modules wayland-protocols tar gzip file appstream"
pkgs="cmake ninja-build pkg-config git wget p7zip-full extra-cmake-modules wayland-protocols tar gzip file appstream qttranslations5-l10n"
if [ "$(dpkg --print-architecture)" = "$arch_deb" ]
then
pkgs="$pkgs build-essential"

View File

@@ -63,6 +63,7 @@ jobs:
qtbase5-dev
qtbase5-private-dev
qttools5-dev
qttranslations5-l10n
libevdev-dev
libxkbcommon-x11-dev

View File

@@ -66,6 +66,7 @@ jobs:
qtbase5-dev
qtbase5-private-dev
qttools5-dev
qttranslations5-l10n
libevdev-dev
libxkbcommon-x11-dev

3
.gitignore vendored
View File

@@ -62,3 +62,6 @@ CMakeLists.txt.user
# clangd
.cache
# Jetbrains CLion
.idea

View File

@@ -1188,12 +1188,14 @@ read_toc_raw(cdrom_t *dev, unsigned char *b)
b[len++] = ti.attr; /* Track ADR and Control */
b[len++] = 0; /* TNO (always 0) */
b[len++] = ti.number; /* Point (for track points - track number) */
b[len++] = ti.m; /* M */
b[len++] = ti.s; /* S */
b[len++] = ti.f; /* F */
/* Yes, this is correct - MSF followed by PMSF, the actual position is in PMSF. */
b[len++] = 0;
b[len++] = 0;
b[len++] = 0;
b[len++] = 0;
b[len++] = ti.m; /* PM */
b[len++] = ti.s; /* PS */
b[len++] = ti.f; /* PF */
}
return len;

View File

@@ -857,7 +857,7 @@ cdi_cue_get_flags(track_t *cur, char **line)
}
static int
cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, uint64_t *total_pregap, uint64_t cur_pregap)
cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, uint64_t cur_pregap)
{
/* Frames between index 0 (prestart) and 1 (current track start) must be skipped. */
track_t *prev = NULL;
@@ -865,7 +865,8 @@ cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, u
/* Skip *MUST* be calculated even if prestart is 0. */
if (prestart > cur->start)
return 0;
const uint64_t skip = cur->start - prestart;
/* If prestart is 0, there is no skip. */
uint64_t skip = (prestart == 0) ? 0 : (cur->start - prestart);
if ((cdi->tracks != NULL) && (cdi->tracks_num != 0))
prev = &cdi->tracks[cdi->tracks_num - 1];
@@ -883,7 +884,6 @@ cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, u
if ((cur->sector_size != RAW_SECTOR_SIZE) && (cur->form > 0) && !cur->noskip)
cur->skip += 8;
cur->start += cur_pregap;
*total_pregap = cur_pregap;
cdi_track_push_back(cdi, cur);
return 1;
}
@@ -891,23 +891,21 @@ cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, u
/* Current track consumes data from the same file as the previous. */
if (prev->file == cur->file) {
cur->start += *shift;
prev->length = cur->start + *total_pregap - prev->start - skip;
prev->length = cur->start - prev->start - skip;
cur->skip += prev->skip + (prev->length * prev->sector_size) + (skip * cur->sector_size);
*total_pregap += cur_pregap;
cur->start += *total_pregap;
cur->start += cur_pregap;
} else {
const uint64_t temp = prev->file->get_length(prev->file) - (prev->skip);
prev->length = temp / ((uint64_t) prev->sector_size);
if ((temp % prev->sector_size) != 0)
/* Padding. */
prev->length++;
/* Padding. */
cur->start += prev->start + prev->length + cur_pregap;
cur->skip = skip * cur->sector_size;
if ((cur->sector_size != RAW_SECTOR_SIZE) && (cur->form > 0) && !cur->noskip)
cur->skip += 8;
*shift += prev->start + prev->length;
*total_pregap = cur_pregap;
}
/* Error checks. */
@@ -931,7 +929,6 @@ cdi_load_cue(cd_img_t *cdi, const char *cuefile)
uint64_t shift = 0ULL;
uint64_t prestart = 0ULL;
uint64_t cur_pregap = 0ULL;
uint64_t total_pregap = 0ULL;
uint64_t frame = 0ULL;
uint64_t index;
int iso_file_used = 0;
@@ -984,7 +981,7 @@ cdi_load_cue(cd_img_t *cdi, const char *cuefile)
if (!strcmp(command, "TRACK")) {
if (can_add_track)
success = cdi_add_track(cdi, &trk, &shift, prestart, &total_pregap, cur_pregap);
success = cdi_add_track(cdi, &trk, &shift, prestart, cur_pregap);
else
success = 1;
if (!success)
@@ -1103,7 +1100,7 @@ cdi_load_cue(cd_img_t *cdi, const char *cuefile)
char ansi[MAX_FILENAME_LENGTH];
if (can_add_track)
success = cdi_add_track(cdi, &trk, &shift, prestart, &total_pregap, cur_pregap);
success = cdi_add_track(cdi, &trk, &shift, prestart, cur_pregap);
else
success = 1;
if (!success)
@@ -1186,7 +1183,7 @@ cdi_load_cue(cd_img_t *cdi, const char *cuefile)
return 0;
/* Add last track. */
if (!cdi_add_track(cdi, &trk, &shift, prestart, &total_pregap, cur_pregap))
if (!cdi_add_track(cdi, &trk, &shift, prestart, cur_pregap))
return 0;
/* Add lead out track. */
@@ -1196,7 +1193,7 @@ cdi_load_cue(cd_img_t *cdi, const char *cuefile)
trk.start = 0;
trk.length = 0;
trk.file = NULL;
if (!cdi_add_track(cdi, &trk, &shift, 0, &total_pregap, 0))
if (!cdi_add_track(cdi, &trk, &shift, 0, 0))
return 0;
return 1;

View File

@@ -7,6 +7,7 @@
# include <stdlib.h>
# define HAVE_STDARG_H
# include <86box/86box.h>
# include <86box/plat.h>
# include "cpu.h"
# include "x86.h"
# include "x86_flags.h"
@@ -25,14 +26,6 @@
# include "codegen_ops.h"
# include "codegen_ops_x86-64.h"
# if defined(__unix__) || defined(__APPLE__) || defined(__HAIKU__)
# include <sys/mman.h>
# include <unistd.h>
# endif
# if _WIN64
# include <windows.h>
# endif
int codegen_flat_ds;
int codegen_flat_ss;
int codegen_flags_changed = 0;
@@ -68,13 +61,7 @@ static int last_ssegs;
void
codegen_init(void)
{
# if _WIN64
codeblock = VirtualAlloc(NULL, BLOCK_SIZE * sizeof(codeblock_t), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
# elif defined(__unix__) || defined(__APPLE__) || defined(__HAIKU__)
codeblock = mmap(NULL, BLOCK_SIZE * sizeof(codeblock_t), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, -1, 0);
# else
codeblock = malloc(BLOCK_SIZE * sizeof(codeblock_t));
# endif
codeblock = plat_mmap(BLOCK_SIZE * sizeof(codeblock_t), 1);
codeblock_hash = malloc(HASH_SIZE * sizeof(codeblock_t *));
memset(codeblock, 0, BLOCK_SIZE * sizeof(codeblock_t));

View File

@@ -44,6 +44,7 @@
# include <stdlib.h>
# include <wchar.h>
# include <86box/86box.h>
# include <86box/plat.h>
# include "cpu.h"
# include <86box/mem.h>
# include "x86.h"
@@ -64,14 +65,6 @@
# include "codegen_ops.h"
# include "codegen_ops_x86.h"
# ifdef __unix__
# include <sys/mman.h>
# include <unistd.h>
# endif
# if defined _WIN32
# include <windows.h>
# endif
int codegen_flat_ds;
int codegen_flat_ss;
int mmx_ebx_ecx_loaded;
@@ -1194,13 +1187,7 @@ gen_MEM_CHECK_WRITE_L(void)
void
codegen_init(void)
{
# ifdef _WIN32
codeblock = VirtualAlloc(NULL, (BLOCK_SIZE + 1) * sizeof(codeblock_t), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
# elif defined __unix__
codeblock = mmap(NULL, (BLOCK_SIZE + 1) * sizeof(codeblock_t), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, 0, 0);
# else
codeblock = malloc((BLOCK_SIZE + 1) * sizeof(codeblock_t));
# endif
codeblock = plat_mmap((BLOCK_SIZE + 1) * sizeof(codeblock_t), 1);
codeblock_hash = malloc(HASH_SIZE * sizeof(codeblock_t *));
memset(codeblock, 0, (BLOCK_SIZE + 1) * sizeof(codeblock_t));

View File

@@ -13,6 +13,7 @@
#include <86box/86box.h>
#include "cpu.h"
#include <86box/mem.h>
#include <86box/plat.h>
#include <86box/plat_unused.h>
#include "codegen.h"
@@ -33,15 +34,7 @@ int codegen_allocator_usage = 0;
void
codegen_allocator_init(void)
{
#if defined WIN32 || defined _WIN32 || defined _WIN32
mem_block_alloc = VirtualAlloc(NULL, MEM_BLOCK_NR * MEM_BLOCK_SIZE, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
/* TODO: check deployment target: older Intel-based versions of macOS don't play
nice with MAP_JIT. */
#elif defined(__APPLE__) && defined(MAP_JIT)
mem_block_alloc = mmap(0, MEM_BLOCK_NR * MEM_BLOCK_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE | MAP_JIT, -1, 0);
#else
mem_block_alloc = mmap(0, MEM_BLOCK_NR * MEM_BLOCK_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, -1, 0);
#endif
mem_block_alloc = plat_mmap(MEM_BLOCK_NR * MEM_BLOCK_SIZE, 1);
for (uint32_t c = 0; c < MEM_BLOCK_NR; c++) {
mem_blocks[c].offset = c * MEM_BLOCK_SIZE;

View File

@@ -730,7 +730,7 @@ static const device_config_t lt_config[] = {
{ .description = "Non-timed (original)", .value = 0 },
{ .description = "30 Hz (JMP2 = 1)", .value = 30 },
{ .description = "45 Hz (JMP2 not populated)", .value = 45 },
{ .description = "60 Hz (JMP 2 = 2)", .value = 60 },
{ .description = "60 Hz (JMP2 = 2)", .value = 60 },
{ .description = "" }
}
},

View File

@@ -35,6 +35,8 @@
* USA.
*/
#ifndef __NetBSD__
#ifndef BSWAP_H
#define BSWAP_H
@@ -239,3 +241,5 @@ cpu_to_be32wu(uint32_t *p, uint32_t v)
#undef be_bswaps
#endif /*BSWAP_H*/
#endif

View File

@@ -837,7 +837,7 @@ machine_at_vli486sv2g_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&keyboard_at_ami_device);
device_add(&keyboard_ps2_ami_device);
return ret;
}

View File

@@ -6855,7 +6855,7 @@ const machine_t machines[] = {
},
/* This has an AMIKey-2, which is an updated version of type 'H'. */
{
.name = "[SiS 471] ASUS VL/I-486SV2G (GX4)",
.name = "[SiS 471] ASUS VL/I-486SV2GX4",
.internal_name = "vli486sv2g",
.type = MACHINE_TYPE_486_S3,
.chipset = MACHINE_CHIPSET_SIS_471,

View File

@@ -935,8 +935,8 @@ static const device_config_t wd8003eb_config[] = {
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8 kB", .value = 8192 },
{ .description = "32 kB", .value = 32768 },
{ .description = "8 KB", .value = 8192 },
{ .description = "32 KB", .value = 32768 },
{ .description = "" }
},
},
@@ -1024,8 +1024,8 @@ static const device_config_t wd8013_config[] = {
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "16 kB", .value = 16384 },
{ .description = "64 kB", .value = 65536 },
{ .description = "16 KB", .value = 16384 },
{ .description = "64 KB", .value = 65536 },
{ .description = "" }
},
},
@@ -1049,8 +1049,8 @@ static const device_config_t wd8013epa_config[] = {
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8 kB", .value = 8192 },
{ .description = "16 kB", .value = 16384 },
{ .description = "8 KB", .value = 8192 },
{ .description = "16 KB", .value = 16384 },
{ .description = "" }
},
},

View File

@@ -2058,7 +2058,7 @@ escp_close(void *priv)
}
const lpt_device_t lpt_prt_escp_device = {
.name = "Generic ESC/P Dot-Matrix",
.name = "Generic ESC/P Dot-Matrix Printer",
.internal_name = "dot_matrix",
.init = escp_init,
.close = escp_close,

View File

@@ -454,10 +454,49 @@ if (UNIX AND NOT APPLE AND NOT HAIKU)
endif()
endif()
endif()
# Get the Qt translations directory
get_target_property(QT_QMAKE_EXECUTABLE Qt${QT_MAJOR}::qmake IMPORTED_LOCATION)
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_TRANSLATIONS OUTPUT_VARIABLE QT_TRANSLATIONS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
set(QM_FILES)
file(GLOB po_files "${CMAKE_CURRENT_SOURCE_DIR}/languages/*.po")
foreach(po_file ${po_files})
get_filename_component(PO_FILE_NAME ${po_file} NAME_WE)
# Get the language and country
string(REGEX MATCH "^[a-z]+" PO_LANGUAGE ${PO_FILE_NAME})
string(REGEX MATCH "[A-Z]+$" PO_COUNTRY ${PO_FILE_NAME})
# Find the base Qt translation for the language and country
set(qt_translation_file_dest "qt_${PO_LANGUAGE}_${PO_COUNTRY}.qm")
if (EXISTS "${QT_TRANSLATIONS_DIR}/qtbase_${PO_LANGUAGE}_${PO_COUNTRY}.qm")
set(qt_translation_file "qtbase_${PO_LANGUAGE}_${PO_COUNTRY}.qm")
# Fall back to just the language if country isn't found
elseif (EXISTS "${QT_TRANSLATIONS_DIR}/qtbase_${PO_LANGUAGE}.qm")
set(qt_translation_file "qtbase_${PO_LANGUAGE}.qm")
# If the translation is still not found, try the legacy Qt one
elseif (EXISTS "${QT_TRANSLATIONS_DIR}/qt_${PO_LANGUAGE}_${PO_COUNTRY}.qm")
set(qt_translation_file "qt_${PO_LANGUAGE}_${PO_COUNTRY}.qm")
# Fall back to just the language again
elseif (EXISTS "${QT_TRANSLATIONS_DIR}/qt_${PO_LANGUAGE}.qm")
set(qt_translation_file "qt_${PO_LANGUAGE}.qm")
else()
unset(qt_translation_file)
endif()
# Copy the translation file to the build directory
if (qt_translation_file)
file(COPY "${QT_TRANSLATIONS_DIR}/${qt_translation_file}" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
if (NOT (qt_translation_file STREQUAL qt_translation_file_dest))
# Rename the file for consistency
file(RENAME "${CMAKE_CURRENT_BINARY_DIR}/${qt_translation_file}" "${CMAKE_CURRENT_BINARY_DIR}/${qt_translation_file_dest}")
endif()
# Add the file to the translations list
string(APPEND QT_TRANSLATIONS_LIST " <file>${qt_translation_file_dest}</file>\n")
list(APPEND QM_FILES "${CMAKE_CURRENT_BINARY_DIR}/${qt_translation_file_dest}")
endif()
add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/86box_${PO_FILE_NAME}.qm"
COMMAND "$<TARGET_FILE:Qt${QT_MAJOR}::lconvert>" -i ${po_file} -o ${CMAKE_CURRENT_BINARY_DIR}/86box_${PO_FILE_NAME}.qm
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
@@ -465,5 +504,6 @@ foreach(po_file ${po_files})
list(APPEND QM_FILES "${CMAKE_CURRENT_BINARY_DIR}/86box_${PO_FILE_NAME}.qm")
list(APPEND QM_FILES "${po_file}")
endforeach()
configure_file(qt_translations.qrc ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
configure_file(qt_translations.qrc.in ${CMAKE_CURRENT_BINARY_DIR}/qt_translations.qrc)
target_sources(ui PRIVATE ${QM_FILES} ${CMAKE_CURRENT_BINARY_DIR}/qt_translations.qrc)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -26,3 +26,48 @@ msgstr "OpenGL (3.0 Core) renderer could not be initialised. Use another rendere
msgid "Development of the WinBox manager stopped in 2022 due to a lack of maintainers. As we direct our efforts towards making 86Box even better, we have made the decision to no longer support WinBox as a manager.\n\nNo further updates will be provided through WinBox, and you may encounter incorrect behavior should you continue using it with newer versions of 86Box. Any bug reports related to WinBox behavior will be closed as invalid.\n\nGo to 86box.net for a list of other managers you can use."
msgstr "Development of the WinBox manager stopped in 2022 due to a lack of maintainers. As we direct our efforts towards making 86Box even better, we have made the decision to no longer support WinBox as a manager.\n\nNo further updates will be provided through WinBox, and you may encounter incorrect behavior should you continue using it with newer versions of 86Box. Any bug reports related to WinBox behaviour will be closed as invalid.\n\nGo to 86box.net for a list of other managers you can use."
msgid "Apply fullscreen stretch mode when maximized"
msgstr "Apply fullscreen stretch mode when maximised"
msgid "Render behavior"
msgstr "Render behaviour"
msgid "&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Render each frame immediately, in sync with the emulated display.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;This is the recommended option if the shaders in use don't utilize frametime for animated effects.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
msgstr "&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Render each frame immediately, in sync with the emulated display.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;This is the recommended option if the shaders in use don't utilise frametime for animated effects.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
msgid "Synchronize with video"
msgstr "Synchronise with video"
msgid "&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
msgstr "&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When selecting media images (CD-ROM, floppy, etc.) the open dialogue will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
msgid "Color (generic)"
msgstr "Colour (generic)"
msgid "Gray Monochrome"
msgstr "Grey Monochrome"
msgid "Color (no brown)"
msgstr "Colour (no brown)"
msgid "Color (IBM 5153)"
msgstr "Colour (IBM 5153)"
msgid "Color 40x25 (5153/CGA)"
msgstr "Colour 40x25 (5153/CGA)"
msgid "Color 80x25 (5153/CGA)"
msgstr "Colour 80x25 (5153/CGA)"
msgid "Enhanced Color - Normal Mode (5154/ECD)"
msgstr "Enhanced Colour - Normal Mode (5154/ECD)"
msgid "Enhanced Color - Enhanced Mode (5154/ECD)"
msgstr "Enhanced Colour - Enhanced Mode (5154/ECD)"
msgid "Gray"
msgstr "Grey"
msgid "Color"
msgstr "Colour"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -457,7 +457,7 @@ DeviceConfig::DeviceName(const _device_ *device, const char *internalName, const
if (QStringLiteral("none") == internalName)
return tr("None");
else if (QStringLiteral("internal") == internalName)
return tr("Internal controller");
return tr("Internal device");
else if (device == nullptr)
return "";
else {

View File

@@ -96,12 +96,12 @@ static const QStringList rpmModes = {
};
static const QStringList floppyTypes = {
"160 kB",
"180 kB",
"320 kB",
"360 kB",
"640 kB",
"720 kB",
"160 KB",
"180 KB",
"320 KB",
"360 KB",
"640 KB",
"720 KB",
"1.2 MB",
"1.25 MB",
"1.44 MB",

View File

@@ -365,6 +365,8 @@ plat_mmap(size_t size, uint8_t executable)
#elif defined Q_OS_UNIX
# if defined Q_OS_DARWIN && defined MAP_JIT
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE | (executable ? MAP_JIT : 0), -1, 0);
# elif defined(PROT_MPROTECT)
void *ret = mmap(0, size, PROT_MPROTECT(PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0)), MAP_ANON | MAP_PRIVATE, -1, 0);
# else
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE, -1, 0);
# endif
@@ -804,12 +806,16 @@ plat_set_thread_name(void *thread, const char *name)
if (thread) /* Apple pthread can only set self's name */
return;
char truncated[64];
# elif defined(Q_OS_NETBSD)
char truncated[64];
# else
char truncated[16];
# endif
strncpy(truncated, name, sizeof(truncated) - 1);
# if defined(Q_OS_DARWIN)
pthread_setname_np(truncated);
# elif defined(Q_OS_NETBSD)
pthread_setname_np(thread ? *((pthread_t *) thread) : pthread_self(), truncated, "%s");
# elif defined(Q_OS_OPENBSD)
pthread_set_name_np(thread ? *((pthread_t *) thread) : pthread_self(), truncated);
# else

View File

@@ -195,7 +195,9 @@ ProgSettings::loadTranslators(QObject *parent)
qDebug() << "Translations loaded.\n";
QCoreApplication::installTranslator(translator);
if (!qtTranslator->load(QLatin1String("qtbase_") + localetofilename.replace('-', '_'), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
qtTranslator->load(QLatin1String("qt_") + localetofilename.replace('-', '_'), QApplication::applicationDirPath() + "/./translations/");
if (!qtTranslator->load(QLatin1String("qtbase_") + localetofilename.left(localetofilename.indexOf('-')), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
if (!qtTranslator->load(QLatin1String("qt_") + localetofilename.replace('-', '_'), QApplication::applicationDirPath() + "/./translations/"))
qtTranslator->load(QLatin1String("qt_") + localetofilename.replace('-', '_'), QLatin1String(":/"));
if (QApplication::installTranslator(qtTranslator)) {
qDebug() << "Qt translations loaded."
<< "\n";
@@ -207,7 +209,10 @@ ProgSettings::loadTranslators(QObject *parent)
translator->load(QLatin1String("86box_") + lcid_langcode[lang_id].first, QLatin1String(":/"));
QCoreApplication::installTranslator(translator);
if (!qtTranslator->load(QLatin1String("qtbase_") + QString(lcid_langcode[lang_id].first).replace('-', '_'), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
qtTranslator->load(QLatin1String("qt_") + QString(lcid_langcode[lang_id].first).replace('-', '_'), QApplication::applicationDirPath() + "/./translations/");
if (!qtTranslator->load(QLatin1String("qtbase_") + QString(lcid_langcode[lang_id].first).left(QString(lcid_langcode[lang_id].first).indexOf('-')), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
if(!qtTranslator->load(QLatin1String("qt_") + QString(lcid_langcode[lang_id].first).replace('-', '_'), QApplication::applicationDirPath() + "/./translations/"))
qtTranslator->load(QLatin1String("qt_") + QString(lcid_langcode[lang_id].first).replace('-', '_'), QLatin1String(":/"));
QCoreApplication::installTranslator(qtTranslator);
}
}

View File

@@ -200,10 +200,14 @@ RendererStack::mousePressEvent(QMouseEvent *event)
void
RendererStack::wheelEvent(QWheelEvent *event)
{
if (!mouse_capture) {
event->ignore();
return;
}
double numSteps = (double) event->angleDelta().y() / 120.0;
mouse_set_z((int) numSteps);
event->accept();
}

View File

@@ -24,5 +24,6 @@
<file>86box_vi-VN.qm</file>
<file>86box_zh-CN.qm</file>
<file>86box_zh-TW.qm</file>
@QT_TRANSLATIONS_LIST@
</qresource>
</RCC>

View File

@@ -132,7 +132,7 @@ xinput2_proc()
XGenericEventCookie *cookie = (XGenericEventCookie *) &ev.xcookie;
XNextEvent(disp, (XEvent *) &ev);
if (XGetEventData(disp, cookie) && (cookie->type == GenericEvent) && (cookie->extension == xi2opcode)) {
if (XGetEventData(disp, cookie) && (cookie->type == GenericEvent) && (cookie->extension == xi2opcode) && mouse_capture) {
const XIRawEvent *rawev = (const XIRawEvent *) cookie->data;
double coords[2] = { 0.0 };
@@ -214,8 +214,6 @@ common_motion:
}
prev_time = rawev->time;
if (!mouse_capture)
break;
XWindowAttributes winattrib {};
if (XGetWindowAttributes(disp, main_window->winId(), &winattrib)) {
auto globalPoint = main_window->mapToGlobal(QPoint(main_window->width() / 2, main_window->height() / 2));

View File

@@ -455,11 +455,8 @@ spock_process_imm_cmd(spock_t *scsi)
int phys_id;
int lun_id;
scsi->assign = 0;
switch (scsi->command & CMD_MASK) {
case CMD_ASSIGN:
scsi->assign = 1;
adapter_id = (scsi->command >> 16) & 15;
phys_id = (scsi->command >> 20) & 7;
lun_id = (scsi->command >> 24) & 7;
@@ -512,6 +509,7 @@ spock_process_imm_cmd(spock_t *scsi)
scsi->present[j] = i;
j++;
} else {
scsi->present[j] = 0xff;
spock_log("Adapter Reset, SCSI reset not present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[i].phys_id, scsi_devices[scsi->bus][i].type);
}
}
@@ -566,6 +564,7 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
scsi->present[j] = c;
j++;
} else {
scsi->present[j] = 0xff;
spock_log("Reset, SCSI reset not present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[c].phys_id, scsi_devices[scsi->bus][c].type);
}
}
@@ -699,7 +698,11 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
break;
case CMD_DEVICE_INQUIRY:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
spock_log("Device Inquiry, ID=%d\n", scsi->cdb_id);
scsi->cdb[0] = GPCMD_INQUIRY;
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
@@ -715,9 +718,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
return;
case CMD_SEND_OTHER_SCSI:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
dma_bm_read(scsi->scb_addr + 0x18, scsi->cdb, 12, 2);
spock_log("Send Other SCSI, SCB ID=%d, PHYS ID=%d, CDB[0]=%02x, CDB_ID=%d\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id, scsi->cdb[0], scsi->cdb_id);
spock_log("Send Other SCSI, SCB ID=%d, PHYS ID=%d, CDB[0]=%02x, CDB_ID=%d, ID Present=%d.\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id, scsi->cdb[0], scsi->cdb_id, scsi->present[scsi->scb_id]);
scsi->cdb[1] = (scsi->cdb[1] & 0x1f) | (scsi->dev_id[scsi->scb_id].lun_id << 5); /*Patch correct LUN into command*/
scsi->cdb_len = (scb->lba_addr & 0xff) ? (scb->lba_addr & 0xff) : 6;
scsi->scsi_state = SCSI_STATE_SELECT;
@@ -725,7 +732,11 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
return;
case CMD_READ_DEVICE_CAPACITY:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
spock_log("Device Capacity, SCB ID=%d, PHYS ID=%d\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id);
scsi->cdb[0] = GPCMD_READ_CDROM_CAPACITY;
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
@@ -743,7 +754,11 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
return;
case CMD_READ_DATA:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
spock_log("Device Read Data, SCB ID=%d, PHYS ID=%d\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id);
scsi->cdb[0] = GPCMD_READ_10;
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
@@ -761,7 +776,11 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
return;
case CMD_WRITE_DATA:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
spock_log("Device Write Data\n");
scsi->cdb[0] = GPCMD_WRITE_10;
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
@@ -779,7 +798,11 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
return;
case CMD_VERIFY:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
spock_log("Device Verify\n");
scsi->cdb[0] = GPCMD_VERIFY_10;
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
@@ -798,7 +821,11 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
return;
case CMD_REQUEST_SENSE:
scsi->cdb_id = scsi->assign ? scsi->dev_id[scsi->scb_id].phys_id : scsi->present[scsi->scb_id];
if (scsi->present[scsi->scb_id] != 0xff)
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
else
scsi->cdb_id = 0xff;
spock_log("Device Request Sense, ID=%d\n", scsi->cdb_id);
scsi->cdb[0] = GPCMD_REQUEST_SENSE;
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
@@ -818,7 +845,7 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
case 2: /* Wait */
if (scsi->scsi_state == SCSI_STATE_IDLE) {
if (scsi_device_present(&scsi_devices[scsi->bus][scsi->cdb_id])) {
if (scsi_device_present(&scsi_devices[scsi->bus][scsi->cdb_id]) && (scsi->cdb_id != 0xff)) {
if (scsi->last_status == SCSI_STATUS_OK) {
scsi->scb_state = 3;
spock_log("Status is Good on device ID %d, cdb id = %d.\n", scsi->scb_id, scsi->cdb_id);
@@ -878,7 +905,7 @@ spock_process_scsi(spock_t *scsi, scb_t *scb)
case SCSI_STATE_SELECT:
spock_log("Selecting ID %d, SCB ID %d, LUN %d, adapter id = %d.\n", scsi->cdb_id, scsi->scb_id, scsi->dev_id[scsi->scb_id].lun_id, scsi->attention);
if ((scsi->cdb_id != (uint8_t) -1) && scsi_device_present(&scsi_devices[scsi->bus][scsi->cdb_id])) {
if ((scsi->cdb_id != 0xff) && scsi_device_present(&scsi_devices[scsi->bus][scsi->cdb_id])) {
scsi->scsi_state = SCSI_STATE_SEND_COMMAND;
spock_log("Device selected at ID %i.\n", scsi->cdb_id);
} else {
@@ -893,6 +920,7 @@ spock_process_scsi(spock_t *scsi, scb_t *scb)
break;
case SCSI_STATE_SEND_COMMAND:
spock_log("Send Command ID=%d.\n", scsi->cdb_id);
sd = &scsi_devices[scsi->bus][scsi->cdb_id];
memset(scsi->temp_cdb, 0x00, 12);
@@ -954,9 +982,9 @@ spock_process_scsi(spock_t *scsi, scb_t *scb)
}
} else {
spock_log("Normal Transfer\n");
if (sd->phase == SCSI_PHASE_DATA_IN) {
if (sd->phase == SCSI_PHASE_DATA_IN)
dma_bm_write(scsi->data_ptr, sd->sc->temp_buffer, MIN(sd->buffer_length, (int) scsi->data_len), 2);
} else if (sd->phase == SCSI_PHASE_DATA_OUT)
else if (sd->phase == SCSI_PHASE_DATA_OUT)
dma_bm_read(scsi->data_ptr, sd->sc->temp_buffer, MIN(sd->buffer_length, (int) scsi->data_len), 2);
}
@@ -1077,9 +1105,11 @@ spock_mca_write(int port, uint8_t val, void *priv)
if (scsi->pos_regs[2] & 1) {
io_sethandler((((scsi->pos_regs[2] >> 1) & 7) * 8) + 0x3540, 0x0008, spock_read, spock_readw, NULL, spock_write, spock_writew, NULL, scsi);
if ((scsi->pos_regs[2] & 0xf0) != 0xf0) {
mem_mapping_set_addr(&scsi->bios_rom.mapping, ((scsi->pos_regs[2] >> 4) * 0x2000) + 0xc0000, 0x8000);
mem_mapping_enable(&scsi->bios_rom.mapping);
if (scsi->pos_regs[4] & 2) {
if (((scsi->pos_regs[2] >> 4) & 0x0f) != 0x0f) {
mem_mapping_set_addr(&scsi->bios_rom.mapping, ((scsi->pos_regs[2] >> 4) * 0x2000) + 0xc0000, 0x8000);
mem_mapping_enable(&scsi->bios_rom.mapping);
}
}
}
spock_log("[%04X:%08X]: POS Write Port = %x, val = %02x, rom addr = %05x\n", CS, cpu_state.pc, port & 7, val, ((scsi->pos_regs[2] >> 4) * 0x2000) + 0xc0000);
@@ -1120,11 +1150,12 @@ spock_mca_reset(void *priv)
/* Reset all devices on controller reset. */
for (uint8_t i = 0; i < 8; i++) {
scsi_device_reset(&scsi_devices[scsi->bus][i]);
scsi->present[i] = 0;
scsi->present[i] = 0xff;
}
spock_log("Reset.\n");
mem_mapping_disable(&scsi->bios_rom.mapping);
scsi->pos_regs[4] = 0x02;
spock_mca_write(0x102, 0, scsi);
}
@@ -1158,6 +1189,7 @@ spock_init(const device_t *info)
scsi->pos_regs[0] = scsi->spock_16bit ? 0xfe : 0xff;
scsi->pos_regs[1] = 0x8e;
scsi->pos_regs[4] = 0x02;
mca_add(spock_mca_read, spock_mca_write, spock_mca_feedb, spock_mca_reset, scsi);
scsi->in_reset = 2;

View File

@@ -1499,11 +1499,11 @@ static const device_config_t gus_config[] = {
.spinner = { 0 },
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 0
},
{
.description = "512 kB",
.description = "512 KB",
.value = 1
},
{

View File

@@ -4669,7 +4669,7 @@ static const device_config_t sb_32_pnp_config[] = {
.value = 0
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -4882,7 +4882,7 @@ static const device_config_t sb_awe32_config[] = {
.value = 0
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -4946,7 +4946,7 @@ static const device_config_t sb_awe32_pnp_config[] = {
.value = 0
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -4999,7 +4999,7 @@ static const device_config_t sb_awe64_value_config[] = {
.spinner = { 0 },
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -409,6 +409,8 @@ plat_mmap(size_t size, uint8_t executable)
{
#if defined __APPLE__ && defined MAP_JIT
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE | (executable ? MAP_JIT : 0), -1, 0);
#elif defined(PROT_MPROTECT)
void *ret = mmap(0, size, PROT_MPROTECT(PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0)), MAP_ANON | MAP_PRIVATE, -1, 0);
#else
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE, -1, 0);
#endif
@@ -782,7 +784,7 @@ plat_init_rom_paths(void)
strncpy(xdg_rom_path, getenv("XDG_DATA_HOME"), 1024);
path_slash(xdg_rom_path);
strncat(xdg_rom_path, "86Box/", 1024);
strncat(xdg_rom_path, "86Box/", 1023);
if (!plat_dir_check(xdg_rom_path))
plat_dir_create(xdg_rom_path);
@@ -1394,12 +1396,16 @@ plat_set_thread_name(void *thread, const char *name)
if (thread) /* Apple pthread can only set self's name */
return;
char truncated[64];
#elif defined(Q_OS_NETBSD)
char truncated[64];
#else
char truncated[16];
#endif
strncpy(truncated, name, sizeof(truncated) - 1);
#ifdef __APPLE__
pthread_setname_np(truncated);
#elif defined(Q_OS_NETBSD)
pthread_setname_np(thread ? *((pthread_t *) thread) : pthread_self(), truncated, "%s");
#else
pthread_setname_np(thread ? *((pthread_t *) thread) : pthread_self(), truncated);
#endif

View File

@@ -24,6 +24,9 @@
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
# define __BSD_VISIBLE 1
#endif
#ifdef __NetBSD__
# define _NETBSD_VISIBLE 1
#endif
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>

View File

@@ -3921,7 +3921,7 @@ static const device_config_t isa_ext8514_config[] = {
.default_int = 1024,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -3990,7 +3990,7 @@ static const device_config_t mca_ext8514_config[] = {
.default_int = 1024,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -335,11 +335,11 @@ static const device_config_t ati18800_wonder_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -750,11 +750,11 @@ static const device_config_t ati28800_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -780,11 +780,11 @@ static const device_config_t ati28800_wonderxl_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -6228,7 +6228,7 @@ static const device_config_t mach8_config[] = {
.default_int = 1024,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -6254,7 +6254,7 @@ static const device_config_t mach32_config[] = {
.default_int = 2048,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -6307,7 +6307,7 @@ static const device_config_t mach32_pci_config[] = {
.default_int = 2048,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -4549,7 +4549,7 @@ static const device_config_t gd542x_config[] = {
.type = CONFIG_SELECTION,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -4574,7 +4574,7 @@ static const device_config_t gd5426_config[] = {
.type = CONFIG_SELECTION,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -4603,7 +4603,7 @@ static const device_config_t gd5428_onboard_config[] = {
.type = CONFIG_SELECTION,
.selection = {
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -1596,19 +1596,19 @@ static const device_config_t ega_config[] = {
.default_int = 256,
.selection = {
{
.description = "32 kB",
.description = "32 KB",
.value = 32
},
{
.description = "64 kB",
.description = "64 KB",
.value = 64
},
{
.description = "128 kB",
.description = "128 KB",
.value = 128
},
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{

View File

@@ -553,9 +553,9 @@ static const device_config_t et3000_config[] = {
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{ .description = "256 kB",
{ .description = "256 KB",
.value = 256 },
{ .description = "512 kB",
{ .description = "512 KB",
.value = 512 },
{ .description = "" } } },
{ .type = CONFIG_END }

View File

@@ -949,11 +949,11 @@ static const device_config_t et4000_tc6058af_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -996,11 +996,11 @@ static const device_config_t et4000_bios_config[] = {
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -1043,11 +1043,11 @@ static const device_config_t et4000_config[] = {
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -1707,9 +1707,9 @@ static const device_config_t v7_vga_1024i_config[] = {
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{ .description = "256 kB",
{ .description = "256 KB",
.value = 256 },
{ .description = "512 kB",
{ .description = "512 KB",
.value = 512 },
{ .description = "" } } },
{ .type = CONFIG_END }

View File

@@ -643,11 +643,11 @@ const device_config_t nga_config[] = {
.default_int = 64,
.selection = {
{
.description = "32 kB",
.description = "32 KB",
.value = 32
},
{
.description = "64 kB",
.description = "64 KB",
.value = 64
},
{

View File

@@ -577,11 +577,11 @@ static const device_config_t oti067_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -602,11 +602,11 @@ static const device_config_t oti067_ama932j_config[] = {
.default_int = 256,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -627,11 +627,11 @@ static const device_config_t oti077_acer100t_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -656,11 +656,11 @@ static const device_config_t oti077_config[] = {
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -751,11 +751,11 @@ static const device_config_t paradise_pvga1a_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -834,11 +834,11 @@ static const device_config_t paradise_wd90c30_config[] = {
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -393,11 +393,11 @@ static const device_config_t rtg3105_config[] = {
.default_int = 512,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{
@@ -420,11 +420,11 @@ static const device_config_t rtg3106_config[] = {
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{

View File

@@ -10489,7 +10489,7 @@ static const device_config_t s3_orchid_86c911_config[] = {
.type = CONFIG_SELECTION,
.default_int = 1,
.selection = {
{ .description = "512 kB",
{ .description = "512 KB",
.value = 0 },
{ .description = "1 MB",
.value = 1 },
@@ -10519,7 +10519,7 @@ static const device_config_t s3_phoenix_trio32_config[] = {
.type = CONFIG_SELECTION,
.default_int = 2,
.selection = {
{ .description = "512 kB",
{ .description = "512 KB",
.value = 0 },
{ .description = "1 MB",
.value = 1 },

View File

@@ -527,11 +527,11 @@ static const device_config_t tvga_config[] = {
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.description = "256 KB",
.value = 256
},
{
.description = "512 kB",
.description = "512 KB",
.value = 512
},
{