This commit is contained in:
OBattler
2022-02-14 19:48:02 +01:00
19 changed files with 162 additions and 94 deletions

View File

@@ -33,18 +33,17 @@ AppDir:
key_url: 'https://ftp-master.debian.org/keys/archive-key-11.asc' key_url: 'https://ftp-master.debian.org/keys/archive-key-11.asc'
- sourceline: 'deb http://deb.debian.org/debian bullseye-updates main' - sourceline: 'deb http://deb.debian.org/debian bullseye-updates main'
key_url: 'https://ftp-master.debian.org/keys/archive-key-11-security.asc' key_url: 'https://ftp-master.debian.org/keys/archive-key-11-security.asc'
- sourceline: 'deb http://deb.debian.org/debian stretch main'
key_url: 'https://ftp-master.debian.org/keys/archive-key-9.asc'
include: include:
- libdrm2 - libdrm2
- libevdev2 - libevdev2
- libfluidsynth2
- libfreetype6
- libgbm1 - libgbm1
- libgl1 - libgl1
- libgles2 - libgles2
- libglvnd0 - libglvnd0
- libglx0 - libglx0
- libopenal-data=1:1.17* - libgs9
- libopenal1=1:1.17*
- libpng16-16 - libpng16-16
- libqt5core5a - libqt5core5a
- libqt5gui5 - libqt5gui5
@@ -52,6 +51,7 @@ AppDir:
- librtmidi5 - librtmidi5
- libsdl2-2.0-0 - libsdl2-2.0-0
- libslirp0 - libslirp0
- libsndio7.0
- libwayland-client0 - libwayland-client0
- libx11-6 - libx11-6
- libx11-xcb1 - libx11-xcb1
@@ -64,21 +64,36 @@ AppDir:
exclude: exclude:
- etc - etc
- lib/udev - lib/udev
- opt/libc/usr/share
- usr/bin - usr/bin
- usr/include
- usr/lib/cmake
- usr/lib/pkgconfig
- usr/sbin - usr/sbin
- usr/share/alsa - usr/share/alsa
- usr/share/apport - usr/share/apport
- usr/share/bug - usr/share/bug
- usr/share/color
- usr/share/doc - usr/share/doc
- usr/share/doc-base - usr/share/doc-base
- usr/share/fontconfig
- usr/share/fonts
- usr/share/ghostscript
- usr/share/glib-2.0 - usr/share/glib-2.0
- usr/share/info
- usr/share/libinput - usr/share/libinput
- usr/share/libwacom - usr/share/libwacom
- usr/share/lintian - usr/share/lintian
- usr/share/locale - usr/share/locale
- usr/share/man - usr/share/man
- usr/share/metainfo
- usr/share/openal - usr/share/openal
- usr/share/pkgconfig - usr/share/pkgconfig
- usr/share/poppler
- usr/share/readline
- usr/share/sounds
- usr/share/X11 - usr/share/X11
- usr/share/xml
- var
AppImage: AppImage:
arch: !ENV '${arch_appimage}' arch: !ENV '${arch_appimage}'

View File

@@ -227,7 +227,7 @@ else
esac esac
# Establish general dependencies. # Establish general dependencies.
pkgs="cmake pkg-config git imagemagick wget p7zip-full wayland-protocols" pkgs="cmake pkg-config git imagemagick wget p7zip-full wayland-protocols tar gzip"
if [ "$(dpkg --print-architecture)" = "$arch_deb" ] if [ "$(dpkg --print-architecture)" = "$arch_deb" ]
then then
pkgs="$pkgs build-essential" pkgs="$pkgs build-essential"
@@ -356,16 +356,6 @@ then
exit 4 exit 4
fi fi
# Create temporary directory for archival.
echo [-] Gathering archive files
rm -rf archive_tmp
mkdir archive_tmp
if [ ! -d "archive_tmp" ]
then
echo [!] Archive directory creation failed
exit 5
fi
# Download Discord Game SDK from their CDN if necessary. # Download Discord Game SDK from their CDN if necessary.
if [ ! -e "discord_game_sdk.zip" ] if [ ! -e "discord_game_sdk.zip" ]
then then
@@ -386,6 +376,16 @@ case $arch in
*) arch_discord="$arch";; *) arch_discord="$arch";;
esac esac
# Create temporary directory for archival.
echo [-] Gathering archive files
rm -rf archive_tmp
mkdir archive_tmp
if [ ! -d "archive_tmp" ]
then
echo [!] Archive directory creation failed
exit 5
fi
# Archive the executable and its dependencies. # Archive the executable and its dependencies.
# The executable should always be archived last for the check after this block. # The executable should always be archived last for the check after this block.
status=0 status=0
@@ -427,9 +427,23 @@ then
# TBD # TBD
: :
else else
# Build openal-soft 1.21.1 manually to fix audio issues. This is a temporary
# workaround until a newer version of openal-soft trickles down to Debian repos.
if [ -d "openal-soft-1.21.1" ]
then
rm -rf openal-soft-1.21.1/build/*
else
wget -qO - https://github.com/kcat/openal-soft/archive/refs/tags/1.21.1.tar.gz | tar zxf -
fi
cwd_root=$(pwd)
cd openal-soft-1.21.1/build
cmake -G "Unix Makefiles" -D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" ..
make -j$(nproc) install
cd ../..
# Archive Discord Game SDK library. # Archive Discord Game SDK library.
7z e -y -o"archive_tmp/usr/lib/$libdir" discord_game_sdk.zip "lib/$arch_discord/discord_game_sdk.so" 7z e -y -o"archive_tmp/usr/lib" discord_game_sdk.zip "lib/$arch_discord/discord_game_sdk.so"
[ ! -e "archive_tmp/usr/lib/$libdir/discord_game_sdk.so" ] && echo [!] No Discord Game SDK for architecture [$arch_discord] [ ! -e "archive_tmp/usr/lib/discord_game_sdk.so" ] && echo [!] No Discord Game SDK for architecture [$arch_discord]
# Archive readme with library package versions. # Archive readme with library package versions.
echo Libraries used to compile this $arch build of $project: > archive_tmp/README echo Libraries used to compile this $arch build of $project: > archive_tmp/README

View File

@@ -135,6 +135,9 @@ endif()
cmake_dependent_option(AMD_K5 "AMD K5" ON "DEV_BRANCH" OFF) cmake_dependent_option(AMD_K5 "AMD K5" ON "DEV_BRANCH" OFF)
cmake_dependent_option(CYRIX_6X86 "Cyrix 6x86" ON "DEV_BRANCH" OFF) cmake_dependent_option(CYRIX_6X86 "Cyrix 6x86" ON "DEV_BRANCH" OFF)
cmake_dependent_option(GUSMAX "Gravis UltraSound MAX" ON "DEV_BRANCH" OFF) cmake_dependent_option(GUSMAX "Gravis UltraSound MAX" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_RAMPAGE "AST Rampage" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_IAB "Intel Above Board" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_BRAT "BocaRAM/AT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(LASERXT "VTech Laser XT" ON "DEV_BRANCH" OFF) cmake_dependent_option(LASERXT "VTech Laser XT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(MGA "Matrox Mystique graphics adapters" ON "DEV_BRANCH" OFF) cmake_dependent_option(MGA "Matrox Mystique graphics adapters" ON "DEV_BRANCH" OFF)
cmake_dependent_option(NO_SIO "Machines without emulated Super I/O chips" ON "DEV_BRANCH" OFF) cmake_dependent_option(NO_SIO "Machines without emulated Super I/O chips" ON "DEV_BRANCH" OFF)
@@ -142,12 +145,10 @@ cmake_dependent_option(OLIVETTI "Olivetti M290"
cmake_dependent_option(OPEN_AT "OpenAT" ON "DEV_BRANCH" OFF) cmake_dependent_option(OPEN_AT "OpenAT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(PAS16 "Pro Audio Spectrum 16" OFF "DEV_BRANCH" OFF) cmake_dependent_option(PAS16 "Pro Audio Spectrum 16" OFF "DEV_BRANCH" OFF)
cmake_dependent_option(SIO_DETECT "Super I/O Detection Helper" ON "DEV_BRANCH" OFF) cmake_dependent_option(SIO_DETECT "Super I/O Detection Helper" ON "DEV_BRANCH" OFF)
cmake_dependent_option(TANDY_ISA "Tandy PSG ISA clone boards" ON "DEV_BRANCH" OFF)
cmake_dependent_option(VGAWONDER "ATI VGA Wonder (ATI-18800)" ON "DEV_BRANCH" OFF) cmake_dependent_option(VGAWONDER "ATI VGA Wonder (ATI-18800)" ON "DEV_BRANCH" OFF)
cmake_dependent_option(VNC "VNC renderer" OFF "DEV_BRANCH" OFF) cmake_dependent_option(VNC "VNC renderer" OFF "DEV_BRANCH" OFF)
cmake_dependent_option(XL24 "ATI VGA Wonder XL24 (ATI-28800-6)" ON "DEV_BRANCH" OFF) cmake_dependent_option(XL24 "ATI VGA Wonder XL24 (ATI-28800-6)" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_RAMPAGE "AST Rampage" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_IAB "Intel Above Board" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_BRAT "BocaRAM/AT" ON "DEV_BRANCH" OFF)
# Ditto but for Qt # Ditto but for Qt
if (QT) if (QT)

View File

@@ -11,14 +11,13 @@
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# dob205 # dob205
# #
# Copyright 2020,2021 David Hrdlička. # Copyright 2020-2022 David Hrdlička.
# Copyright 2021 dob205. # Copyright 2021 dob205.
# #
# WIN32 marks us as a GUI app on Windows add_executable(86Box 86box.c config.c log.c random.c timer.c io.c acpi.c apm.c
add_executable(86Box WIN32 MACOSX_BUNDLE 86box.c config.c log.c random.c timer.c io.c acpi.c apm.c dma.c ddma.c discord.c nmi.c pic.c pit.c port_6x.c port_92.c ppi.c pci.c
dma.c ddma.c discord.c nmi.c pic.c pit.c port_6x.c port_92.c ppi.c pci.c mca.c usb.c fifo8.c mca.c usb.c fifo8.c device.c nvr.c nvr_at.c nvr_ps2.c)
device.c nvr.c nvr_at.c nvr_ps2.c)
if(CPPTHREADS) if(CPPTHREADS)
target_sources(86Box PRIVATE thread.cpp) target_sources(86Box PRIVATE thread.cpp)

View File

@@ -19,10 +19,6 @@ add_library(dev OBJECT bugger.c cassette.c cartridge.c hasp.c hwm.c hwm_lm75.c h
smbus_piix4.c smbus_ali7101.c keyboard.c keyboard_xt.c keyboard_at.c smbus_piix4.c smbus_ali7101.c keyboard.c keyboard_xt.c keyboard_at.c
mouse.c mouse_bus.c mouse_serial.c mouse_ps2.c phoenix_486_jumper.c) mouse.c mouse_bus.c mouse_serial.c mouse_ps2.c phoenix_486_jumper.c)
if(LASERXT)
target_compile_definitions(dev PRIVATE USE_LASERXT)
endif()
if(ISAMEM_RAMPAGE) if(ISAMEM_RAMPAGE)
target_compile_definitions(dev PRIVATE USE_ISAMEM_RAMPAGE) target_compile_definitions(dev PRIVATE USE_ISAMEM_RAMPAGE)
endif() endif()
@@ -34,3 +30,7 @@ endif()
if(ISAMEM_BRAT) if(ISAMEM_BRAT)
target_compile_definitions(dev PRIVATE USE_ISAMEM_BRAT) target_compile_definitions(dev PRIVATE USE_ISAMEM_BRAT)
endif() endif()
if(LASERXT)
target_compile_definitions(dev PRIVATE USE_LASERXT)
endif()

View File

@@ -103,9 +103,11 @@ extern const device_t pas16_device;
extern const device_t ps1snd_device; extern const device_t ps1snd_device;
/* Tandy PSSJ */ /* Tandy PSSJ */
extern const device_t tndy_device;
extern const device_t pssj_device; extern const device_t pssj_device;
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
extern const device_t pssj_isa_device; extern const device_t pssj_isa_device;
extern const device_t tndy_device;
#endif
/* Creative Labs Sound Blaster */ /* Creative Labs Sound Blaster */
extern const device_t sb_1_device; extern const device_t sb_1_device;

View File

@@ -204,8 +204,7 @@ macro(install_qt5_plugin _qt_plugin_name _qt_plugins_var _prefix)
set(_qt_plugin_dest "${_prefix}/PlugIns/${_qt_plugin_type}") set(_qt_plugin_dest "${_prefix}/PlugIns/${_qt_plugin_type}")
install(FILES "${_qt_plugin_path}" install(FILES "${_qt_plugin_path}"
DESTINATION "${_qt_plugin_dest}") DESTINATION "${_qt_plugin_dest}")
set(${_qt_plugins_var} list(APPEND ${_qt_plugins_var} "${_qt_plugin_dest}/${_qt_plugin_file}")
"${${_qt_plugins_var}};\$ENV{DEST_DIR}\${CMAKE_INSTALL_PREFIX}/${_qt_plugin_dest}/${_qt_plugin_file}")
else() else()
message(FATAL_ERROR "QT plugin ${_qt_plugin_name} not found") message(FATAL_ERROR "QT plugin ${_qt_plugin_name} not found")
endif() endif()
@@ -231,12 +230,6 @@ if (APPLE AND CMAKE_MACOSX_BUNDLE)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf"
DESTINATION "${INSTALL_CMAKE_DIR}") DESTINATION "${INSTALL_CMAKE_DIR}")
# Note Mac specific extension .app
set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/86Box.app")
# Directories to look for dependencies
set(DIRS "${CMAKE_BINARY_DIR}")
# Path used for searching by FIND_XXX(), with appropriate suffixes added # Path used for searching by FIND_XXX(), with appropriate suffixes added
if(CMAKE_PREFIX_PATH) if(CMAKE_PREFIX_PATH)
foreach(dir ${CMAKE_PREFIX_PATH}) foreach(dir ${CMAKE_PREFIX_PATH})
@@ -249,13 +242,14 @@ if (APPLE AND CMAKE_MACOSX_BUNDLE)
include(InstallRequiredSystemLibraries) include(InstallRequiredSystemLibraries)
message(STATUS "APPS: ${APPS}")
message(STATUS "QT_PLUGINS: ${QT_PLUGINS}")
message(STATUS "DIRS: ${DIRS}")
install(CODE " install(CODE "
include(BundleUtilities) include(BundleUtilities)
fixup_bundle(\"${APPS}\" \"${QT_PLUGINS}\" \"${DIRS}\")") get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX} ABSOLUTE)
foreach(PLUGIN ${QT_PLUGINS})
get_filename_component(PLUGIN_ABSOLUTE \${PLUGIN} ABSOLUTE BASE_DIR \${CMAKE_INSTALL_PREFIX_ABSOLUTE})
list(APPEND QT_PLUGINS_ABSOLUTE \${PLUGIN_ABSOLUTE})
endforeach()
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/86Box.app\" \"${QT_PLUGINS_ABSOLUTE}\" \"${DIRS}\")")
endif() endif()
if (UNIX AND NOT APPLE) if (UNIX AND NOT APPLE)

View File

@@ -599,7 +599,7 @@ msgid "Fatal error"
msgstr "致命的なエラー" msgstr "致命的なエラー"
msgid " - PAUSED" msgid " - PAUSED"
msgstr " - PAUSED" msgstr " - 一時停止"
msgid "Press Ctrl+Alt+PgDn to return to windowed mode." msgid "Press Ctrl+Alt+PgDn to return to windowed mode."
msgstr "Ctrl+Alt+PgDnでウィンドウモードに戻ります。" msgstr "Ctrl+Alt+PgDnでウィンドウモードに戻ります。"

View File

@@ -599,10 +599,10 @@ msgid "Fatal error"
msgstr "致命错误" msgstr "致命错误"
msgid " - PAUSED" msgid " - PAUSED"
msgstr " - PAUSED" msgstr " - 已暂停"
msgid "Press Ctrl+Alt+PgDn to return to windowed mode." msgid "Press Ctrl+Alt+PgDn to return to windowed mode."
msgstr "按 Ctrl+Alt+PgDn 组合键返回到窗口模式。" msgstr "按 Ctrl+Alt+PgDn 返回到窗口模式。"
msgid "Speed" msgid "Speed"
msgstr "速度" msgstr "速度"
@@ -683,10 +683,10 @@ msgid "Click to capture mouse"
msgstr "单击窗口捕捉鼠标" msgstr "单击窗口捕捉鼠标"
msgid "Press F8+F12 to release mouse" msgid "Press F8+F12 to release mouse"
msgstr "按 F8+F12 释放鼠标" msgstr "按 F8+F12 释放鼠标"
msgid "Press F8+F12 or middle button to release mouse" msgid "Press F8+F12 or middle button to release mouse"
msgstr "按 F8+F12 或鼠标中键释放鼠标" msgstr "按 F8+F12 或鼠标中键释放鼠标"
msgid "Unable to initialize FluidSynth" msgid "Unable to initialize FluidSynth"
msgstr "无法初始化 FluidSynth" msgstr "无法初始化 FluidSynth"
@@ -932,10 +932,10 @@ msgid "Pause execution"
msgstr "暂停执行" msgstr "暂停执行"
msgid "Press Ctrl+Alt+Del" msgid "Press Ctrl+Alt+Del"
msgstr "按 Ctrl+Alt+Del" msgstr "按 Ctrl+Alt+Del"
msgid "Press Ctrl+Alt+Esc" msgid "Press Ctrl+Alt+Esc"
msgstr "按 Ctrl+Alt+Esc" msgstr "按 Ctrl+Alt+Esc"
msgid "Hard reset" msgid "Hard reset"
msgstr "硬重置" msgstr "硬重置"

View File

@@ -32,7 +32,6 @@ public:
if (strcmp(sourceText, "Take s&creenshot") == 0) sourceText = "Take s&creenshot\tCtrl+F11"; if (strcmp(sourceText, "Take s&creenshot") == 0) sourceText = "Take s&creenshot\tCtrl+F11";
if (strcmp(sourceText, "Begin trace") == 0) sourceText = "Begin trace\tCtrl+T"; if (strcmp(sourceText, "Begin trace") == 0) sourceText = "Begin trace\tCtrl+T";
if (strcmp(sourceText, "End trace") == 0) sourceText = "End trace\tCtrl+T"; if (strcmp(sourceText, "End trace") == 0) sourceText = "End trace\tCtrl+T";
if (strcmp(sourceText, "Dump &video RAM") == 0) sourceText = "Dump &video RAM\tCtrl+F1";
if (strcmp(sourceText, "&Qt (Software)") == 0) if (strcmp(sourceText, "&Qt (Software)") == 0)
{ {
QString finalstr = QTranslator::translate("", "&SDL (Software)", disambiguation, n); QString finalstr = QTranslator::translate("", "&SDL (Software)", disambiguation, n);

View File

@@ -74,12 +74,21 @@ SettingsMachine::SettingsMachine(QWidget *parent) :
int selectedMachineType = 0; int selectedMachineType = 0;
auto* machineTypesModel = ui->comboBoxMachineType->model(); auto* machineTypesModel = ui->comboBoxMachineType->model();
for (int i = 0; i < MACHINE_TYPE_MAX; ++i) { for (int i = 1; i < MACHINE_TYPE_MAX; ++i) {
Models::AddEntry(machineTypesModel, machine_types[i].name, machine_types[i].id); int j = 0;
while (machine_get_internal_name_ex(j) != nullptr) {
if (machine_available(j) && (machine_get_type(j) == i)) {
int row = Models::AddEntry(machineTypesModel, machine_types[i].name, machine_types[i].id);
if (machine_types[i].id == machine_get_type(machine)) { if (machine_types[i].id == machine_get_type(machine)) {
selectedMachineType = i; selectedMachineType = row;
}
break;
}
j++;
} }
} }
ui->comboBoxMachineType->setCurrentIndex(-1);
ui->comboBoxMachineType->setCurrentIndex(selectedMachineType); ui->comboBoxMachineType->setCurrentIndex(selectedMachineType);
} }
@@ -124,12 +133,16 @@ void SettingsMachine::save() {
} }
void SettingsMachine::on_comboBoxMachineType_currentIndexChanged(int index) { void SettingsMachine::on_comboBoxMachineType_currentIndexChanged(int index) {
if (index < 0) {
return;
}
auto* model = ui->comboBoxMachine->model(); auto* model = ui->comboBoxMachine->model();
int removeRows = model->rowCount(); int removeRows = model->rowCount();
int selectedMachineRow = 0; int selectedMachineRow = 0;
for (int i = 0; i < machine_count(); ++i) { for (int i = 0; i < machine_count(); ++i) {
if ((machine_get_type(i) == index) && machine_available(i)) { if ((machine_get_type(i) == ui->comboBoxMachineType->currentData().toInt()) && machine_available(i)) {
int row = Models::AddEntry(model, machines[i].name, i); int row = Models::AddEntry(model, machines[i].name, i);
if (i == machine) { if (i == machine) {
selectedMachineRow = row - removeRows; selectedMachineRow = row - removeRows;

View File

@@ -55,5 +55,9 @@ if(GUSMAX)
target_compile_definitions(snd PRIVATE USE_GUSMAX) target_compile_definitions(snd PRIVATE USE_GUSMAX)
endif() endif()
if(TANDY_ISA)
target_compile_definitions(snd PRIVATE USE_TANDY_ISA)
endif()
add_subdirectory(resid-fp) add_subdirectory(resid-fp)
target_link_libraries(86Box resid-fp) target_link_libraries(86Box resid-fp)

View File

@@ -239,6 +239,8 @@ void* fluidsynth_init(const device_t *info)
fluidsynth_handle = dynld_module("libfluidsynth.dylib", fluidsynth_imports); fluidsynth_handle = dynld_module("libfluidsynth.dylib", fluidsynth_imports);
#else #else
fluidsynth_handle = dynld_module("libfluidsynth.so.3", fluidsynth_imports); fluidsynth_handle = dynld_module("libfluidsynth.so.3", fluidsynth_imports);
if (fluidsynth_handle == NULL)
fluidsynth_handle = dynld_module("libfluidsynth.so.2", fluidsynth_imports);
#endif #endif
if (fluidsynth_handle == NULL) if (fluidsynth_handle == NULL)
{ {

View File

@@ -215,6 +215,7 @@ void *pssj_1e0_init(const device_t *info)
return pssj; return pssj;
} }
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
void *pssj_isa_init(const device_t *info) void *pssj_isa_init(const device_t *info)
{ {
pssj_t *pssj = malloc(sizeof(pssj_t)); pssj_t *pssj = malloc(sizeof(pssj_t));
@@ -230,6 +231,7 @@ void *pssj_isa_init(const device_t *info)
return pssj; return pssj;
} }
#endif
void pssj_close(void *p) void pssj_close(void *p)
{ {
@@ -238,6 +240,7 @@ void pssj_close(void *p)
free(pssj); free(pssj);
} }
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
static const device_config_t pssj_isa_config[] = static const device_config_t pssj_isa_config[] =
{ {
{ {
@@ -261,6 +264,7 @@ static const device_config_t pssj_isa_config[] =
"", "", -1 "", "", -1
} }
}; };
#endif
const device_t pssj_device = const device_t pssj_device =
{ {
@@ -290,6 +294,7 @@ const device_t pssj_1e0_device =
NULL NULL
}; };
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
const device_t pssj_isa_device = const device_t pssj_isa_device =
{ {
"Tandy PSSJ Clone", "Tandy PSSJ Clone",
@@ -304,3 +309,4 @@ const device_t pssj_isa_device =
NULL, NULL,
pssj_isa_config pssj_isa_config
}; };
#endif

View File

@@ -224,6 +224,7 @@ void *ncr8496_device_init(const device_t *info)
return sn76489; return sn76489;
} }
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
void *tndy_device_init(const device_t *info) void *tndy_device_init(const device_t *info)
{ {
sn76489_t *sn76489 = malloc(sizeof(sn76489_t)); sn76489_t *sn76489 = malloc(sizeof(sn76489_t));
@@ -235,6 +236,7 @@ void *tndy_device_init(const device_t *info)
return sn76489; return sn76489;
} }
#endif
void sn76489_device_close(void *p) void sn76489_device_close(void *p)
{ {
@@ -243,6 +245,7 @@ void sn76489_device_close(void *p)
free(sn76489); free(sn76489);
} }
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
static const device_config_t tndy_config[] = static const device_config_t tndy_config[] =
{ {
{ {
@@ -266,6 +269,7 @@ static const device_config_t tndy_config[] =
"", "", -1 "", "", -1
} }
}; };
#endif
const device_t sn76489_device = const device_t sn76489_device =
{ {
@@ -291,6 +295,7 @@ const device_t ncr8496_device =
NULL NULL
}; };
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
const device_t tndy_device = const device_t tndy_device =
{ {
"TNDY", "TNDY",
@@ -300,5 +305,7 @@ const device_t tndy_device =
tndy_device_init, tndy_device_init,
sn76489_device_close, sn76489_device_close,
NULL, { NULL }, NULL, NULL, { NULL }, NULL,
NULL,
tndy_config tndy_config
}; };
#endif

View File

@@ -123,8 +123,10 @@ static const SOUND_CARD sound_cards[] =
#if defined(DEV_BRANCH) && defined(USE_PAS16) #if defined(DEV_BRANCH) && defined(USE_PAS16)
{ &pas16_device }, { &pas16_device },
#endif #endif
{ &tndy_device }, #if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)
{ &pssj_isa_device }, { &pssj_isa_device },
{ &tndy_device },
#endif
{ &wss_device }, { &wss_device },
{ &adlib_mca_device }, { &adlib_mca_device },
{ &ncr_business_audio_device }, { &ncr_business_audio_device },

View File

@@ -42,6 +42,15 @@ ifeq ($(DEV_BUILD), y)
ifndef GUSMAX ifndef GUSMAX
GUSMAX := y GUSMAX := y
endif endif
ifndef ISAMEM_RAMPAGE
ISAMEM_RAMPAGE := y
endif
ifndef ISAMEM_IAB
ISAMEM_IAB := y
endif
ifndef ISAMEM_BRAT
ISAMEM_BRAT := y
endif
ifndef LASERXT ifndef LASERXT
LASERXT := y LASERXT := y
endif endif
@@ -63,21 +72,15 @@ ifeq ($(DEV_BUILD), y)
ifndef VGAWONDER ifndef VGAWONDER
VGAWONDER := y VGAWONDER := y
endif endif
ifndef TANDY_ISA
TANDY_ISA := y
endif
ifndef VNC ifndef VNC
VNC := y VNC := y
endif endif
ifndef XL24 ifndef XL24
XL24 := y XL24 := y
endif endif
ifndef ISAMEM_RAMPAGE
ISAMEM_RAMPAGE := y
endif
ifndef ISAMEM_IAB
ISAMEM_IAB := y
endif
ifndef ISAMEM_BRAT
ISAMEM_BRAT := y
endif
ifndef OLIVETTI ifndef OLIVETTI
OLIVETTI := y OLIVETTI := y
endif endif
@@ -100,6 +103,15 @@ else
ifndef GUSMAX ifndef GUSMAX
GUSMAX := n GUSMAX := n
endif endif
ifndef ISAMEM_RAMPAGE
ISAMEM_RAMPAGE := n
endif
ifndef ISAMEM_IAB
ISAMEM_IAB := n
endif
ifndef ISAMEM_BRAT
ISAMEM_BRAT := n
endif
ifndef LASERXT ifndef LASERXT
LASERXT := n LASERXT := n
endif endif
@@ -121,21 +133,15 @@ else
ifndef VGAWONDER ifndef VGAWONDER
VGAWONDER := n VGAWONDER := n
endif endif
ifndef TANDY_ISA
TANDY_ISA := n
endif
ifndef VNC ifndef VNC
VNC := n VNC := n
endif endif
ifndef XL24 ifndef XL24
XL24 := n XL24 := n
endif endif
ifndef ISAMEM_RAMPAGE
ISAMEM_RAMPAGE := n
endif
ifndef ISAMEM_IAB
ISAMEM_IAB := n
endif
ifndef ISAMEM_BRAT
ISAMEM_BRAT := n
endif
ifndef OLIVETTI ifndef OLIVETTI
OLIVETTI := n OLIVETTI := n
endif endif
@@ -428,6 +434,18 @@ ifeq ($(GUSMAX), y)
OPTS += -DUSE_GUSMAX OPTS += -DUSE_GUSMAX
endif endif
ifeq ($(ISAMEM_RAMPAGE), y)
OPTS += -DUSE_ISAMEM_RAMPAGE
endif
ifeq ($(ISAMEM_IAB), y)
OPTS += -DUSE_ISAMEM_IAB
endif
ifeq ($(ISAMEM_BRAT), y)
OPTS += -DUSE_ISAMEM_BRAT
endif
ifeq ($(LASERXT), y) ifeq ($(LASERXT), y)
OPTS += -DUSE_LASERXT OPTS += -DUSE_LASERXT
DEVBROBJ += m_xt_laserxt.o DEVBROBJ += m_xt_laserxt.o
@@ -456,6 +474,10 @@ OPTS += -DUSE_SIO_DETECT
DEVBROBJ += sio_detect.o DEVBROBJ += sio_detect.o
endif endif
ifeq ($(TANDY_ISA), y)
OPTS += -DUSE_TANDY_ISA
endif
ifeq ($(VGAWONDER), y) ifeq ($(VGAWONDER), y)
OPTS += -DUSE_VGAWONDER OPTS += -DUSE_VGAWONDER
endif endif
@@ -464,18 +486,6 @@ ifeq ($(XL24), y)
OPTS += -DUSE_XL24 OPTS += -DUSE_XL24
endif endif
ifeq ($(ISAMEM_RAMPAGE), y)
OPTS += -DUSE_ISAMEM_RAMPAGE
endif
ifeq ($(ISAMEM_IAB), y)
OPTS += -DUSE_ISAMEM_IAB
endif
ifeq ($(ISAMEM_BRAT), y)
OPTS += -DUSE_ISAMEM_BRAT
endif
ifeq ($(OLIVETTI), y) ifeq ($(OLIVETTI), y)
OPTS += -DUSE_OLIVETTI OPTS += -DUSE_OLIVETTI
DEVBROBJ += olivetti_eva.o DEVBROBJ += olivetti_eva.o

View File

@@ -371,7 +371,7 @@ BEGIN
2048 "86Box" 2048 "86Box"
IDS_2049 "エラー" IDS_2049 "エラー"
IDS_2050 "致命的なエラー" IDS_2050 "致命的なエラー"
IDS_2051 " - PAUSED" IDS_2051 " - 一時停止"
IDS_2052 "Ctrl+Alt+PgDnでウィンドウモードに戻ります。" IDS_2052 "Ctrl+Alt+PgDnでウィンドウモードに戻ります。"
IDS_2053 "速度" IDS_2053 "速度"
IDS_2054 "ZIP %03i %i (%s): %ls" IDS_2054 "ZIP %03i %i (%s): %ls"

View File

@@ -371,8 +371,8 @@ BEGIN
2048 "86Box" 2048 "86Box"
IDS_2049 "错误" IDS_2049 "错误"
IDS_2050 "致命错误" IDS_2050 "致命错误"
IDS_2051 " - PAUSED" IDS_2051 " - 已暂停"
IDS_2052 "按 Ctrl+Alt+PgDn 组合键返回到窗口模式。" IDS_2052 "按 Ctrl+Alt+PgDn 返回到窗口模式。"
IDS_2053 "速度" IDS_2053 "速度"
IDS_2054 "ZIP %03i %i (%s): %ls" IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "ZIP 镜像 (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0" IDS_2055 "ZIP 镜像 (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
@@ -402,8 +402,8 @@ BEGIN
IDS_2075 "其他外围设备" IDS_2075 "其他外围设备"
IDS_2076 "表面镜像 (*.86F)\0*.86F\0" IDS_2076 "表面镜像 (*.86F)\0*.86F\0"
IDS_2077 "单击窗口捕捉鼠标" IDS_2077 "单击窗口捕捉鼠标"
IDS_2078 "按 F8+F12 释放鼠标" IDS_2078 "按 F8+F12 释放鼠标"
IDS_2079 "按 F8+F12 或鼠标中键释放鼠标" IDS_2079 "按 F8+F12 或鼠标中键释放鼠标"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
@@ -505,8 +505,8 @@ BEGIN
IDS_2153 "无法初始化 OpenGL (3.0 核心) 渲染器。请使用其他渲染器。" IDS_2153 "无法初始化 OpenGL (3.0 核心) 渲染器。请使用其他渲染器。"
IDS_2154 "恢复执行" IDS_2154 "恢复执行"
IDS_2155 "暂停执行" IDS_2155 "暂停执行"
IDS_2156 "按 Ctrl+Alt+Del" IDS_2156 "按 Ctrl+Alt+Del"
IDS_2157 "按 Ctrl+Alt+Esc" IDS_2157 "按 Ctrl+Alt+Esc"
IDS_2158 "硬重置" IDS_2158 "硬重置"
IDS_2159 "ACPI 关机" IDS_2159 "ACPI 关机"
IDS_2160 "设置" IDS_2160 "设置"