Merge branch '86Box:master' into nec-v20

This commit is contained in:
Jasmine Iwanek
2022-04-02 16:39:18 -04:00
committed by GitHub
75 changed files with 3288 additions and 2779 deletions

View File

@@ -18,9 +18,9 @@ version: 1
AppDir:
path: ./archive_tmp
app_info:
id: !ENV 'net.${project_lower}.${project_lower}'
id: !ENV 'net.${project_lower}.${project}'
name: !ENV '${project}'
icon: !ENV '${project_lower}'
icon: !ENV '${project_icon}'
version: !ENV '${project_version}'
exec: !ENV 'usr/local/bin/${project}'
exec_args: $@

38
.ci/Jenkinsfile vendored
View File

@@ -15,9 +15,12 @@
* Copyright 2021-2022 RichardG.
*/
def repository = 'https://github.com/86Box/86Box.git'
def commitBrowser = 'https://github.com/86Box/86Box/commit/%s'
def branch = 'master'
/* ['main builds', 'branch builds'] */
def repository = ['https://github.com/86Box/86Box.git', 'https://github.com/richardg867/86Box.git']
def commitBrowser = ['https://github.com/86Box/86Box/commit/%s', null]
def branch = ['master', 'cleanup30']
def buildType = ['beta', 'alpha']
def buildBranch = env.JOB_BASE_NAME.contains('-') ? 1 : 0
def osArchs = [
'Windows': ['32', '64'],
@@ -152,8 +155,8 @@ pipeline {
parameters {
string(name: 'BUILD_TYPE',
defaultValue: 'beta', /* !!! CHANGE HERE !!! for build type */
description: "Build type to pass on to CMake. Should only be changed for one-off builds, otherwise change the default on .ci/Jenkinsfile")
defaultValue: buildType[buildBranch],
description: "Build type to pass on to CMake (on main builds) or feature branch identifier (on branch builds).")
}
stages {
@@ -186,24 +189,33 @@ pipeline {
retry(10) {
node('citadel && !Windows') {
/* Run git clone. */
gitClone(repository, branch)
gitClone(repository[buildBranch], branch[buildBranch])
/* Clean workspace, in case this is running in a non-build node. */
cleanWs()
}
}
/* Determine build metadata. */
def buildFlags = "-D \"BUILD_TYPE=$BUILD_TYPE\" -D \"EMU_BUILD=build ${env.BUILD_NUMBER}\" -D \"EMU_BUILD_NUM=${env.BUILD_NUMBER}\""
def buildSuffix = "-b${env.BUILD_NUMBER}"
if (buildBranch > 0) {
def date = new Date().format("yyyyMMdd")
buildFlags = "-D \"BUILD_TYPE=${buildType[buildBranch]}\" -D \"EMU_BUILD=${env.JOB_BASE_NAME.split('-')[1]} build $date.$BUILD_TYPE\""
buildSuffix = "-$date-$BUILD_TYPE"
}
/* Create source tarball. */
try {
retry(10) {
node('Linux') {
/* Run git clone. */
gitClone(repository, branch)
gitClone(repository[buildBranch], branch[buildBranch])
/* Switch to temp directory. */
dir("${env.WORKSPACE_TMP}/output") {
/* Run source tarball creation process. */
def packageName = "${env.JOB_BASE_NAME}-Source-b${env.BUILD_NUMBER}"
def packageName = "${env.JOB_BASE_NAME}-Source$buildSuffix"
if (runBuild("-s \"$packageName\"") == 0) {
/* Archive resulting artifacts. */
archiveArtifacts artifacts: "$packageName*"
@@ -238,15 +250,15 @@ pipeline {
node(os) {
stage(combination) {
/* Run git clone. */
gitClone(repository, branch)
gitClone(repository[buildBranch], branch[buildBranch])
/* Switch to output directory. */
dir("${env.WORKSPACE_TMP}/output") {
/* Run build process. */
def packageName = "${env.JOB_BASE_NAME}${dynarecSlugs[dynarec]}${presetSlugs[preset]}-$os-$arch-b${env.BUILD_NUMBER}"
def packageName = "${env.JOB_BASE_NAME}${dynarecSlugs[dynarec]}${presetSlugs[preset]}-$os-$arch$buildSuffix"
def ret = -1
dir("${dynarecNames[dynarec]}/$os - ${archNames[arch]}") {
ret = runBuild("-b \"$packageName\" \"$arch\" ${presetFlags[preset]} ${dynarecFlags[dynarec]} ${osFlags[os]} -D \"BUILD_TYPE=$BUILD_TYPE\" -D \"EMU_BUILD=build ${env.BUILD_NUMBER}\" -D \"EMU_BUILD_NUM=${env.BUILD_NUMBER}\"")
ret = runBuild("-b \"$packageName\" \"$arch\" ${presetFlags[preset]} ${dynarecFlags[dynarec]} ${osFlags[os]} $buildFlags")
}
if (ret == 0) {
@@ -279,7 +291,7 @@ pipeline {
always {
script {
/* Send out build notifications. */
if (!env.JOB_BASE_NAME.contains('TestBuildPleaseIgnore')) {
if (commitBrowser[buildBranch]) {
try {
/* Notify Discord. */
def result = currentBuild.currentResult.toLowerCase()
@@ -290,7 +302,7 @@ pipeline {
description: "**Status:** ${result}\n\u2060", /* word joiner character forces a blank line */
enableArtifactsList: false,
showChangeset: true,
scmWebUrl: commitBrowser
scmWebUrl: commitBrowser[buildBranch]
/* Notify IRC, which needs a node for whatever reason. */
node('citadel') {

View File

@@ -295,7 +295,7 @@ then
fi
# Install the latest versions for any missing packages (if the specified version couldn't be installed).
pkgs="make git"
pkgs="git"
while IFS=" " read pkg version
do
prefixed_pkg="$MINGW_PACKAGE_PREFIX-$pkg"
@@ -328,7 +328,7 @@ else
esac
# Establish general dependencies.
pkgs="cmake pkg-config git imagemagick wget p7zip-full wayland-protocols tar gzip file"
pkgs="cmake ninja-build pkg-config git wget p7zip-full wayland-protocols tar gzip file"
if [ "$(dpkg --print-architecture)" = "$arch_deb" ]
then
pkgs="$pkgs build-essential"
@@ -405,7 +405,7 @@ fi
echo [-] Cleaning workspace
if [ -d "build" ]
then
MAKEFLAGS=-j$(nproc) cmake --build build --target clean 2> /dev/null
cmake --build build -j$(nproc) --target clean 2> /dev/null
rm -rf build
fi
find . \( -name Makefile -o -name CMakeCache.txt -o -name CMakeFiles \) -exec rm -rf "{}" \; 2> /dev/null
@@ -438,7 +438,7 @@ year=$(date +%Y)
# Run CMake.
echo [-] Running CMake with flags [$cmake_flags $cmake_flags_extra]
eval cmake -G \"Unix Makefiles\" -B build $cmake_flags $cmake_flags_extra .
eval cmake -G Ninja $cmake_flags $cmake_flags_extra -S . -B build
status=$?
if [ $status -ne 0 ]
then
@@ -447,13 +447,12 @@ then
fi
# Run actual build.
make_flags=-j$(nproc)
echo [-] Running build with make flags [$make_flags]
MAKEFLAGS=$make_flags cmake --build build
echo [-] Running build
cmake --build build -j$(nproc)
status=$?
if [ $status -ne 0 ]
then
echo [!] Make failed with status [$status]
echo [!] Build failed with status [$status]
exit 4
fi
@@ -536,15 +535,13 @@ else
# 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/*
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
cd openal-soft-1.21.1/build
[ -e Makefile ] && make clean
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 || exit 99
cd "$cwd_root"
cmake -G Ninja -D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" -S openal-soft-1.21.1 -B openal-soft-1.21.1/build || exit 99
cmake --build openal-soft-1.21.1/build -j$(nproc) || exit 99
cmake --install openal-soft-1.21.1/build || exit 99
# Build SDL2 without sound systems.
sdl_ss=OFF
@@ -557,11 +554,9 @@ else
else
wget -qO - https://github.com/FNA-XNA/FAudio/archive/refs/tags/22.03.tar.gz | tar zxf -
fi
mkdir FAudio-22.03/build
cd FAudio-22.03/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 || exit 99
cd "$cwd_root"
cmake -G Ninja -D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" -S FAudio-22.03 -B FAudio-22.03/build || exit 99
cmake --build FAudio-22.03/build -j$(nproc) || exit 99
cmake --install FAudio-22.03/build || exit 99
# Build SDL2 with sound systems.
sdl_ss=ON
@@ -570,35 +565,33 @@ else
# Build rtmidi without JACK support to remove the dependency on libjack.
if [ -d "rtmidi-4.0.0" ]
then
rm -rf rtmidi-4.0.0/CMakeCache.txt rtmidi-4.0.0/CMakeFiles
rm -rf rtmidi-4.0.0/build
else
wget -qO - http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz | tar zxf -
fi
cwd_root=$(pwd)
cd rtmidi-4.0.0
[ -e Makefile ] && make clean
cmake -G "Unix Makefiles" -D RTMIDI_API_JACK=OFF -D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" .
make -j$(nproc) install || exit 99
cd "$cwd_root"
cmake -G Ninja -D RTMIDI_API_JACK=OFF -D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" -S rtmidi-4.0.0 -B rtmidi-4.0.0/build || exit 99
cmake --build rtmidi-4.0.0/build -j$(nproc) || exit 99
cmake --install rtmidi-4.0.0/build || exit 99
# Build SDL2 for joystick support with most components disabled to remove the dependencies on PulseAudio and libdrm.
# Build SDL2 for joystick and FAudio support, with most components
# disabled to remove the dependencies on PulseAudio and libdrm.
if [ ! -d "SDL2-2.0.20" ]
then
wget -qO - https://www.libsdl.org/release/SDL2-2.0.20.tar.gz | tar zxf -
fi
rm -rf sdlbuild
mkdir sdlbuild
cd sdlbuild
cmake -G "Unix Makefiles" -D SDL_DISKAUDIO=OFF -D SDL_DIRECTFB_SHARED=OFF -D SDL_OPENGL=OFF -D SDL_OPENGLES=OFF -D SDL_OSS=OFF -D SDL_ALSA=$sdl_ss \
-D SDL_ALSA_SHARED=$sdl_ss -D SDL_JACK=$sdl_ss -D SDL_JACK_SHARED=$sdl_ss -D SDL_ESD=OFF -D SDL_ESD_SHARED=OFF -D SDL_PIPEWIRE=$sdl_ss -D SDL_PIPEWIRE_SHARED=$sdl_ss \
-D SDL_PULSEAUDIO=$sdl_ss -D SDL_PULSEAUDIO_SHARED=$sdl_ss -D SDL_ARTS=OFF -D SDL_ARTS_SHARED=OFF -D SDL_NAS=$sdl_ss -D SDL_NAS_SHARED=$sdl_ss -D SDL_SNDIO=$sdl_ss \
-D SDL_SNDIO_SHARED=$sdl_ss -D SDL_FUSIONSOUND=OFF -D SDL_FUSIONSOUND_SHARED=OFF -D SDL_LIBSAMPLERATE=$sdl_ss -D SDL_LIBSAMPLERATE_SHARED=$sdl_ss -D SDL_X11=OFF \
-D SDL_X11_SHARED=OFF -D SDL_WAYLAND=OFF -D SDL_WAYLAND_SHARED=OFF -D SDL_WAYLAND_LIBDECOR=OFF -D SDL_WAYLAND_LIBDECOR_SHARED=OFF \
-D SDL_WAYLAND_QT_TOUCH=OFF -D SDL_RPI=OFF -D SDL_VIVANTE=OFF -D SDL_VULKAN=OFF -D SDL_KMSDRM=OFF -D SDL_KMSDRM_SHARED=OFF -D SDL_OFFSCREEN=OFF \
-D SDL_HIDAPI_JOYSTICK=ON -D SDL_VIRTUAL_JOYSTICK=ON -D SDL_SHARED=ON -D SDL_STATIC=OFF -S "$cwd_root/SDL2-2.0.20" \
-D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr"
make -j$(nproc) install || exit 99
cd "$cwd_root"
cmake -G Ninja -D SDL_DISKAUDIO=OFF -D SDL_DIRECTFB_SHARED=OFF -D SDL_OPENGL=OFF -D SDL_OPENGLES=OFF -D SDL_OSS=OFF -D SDL_ALSA=$sdl_ss \
-D SDL_ALSA_SHARED=$sdl_ss -D SDL_JACK=$sdl_ss -D SDL_JACK_SHARED=$sdl_ss -D SDL_ESD=OFF -D SDL_ESD_SHARED=OFF -D SDL_PIPEWIRE=$sdl_ss \
-D SDL_PIPEWIRE_SHARED=$sdl_ss -D SDL_PULSEAUDIO=$sdl_ss -D SDL_PULSEAUDIO_SHARED=$sdl_ss -D SDL_ARTS=OFF -D SDL_ARTS_SHARED=OFF \
-D SDL_NAS=$sdl_ss -D SDL_NAS_SHARED=$sdl_ss -D SDL_SNDIO=$sdl_ss -D SDL_SNDIO_SHARED=$sdl_ss -D SDL_FUSIONSOUND=OFF \
-D SDL_FUSIONSOUND_SHARED=OFF -D SDL_LIBSAMPLERATE=$sdl_ss -D SDL_LIBSAMPLERATE_SHARED=$sdl_ss -D SDL_X11=OFF -D SDL_X11_SHARED=OFF \
-D SDL_WAYLAND=OFF -D SDL_WAYLAND_SHARED=OFF -D SDL_WAYLAND_LIBDECOR=OFF -D SDL_WAYLAND_LIBDECOR_SHARED=OFF -D SDL_WAYLAND_QT_TOUCH=OFF \
-D SDL_RPI=OFF -D SDL_VIVANTE=OFF -D SDL_VULKAN=OFF -D SDL_KMSDRM=OFF -D SDL_KMSDRM_SHARED=OFF -D SDL_OFFSCREEN=OFF \
-D SDL_HIDAPI_JOYSTICK=ON -D SDL_VIRTUAL_JOYSTICK=ON -D SDL_SHARED=ON -D SDL_STATIC=OFF -S SDL2-2.0.20 -B sdlbuild \
-D "CMAKE_TOOLCHAIN_FILE=$cwd_root/toolchain.cmake" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" || exit 99
cmake --build sdlbuild -j$(nproc) || exit 99
cmake --install sdlbuild || exit 99
# Archive Discord Game SDK library.
7z e -y -o"archive_tmp/usr/lib" discord_game_sdk.zip "lib/$arch_discord/discord_game_sdk.so"
@@ -615,11 +608,11 @@ else
echo $pkg $version >> archive_tmp/README
done
# Archive icon, while also shrinking it to 512x512 if necessary.
convert src/win/assets/$project_lower.png -resize '512x512>' icon.png
icon_base="$(identify -format 'archive_tmp/usr/share/icons/%wx%h' icon.png)"
# Archive icons.
icon_base=archive_tmp/usr/share/icons
mkdir -p "$icon_base"
mv icon.png "$icon_base/$project_lower.png"
cp -rp src/unix/assets/[0-9]*x[0-9]* "$icon_base/"
icon_name=$(ls "$icon_base/"[0-9]*x[0-9]*/* | head -1 | grep -oP '/\K([^/]+)(?=\.[^\.]+$)')
# Archive executable, while also stripping it if requested.
mkdir -p archive_tmp/usr/local/bin
@@ -676,8 +669,8 @@ else
rm -rf "$project-"*".AppImage"
# Run appimage-builder in extract-and-run mode for Docker compatibility.
project="$project" project_lower="$project_lower" project_version="$project_version" arch_deb="$arch_deb" arch_appimage="$arch_appimage" \
APPIMAGE_EXTRACT_AND_RUN=1 ./appimage-builder.AppImage --recipe .ci/AppImageBuilder.yml
project="$project" project_lower="$project_lower" project_version="$project_version" project_icon="$icon_name" arch_deb="$arch_deb" \
arch_appimage="$arch_appimage" APPIMAGE_EXTRACT_AND_RUN=1 ./appimage-builder.AppImage --recipe .ci/AppImageBuilder.yml
status=$?
# Rename AppImage to the final name if the build succeeded.

View File

@@ -13,7 +13,7 @@ gcc-objc 11.2.0-4
gcc 11.2.0-4
libgccjit 11.2.0-4
tools-git 9.0.0.6357.eac8c38c1-1
make 4.3-1
ninja 1.10.2-3
pkgconf 1.8.0-2
openal 1.21.1-3
libpng 1.6.37-6

View File

@@ -99,9 +99,15 @@ RecompOpFn recomp_opcodes_0f[512] =
/*b0*/ NULL, NULL, ropLSS_16, NULL, ropLFS_16, ropLGS_16, ropMOVZX_16_8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ropMOVSX_16_8, NULL,
/*c0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
#if defined __ARM_EABI__ || defined _ARM_ || defined _M_ARM || defined __aarch64__ || defined _M_ARM64
/*d0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/*e0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/*f0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
#else
/*d0*/ NULL, NULL, NULL, NULL, NULL, ropPMULLW, NULL, NULL, ropPSUBUSB, ropPSUBUSW, NULL, ropPAND, ropPADDUSB, ropPADDUSW, NULL, ropPANDN,
/*e0*/ NULL, NULL, NULL, NULL, NULL, ropPMULHW, NULL, NULL, ropPSUBSB, ropPSUBSW, NULL, ropPOR, ropPADDSB, ropPADDSW, NULL, ropPXOR,
/*f0*/ NULL, NULL, NULL, NULL, NULL, ropPMADDWD, NULL, NULL, ropPSUBB, ropPSUBW, ropPSUBD, NULL, ropPADDB, ropPADDW, ropPADDD, NULL,
#endif
/*32-bit data*/
/* 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f*/
@@ -126,13 +132,22 @@ RecompOpFn recomp_opcodes_0f[512] =
/*b0*/ NULL, NULL, ropLSS_32, NULL, ropLFS_32, ropLGS_32, ropMOVZX_32_8, ropMOVZX_32_16, NULL, NULL, NULL, NULL, NULL, NULL, ropMOVSX_32_8, ropMOVSX_32_16,
/*c0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
#if defined __ARM_EABI__ || defined _ARM_ || defined _M_ARM || defined __aarch64__ || defined _M_ARM64
/*d0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/*e0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/*f0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
#else
/*d0*/ NULL, NULL, NULL, NULL, NULL, ropPMULLW, NULL, NULL, ropPSUBUSB, ropPSUBUSW, NULL, ropPAND, ropPADDUSB, ropPADDUSW, NULL, ropPANDN,
/*e0*/ NULL, NULL, NULL, NULL, NULL, ropPMULHW, NULL, NULL, ropPSUBSB, ropPSUBSW, NULL, ropPOR, ropPADDSB, ropPADDSW, NULL, ropPXOR,
/*f0*/ NULL, NULL, NULL, NULL, NULL, ropPMADDWD, NULL, NULL, ropPSUBB, ropPSUBW, ropPSUBD, NULL, ropPADDB, ropPADDW, ropPADDD, NULL,
#endif
};
RecompOpFn recomp_opcodes_3DNOW[256] =
{
#if defined __ARM_EABI__ || defined _ARM_ || defined _M_ARM || defined __aarch64__ || defined _M_ARM64
0
#else
/* 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f*/
/*00*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ropPI2FD, NULL, NULL,
/*10*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ropPF2ID, NULL, NULL,
@@ -153,6 +168,7 @@ RecompOpFn recomp_opcodes_3DNOW[256] =
/*d0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/*e0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/*f0*/ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
#endif
};
RecompOpFn recomp_opcodes_d8[512] =

View File

@@ -88,11 +88,13 @@
#define ISAMEM_IBMXT_CARD 0
#define ISAMEM_GENXT_CARD 1
#define ISAMEM_IBMAT_CARD 2
#define ISAMEM_GENAT_CARD 3
#define ISAMEM_P5PAK_CARD 4
#define ISAMEM_A6PAK_CARD 5
#define ISAMEM_EMS5150_CARD 6
#define ISAMEM_RAMCARD_CARD 2
#define ISAMEM_SYSTEMCARD_CARD 3
#define ISAMEM_IBMAT_CARD 4
#define ISAMEM_GENAT_CARD 5
#define ISAMEM_P5PAK_CARD 6
#define ISAMEM_A6PAK_CARD 7
#define ISAMEM_EMS5150_CARD 8
#define ISAMEM_EV159_CARD 10
#define ISAMEM_RAMPAGEXT_CARD 11
#define ISAMEM_ABOVEBOARD_CARD 12
@@ -416,6 +418,8 @@ isamem_init(const device_t *info)
switch(dev->board) {
case ISAMEM_IBMXT_CARD: /* IBM PC/XT Memory Expansion Card */
case ISAMEM_GENXT_CARD: /* Generic PC/XT Memory Expansion Card */
case ISAMEM_RAMCARD_CARD: /* Microsoft RAMCard for IBM PC */
case ISAMEM_SYSTEMCARD_CARD: /* Microsoft SystemCard */
case ISAMEM_P5PAK_CARD: /* Paradise Systems 5-PAK */
case ISAMEM_A6PAK_CARD: /* AST SixPakPlus */
dev->total_size = device_get_config_int("size");
@@ -736,6 +740,66 @@ static const device_t genericxt_device = {
.config = genericxt_config
};
static const device_config_t msramcard_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
{ 0, 256, 64 },
{ { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
{ 0, 624, 64 },
{ { 0 } }
},
{ "", "", -1 }
// clang-format on
};
static const device_t msramcard_device = {
.name = "Microsoft RAMCard for IBM PC",
.internal_name = "msramcard",
.flags = DEVICE_ISA,
.local = ISAMEM_RAMCARD_CARD,
.init = isamem_init,
.close = isamem_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = msramcard_config
};
static const device_config_t mssystemcard_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
{ 0, 256, 64 },
{ { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
{ 0, 624, 64 },
{ { 0 } }
},
{ "", "", -1 }
// clang-format on
};
static const device_t mssystemcard_device = {
.name = "Microsoft SystemCard",
.internal_name = "mssystemcard",
.flags = DEVICE_ISA,
.local = ISAMEM_SYSTEMCARD_CARD,
.init = isamem_init,
.close = isamem_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = mssystemcard_config
};
static const device_config_t ibmat_config[] = {
// clang-format off
{
@@ -1178,25 +1242,27 @@ static const struct {
const device_t *dev;
} boards[] = {
// clang-format off
{ &isa_none_device },
{ &ibmxt_device },
{ &genericxt_device },
{ &ibmat_device },
{ &genericat_device },
{ &p5pak_device },
{ &a6pak_device },
{ &ems5150_device },
{ &ev159_device },
{ &isa_none_device },
{ &ibmxt_device },
{ &genericxt_device },
{ &msramcard_device },
{ &mssystemcard_device },
{ &ibmat_device },
{ &genericat_device },
{ &p5pak_device },
{ &a6pak_device },
{ &ems5150_device },
{ &ev159_device },
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_BRAT)
{ &brat_device },
{ &brat_device },
#endif
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_RAMPAGE)
{ &rampage_device },
{ &rampage_device },
#endif
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_IAB)
{ &iab_device },
{ &iab_device },
#endif
{ NULL }
{ NULL }
// clang-format on
};

View File

@@ -40,6 +40,7 @@
# define EMU_DEVICE_H
#define CONFIG_END -1
#define CONFIG_STRING 0
#define CONFIG_INT 1
#define CONFIG_BINARY 2

View File

@@ -407,6 +407,7 @@ extern int machine_at_cmdpc_init(const machine_t *);
extern int machine_at_portableii_init(const machine_t *);
extern int machine_at_portableiii_init(const machine_t *);
extern int machine_at_portableiii386_init(const machine_t *);
extern int machine_at_deskpro386_init(const machine_t *);
#ifdef EMU_DEVICE_H
extern const device_t *at_cpqiii_get_device(void);
#endif

View File

@@ -892,3 +892,19 @@ machine_at_portableiii386_init(const machine_t *model)
return ret;
}
int
machine_at_deskpro386_init(const machine_t *model)
{
int ret;
ret = bios_load_linearr("roms/machines/deskpro386/1986-09-04-HI.json.bin",
0x000fc000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_compaq_init(model, COMPAQ_DESKPRO386);
return ret;
}

View File

@@ -303,6 +303,7 @@ const machine_t machines[] = {
/* Has IBM AT KBC firmware. */
{ "[C&T 386] Samsung SPC-6000A", "spc6000a", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_spc6000a_init, NULL },
/* Uses Compaq KBC firmware. */
{ "[ISA] Compaq Deskpro 386", "deskpro386", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 1024, 14336, 1024, 127, machine_at_deskpro386_init, NULL },
{ "[ISA] Compaq Portable III (386)", "portableiii386", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE | MACHINE_VIDEO, 1024, 14336, 1024, 127, machine_at_portableiii386_init, at_cpqiii_get_device },
/* Has IBM AT KBC firmware. */
{ "[ISA] Micronics 09-00021", "micronics386", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_micronics386_init, NULL },

View File

@@ -252,7 +252,7 @@ static MVHDGeom create_drive_vhd_dynamic(const QString& fileName, uint16_t cyl,
static MVHDGeom create_drive_vhd_diff(const QString& fileName, const QString& parentFileName, int blocksize) {
int vhd_error = 0;
QByteArray filenameBytes = fileName.toUtf8();
QByteArray parentFilenameBytes = fileName.toUtf8();
QByteArray parentFilenameBytes = parentFileName.toUtf8();
MVHDCreationOptions options;
options.block_size_in_sectors = blocksize;
options.path = filenameBytes.data();

View File

@@ -221,9 +221,9 @@ MainWindow::MainWindow(QWidget *parent) :
connect(this, &MainWindow::resizeContents, this, [this](int w, int h) {
if (!QApplication::platformName().contains("eglfs") && vid_resize == 0) {
w = qRound(w / (!dpi_scale ? util::screenOfWidget(this)->devicePixelRatio() : 1.));
w = (w / (!dpi_scale ? util::screenOfWidget(this)->devicePixelRatio() : 1.));
int modifiedHeight = qRound(h / (!dpi_scale ? util::screenOfWidget(this)->devicePixelRatio() : 1.))
int modifiedHeight = (h / (!dpi_scale ? util::screenOfWidget(this)->devicePixelRatio() : 1.))
+ menuBar()->height()
+ (statusBar()->height() * !hide_status_bar)
+ (ui->toolBar->height() * !hide_tool_bar);
@@ -1313,7 +1313,14 @@ void MainWindow::getTitle(wchar_t *title)
bool MainWindow::eventFilter(QObject* receiver, QEvent* event)
{
if (this->keyboardGrabber() == this) {
if (!dopause && (mouse_capture || !kbd_req_capture)) {
if (event->type() == QEvent::Shortcut) {
auto shortcutEvent = (QShortcutEvent*)event;
if (shortcutEvent->key() == ui->actionExit->shortcut()) {
event->accept();
return true;
}
}
if (event->type() == QEvent::KeyPress) {
event->accept();
this->keyPressEvent((QKeyEvent *) event);

View File

@@ -5,6 +5,9 @@
# include <stdlib.h>
# include <string.h>
# include <wchar.h>
# ifdef __unix__
# include <unistd.h>
# endif
# include <86box/86box.h>
# include <86box/config.h>
@@ -248,7 +251,12 @@ fluidsynth_init(const device_t *info)
data->synth = f_new_fluid_synth(data->settings);
char *sound_font = (char *) device_get_config_string("sound_font");
const char *sound_font = (char *) device_get_config_string("sound_font");
# ifdef __unix__
if (!sound_font || sound_font[0] == 0)
sound_font = (access("/usr/share/sounds/sf2/FluidR3_GM.sf2", F_OK) == 0 ? "/usr/share/sounds/sf2/FluidR3_GM.sf2" :
(access("/usr/share/soundfonts/default.sf2", F_OK) == 0 ? "/usr/share/soundfonts/default.sf2" : ""));
# endif
data->sound_font = f_fluid_synth_sfload(data->synth, sound_font, 1);
if (device_get_config_int("chorus")) {

View File

@@ -560,12 +560,12 @@ cmi8x38_start_playback(cmi8x38_t *dev)
i = !(val & 0x01);
if (!dev->dma[0].playback_enabled && i)
timer_advance_u64(&dev->dma[0].poll_timer, dev->dma[0].timer_latch);
timer_set_delay_u64(&dev->dma[0].poll_timer, dev->dma[0].timer_latch);
dev->dma[0].playback_enabled = i;
i = !(val & 0x02);
if (!dev->dma[1].playback_enabled && i)
timer_advance_u64(&dev->dma[1].poll_timer, dev->dma[1].timer_latch);
timer_set_delay_u64(&dev->dma[1].poll_timer, dev->dma[1].timer_latch);
dev->dma[1].playback_enabled = i;
}
@@ -722,10 +722,9 @@ cmi8x38_write(uint16_t addr, uint8_t val, void *priv)
break;
case 0x09:
#if 0 /* actual CMI8338 behavior unconfirmed; this register is required for the Windows XP driver which outputs 96K */
if (dev->type == CMEDIA_CMI8338)
return;
#endif
if (dev->type == CMEDIA_CMI8338)
return;
/* Update sample rate. */
dev->io_regs[addr] = val;
cmi8x38_speed_changed(dev);
@@ -1043,22 +1042,28 @@ cmi8x38_dma_process(void *priv)
/* Check if the fragment size was reached. */
if (--dma->frame_count_fragment <= 0) {
cmi8x38_log("CMI8x38: DMA %d fragment size reached at %04X frames left", dma->id, dma->frame_count_dma - 1);
/* Reset fragment counter. */
dma->frame_count_fragment = *((uint16_t *) &dev->io_regs[dma->reg | 0x6]) + 1;
#ifdef ENABLE_CMI8X38_LOG
if (dma->frame_count_fragment > 1) /* avoid log spam if fragment counting is unused, like on the newer WDM drivers (cmudax3) */
cmi8x38_log("CMI8x38: DMA %d fragment size reached at %04X frames left", dma->id, dma->frame_count_dma - 1);
#endif
/* Fire interrupt if requested. */
if (dev->io_regs[0x0e] & dma_bit) {
cmi8x38_log(", firing interrupt\n");
#ifdef ENABLE_CMI8X38_LOG
if (dma->frame_count_fragment > 1)
cmi8x38_log(", firing interrupt\n");
#endif
/* Set channel interrupt flag. */
dev->io_regs[0x10] |= dma_bit;
/* Fire interrupt. */
cmi8x38_update_irqs(dev);
} else {
cmi8x38_log("\n");
#ifdef ENABLE_CMI8X38_LOG
if (dma->frame_count_fragment > 1)
cmi8x38_log("\n");
#endif
}
}
@@ -1129,8 +1134,8 @@ cmi8x38_poll(void *priv)
}
break;
case 0x03: /* Stereo, 16-bit PCM */
switch (dma->channels) { /* multi-channel requires this data format */
case 0x03: /* Stereo, 16-bit PCM, with multi-channel capability */
switch (dma->channels) {
case 2:
if ((dma->fifo_end - dma->fifo_pos) >= 4) {
*out_l = *((uint16_t *) &dma->fifo[dma->fifo_pos & (sizeof(dma->fifo) - 1)]);

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

123
src/unix/assets/86Box.spec Normal file
View File

@@ -0,0 +1,123 @@
# Fedora RPM spec file for 86Box including roms
#
# To create RPM files from this spec file, run the following commands:
# sudo dnf install rpm-build
# mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
#
# copy this 86Box.spec file to ~/rpmbuild/SPECS and run the following commands:
# cd ~/rpmbuild
# sudo dnf builddep SPECS/86Box.spec
# rpmbuild --undefine=_disable_source_fetch -ba SPECS/86Box.spec
#
# After a successful build, you can install the RPMs as follows:
# sudo dnf install RPMS/$(uname -m)/86Box-3* RPMS/noarch/86Box-roms*
%global romver 20220319
Name: 86Box
Version: 3.3
Release: 1%{?dist}
Summary: Classic PC emulator
License: GPLv2+
URL: https://86box.net
Source0: https://github.com/86Box/86Box/archive/refs/tags/v%%{version}.tar.gz
Source1: https://github.com/86Box/roms/archive/refs/tags/%{romver}.tar.gz
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: libFAudio-devel
BuildRequires: libappstream-glib
BuildRequires: libevdev-devel
BuildRequires: libXi-devel
BuildRequires: ninja-build
BuildRequires: qt5-linguist
BuildRequires: qt5-qtconfiguration-devel
BuildRequires: qt5-qtbase-private-devel
BuildRequires: qt5-qtbase-static
BuildRequires: rtmidi-devel
BuildRequires: wayland-devel
BuildRequires: SDL2-devel
Requires: hicolor-icon-theme
Requires: fluid-soundfont-gm
Requires: 86Box-roms
%description
86Box is a hypervisor and IBM PC system emulator that specializes in
running old operating systems and software designed for IBM
PC systems and compatibles from 1981 through fairly recent
system designs based on the PCI bus.
It supports various models of PCs, graphics and sound cards, and CPUs.
%package roms
Summary: ROMs for use with 86Box
Version: %{romver}
License: Proprietary
BuildArch: noarch
%description roms
Collection of ROMs for use with 86Box.
%prep
%autosetup -p1 -a1
%build
%ifarch i386 x86_64
%cmake -DRELEASE=on
%else
%ifarch arm aarch64
%cmake -DRELEASE=on -DNEW_DYNAREC=on
%else
%cmake -DRELEASE=on -DDYNAREC=off
%endif
%endif
%cmake_build
%install
# install base package
%cmake_install
# install icons
for i in 48 64 72 96 128 192 256 512; do
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps
cp src/unix/assets/${i}x${i}/net.86box.86Box.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/net.86box.86Box.png
done
# install desktop file
desktop-file-install --dir=%{buildroot}%{_datadir}/applications src/unix/assets/net.86box.86Box.desktop
# install metadata
mkdir -p %{buildroot}%{_metainfodir}
cp src/unix/assets/net.86box.86Box.metainfo.xml %{buildroot}%{_metainfodir}
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/net.86box.86Box.metainfo.xml
# install roms
pushd roms-%{romver}
mkdir -p %{buildroot}%{_datadir}/%{name}/roms
cp -a * %{buildroot}%{_datadir}/%{name}/roms/
# hack to create symlink in /usr/bin
cd %{buildroot}%{_bindir}
ln -s ../share/%{name}/roms roms
popd
# files part of the main package
%files
%license COPYING
%{_bindir}/86Box
%{_datadir}/applications/net.86box.86Box.desktop
%{_metainfodir}/net.86box.86Box.metainfo.xml
%{_datadir}/icons/hicolor/*/apps/net.86box.86Box.png
# files part of the rom package
%files roms
%license roms-%{romver}/LICENSE
%{_datadir}/%{name}/roms
%{_bindir}/roms
%changelog
* Sat Mar 19 2022 Robert de Rooy <robert.de.rooy[AT]gmail.com> 3.3-1
- Initial RPM release

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,9 @@
[Desktop Entry]
Name=86Box
GenericName=Classic PC emulator
Comment=An emulator for classic IBM PC clones
Exec=86Box
Icon=net.86box.86Box
Terminal=false
Type=Application
Categories=System;Emulator

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>net.86box.86Box</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0-or-later</project_license>
<name>86Box</name>
<summary>An emulator for classic IBM PC clones</summary>
<categories>
<category>Emulation</category>
</categories>
<launchable type="desktop-id">net.86box.86Box.desktop</launchable>
<releases>
<release version="3.3" date="2022-03-19"/>
</releases>
<content_rating type="oars-1.1" />
<description>
<p>
86Box is a hypervisor and IBM PC system emulator that specializes
in running old operating systems and software designed for IBM
PC systems and compatibles from 1981 through fairly recent
system designs based on the PCI bus.
It supports various models of PCs, graphics and sound
cards, and CPUs.
</p>
<p>
To use 86Box you will need to dump BIOS ROMs for each machine you
want to emulate.
</p>
</description>
<url type="homepage">https://86box.net</url>
</component>

View File

@@ -179,16 +179,16 @@ agpgart_close(void *priv)
free(dev);
}
const device_t agpgart_device =
{
"AGP Graphics Address Remapping Table",
"agpgart",
DEVICE_PCI,
0,
agpgart_init, agpgart_close, NULL,
{ NULL },
NULL,
NULL,
NULL
const device_t agpgart_device = {
.name = "AGP Graphics Address Remapping Table",
.internal_name = "agpgart",
.flags = DEVICE_PCI,
.local = 0,
.init = agpgart_init,
.close = agpgart_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -281,45 +281,47 @@ static void ati18800_force_redraw(void *p)
}
#if defined(DEV_BRANCH) && defined(USE_VGAWONDER)
const device_t ati18800_wonder_device =
{
"ATI-18800",
"ati18800w",
DEVICE_ISA, ATI18800_WONDER,
ati18800_init,
ati18800_close,
NULL,
{ ati18800_wonder_available },
ati18800_speed_changed,
ati18800_force_redraw,
NULL
const device_t ati18800_wonder_device = {
.name = "ATI-18800",
.internal_name = "ati18800w",
.flags = DEVICE_ISA,
.local = ATI18800_WONDER,
.init = ati18800_init,
.close = ati18800_close,
.reset = NULL,
{ .available = ati18800_wonder_available },
.speed_changed = ati18800_speed_changed,
.force_redraw = ati18800_force_redraw,
.config = NULL
};
#endif
const device_t ati18800_vga88_device =
{
"ATI-18800-1",
"ati18800v",
DEVICE_ISA, ATI18800_VGA88,
ati18800_init,
ati18800_close,
NULL,
{ ati18800_vga88_available },
ati18800_speed_changed,
ati18800_force_redraw,
NULL
.name = "ATI-18800-1",
.internal_name = "ati18800v",
.flags = DEVICE_ISA,
.local = ATI18800_VGA88,
.init = ati18800_init,
.close = ati18800_close,
.reset = NULL,
{ .available = ati18800_vga88_available },
.speed_changed = ati18800_speed_changed,
.force_redraw = ati18800_force_redraw,
.config = NULL
};
const device_t ati18800_device =
{
"ATI-18800-5",
"ati18800",
DEVICE_ISA, ATI18800_EDGE16,
ati18800_init,
ati18800_close,
NULL,
{ ati18800_available },
ati18800_speed_changed,
ati18800_force_redraw,
NULL
.name = "ATI-18800-5",
.internal_name = "ati18800",
.flags = DEVICE_ISA,
.local = ATI18800_EDGE16,
.init = ati18800_init,
.close = ati18800_close,
.reset = NULL,
{ .available = ati18800_available },
.speed_changed = ati18800_speed_changed,
.force_redraw = ati18800_force_redraw,
.config = NULL
};

View File

@@ -716,14 +716,11 @@ static const device_config_t ati28800_config[] = {
{ "" }
}
},
{
"", "", -1
}
{ "", "", -1 }
};
#if defined(DEV_BRANCH) && defined(USE_XL24)
static const device_config_t ati28800_wonderxl_config[] =
{
static const device_config_t ati28800_wonderxl_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 512, "", { 0 },
{
@@ -733,87 +730,93 @@ static const device_config_t ati28800_wonderxl_config[] =
{ "" }
}
},
{
"", "", -1
}
{ "", "", -1 }
};
#endif
// clang-format on
const device_t ati28800_device =
{
"ATI 28800-5 (ATI VGA Charger)",
"ati28800",
DEVICE_ISA,
0,
ati28800_init, ati28800_close, NULL,
{ ati28800_available },
ati28800_speed_changed,
ati28800_force_redraw,
ati28800_config
const device_t ati28800_device = {
.name = "ATI 28800-5 (ATI VGA Charger)",
.internal_name = "ati28800",
.flags = DEVICE_ISA,
.local = 0,
.init = ati28800_init,
.close = ati28800_close,
.reset = NULL,
{ .available = ati28800_available },
.speed_changed = ati28800_speed_changed,
.force_redraw = ati28800_force_redraw,
.config = ati28800_config
};
const device_t ati28800k_device =
{
"ATI Korean VGA",
"ati28800k",
DEVICE_ISA,
0,
ati28800k_init, ati28800_close, NULL,
{ ati28800k_available },
ati28800_speed_changed,
ati28800_force_redraw,
ati28800_config
const device_t ati28800k_device = {
.name = "ATI Korean VGA",
.internal_name = "ati28800k",
.flags = DEVICE_ISA,
.local = 0,
.init = ati28800k_init,
.close = ati28800_close,
.reset = NULL,
{ .available = ati28800k_available },
.speed_changed = ati28800_speed_changed,
.force_redraw = ati28800_force_redraw,
.config = ati28800_config
};
const device_t ati28800k_spc4620p_device =
{
"ATI Korean VGA On-Board SPC-4620P",
"ati28800k_spc4620p",
DEVICE_ISA,
1,
ati28800k_init, ati28800_close, NULL,
{ NULL },
ati28800_speed_changed,
ati28800_force_redraw
const device_t ati28800k_spc4620p_device = {
.name = "ATI Korean VGA On-Board SPC-4620P",
.internal_name = "ati28800k_spc4620p",
.flags = DEVICE_ISA,
.local = 1,
.init = ati28800k_init,
.close = ati28800_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = ati28800_speed_changed,
.force_redraw = ati28800_force_redraw,
.config = NULL
};
const device_t ati28800k_spc6033p_device =
{
"ATI Korean VGA On-Board SPC-6033P",
"ati28800k_spc6033p",
DEVICE_ISA,
2,
ati28800k_init, ati28800_close, NULL,
{ NULL },
ati28800_speed_changed,
ati28800_force_redraw
const device_t ati28800k_spc6033p_device = {
.name = "ATI Korean VGA On-Board SPC-6033P",
.internal_name = "ati28800k_spc6033p",
.flags = DEVICE_ISA,
.local = 2,
.init = ati28800k_init,
.close = ati28800_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = ati28800_speed_changed,
.force_redraw = ati28800_force_redraw,
.config = NULL
};
const device_t compaq_ati28800_device =
{
"ATI 28800-5 (ATI VGA Wonder XL)",
"compaq_ati28800",
DEVICE_ISA,
VGAWONDERXL,
ati28800_init, ati28800_close, NULL,
{ compaq_ati28800_available },
ati28800_speed_changed,
ati28800_force_redraw,
ati28800_config
const device_t compaq_ati28800_device = {
.name = "ATI 28800-5 (ATI VGA Wonder XL)",
.internal_name = "compaq_ati28800",
.flags = DEVICE_ISA,
.local = VGAWONDERXL,
.init = ati28800_init,
.close = ati28800_close,
.reset = NULL,
{ .available = compaq_ati28800_available },
.speed_changed = ati28800_speed_changed,
.force_redraw = ati28800_force_redraw,
.config = ati28800_config
};
#if defined(DEV_BRANCH) && defined(USE_XL24)
const device_t ati28800_wonderxl24_device =
{
"ATI-28800 (VGA Wonder XL24)",
"ati28800w",
DEVICE_ISA,
VGAWONDERXL24,
ati28800_init, ati28800_close, NULL,
{ ati28800_wonderxl24_available },
ati28800_speed_changed,
ati28800_force_redraw,
ati28800_wonderxl_config
const device_t ati28800_wonderxl24_device = {
.name = "ATI-28800 (VGA Wonder XL24)",
.internal_name = "ati28800w",
.flags = DEVICE_ISA,
.local = VGAWONDERXL24,
.init = ati28800_init,
.close = ati28800_close,
.reset = NULL,
{ .available = ati28800_wonderxl24_available },
.speed_changed = ati28800_speed_changed,
.force_redraw = ati28800_force_redraw,
.config = ati28800_wonderxl_config
};
#endif

View File

@@ -286,12 +286,16 @@ ati68860_ramdac_close(void *priv)
free(ramdac);
}
const device_t ati68860_ramdac_device =
{
"ATI-68860 RAMDAC",
"ati68860_ramdac",
0, 0,
ati68860_ramdac_init, ati68860_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t ati68860_ramdac_device = {
.name = "ATI-68860 RAMDAC",
.internal_name = "ati68860_ramdac",
.flags = 0,
.local = 0,
.init = ati68860_ramdac_init,
.close = ati68860_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

File diff suppressed because it is too large Load Diff

View File

@@ -174,30 +174,44 @@ att49x_ramdac_close(void *priv)
free(ramdac);
}
const device_t att490_ramdac_device =
{
"AT&T 20c490 RAMDAC",
"att490_ramdac",
0, ATT_490,
att49x_ramdac_init, att49x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t att490_ramdac_device = {
.name = "AT&T 20c490 RAMDAC",
.internal_name = "att490_ramdac",
.flags = 0,
.local = ATT_490,
.init = att49x_ramdac_init,
.close = att49x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t att491_ramdac_device =
{
"AT&T 20c491 RAMDAC",
"att491_ramdac",
0, ATT_491,
att49x_ramdac_init, att49x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t att491_ramdac_device = {
.name = "AT&T 20c491 RAMDAC",
.internal_name = "att491_ramdac",
.flags = 0,
.local = ATT_491,
.init = att49x_ramdac_init,
.close = att49x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t att492_ramdac_device =
{
"AT&T 20c492 RAMDAC",
"att492_ramdac",
0, ATT_492,
att49x_ramdac_init, att49x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t att492_ramdac_device = {
.name = "AT&T 20c492 RAMDAC",
.internal_name = "att492_ramdac",
.flags = 0,
.local = ATT_492,
.init = att49x_ramdac_init,
.close = att49x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -176,12 +176,16 @@ att498_ramdac_close(void *priv)
free(ramdac);
}
const device_t att498_ramdac_device =
{
"AT&T 22c498 RAMDAC",
"att498_ramdac",
0, 0,
att498_ramdac_init, att498_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t att498_ramdac_device = {
.name = "AT&T 22c498 RAMDAC",
.internal_name = "att498_ramdac",
.flags = 0,
.local = 0,
.init = att498_ramdac_init,
.close = att498_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -95,11 +95,16 @@ av9194_init(const device_t *info)
}
const device_t av9194_device =
{
"AV9194 Clock Generator",
"av9194",
0, 0,
av9194_init, NULL,
NULL, { NULL }, NULL, NULL
const device_t av9194_device = {
.name = "AV9194 Clock Generator",
.internal_name = "av9194",
.flags = 0,
.local = 0,
.init = av9194_init,
.close = NULL,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -499,48 +499,72 @@ bt48x_ramdac_close(void *priv)
free(ramdac);
}
const device_t bt484_ramdac_device =
{
"Brooktree Bt484 RAMDAC",
"bt484_ramdac",
0, BT484,
bt48x_ramdac_init, bt48x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t bt484_ramdac_device = {
.name = "Brooktree Bt484 RAMDAC",
.internal_name = "bt484_ramdac",
.flags = 0,
.local = BT484,
.init = bt48x_ramdac_init,
.close = bt48x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t att20c504_ramdac_device =
{
"AT&T 20c504 RAMDAC",
"att20c504_ramdac",
0, ATT20C504,
bt48x_ramdac_init, bt48x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t att20c504_ramdac_device = {
.name = "AT&T 20c504 RAMDAC",
.internal_name = "att20c504_ramdac",
.flags = 0,
.local = ATT20C504,
.init = bt48x_ramdac_init,
.close = bt48x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t bt485_ramdac_device =
{
"Brooktree Bt485 RAMDAC",
"bt485_ramdac",
0, BT485,
bt48x_ramdac_init, bt48x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t bt485_ramdac_device = {
.name = "Brooktree Bt485 RAMDAC",
.internal_name = "bt485_ramdac",
.flags = 0,
.local = BT485,
.init = bt48x_ramdac_init,
.close = bt48x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t att20c505_ramdac_device =
{
"AT&T 20c505 RAMDAC",
"att20c505_ramdac",
0, ATT20C505,
bt48x_ramdac_init, bt48x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t att20c505_ramdac_device = {
.name = "AT&T 20c505 RAMDAC",
.internal_name = "att20c505_ramdac",
.flags = 0,
.local = ATT20C505,
.init = bt48x_ramdac_init,
.close = bt48x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t bt485a_ramdac_device =
{
"Brooktree Bt485A RAMDAC",
"bt485a_ramdac",
0, BT485A,
bt48x_ramdac_init, bt48x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t bt485a_ramdac_device = {
.name = "Brooktree Bt485A RAMDAC",
.internal_name = "bt485a_ramdac",
.flags = 0,
.local = BT485A,
.init = bt48x_ramdac_init,
.close = bt48x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -614,15 +614,15 @@ const device_config_t cga_config[] = {
// clang-format on
const device_t cga_device = {
"CGA",
"cga",
DEVICE_ISA,
0,
cga_standalone_init,
cga_close,
NULL,
{ NULL },
cga_speed_changed,
NULL,
cga_config
.name = "CGA",
.internal_name = "cga",
.flags = DEVICE_ISA,
.local = 0,
.init = cga_standalone_init,
.close = cga_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = cga_speed_changed,
.force_redraw = NULL,
.config = cga_config
};

View File

@@ -4500,450 +4500,426 @@ static const device_config_t gd5480_config[] = {
};
// clang-format on
const device_t gd5401_isa_device =
{
"Cirrus Logic GD5401 (ISA) (ACUMOS AVGA1)",
"cl_gd5401_isa",
DEVICE_ISA,
CIRRUS_ID_CLGD5401,
gd54xx_init, gd54xx_close,
gd54xx_reset,
{ gd5401_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
NULL,
const device_t gd5401_isa_device = {
.name = "Cirrus Logic GD5401 (ISA) (ACUMOS AVGA1)",
.internal_name = "cl_gd5401_isa",
.flags = DEVICE_ISA,
.local = CIRRUS_ID_CLGD5401,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5401_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = NULL,
};
const device_t gd5402_isa_device =
{
"Cirrus Logic GD5402 (ISA) (ACUMOS AVGA2)",
"cl_gd5402_isa",
DEVICE_ISA,
CIRRUS_ID_CLGD5402,
gd54xx_init, gd54xx_close,
gd54xx_reset,
{ gd5402_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
NULL,
const device_t gd5402_isa_device = {
.name = "Cirrus Logic GD5402 (ISA) (ACUMOS AVGA2)",
.internal_name = "cl_gd5402_isa",
.flags = DEVICE_ISA,
.local = CIRRUS_ID_CLGD5402,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5402_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = NULL,
};
const device_t gd5402_onboard_device =
{
"Cirrus Logic GD5402 (ISA) (ACUMOS AVGA2) (On-Board)",
"cl_gd5402_onboard",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5402 | 0x200,
gd54xx_init, gd54xx_close,
gd54xx_reset,
{ NULL },
gd54xx_speed_changed,
gd54xx_force_redraw,
NULL,
const device_t gd5402_onboard_device = {
.name = "Cirrus Logic GD5402 (ISA) (ACUMOS AVGA2) (On-Board)",
.internal_name = "cl_gd5402_onboard",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5402 | 0x200,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = NULL },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = NULL,
};
const device_t gd5420_isa_device =
{
"Cirrus Logic GD5420 (ISA)",
"cl_gd5420_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5420,
gd54xx_init, gd54xx_close,
gd54xx_reset,
{ gd5420_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd542x_config,
const device_t gd5420_isa_device = {
.name = "Cirrus Logic GD5420 (ISA)",
.internal_name = "cl_gd5420_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5420,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5420_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd542x_config,
};
const device_t gd5422_isa_device = {
"Cirrus Logic GD5422 (ISA)",
"cl_gd5422_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5422,
gd54xx_init, gd54xx_close,
gd54xx_reset,
{ gd5422_available }, /* Common BIOS between 5422 and 5424 */
gd54xx_speed_changed,
gd54xx_force_redraw,
gd542x_config,
.name = "Cirrus Logic GD5422 (ISA)",
.internal_name = "cl_gd5422_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5422,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5422_available }, /* Common BIOS between 5422 and 5424 */
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd542x_config,
};
const device_t gd5424_vlb_device = {
"Cirrus Logic GD5424 (VLB)",
"cl_gd5424_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5424,
gd54xx_init, gd54xx_close,
gd54xx_reset,
{ gd5422_available }, /* Common BIOS between 5422 and 5424 */
gd54xx_speed_changed,
gd54xx_force_redraw,
gd542x_config,
.name = "Cirrus Logic GD5424 (VLB)",
.internal_name = "cl_gd5424_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5424,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5422_available }, /* Common BIOS between 5422 and 5424 */
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd542x_config,
};
const device_t gd5426_isa_device =
{
"Cirrus Logic GD5426 (ISA)",
"cl_gd5426_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5426,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_isa_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5426_diamond_speedstar_pro_a1_isa_device =
{
"Cirrus Logic GD5426 (ISA) (Diamond SpeedStar Pro Rev. A1)",
"cl_gd5426_diamond_a1_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5426 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5426_diamond_a1_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
const device_t gd5426_vlb_device =
{
"Cirrus Logic GD5426 (VLB)",
"cl_gd5426_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5426,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
const device_t gd5426_onboard_device =
{
"Cirrus Logic GD5426 (VLB) (On-Board)",
"cl_gd5426_onboard",
DEVICE_VLB,
CIRRUS_ID_CLGD5426 | 0x200,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ NULL },
gd54xx_speed_changed,
gd54xx_force_redraw,
NULL
};
const device_t gd5428_isa_device =
{
"Cirrus Logic GD5428 (ISA)",
"cl_gd5428_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5428,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_isa_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
const device_t gd5428_vlb_device =
{
"Cirrus Logic GD5428 (VLB)",
"cl_gd5428_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5428,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
const device_t gd5426_isa_device = {
.name = "Cirrus Logic GD5426 (ISA)",
.internal_name = "cl_gd5426_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5426,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_isa_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5428_diamond_speedstar_pro_b1_vlb_device =
{
"Cirrus Logic GD5428 (VLB) (Diamond SpeedStar Pro Rev. B1)",
"cl_gd5428_diamond_b1_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5428 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_diamond_b1_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
const device_t gd5426_diamond_speedstar_pro_a1_isa_device = {
.name = "Cirrus Logic GD5426 (ISA) (Diamond SpeedStar Pro Rev. A1)",
.internal_name = "cl_gd5426_diamond_a1_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5426 | 0x100,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5426_diamond_a1_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
const device_t gd5428_mca_device =
{
"Cirrus Logic GD5428 (MCA) (IBM SVGA Adapter/A)",
"ibm1mbsvga",
DEVICE_MCA,
CIRRUS_ID_CLGD5428,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_mca_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
NULL
const device_t gd5426_vlb_device = {
.name = "Cirrus Logic GD5426 (VLB)",
.internal_name = "cl_gd5426_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5426,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
const device_t gd5428_onboard_device =
{
"Cirrus Logic GD5428 (ISA) (On-Board)",
"cl_gd5428_onboard",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5428,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_isa_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_onboard_config
const device_t gd5426_onboard_device = {
.name = "Cirrus Logic GD5426 (VLB) (On-Board)",
.internal_name = "cl_gd5426_onboard",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5426 | 0x200,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = NULL },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = NULL
};
const device_t gd5429_isa_device =
{
"Cirrus Logic GD5429 (ISA)",
"cl_gd5429_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5429,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5429_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
const device_t gd5428_isa_device = {
.name = "Cirrus Logic GD5428 (ISA)",
.internal_name = "cl_gd5428_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5428,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_isa_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
const device_t gd5429_vlb_device =
{
"Cirrus Logic GD5429 (VLB)",
"cl_gd5429_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5429,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5429_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
const device_t gd5428_vlb_device = {
.name = "Cirrus Logic GD5428 (VLB)",
.internal_name = "cl_gd5428_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5428,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5430_diamond_speedstar_pro_se_a8_vlb_device =
{
"Cirrus Logic GD5430 (VLB) (Diamond SpeedStar Pro SE Rev. A8)",
"cl_gd5430_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5430,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5430_diamond_a8_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
const device_t gd5428_diamond_speedstar_pro_b1_vlb_device = {
.name = "Cirrus Logic GD5428 (VLB) (Diamond SpeedStar Pro Rev. B1)",
.internal_name = "cl_gd5428_diamond_b1_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5428 | 0x100,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_diamond_b1_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
const device_t gd5430_pci_device =
{
"Cirrus Logic GD5430 (PCI)",
"cl_gd5430_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5430,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5430_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
const device_t gd5428_mca_device = {
.name = "Cirrus Logic GD5428 (MCA) (IBM SVGA Adapter/A)",
.internal_name = "ibm1mbsvga",
.flags = DEVICE_MCA,
.local = CIRRUS_ID_CLGD5428,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_mca_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = NULL
};
const device_t gd5434_isa_device =
{
"Cirrus Logic GD5434 (ISA)",
"cl_gd5434_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5434,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5434_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
const device_t gd5428_onboard_device = {
.name = "Cirrus Logic GD5428 (ISA) (On-Board)",
.internal_name = "cl_gd5428_onboard",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5428,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5428_isa_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5428_onboard_config
};
const device_t gd5429_isa_device = {
.name = "Cirrus Logic GD5429 (ISA)",
.internal_name = "cl_gd5429_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5429,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5429_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5429_config
};
const device_t gd5429_vlb_device = {
.name = "Cirrus Logic GD5429 (VLB)",
.internal_name = "cl_gd5429_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5429,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5429_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5429_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5434_diamond_speedstar_64_a3_isa_device =
{
"Cirrus Logic GD5434 (ISA) (Diamond SpeedStar 64 Rev. A3)",
"cl_gd5434_diamond_a3_isa",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5434 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5434_diamond_a3_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
const device_t gd5430_diamond_speedstar_pro_se_a8_vlb_device = {
.name = "Cirrus Logic GD5430 (VLB) (Diamond SpeedStar Pro SE Rev. A8)",
.internal_name = "cl_gd5430_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5430,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5430_diamond_a8_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5429_config
};
const device_t gd5434_onboard_pci_device =
{
"Cirrus Logic GD5434-4 (PCI) (On-Board)",
"cl_gd5434_onboard_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5434 | 0x200,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ NULL },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_onboard_config
const device_t gd5430_pci_device = {
.name = "Cirrus Logic GD5430 (PCI)",
.internal_name = "cl_gd5430_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5430,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5430_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5429_config
};
const device_t gd5434_vlb_device =
{
"Cirrus Logic GD5434 (VLB)",
"cl_gd5434_vlb",
DEVICE_VLB,
CIRRUS_ID_CLGD5434,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5434_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
const device_t gd5434_isa_device = {
.name = "Cirrus Logic GD5434 (ISA)",
.internal_name = "cl_gd5434_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5434,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5434_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_config
};
const device_t gd5434_pci_device =
{
"Cirrus Logic GD5434 (PCI)",
"cl_gd5434_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5434,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5434_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5434_diamond_speedstar_64_a3_isa_device = {
.name = "Cirrus Logic GD5434 (ISA) (Diamond SpeedStar 64 Rev. A3)",
.internal_name = "cl_gd5434_diamond_a3_isa",
.flags = DEVICE_AT | DEVICE_ISA,
.local = CIRRUS_ID_CLGD5434 | 0x100,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5434_diamond_a3_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5429_config
};
const device_t gd5436_pci_device =
{
"Cirrus Logic GD5436 (PCI)",
"cl_gd5436_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5436,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5436_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
const device_t gd5434_onboard_pci_device = {
.name = "Cirrus Logic GD5434-4 (PCI) (On-Board)",
.internal_name = "cl_gd5434_onboard_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5434 | 0x200,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = NULL },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_onboard_config
};
const device_t gd5440_onboard_pci_device =
{
"Cirrus Logic GD5440 (PCI) (On-Board)",
"cl_gd5440_onboard_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5440 | 0x600,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ NULL },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5440_onboard_config
const device_t gd5434_vlb_device = {
.name = "Cirrus Logic GD5434 (VLB)",
.internal_name = "cl_gd5434_vlb",
.flags = DEVICE_VLB,
.local = CIRRUS_ID_CLGD5434,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5434_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_config
};
const device_t gd5440_pci_device =
{
"Cirrus Logic GD5440 (PCI)",
"cl_gd5440_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5440 | 0x400,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5440_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
const device_t gd5434_pci_device = {
.name = "Cirrus Logic GD5434 (PCI)",
.internal_name = "cl_gd5434_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5434,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5434_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_config
};
const device_t gd5446_pci_device =
{
"Cirrus Logic GD5446 (PCI)",
"cl_gd5446_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5446,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5446_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
const device_t gd5436_pci_device = {
.name = "Cirrus Logic GD5436 (PCI)",
.internal_name = "cl_gd5436_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5436,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5436_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_config
};
const device_t gd5446_stb_pci_device =
{
"Cirrus Logic GD5446 (PCI) (STB Nitro 64V)",
"cl_gd5446_stb_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5446 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5446_stb_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
const device_t gd5440_onboard_pci_device = {
.name = "Cirrus Logic GD5440 (PCI) (On-Board)",
.internal_name = "cl_gd5440_onboard_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5440 | 0x600,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = NULL },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5440_onboard_config
};
const device_t gd5480_pci_device =
{
"Cirrus Logic GD5480 (PCI)",
"cl_gd5480_pci",
DEVICE_PCI,
CIRRUS_ID_CLGD5480,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5480_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5480_config
const device_t gd5440_pci_device = {
.name = "Cirrus Logic GD5440 (PCI)",
.internal_name = "cl_gd5440_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5440 | 0x400,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5440_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5429_config
};
const device_t gd5446_pci_device = {
.name = "Cirrus Logic GD5446 (PCI)",
.internal_name = "cl_gd5446_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5446,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5446_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_config
};
const device_t gd5446_stb_pci_device = {
.name = "Cirrus Logic GD5446 (PCI) (STB Nitro 64V)",
.internal_name = "cl_gd5446_stb_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5446 | 0x100,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5446_stb_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5434_config
};
const device_t gd5480_pci_device = {
.name = "Cirrus Logic GD5480 (PCI)",
.internal_name = "cl_gd5480_pci",
.flags = DEVICE_PCI,
.local = CIRRUS_ID_CLGD5480,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5480_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5480_config
};

View File

@@ -453,14 +453,15 @@ static const device_config_t colorplus_config[] = {
const device_t colorplus_device =
{
"Colorplus",
"plantronics",
DEVICE_ISA, 0,
colorplus_standalone_init,
colorplus_close,
NULL,
{ NULL },
colorplus_speed_changed,
NULL,
colorplus_config
.name = "Colorplus",
.internal_name = "plantronics",
.flags = DEVICE_ISA,
.local = 0,
.init = colorplus_standalone_init,
.close = colorplus_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = colorplus_speed_changed,
.force_redraw = NULL,
.config = colorplus_config
};

View File

@@ -476,30 +476,30 @@ compaq_cga_speed_changed(void *p)
extern const device_config_t cga_config[];
const device_t compaq_cga_device =
{
"Compaq CGA",
"compaq_cga",
DEVICE_ISA, 0,
compaq_cga_init,
compaq_cga_close,
NULL,
{ NULL },
compaq_cga_speed_changed,
NULL,
cga_config
const device_t compaq_cga_device = {
.name = "Compaq CGA",
.internal_name = "compaq_cga",
.flags = DEVICE_ISA,
.local = 0,
.init = compaq_cga_init,
.close = compaq_cga_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = compaq_cga_speed_changed,
.force_redraw = NULL,
.config = cga_config
};
const device_t compaq_cga_2_device =
{
"Compaq CGA 2",
"compaq_cga_2",
DEVICE_ISA, 1,
compaq_cga_init,
compaq_cga_close,
NULL,
{ NULL },
compaq_cga_speed_changed,
NULL,
cga_config
const device_t compaq_cga_2_device = {
.name = "Compaq CGA 2",
.internal_name = "compaq_cga_2",
.flags = DEVICE_ISA,
.local = 1,
.init = compaq_cga_init,
.close = compaq_cga_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = compaq_cga_speed_changed,
.force_redraw = NULL,
.config = cga_config
};

View File

@@ -1233,81 +1233,86 @@ static const device_config_t ega_config[] = {
// clang-format on
};
const device_t ega_device =
{
"EGA",
"ega",
DEVICE_ISA,
EGA_IBM,
ega_standalone_init, ega_close, NULL,
{ ega_standalone_available },
ega_speed_changed,
NULL,
ega_config
const device_t ega_device = {
.name = "EGA",
.internal_name = "ega",
.flags = DEVICE_ISA,
.local = EGA_IBM,
.init = ega_standalone_init,
.close = ega_close,
.reset = NULL,
{ .available = ega_standalone_available },
.speed_changed = ega_speed_changed,
.force_redraw = NULL,
.config = ega_config
};
const device_t cpqega_device =
{
"Compaq EGA",
"compaq_ega",
DEVICE_ISA,
EGA_COMPAQ,
ega_standalone_init, ega_close, NULL,
{ cpqega_standalone_available },
ega_speed_changed,
NULL,
ega_config
const device_t cpqega_device = {
.name = "Compaq EGA",
.internal_name = "compaq_ega",
.flags = DEVICE_ISA,
.local = EGA_COMPAQ,
.init = ega_standalone_init,
.close = ega_close,
.reset = NULL,
{ .available = cpqega_standalone_available },
.speed_changed = ega_speed_changed,
.force_redraw = NULL,
.config = ega_config
};
const device_t sega_device =
{
"SuperEGA",
"superega",
DEVICE_ISA,
EGA_SUPEREGA,
ega_standalone_init, ega_close, NULL,
{ sega_standalone_available },
ega_speed_changed,
NULL,
ega_config
const device_t sega_device = {
.name = "SuperEGA",
.internal_name = "superega",
.flags = DEVICE_ISA,
.local = EGA_SUPEREGA,
.init = ega_standalone_init,
.close = ega_close,
.reset = NULL,
{ .available = sega_standalone_available },
.speed_changed = ega_speed_changed,
.force_redraw = NULL,
.config = ega_config
};
const device_t atiega_device =
{
"ATI EGA Wonder 800+",
"egawonder800",
DEVICE_ISA,
EGA_ATI,
ega_standalone_init, ega_close, NULL,
{ atiega_standalone_available },
ega_speed_changed,
NULL,
ega_config
const device_t atiega_device = {
.name = "ATI EGA Wonder 800+",
.internal_name = "egawonder800",
.flags = DEVICE_ISA,
.local = EGA_ATI,
.init = ega_standalone_init,
.close = ega_close,
.reset = NULL,
{ .available = atiega_standalone_available },
.speed_changed = ega_speed_changed,
.force_redraw = NULL,
.config = ega_config
};
const device_t iskra_ega_device =
{
"Iskra EGA (Cyrillic ROM)",
"iskra_ega",
DEVICE_ISA,
EGA_ISKRA,
ega_standalone_init, ega_close, NULL,
{ iskra_ega_standalone_available },
ega_speed_changed,
NULL,
ega_config
const device_t iskra_ega_device = {
.name = "Iskra EGA (Cyrillic ROM)",
.internal_name = "iskra_ega",
.flags = DEVICE_ISA,
.local = EGA_ISKRA,
.init = ega_standalone_init,
.close = ega_close,
.reset = NULL,
{ .available = iskra_ega_standalone_available },
.speed_changed = ega_speed_changed,
.force_redraw = NULL,
.config = ega_config
};
const device_t et2000_device =
{
"Tseng Labs ET2000",
"et2000",
DEVICE_ISA,
EGA_TSENG,
ega_standalone_init, ega_close, NULL,
{ et2000_standalone_available },
ega_speed_changed,
NULL,
ega_config
const device_t et2000_device = {
.name = "Tseng Labs ET2000",
.internal_name = "et2000",
.flags = DEVICE_ISA,
.local = EGA_TSENG,
.init = ega_standalone_init,
.close = ega_close,
.reset = NULL,
{ .available = et2000_standalone_available },
.speed_changed = ega_speed_changed,
.force_redraw = NULL,
.config = ega_config
};

View File

@@ -820,61 +820,71 @@ static const device_config_t et4000_config[] = {
};
const device_t et4000_isa_device = {
"Tseng Labs ET4000AX (ISA)",
"et4000ax",
DEVICE_ISA,
0,
et4000_init, et4000_close, NULL,
{ et4000_available },
et4000_speed_changed,
et4000_force_redraw,
et4000_config
.name = "Tseng Labs ET4000AX (ISA)",
.internal_name = "et4000ax",
.flags = DEVICE_ISA,
.local = 0,
.init = et4000_init,
.close = et4000_close,
.reset = NULL,
{ .available = et4000_available },
.speed_changed = et4000_speed_changed,
.force_redraw = et4000_force_redraw,
.config = et4000_config
};
const device_t et4000_mca_device = {
"Tseng Labs ET4000AX (MCA)",
"et4000mca",
DEVICE_MCA,
1,
et4000_init, et4000_close, NULL,
{ et4000_available },
et4000_speed_changed,
et4000_force_redraw,
et4000_config
.name = "Tseng Labs ET4000AX (MCA)",
.internal_name = "et4000mca",
.flags = DEVICE_MCA,
.local = 1,
.init = et4000_init,
.close = et4000_close,
.reset = NULL,
{ .available = et4000_available },
.speed_changed = et4000_speed_changed,
.force_redraw = et4000_force_redraw,
.config = et4000_config
};
const device_t et4000k_isa_device = {
"Trigem Korean VGA (Tseng Labs ET4000AX Korean)",
"tgkorvga",
DEVICE_ISA,
2,
et4000_init, et4000_close, NULL,
{ et4000k_available },
et4000_speed_changed,
et4000_force_redraw,
et4000_config
.name = "Trigem Korean VGA (Tseng Labs ET4000AX Korean)",
.internal_name = "tgkorvga",
.flags = DEVICE_ISA,
.local = 2,
.init = et4000_init,
.close = et4000_close,
.reset = NULL,
{ .available = et4000k_available },
.speed_changed = et4000_speed_changed,
.force_redraw = et4000_force_redraw,
.config = et4000_config
};
const device_t et4000k_tg286_isa_device = {
"Trigem Korean VGA (Trigem 286M)",
"et4000k_tg286_isa",
DEVICE_ISA,
3,
et4000_init, et4000_close, NULL,
{ et4000k_available },
et4000_speed_changed,
et4000_force_redraw,
et4000_config
.name = "Trigem Korean VGA (Trigem 286M)",
.internal_name = "et4000k_tg286_isa",
.flags = DEVICE_ISA,
.local = 3,
.init = et4000_init,
.close = et4000_close,
.reset = NULL,
{ .available = et4000k_available },
.speed_changed = et4000_speed_changed,
.force_redraw = et4000_force_redraw,
.config = et4000_config
};
const device_t et4000_kasan_isa_device = {
"Kasan Hangulmadang-16 VGA (Tseng Labs ET4000AX Korean)",
"kasan16vga",
DEVICE_ISA,
4,
et4000_init, et4000_close, NULL,
{ et4000_kasan_available },
et4000_speed_changed,
et4000_force_redraw,
et4000_config
.name = "Kasan Hangulmadang-16 VGA (Tseng Labs ET4000AX Korean)",
.internal_name = "kasan16vga",
.flags = DEVICE_ISA,
.local = 4,
.init = et4000_init,
.close = et4000_close,
.reset = NULL,
{ .available = et4000_kasan_available },
.speed_changed = et4000_speed_changed,
.force_redraw = et4000_force_redraw,
.config = et4000_config
};

View File

@@ -2190,7 +2190,6 @@ et4000w32p_force_redraw(void *p)
et4000->svga.fullchange = changeframecount;
}
static const device_config_t et4000w32p_config[] = {
// clang-format off
{
@@ -2205,172 +2204,184 @@ static const device_config_t et4000w32p_config[] = {
// clang-format on
};
const device_t et4000w32_device =
{
"Tseng Labs ET4000/w32 ISA",
"et4000w32",
DEVICE_ISA | DEVICE_AT, ET4000W32,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
NULL
const device_t et4000w32_device = {
.name = "Tseng Labs ET4000/w32 ISA",
.internal_name = "et4000w32",
.flags = DEVICE_ISA | DEVICE_AT, ET4000W32,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = NULL
};
const device_t et4000w32_onboard_device =
{
"Tseng Labs ET4000/w32 (ISA) (On-Board)",
"et4000w32_onboard",
DEVICE_ISA | DEVICE_AT, ET4000W32,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
NULL
const device_t et4000w32_onboard_device = {
.name = "Tseng Labs ET4000/w32 (ISA) (On-Board)",
.internal_name = "et4000w32_onboard",
.flags = DEVICE_ISA | DEVICE_AT, ET4000W32,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = NULL
};
const device_t et4000w32i_isa_device =
{
"Tseng Labs ET4000/w32i Rev. B ISA",
"et4000w32i",
DEVICE_ISA | DEVICE_AT, ET4000W32I,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32i_isa_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
NULL
const device_t et4000w32i_isa_device = {
.name = "Tseng Labs ET4000/w32i Rev. B ISA",
.internal_name = "et4000w32i",
.flags = DEVICE_ISA | DEVICE_AT, ET4000W32I,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32i_isa_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = NULL
};
const device_t et4000w32i_vlb_device =
{
"Tseng Labs ET4000/w32i Rev. B VLB",
"et4000w32i_vlb",
DEVICE_VLB, ET4000W32I,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32i_vlb_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32i_vlb_device = {
.name = "Tseng Labs ET4000/w32i Rev. B VLB",
.internal_name = "et4000w32i_vlb",
.flags = DEVICE_VLB, ET4000W32I,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32i_vlb_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_videomagic_revb_vlb_device =
{
"Tseng Labs ET4000/w32p Rev. B VLB (VideoMagic)",
"et4000w32p_videomagic_revb_vlb",
DEVICE_VLB, ET4000W32P_VIDEOMAGIC_REVB,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_videomagic_revb_vlb_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_videomagic_revb_vlb_device = {
.name = "Tseng Labs ET4000/w32p Rev. B VLB (VideoMagic)",
.internal_name = "et4000w32p_videomagic_revb_vlb",
.flags = DEVICE_VLB, ET4000W32P_VIDEOMAGIC_REVB,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_videomagic_revb_vlb_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_videomagic_revb_pci_device =
{
"Tseng Labs ET4000/w32p Rev. B PCI (VideoMagic)",
"et4000w32p_videomagic_revb_pci",
DEVICE_PCI, ET4000W32P_VIDEOMAGIC_REVB,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_videomagic_revb_vlb_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_videomagic_revb_pci_device = {
.name = "Tseng Labs ET4000/w32p Rev. B PCI (VideoMagic)",
.internal_name = "et4000w32p_videomagic_revb_pci",
.flags = DEVICE_PCI, ET4000W32P_VIDEOMAGIC_REVB,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_videomagic_revb_vlb_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_revc_vlb_device =
{
"Tseng Labs ET4000/w32p Rev. C VLB (Cardex)",
"et4000w32p_revc_vlb",
DEVICE_VLB, ET4000W32P_REVC,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_revc_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_revc_vlb_device = {
.name = "Tseng Labs ET4000/w32p Rev. C VLB (Cardex)",
.internal_name = "et4000w32p_revc_vlb",
.flags = DEVICE_VLB, ET4000W32P_REVC,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_revc_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_revc_pci_device =
{
"Tseng Labs ET4000/w32p Rev. C PCI (Cardex)",
"et4000w32p_revc_pci",
DEVICE_PCI, ET4000W32P_REVC,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_revc_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_revc_pci_device = {
.name = "Tseng Labs ET4000/w32p Rev. C PCI (Cardex)",
.internal_name = "et4000w32p_revc_pci",
.flags = DEVICE_PCI, ET4000W32P_REVC,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_revc_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_noncardex_vlb_device =
{
"Tseng Labs ET4000/w32p Rev. D VLB",
"et4000w32p_nc_vlb",
DEVICE_VLB, ET4000W32P,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_noncardex_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_noncardex_vlb_device = {
.name = "Tseng Labs ET4000/w32p Rev. D VLB",
.internal_name = "et4000w32p_nc_vlb",
.flags = DEVICE_VLB, ET4000W32P,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_noncardex_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_noncardex_pci_device =
{
"Tseng Labs ET4000/w32p Rev. D PCI",
"et4000w32p_nc_pci",
DEVICE_PCI, ET4000W32P,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_noncardex_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_noncardex_pci_device = {
.name = "Tseng Labs ET4000/w32p Rev. D PCI",
.internal_name = "et4000w32p_nc_pci",
.flags = DEVICE_PCI, ET4000W32P,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_noncardex_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_cardex_vlb_device =
{
"Tseng Labs ET4000/w32p Rev. D VLB (Cardex)",
"et4000w32p_vlb",
DEVICE_VLB, ET4000W32P_CARDEX,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_cardex_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_cardex_vlb_device = {
.name = "Tseng Labs ET4000/w32p Rev. D VLB (Cardex)",
.internal_name = "et4000w32p_vlb",
.flags = DEVICE_VLB, ET4000W32P_CARDEX,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_cardex_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_cardex_pci_device =
{
"Tseng Labs ET4000/w32p Rev. D PCI (Cardex)",
"et4000w32p_pci",
DEVICE_PCI, ET4000W32P_CARDEX,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_cardex_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_cardex_pci_device = {
.name = "Tseng Labs ET4000/w32p Rev. D PCI (Cardex)",
.internal_name = "et4000w32p_pci",
.flags = DEVICE_PCI, ET4000W32P_CARDEX,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_cardex_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_vlb_device =
{
"Tseng Labs ET4000/w32p Rev. D VLB (Diamond Stealth32)",
"stealth32_vlb",
DEVICE_VLB, ET4000W32P_DIAMOND,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_vlb_device = {
.name = "Tseng Labs ET4000/w32p Rev. D VLB (Diamond Stealth32)",
.internal_name = "stealth32_vlb",
.flags = DEVICE_VLB, ET4000W32P_DIAMOND,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};
const device_t et4000w32p_pci_device =
{
"Tseng Labs ET4000/w32p Rev. D PCI (Diamond Stealth32)",
"stealth32_pci",
DEVICE_PCI, ET4000W32P_DIAMOND,
et4000w32p_init, et4000w32p_close, NULL,
{ et4000w32p_available },
et4000w32p_speed_changed,
et4000w32p_force_redraw,
et4000w32p_config
const device_t et4000w32p_pci_device = {
.name = "Tseng Labs ET4000/w32p Rev. D PCI (Diamond Stealth32)",
.internal_name = "stealth32_pci",
.flags = DEVICE_PCI, ET4000W32P_DIAMOND,
.init = et4000w32p_init,
.close = et4000w32p_close,
.reset = NULL,
{ .available = et4000w32p_available },
.speed_changed = et4000w32p_speed_changed,
.force_redraw = et4000w32p_force_redraw,
.config = et4000w32p_config
};

View File

@@ -662,12 +662,15 @@ static void f82c425_speed_changed(void *p)
}
const device_t f82c425_video_device = {
"82C425 CGA LCD/CRT Controller",
"f82c425_video",
0, 0,
f82c425_init, f82c425_close, NULL,
{ NULL },
f82c425_speed_changed,
NULL,
NULL
.name = "82C425 CGA LCD/CRT Controller",
.internal_name = "f82c425_video",
.flags = 0,
.local = 0,
.init = f82c425_init,
.close = f82c425_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = f82c425_speed_changed,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -788,15 +788,16 @@ genius_speed_changed(void *p)
genius_recalctimings(genius);
}
const device_t genius_device =
{
"Genius VHR",
"genius",
DEVICE_ISA, 0,
genius_init, genius_close, NULL,
{ genius_available },
genius_speed_changed,
NULL,
NULL
const device_t genius_device = {
.name = "Genius VHR",
.internal_name = "genius",
.flags = DEVICE_ISA,
.local = 0,
.init = genius_init,
.close = genius_close,
.reset = NULL,
{ .available = genius_available },
.speed_changed = genius_speed_changed,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -627,13 +627,15 @@ static const device_config_t hercules_config[] = {
};
const device_t hercules_device = {
"Hercules",
"hercules",
DEVICE_ISA,
0,
hercules_init, hercules_close, NULL,
{ NULL },
speed_changed,
NULL,
hercules_config
.name = "Hercules",
.internal_name = "hercules",
.flags = DEVICE_ISA,
.local = 0,
.init = hercules_init,
.close = hercules_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = speed_changed,
.force_redraw = NULL,
.config = hercules_config
};

View File

@@ -712,13 +712,15 @@ static const device_config_t herculesplus_config[] = {
};
const device_t herculesplus_device = {
"Hercules Plus",
"hercules_plus",
DEVICE_ISA,
0,
herculesplus_init, herculesplus_close, NULL,
{ NULL },
speed_changed,
NULL,
herculesplus_config
.name = "Hercules Plus",
.internal_name = "hercules_plus",
.flags = DEVICE_ISA,
.local = 0,
.init = herculesplus_init,
.close = herculesplus_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = speed_changed,
.force_redraw = NULL,
.config = herculesplus_config
};

View File

@@ -1662,90 +1662,87 @@ static const device_config_t radius_svga_multiview_config[] = {
};
// clang-format on
const device_t g2_gc205_device =
{
"G2 GC205",
"g2_gc205",
DEVICE_ISA,
0x7070,
g2_gc205_init,
ht216_close,
NULL,
{ g2_gc205_available },
ht216_speed_changed,
ht216_force_redraw
const device_t g2_gc205_device = {
.name = "G2 GC205",
.internal_name = "g2_gc205",
.flags = DEVICE_ISA,
.local = 0x7070,
.init = g2_gc205_init,
.close = ht216_close,
.reset = NULL,
{ .available = g2_gc205_available },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
.config = NULL
};
const device_t v7_vga_1024i_device =
{
"Video 7 VGA 1024i (HT208)",
"v7_vga_1024i",
DEVICE_ISA,
0x7140,
v7_vga_1024i_init,
ht216_close,
NULL,
{ v7_vga_1024i_available },
ht216_speed_changed,
ht216_force_redraw,
v7_vga_1024i_config
const device_t v7_vga_1024i_device = {
.name = "Video 7 VGA 1024i (HT208)",
.internal_name = "v7_vga_1024i",
.flags = DEVICE_ISA,
.local = 0x7140,
.init = v7_vga_1024i_init,
.close = ht216_close,
.reset = NULL,
{ .available = v7_vga_1024i_available },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
.config = v7_vga_1024i_config
};
const device_t ht216_32_pb410a_device =
{
"Headland HT216-32 (Packard Bell PB410A)",
"ht216_32_pb410a",
DEVICE_VLB,
0x7861, /*HT216-32*/
ht216_pb410a_init,
ht216_close,
NULL,
{ NULL },
ht216_speed_changed,
ht216_force_redraw
const device_t ht216_32_pb410a_device = {
.name = "Headland HT216-32 (Packard Bell PB410A)",
.internal_name = "ht216_32_pb410a",
.flags = DEVICE_VLB,
.local = 0x7861, /*HT216-32*/
.init = ht216_pb410a_init,
.close = ht216_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
.config = NULL
};
const device_t ht216_32_standalone_device =
{
"Headland HT216-32",
"ht216_32",
DEVICE_VLB,
0x7861, /*HT216-32*/
ht216_standalone_init,
ht216_close,
NULL,
{ ht216_standalone_available },
ht216_speed_changed,
ht216_force_redraw,
ht216_32_standalone_config
const device_t ht216_32_standalone_device = {
.name = "Headland HT216-32",
.internal_name = "ht216_32",
.flags = DEVICE_VLB,
.local = 0x7861, /*HT216-32*/
.init = ht216_standalone_init,
.close = ht216_close,
.reset = NULL,
{ .available = ht216_standalone_available },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
.config = ht216_32_standalone_config
};
const device_t radius_svga_multiview_isa_device =
{
"Radius SVGA Multiview ISA (HT209)",
"radius_isa",
DEVICE_ISA | DEVICE_AT,
0x7152, /*HT209*/
radius_svga_multiview_init,
ht216_close,
NULL,
{ radius_svga_multiview_available },
ht216_speed_changed,
ht216_force_redraw,
radius_svga_multiview_config
const device_t radius_svga_multiview_isa_device = {
.name = "Radius SVGA Multiview ISA (HT209)",
.internal_name = "radius_isa",
.flags = DEVICE_ISA | DEVICE_AT,
.local = 0x7152, /*HT209*/
.init = radius_svga_multiview_init,
.close = ht216_close,
.reset = NULL,
{ .available = radius_svga_multiview_available },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
radius_svga_multiview_config,
.config = NULL
};
const device_t radius_svga_multiview_mca_device =
{
"Radius SVGA Multiview MCA (HT209)",
"radius_mc",
DEVICE_MCA,
0x7152, /*HT209*/
radius_svga_multiview_init,
ht216_close,
NULL,
{ radius_svga_multiview_available },
ht216_speed_changed,
ht216_force_redraw,
NULL
const device_t radius_svga_multiview_mca_device = {
.name = "Radius SVGA Multiview MCA (HT209)",
.internal_name = "radius_mc",
.flags = DEVICE_MCA,
.local = 0x7152, /*HT209*/
.init = radius_svga_multiview_init,
.close = ht216_close,
.reset = NULL,
{ .available = radius_svga_multiview_available },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
.config = NULL
};

View File

@@ -953,11 +953,16 @@ ibm_rgb528_ramdac_close(void *priv)
free(ramdac);
}
const device_t ibm_rgb528_ramdac_device = {
"IBM RGB528 RAMDAC",
"ibm_rgb528_ramdac",
0, 0,
ibm_rgb528_ramdac_init, ibm_rgb528_ramdac_close,
NULL, { NULL }, NULL, NULL, NULL
.name = "IBM RGB528 RAMDAC",
.internal_name = "ibm_rgb528_ramdac",
.flags = 0,
.local = 0,
.init = ibm_rgb528_ramdac_init,
.close = ibm_rgb528_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -165,22 +165,30 @@ icd2061_close(void *priv)
free(icd2061);
}
const device_t icd2061_device =
{
"ICD2061 Clock Generator",
"icd2061",
0, 0,
icd2061_init, icd2061_close,
NULL, { NULL }, NULL, NULL
const device_t icd2061_device = {
.name = "ICD2061 Clock Generator",
.internal_name = "icd2061",
.flags = 0,
.local = 0,
.init = icd2061_init,
.close = icd2061_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t ics9161_device =
{
"ICS9161 Clock Generator",
"ics9161",
0, 0,
icd2061_init, icd2061_close,
NULL, { NULL }, NULL, NULL
const device_t ics9161_device = {
.name = "ICS9161 Clock Generator",
.internal_name = "ics9161",
.flags = 0,
.local = 0,
.init = icd2061_init,
.close = icd2061_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -104,12 +104,16 @@ ics2494_close(void *priv)
free(ics2494);
}
const device_t ics2494an_305_device =
{
"ICS2494AN-305 Clock Generator",
"ics2494an_305",
0, 305,
ics2494_init, ics2494_close,
NULL, { NULL }, NULL, NULL
const device_t ics2494an_305_device = {
.name = "ICS2494AN-305 Clock Generator",
.internal_name = "ics2494an_305",
.flags = 0,
.local = 305,
.init = ics2494_init,
.close = ics2494_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -123,12 +123,16 @@ ics2595_setclock(void *p, double clock)
ics2595->output_clock = clock;
}
const device_t ics2595_device =
{
"ICS2595 clock chip",
"ics2595",
0, 0,
ics2595_init, ics2595_close,
NULL, { NULL }, NULL, NULL
const device_t ics2595_device = {
.name = "ICS2595 clock chip",
.internal_name = "ics2595",
.flags = 0,
.local = 0,
.init = ics2595_init,
.close = ics2595_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -1030,12 +1030,15 @@ im1024_speed_changed(void *priv)
const device_t im1024_device = {
"ImageManager 1024",
"im1024",
DEVICE_ISA | DEVICE_AT, 0,
im1024_init, im1024_close, NULL,
{ im1024_available },
im1024_speed_changed,
NULL,
NULL
.name = "ImageManager 1024",
.internal_name = "im1024",
.flags = DEVICE_ISA | DEVICE_AT,
.local = 0,
.init = im1024_init,
.close = im1024_close,
.reset = NULL,
{ .available = im1024_available },
.speed_changed = im1024_speed_changed,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -1091,15 +1091,16 @@ speed_changed(void *priv)
recalc_timings(dev);
}
const device_t incolor_device = {
"Hercules InColor",
"incolor",
DEVICE_ISA,
0,
incolor_init, incolor_close, NULL,
{ NULL },
speed_changed,
NULL,
NULL
.name = "Hercules InColor",
.internal_name = "incolor",
.flags = DEVICE_ISA,
.local = 0,
.init = incolor_init,
.close = incolor_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = speed_changed,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -344,12 +344,15 @@ static const device_config_t mda_config[] = {
};
const device_t mda_device = {
"MDA",
"mda",
DEVICE_ISA, 0,
mda_standalone_init, mda_close, NULL,
{ NULL },
mda_speed_changed,
NULL,
mda_config
.name = "MDA",
.internal_name = "mda",
.flags = DEVICE_ISA,
.local = 0,
.init = mda_standalone_init,
.close = mda_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = mda_speed_changed,
.force_redraw = NULL,
.config = mda_config
};

View File

@@ -5369,47 +5369,47 @@ static const device_config_t mystique_config[] = {
const device_t millennium_device =
{
"Matrox Millennium",
"millennium",
DEVICE_PCI,
MGA_2064W,
mystique_init,
mystique_close,
NULL,
{ millennium_available },
mystique_speed_changed,
mystique_force_redraw,
mystique_config
.name = "Matrox Millennium",
.internal_name = "millennium",
.flags = DEVICE_PCI,
.local = MGA_2064W,
.init = mystique_init,
.close = mystique_close,
.reset = NULL,
{ .available = millennium_available },
.speed_changed = mystique_speed_changed,
.force_redraw = mystique_force_redraw,
.config = mystique_config
};
const device_t mystique_device =
{
"Matrox Mystique",
"mystique",
DEVICE_PCI,
MGA_1064SG,
mystique_init,
mystique_close,
NULL,
{ mystique_available },
mystique_speed_changed,
mystique_force_redraw,
mystique_config
.name = "Matrox Mystique",
.internal_name = "mystique",
.flags = DEVICE_PCI,
.local = MGA_1064SG,
.init = mystique_init,
.close = mystique_close,
.reset = NULL,
{ .available = mystique_available },
.speed_changed = mystique_speed_changed,
.force_redraw = mystique_force_redraw,
.config = mystique_config
};
const device_t mystique_220_device =
{
"Matrox Mystique 220",
"mystique_220",
DEVICE_PCI,
MGA_1164SG,
mystique_init,
mystique_close,
NULL,
{ mystique_220_available },
mystique_speed_changed,
mystique_force_redraw,
mystique_config
.name = "Matrox Mystique 220",
.internal_name = "mystique_220",
.flags = DEVICE_PCI,
.local = MGA_1164SG,
.init = mystique_init,
.close = mystique_close,
.reset = NULL,
{ .available = mystique_220_available },
.speed_changed = mystique_speed_changed,
.force_redraw = mystique_force_redraw,
.config = mystique_config
};

View File

@@ -638,14 +638,15 @@ const device_config_t nga_config[] = {
};
const device_t nga_device = {
"NCR NGA",
"nga",
DEVICE_ISA, 0,
nga_init,
nga_close,
NULL,
{ NULL },
nga_speed_changed,
NULL,
nga_config
.name = "NCR NGA",
.internal_name = "nga",
.flags = DEVICE_ISA,
.local = 0,
.init = nga_init,
.close = nga_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = nga_speed_changed,
.force_redraw = NULL,
.config = nga_config
};

View File

@@ -541,60 +541,71 @@ static const device_config_t oti077_config[] = {
// clang-format on
const device_t oti037c_device = {
"Oak OTI-037C",
"oti037c",
DEVICE_ISA,
0,
oti_init, oti_close, NULL,
{ oti037c_available },
oti_speed_changed,
oti_force_redraw
.name = "Oak OTI-037C",
.internal_name = "oti037c",
.flags = DEVICE_ISA,
.local = 0,
.init = oti_init,
.close = oti_close,
.reset = NULL,
{ .available = oti037c_available },
.speed_changed = oti_speed_changed,
.force_redraw = oti_force_redraw,
.config = NULL
};
const device_t oti067_device = {
"Oak OTI-067",
"oti067",
DEVICE_ISA,
2,
oti_init, oti_close, NULL,
{ oti067_077_available },
oti_speed_changed,
oti_force_redraw,
oti067_config
.name = "Oak OTI-067",
.internal_name = "oti067",
.flags = DEVICE_ISA,
.local = 2,
.init = oti_init,
.close = oti_close,
.reset = NULL,
{ .available = oti067_077_available },
.speed_changed = oti_speed_changed,
.force_redraw = oti_force_redraw,
.config = oti067_config
};
const device_t oti067_m300_device = {
"Oak OTI-067 (Olivetti M300-08/15)",
"oti067_m300",
DEVICE_ISA,
4,
oti_init, oti_close, NULL,
{ oti067_m300_available },
oti_speed_changed,
oti_force_redraw,
oti067_config
.name = "Oak OTI-067 (Olivetti M300-08/15)",
.internal_name = "oti067_m300",
.flags = DEVICE_ISA,
.local = 4,
.init = oti_init,
.close = oti_close,
.reset = NULL,
{ .available = oti067_m300_available },
.speed_changed = oti_speed_changed,
.force_redraw = oti_force_redraw,
.config = oti067_config
};
const device_t oti067_ama932j_device = {
"Oak OTI-067 (AMA-932J)",
"oti067_ama932j",
DEVICE_ISA,
3,
oti_init, oti_close, NULL,
{ oti067_ama932j_available },
oti_speed_changed,
oti_force_redraw,
oti067_ama932j_config
.name = "Oak OTI-067 (AMA-932J)",
.internal_name = "oti067_ama932j",
.flags = DEVICE_ISA,
.local = 3,
.init = oti_init,
.close = oti_close,
.reset = NULL,
{ .available = oti067_ama932j_available },
.speed_changed = oti_speed_changed,
.force_redraw = oti_force_redraw,
.config = oti067_ama932j_config
};
const device_t oti077_device = {
"Oak OTI-077",
"oti077",
DEVICE_ISA,
5,
oti_init, oti_close, NULL,
{ oti067_077_available },
oti_speed_changed,
oti_force_redraw,
oti077_config
.name = "Oak OTI-077",
.internal_name = "oti077",
.flags = DEVICE_ISA,
.local = 5,
.init = oti_init,
.close = oti_close,
.reset = NULL,
{ .available = oti067_077_available },
.speed_changed = oti_speed_changed,
.force_redraw = oti_force_redraw,
.config = oti077_config
};

View File

@@ -653,30 +653,30 @@ const device_config_t ogc_m24_config[] = {
// clang-format on
};
const device_t ogc_m24_device =
{
"Olivetti M21/M24/M28 (GO317/318/380/709) video card",
"ogc_m24",
DEVICE_ISA, 0,
ogc_init,
ogc_close,
NULL,
{ NULL },
ogc_speed_changed,
NULL,
ogc_m24_config
const device_t ogc_m24_device = {
.name = "Olivetti M21/M24/M28 (GO317/318/380/709) video card",
.internal_name = "ogc_m24",
.flags = DEVICE_ISA,
.local = 0,
.init = ogc_init,
.close = ogc_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = ogc_speed_changed,
.force_redraw = NULL,
.config = ogc_m24_config
};
const device_t ogc_device =
{
"Olivetti OGC (GO708)",
"ogc",
DEVICE_ISA, 0,
ogc_init,
ogc_close,
NULL,
{ NULL },
ogc_speed_changed,
NULL,
cga_config
const device_t ogc_device = {
.name = "Olivetti OGC (GO708)",
.internal_name = "ogc",
.flags = DEVICE_ISA,
.local = 0,
.init = ogc_init,
.close = ogc_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = ogc_speed_changed,
.force_redraw = NULL,
.config = cga_config
};

View File

@@ -840,17 +840,16 @@ static const device_config_t paradise_wd90c30_config[] = {
// clang-format on
};
const device_t paradise_wd90c30_device =
{
"Paradise WD90C30-LR",
"wd90c30",
DEVICE_ISA,
WD90C30,
paradise_wd90c30_standalone_init,
paradise_close,
NULL,
{ paradise_wd90c30_standalone_available },
paradise_speed_changed,
paradise_force_redraw,
paradise_wd90c30_config
const device_t paradise_wd90c30_device = {
.name = "Paradise WD90C30-LR",
.internal_name = "wd90c30",
.flags = DEVICE_ISA,
.local = WD90C30,
.init = paradise_wd90c30_standalone_init,
.close = paradise_close,
.reset = NULL,
{ .available = paradise_wd90c30_standalone_available },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = paradise_wd90c30_config
};

View File

@@ -2729,14 +2729,15 @@ pgc_standalone_init(const device_t *info)
const device_t pgc_device = {
"PGC",
"pgc",
DEVICE_ISA, 0,
pgc_standalone_init,
pgc_close,
NULL,
{ NULL },
pgc_speed_changed,
NULL,
NULL
.name = "PGC",
.internal_name = "pgc",
.flags = DEVICE_ISA,
.local = 0,
.init = pgc_standalone_init,
.close = pgc_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = pgc_speed_changed,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -374,13 +374,15 @@ static const device_config_t rtg_config[] = {
};
const device_t realtek_rtg3106_device = {
"Realtek RTG3106 (ISA)",
"rtg3106",
DEVICE_ISA | DEVICE_AT,
2,
rtg_init, rtg_close, NULL,
{ rtg_available },
rtg_speed_changed,
rtg_force_redraw,
rtg_config
.name = "Realtek RTG3106 (ISA)",
.internal_name = "rtg3106",
.flags = DEVICE_ISA | DEVICE_AT,
.local = 2,
.init = rtg_init,
.close = rtg_close,
.reset = NULL,
{ .available = rtg_available },
.speed_changed = rtg_speed_changed,
.force_redraw = rtg_force_redraw,
.config = rtg_config
};

File diff suppressed because it is too large Load Diff

View File

@@ -4217,294 +4217,233 @@ static void s3_virge_force_redraw(void *p)
virge->svga.fullchange = changeframecount;
}
static const device_config_t s3_virge_config[] =
{
static const device_config_t s3_virge_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{
"2 MB", 2
},
{
"4 MB", 4
},
{
""
}
}
},
{
"bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1
},
{
"dithering", "Dithering", CONFIG_BINARY, "", 1
},
{
"", "", -1
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "" }
}
},
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
};
static const device_config_t s3_virge_stb_config[] =
{
static const device_config_t s3_virge_stb_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{
"2 MB", 2
},
{
"4 MB", 4
},
{
"8 MB", 8
},
{
""
}
}
},
{
"bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1
},
{
"dithering", "Dithering", CONFIG_BINARY, "", 1
},
{
"", "", -1
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "8 MB", 8 },
{ "" }
}
},
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
};
static const device_config_t s3_virge_357_config[] =
{
static const device_config_t s3_virge_357_config[] = {
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
};
static const device_config_t s3_trio3d2x_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
"bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1
},
{
"dithering", "Dithering", CONFIG_BINARY, "", 1
},
{
"", "", -1
{ "4 MB", 4 },
{ "8 MB", 8 },
{ "" }
}
},
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
};
static const device_config_t s3_trio3d2x_config[] =
{
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{
"4 MB", 4
},
{
"8 MB", 8
},
{
""
}
}
},
{
"bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1
},
{
"dithering", "Dithering", CONFIG_BINARY, "", 1
},
{
"", "", -1
}
const device_t s3_virge_325_pci_device = {
.name = "S3 ViRGE (325) PCI",
.internal_name = "virge325_pci",
.flags = DEVICE_PCI,
.local = S3_VIRGE_325,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_325_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_config
};
const device_t s3_virge_325_pci_device =
{
"S3 ViRGE (325) PCI",
"virge325_pci",
DEVICE_PCI,
S3_VIRGE_325,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_325_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_config
const device_t s3_diamond_stealth_2000_pci_device = {
.name = "S3 ViRGE (Diamond Stealth 3D 2000) PCI",
.internal_name = "stealth3d_2000_pci",
.flags = DEVICE_PCI,
.local = S3_DIAMOND_STEALTH3D_2000,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_325_diamond_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_config
};
const device_t s3_diamond_stealth_2000_pci_device =
{
"S3 ViRGE (Diamond Stealth 3D 2000) PCI",
"stealth3d_2000_pci",
DEVICE_PCI,
S3_DIAMOND_STEALTH3D_2000,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_325_diamond_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_config
const device_t s3_diamond_stealth_3000_pci_device = {
.name = "S3 ViRGE/VX (Diamond Stealth 3D 3000) PCI",
.internal_name = "stealth3d_3000_pci",
.flags = DEVICE_PCI,
.local = S3_DIAMOND_STEALTH3D_3000,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_988_diamond_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_stb_config
};
const device_t s3_diamond_stealth_3000_pci_device =
{
"S3 ViRGE/VX (Diamond Stealth 3D 3000) PCI",
"stealth3d_3000_pci",
DEVICE_PCI,
S3_DIAMOND_STEALTH3D_3000,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_988_diamond_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_stb_config
const device_t s3_stb_velocity_3d_pci_device = {
.name = "S3 ViRGE/VX (STB Velocity 3D) PCI",
.internal_name = "stb_velocity3d_pci",
.flags = DEVICE_PCI,
.local = S3_STB_VELOCITY_3D,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_988_stb_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_stb_config
};
const device_t s3_stb_velocity_3d_pci_device =
{
"S3 ViRGE/VX (STB Velocity 3D) PCI",
"stb_velocity3d_pci",
DEVICE_PCI,
S3_STB_VELOCITY_3D,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_988_stb_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_stb_config
const device_t s3_virge_375_pci_device = {
.name = "S3 ViRGE/DX (375) PCI",
.internal_name = "virge375_pci",
.flags = DEVICE_PCI,
.local = S3_VIRGE_DX,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_375_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_config
};
const device_t s3_virge_375_pci_device =
{
"S3 ViRGE/DX (375) PCI",
"virge375_pci",
DEVICE_PCI,
S3_VIRGE_DX,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_375_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_config
const device_t s3_diamond_stealth_2000pro_pci_device = {
.name = "S3 ViRGE/DX (Diamond Stealth 3D 2000 Pro) PCI",
.internal_name = "stealth3d_2000pro_pci",
.flags = DEVICE_PCI,
.local = S3_DIAMOND_STEALTH3D_2000PRO,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_375_diamond_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_config
};
const device_t s3_diamond_stealth_2000pro_pci_device =
{
"S3 ViRGE/DX (Diamond Stealth 3D 2000 Pro) PCI",
"stealth3d_2000pro_pci",
DEVICE_PCI,
S3_DIAMOND_STEALTH3D_2000PRO,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_375_diamond_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_config
const device_t s3_virge_385_pci_device = {
.name = "S3 ViRGE/GX (385) PCI",
.internal_name = "virge385_pci",
.flags = DEVICE_PCI,
.local = S3_VIRGE_GX,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_385_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_config
};
const device_t s3_virge_385_pci_device =
{
"S3 ViRGE/GX (385) PCI",
"virge385_pci",
DEVICE_PCI,
S3_VIRGE_GX,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_385_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_config
const device_t s3_virge_357_pci_device = {
.name = "S3 ViRGE/GX2 (357) PCI",
.internal_name = "virge357_pci",
.flags = DEVICE_PCI,
.local = S3_VIRGE_GX2,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_357_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_357_config
};
const device_t s3_virge_357_pci_device =
{
"S3 ViRGE/GX2 (357) PCI",
"virge357_pci",
DEVICE_PCI,
S3_VIRGE_GX2,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_357_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_357_config
const device_t s3_virge_357_agp_device = {
.name = "S3 ViRGE/GX2 (357) AGP",
.internal_name = "virge357_agp",
.flags = DEVICE_AGP,
.local = S3_VIRGE_GX2,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_357_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_357_config
};
const device_t s3_virge_357_agp_device =
{
"S3 ViRGE/GX2 (357) AGP",
"virge357_agp",
DEVICE_AGP,
S3_VIRGE_GX2,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_357_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_357_config
const device_t s3_diamond_stealth_4000_pci_device = {
.name = "S3 ViRGE/GX2 (Diamond Stealth 3D 4000) PCI",
.internal_name = "stealth3d_4000_pci",
.flags = DEVICE_PCI,
.local = S3_DIAMOND_STEALTH3D_4000,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_357_diamond_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_357_config
};
const device_t s3_diamond_stealth_4000_pci_device =
{
"S3 ViRGE/GX2 (Diamond Stealth 3D 4000) PCI",
"stealth3d_4000_pci",
DEVICE_PCI,
S3_DIAMOND_STEALTH3D_4000,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_357_diamond_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_357_config
const device_t s3_diamond_stealth_4000_agp_device = {
.name = "S3 ViRGE/GX2 (Diamond Stealth 3D 4000) AGP",
.internal_name = "stealth3d_4000_agp",
.flags = DEVICE_AGP,
.local = S3_DIAMOND_STEALTH3D_4000,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_virge_357_diamond_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_virge_357_config
};
const device_t s3_diamond_stealth_4000_agp_device =
{
"S3 ViRGE/GX2 (Diamond Stealth 3D 4000) AGP",
"stealth3d_4000_agp",
DEVICE_AGP,
S3_DIAMOND_STEALTH3D_4000,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_virge_357_diamond_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_virge_357_config
const device_t s3_trio3d2x_pci_device = {
.name = "S3 Trio3D/2X (362) PCI",
.internal_name = "trio3d2x",
.flags = DEVICE_PCI,
.local = S3_TRIO_3D2X,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_trio3d2x_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_trio3d2x_config
};
const device_t s3_trio3d2x_pci_device =
{
"S3 Trio3D/2X (362) PCI",
"trio3d2x",
DEVICE_PCI,
S3_TRIO_3D2X,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_trio3d2x_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_trio3d2x_config
};
const device_t s3_trio3d2x_agp_device =
{
"S3 Trio3D/2X (362) AGP",
"trio3d2x_agp",
DEVICE_AGP,
S3_TRIO_3D2X,
s3_virge_init,
s3_virge_close,
s3_virge_reset,
{ s3_trio3d2x_available },
s3_virge_speed_changed,
s3_virge_force_redraw,
s3_trio3d2x_config
const device_t s3_trio3d2x_agp_device = {
.name = "S3 Trio3D/2X (362) AGP",
.internal_name = "trio3d2x_agp",
.flags = DEVICE_AGP,
.local = S3_TRIO_3D2X,
.init = s3_virge_init,
.close = s3_virge_close,
.reset = s3_virge_reset,
{ .available = s3_trio3d2x_available },
.speed_changed = s3_virge_speed_changed,
.force_redraw = s3_virge_force_redraw,
.config = s3_trio3d2x_config
};

View File

@@ -152,38 +152,58 @@ sc1148x_ramdac_close(void *priv)
free(ramdac);
}
const device_t sc11483_ramdac_device =
{
"Sierra SC11483 RAMDAC",
"sc11483_ramdac",
0, 0,
sc1148x_ramdac_init, sc1148x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t sc11483_ramdac_device = {
.name = "Sierra SC11483 RAMDAC",
.internal_name = "sc11483_ramdac",
.flags = 0,
.local = 0,
.init = sc1148x_ramdac_init,
.close = sc1148x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t sc11487_ramdac_device =
{
"Sierra SC11487 RAMDAC",
"sc11487_ramdac",
0, 1,
sc1148x_ramdac_init, sc1148x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t sc11487_ramdac_device = {
.name = "Sierra SC11487 RAMDAC",
.internal_name = "sc11487_ramdac",
.flags = 0,
.local = 1,
.init = sc1148x_ramdac_init,
.close = sc1148x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t sc11484_nors2_ramdac_device =
{
"Sierra SC11484 RAMDAC (no RS2 signal)",
"sc11484_nors2_ramdac",
0, 2,
sc1148x_ramdac_init, sc1148x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t sc11484_nors2_ramdac_device = {
.name = "Sierra SC11484 RAMDAC (no RS2 signal)",
.internal_name = "sc11484_nors2_ramdac",
.flags = 0,
.local = 2,
.init = sc1148x_ramdac_init,
.close = sc1148x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t sc11486_ramdac_device =
{
"Sierra SC11486 RAMDAC",
"sc11486_ramdac",
0, 3,
sc1148x_ramdac_init, sc1148x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t sc11486_ramdac_device = {
.name = "Sierra SC11486 RAMDAC",
.internal_name = "sc11486_ramdac",
.flags = 0,
.local = 3,
.init = sc1148x_ramdac_init,
.close = sc1148x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -153,12 +153,16 @@ sc1502x_ramdac_close(void *priv)
free(ramdac);
}
const device_t sc1502x_ramdac_device =
{
"Sierra SC1502x RAMDAC",
"sc1502x_ramdac",
0, 0,
sc1502x_ramdac_init, sc1502x_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t sc1502x_ramdac_device = {
.name = "Sierra SC1502x RAMDAC",
.internal_name = "sc1502x_ramdac",
.flags = 0,
.local = 0,
.init = sc1502x_ramdac_init,
.close = sc1502x_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -303,39 +303,58 @@ sdac_ramdac_close(void *priv)
free(ramdac);
}
const device_t gendac_ramdac_device =
{
"S3 GENDAC 86c708 RAMDAC",
"gendac_ramdac",
0, S3_86C708,
sdac_ramdac_init, sdac_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t gendac_ramdac_device = {
.name = "S3 GENDAC 86c708 RAMDAC",
.internal_name = "gendac_ramdac",
.flags = 0,
.local = S3_86C708,
.init = sdac_ramdac_init,
.close = sdac_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t tseng_ics5301_ramdac_device =
{
"Tseng ICS5301 GENDAC RAMDAC",
"tseng_ics5301_ramdac",
0, ICS_5301,
sdac_ramdac_init, sdac_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t tseng_ics5301_ramdac_device = {
.name = "Tseng ICS5301 GENDAC RAMDAC",
.internal_name = "tseng_ics5301_ramdac",
.flags = 0,
.local = ICS_5301,
.init = sdac_ramdac_init,
.close = sdac_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t tseng_ics5341_ramdac_device =
{
"Tseng ICS5341 GENDAC RAMDAC",
"tseng_ics5341_ramdac",
0, ICS_5341,
sdac_ramdac_init, sdac_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t tseng_ics5341_ramdac_device = {
.name = "Tseng ICS5341 GENDAC RAMDAC",
.internal_name = "tseng_ics5341_ramdac",
.flags = 0,
.local = ICS_5341,
.init = sdac_ramdac_init,
.close = sdac_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_t sdac_ramdac_device =
{
"S3 SDAC 86c716 RAMDAC",
"sdac_ramdac",
0, S3_86C716,
sdac_ramdac_init, sdac_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t sdac_ramdac_device = {
.name = "S3 SDAC 86c716 RAMDAC",
.internal_name = "sdac_ramdac",
.flags = 0,
.local = S3_86C716,
.init = sdac_ramdac_init,
.close = sdac_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -916,16 +916,16 @@ device_config_t sigma_config[] = {
// clang-format on
};
const device_t sigma_device =
{
"Sigma Color 400",
"sigma400",
DEVICE_ISA, 0,
sigma_init,
sigma_close,
NULL,
{ sigma_available },
sigma_speed_changed,
NULL,
sigma_config
const device_t sigma_device = {
.name = "Sigma Color 400",
.internal_name = "sigma400",
.flags = DEVICE_ISA,
.local = 0,
.init = sigma_init,
.close = sigma_close,
.reset = NULL,
{ .available = sigma_available },
.speed_changed = sigma_speed_changed,
.force_redraw = NULL,
.config = sigma_config
};

View File

@@ -246,12 +246,16 @@ stg_ramdac_close(void *priv)
free(ramdac);
}
const device_t stg_ramdac_device =
{
"SGS-Thompson STG170x RAMDAC",
"stg_ramdac",
0, 0,
stg_ramdac_init, stg_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t stg_ramdac_device = {
.name = "SGS-Thompson STG170x RAMDAC",
.internal_name = "stg_ramdac",
.flags = 0,
.local = 0,
.init = stg_ramdac_init,
.close = stg_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -3227,92 +3227,86 @@ static const device_config_t tgui96xx_config[] = {
};
// clang-format on
const device_t tgui9400cxi_device =
{
"Trident TGUI 9400CXi",
"tgui9400cxi_vlb",
DEVICE_VLB,
TGUI_9400CXI,
tgui_init,
tgui_close,
NULL,
{ tgui9400cxi_available },
tgui_speed_changed,
tgui_force_redraw,
tgui9440_config
const device_t tgui9400cxi_device = {
.name = "Trident TGUI 9400CXi",
.internal_name = "tgui9400cxi_vlb",
.flags = DEVICE_VLB,
.local = TGUI_9400CXI,
.init = tgui_init,
.close = tgui_close,
.reset = NULL,
{ .available = tgui9400cxi_available },
.speed_changed = tgui_speed_changed,
.force_redraw = tgui_force_redraw,
.config = tgui9440_config
};
const device_t tgui9440_vlb_device =
{
"Trident TGUI 9440AGi VLB",
"tgui9440_vlb",
DEVICE_VLB,
TGUI_9440,
tgui_init,
tgui_close,
NULL,
{ tgui9440_available },
tgui_speed_changed,
tgui_force_redraw,
tgui9440_config
const device_t tgui9440_vlb_device = {
.name = "Trident TGUI 9440AGi VLB",
.internal_name = "tgui9440_vlb",
.flags = DEVICE_VLB,
.local = TGUI_9440,
.init = tgui_init,
.close = tgui_close,
.reset = NULL,
{ .available = tgui9440_available },
.speed_changed = tgui_speed_changed,
.force_redraw = tgui_force_redraw,
.config = tgui9440_config
};
const device_t tgui9440_pci_device =
{
"Trident TGUI 9440AGi PCI",
"tgui9440_pci",
DEVICE_PCI,
TGUI_9440,
tgui_init,
tgui_close,
NULL,
{ tgui9440_available },
tgui_speed_changed,
tgui_force_redraw,
tgui9440_config
const device_t tgui9440_pci_device = {
.name = "Trident TGUI 9440AGi PCI",
.internal_name = "tgui9440_pci",
.flags = DEVICE_PCI,
.local = TGUI_9440,
.init = tgui_init,
.close = tgui_close,
.reset = NULL,
{ .available = tgui9440_available },
.speed_changed = tgui_speed_changed,
.force_redraw = tgui_force_redraw,
.config = tgui9440_config
};
const device_t tgui9440_onboard_pci_device =
{
"Trident TGUI 9440AGi On-Board PCI",
"tgui9440_onboard_pci",
DEVICE_PCI,
TGUI_9440 | ONBOARD,
tgui_init,
tgui_close,
NULL,
{ NULL },
tgui_speed_changed,
tgui_force_redraw,
tgui9440_config
const device_t tgui9440_onboard_pci_device = {
.name = "Trident TGUI 9440AGi On-Board PCI",
.internal_name = "tgui9440_onboard_pci",
.flags = DEVICE_PCI,
.local = TGUI_9440 | ONBOARD,
.init = tgui_init,
.close = tgui_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = tgui_speed_changed,
.force_redraw = tgui_force_redraw,
.config = tgui9440_config
};
const device_t tgui9660_pci_device =
{
"Trident TGUI 9660XGi PCI",
"tgui9660_pci",
DEVICE_PCI,
TGUI_9660,
tgui_init,
tgui_close,
NULL,
{ tgui96xx_available },
tgui_speed_changed,
tgui_force_redraw,
tgui96xx_config
const device_t tgui9660_pci_device = {
.name = "Trident TGUI 9660XGi PCI",
.internal_name = "tgui9660_pci",
.flags = DEVICE_PCI,
.local = TGUI_9660,
.init = tgui_init,
.close = tgui_close,
.reset = NULL,
{ .available = tgui96xx_available },
.speed_changed = tgui_speed_changed,
.force_redraw = tgui_force_redraw,
.config = tgui96xx_config
};
const device_t tgui9680_pci_device =
{
"Trident TGUI 9680XGi PCI",
"tgui9680_pci",
DEVICE_PCI,
TGUI_9680,
tgui_init,
tgui_close,
NULL,
{ tgui96xx_available },
tgui_speed_changed,
tgui_force_redraw,
tgui96xx_config
const device_t tgui9680_pci_device = {
.name = "Trident TGUI 9680XGi PCI",
.internal_name = "tgui9680_pci",
.flags = DEVICE_PCI,
.local = TGUI_9680,
.init = tgui_init,
.close = tgui_close,
.reset = NULL,
{ .available = tgui96xx_available },
.speed_changed = tgui_speed_changed,
.force_redraw = tgui_force_redraw,
.config = tgui96xx_config
};

View File

@@ -262,15 +262,16 @@ vid_init(const device_t *info)
return(ti);
}
const device_t ibm_ps1_2121_device = {
"IBM PS/1 Model 2121 SVGA",
"ibm_ps1_2121",
DEVICE_ISA,
512,
vid_init, vid_close, NULL,
{ NULL },
vid_speed_changed,
vid_force_redraw,
NULL
.name = "IBM PS/1 Model 2121 SVGA",
.internal_name = "ibm_ps1_2121",
.flags = DEVICE_ISA,
.local = 512,
.init = vid_init,
.close = vid_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = vid_force_redraw,
.config = NULL
};

View File

@@ -117,12 +117,16 @@ tkd8001_ramdac_close(void *priv)
free(ramdac);
}
const device_t tkd8001_ramdac_device =
{
"Trident TKD8001 RAMDAC",
"tkd8001_ramdac",
0, 0,
tkd8001_ramdac_init, tkd8001_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t tkd8001_ramdac_device = {
.name = "Trident TKD8001 RAMDAC",
.internal_name = "tkd8001_ramdac",
.flags = 0,
.local = 0,
.init = tkd8001_ramdac_init,
.close = tkd8001_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -443,15 +443,14 @@ void tvga_force_redraw(void *p)
tvga->svga.fullchange = changeframecount;
}
static const device_config_t tvga_config[] =
{
static const device_config_t tvga_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "1 MB", 1024 },
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "1 MB", 1024 },
/*Chip supports 2mb, but drivers are buggy*/
{ "" }
}
@@ -460,47 +459,44 @@ static const device_config_t tvga_config[] =
// clang-format off
};
const device_t tvga8900b_device =
{
"Trident TVGA 8900B",
"tvga8900b",
DEVICE_ISA,
TVGA8900B_ID,
tvga_init,
tvga_close,
NULL,
{ tvga8900b_available },
tvga_speed_changed,
tvga_force_redraw,
tvga_config
const device_t tvga8900b_device = {
.name = "Trident TVGA 8900B",
.internal_name = "tvga8900b",
.flags = DEVICE_ISA,
.local = TVGA8900B_ID,
.init = tvga_init,
.close = tvga_close,
.reset = NULL,
{ .available = tvga8900b_available },
.speed_changed = tvga_speed_changed,
.force_redraw = tvga_force_redraw,
.config = tvga_config
};
const device_t tvga8900d_device =
{
"Trident TVGA 8900D",
"tvga8900d",
DEVICE_ISA,
TVGA8900CLD_ID,
tvga_init,
tvga_close,
NULL,
{ tvga8900d_available },
tvga_speed_changed,
tvga_force_redraw,
tvga_config
const device_t tvga8900d_device = {
.name = "Trident TVGA 8900D",
.internal_name = "tvga8900d",
.flags = DEVICE_ISA,
.local = TVGA8900CLD_ID,
.init = tvga_init,
.close = tvga_close,
.reset = NULL,
{ .available = tvga8900d_available },
.speed_changed = tvga_speed_changed,
.force_redraw = tvga_force_redraw,
.config = tvga_config
};
const device_t tvga9000b_device =
{
"Trident TVGA 9000B",
"tvga9000b",
DEVICE_ISA,
TVGA9000B_ID,
tvga_init,
tvga_close,
NULL,
{ tvga9000b_available },
tvga_speed_changed,
tvga_force_redraw,
NULL
const device_t tvga9000b_device = {
.name = "Trident TVGA 9000B",
.internal_name = "tvga9000b",
.flags = DEVICE_ISA,
.local = TVGA9000B_ID,
.init = tvga_init,
.close = tvga_close,
.reset = NULL,
{ .available = tvga9000b_available },
.speed_changed = tvga_speed_changed,
.force_redraw = tvga_force_redraw,
.config = NULL
};

View File

@@ -590,12 +590,16 @@ tvp3026_ramdac_close(void *priv)
free(ramdac);
}
const device_t tvp3026_ramdac_device =
{
"TI TVP3026 RAMDAC",
"tvp3026_ramdac",
0, 0,
tvp3026_ramdac_init, tvp3026_ramdac_close,
NULL, { NULL }, NULL, NULL
const device_t tvp3026_ramdac_device = {
.name = "TI TVP3026 RAMDAC",
.internal_name = "tvp3026_ramdac",
.flags = 0,
.local = 0,
.init = tvp3026_ramdac_init,
.close = tvp3026_ramdac_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -181,47 +181,44 @@ void vga_force_redraw(void *p)
vga->svga.fullchange = changeframecount;
}
const device_t vga_device =
{
"VGA",
"vga",
DEVICE_ISA,
0,
vga_init,
vga_close,
NULL,
{ vga_available },
vga_speed_changed,
vga_force_redraw,
NULL
const device_t vga_device = {
.name = "VGA",
.internal_name = "vga",
.flags = DEVICE_ISA,
.local = 0,
.init = vga_init,
.close = vga_close,
.reset = NULL,
{ .available = vga_available },
.speed_changed = vga_speed_changed,
.force_redraw = vga_force_redraw,
.config = NULL
};
const device_t ps1vga_device =
{
"PS/1 VGA",
"ps1vga",
DEVICE_ISA,
0,
ps1vga_init,
vga_close,
NULL,
{ vga_available },
vga_speed_changed,
vga_force_redraw,
NULL
const device_t ps1vga_device = {
.name = "PS/1 VGA",
.internal_name = "ps1vga",
.flags = DEVICE_ISA,
.local = 0,
.init = ps1vga_init,
.close = vga_close,
.reset = NULL,
{ .available = vga_available },
.speed_changed = vga_speed_changed,
.force_redraw = vga_force_redraw,
.config = NULL
};
const device_t ps1vga_mca_device =
{
"PS/1 VGA",
"ps1vga_mca",
DEVICE_MCA,
0,
ps1vga_init,
vga_close,
NULL,
{ vga_available },
vga_speed_changed,
vga_force_redraw,
NULL
const device_t ps1vga_mca_device = {
.name = "PS/1 VGA",
.internal_name = "ps1vga_mca",
.flags = DEVICE_MCA,
.local = 0,
.init = ps1vga_init,
.close = vga_close,
.reset = NULL,
{ .available = vga_available },
.speed_changed = vga_speed_changed,
.force_redraw = vga_force_redraw,
.config = NULL
};

View File

@@ -1007,16 +1007,16 @@ void wy700_speed_changed(void *p)
wy700_recalctimings(wy700);
}
const device_t wy700_device =
{
"Wyse 700",
"wy700",
DEVICE_ISA, 0,
wy700_init,
wy700_close,
NULL,
{ NULL },
wy700_speed_changed,
NULL,
NULL
const device_t wy700_device = {
.name = "Wyse 700",
.internal_name = "wy700",
.flags = DEVICE_ISA,
.local = 0,
.init = wy700_init,
.close = wy700_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = wy700_speed_changed,
.force_redraw = NULL,
.config = NULL
};

View File

@@ -1,6 +1,6 @@
{
"name": "86box",
"version-string": "3.1",
"version-string": "3.3",
"homepage": "https://86box.net/",
"documentation": "http://86box.readthedocs.io/",
"license": "GPL-2.0-or-later",