atari800: updated to 5.2.0

Version 5.2.0 (2023/12/29)

New features:

possibility of renaming the host device "letter" from previously hardcoded
H: to any letter but C: (cassette), E:, K: and S:
So if you have e.g. a program with hardcoded "D:" (as for diskette) you
can now use it on a host device as well by renaming the host device to D:
either via the Emulation configuration -> Host device settings menu
or using command line option

-Hdevicename <X>

little thing but useful (for me at least): tooltip in the settings
menu that reminds users there are virtual host devices with
automatic ATASCII<->ASCII conversion (mainly end-of-line character).

Extremely useful for all text files including ATARI BASIC source code
that can be stored using LIST "H6:PROGRAM.LST" and read back using
ENTER "H6:PROGRAM.LST" (H6 = H1 with ASCII conversion, etc.).


Version 5.1.0 (2023/12/28) - released at SILK

Thanks to all the contributors (see git log for each commit author)

New features:

New command line options:
-playbacknoexit => don't exit the emulator after playback finishes

-joy-distinct => allows larger number of joysticks by not combining multiple physical
devices into a single emulated joystick. For example this allows using
keyboard to emulate one or two joysticks, and to use these in conjunction
with physical SDL joysticks / controllers in order to play with more people
than there are SDL joysticks. The same logic gets applied to LPT joysticks,
these come after joysticks from keyboard emulation.

Furthermore, the logic also gets applied to put SDL joysticks after LPT
joystics even when the command line flag isn't set. Since LPT joysticks
take precedence over SDL joysticks on the same emulated device, this takes
a device that was completely ignored before and makes it useful now.

The assignments are fixed at program start-up, after config file and command
line flags have been taken into account. If the UI is used to enable or
disable a keyboard-emulated joystick, this can cause an emulated joystick
to be controlled by multiple physical devices, or by none.

Swap also SDL joysticks on AltL+J

This swaps all physical devices connected to the first two emulated
joysticks: the keyboard keys, the SDL devices, and the LPT devices.

After the swap the real joystick / hat setting in the UI will appear swapped
as well, but the keyboard setting won't.

Show all input events on a single line during recording

This way the recording file alternates between two forms of lines: input
lines which contain all keyboard and joystick events in one line, and output
lines with the screen content digest. By filtering out the former, the
latter can be aggregated nicely, e.g. using a command like this:

zcat ${file:?} | grep -vE '^[0-9A-F]{8} *$' | uniq -c

Consecutive frames of equal input state will be represented as a single row,
with a repeat count giving an idea for how long the state was maintained.

RAM cartridges implementation

Many RAMCART and one SiDiCar cartridges
Support for writeable cartridges
CART monitor command
Make blank cartridge UI option
Reserved CART file ids for additional cartridge types currently unemulated by Atari800,
added also the description of the types
added XEX reading in monitor (useful for patches)

Added H: device rename; save it in setup file

Changes:

Altirra OS updated to v3.41
Altirra BASIC updated to v1.58
Fix buffer over-read in generate_partial_pmpl_colls
Atari ST/TT/Falcon optimizations
Version 5.0.0 (2022/05/28) - released at Atariada.cz (yay!)

Big thanks to all contributors (see git log for each commit author)

New features:

AVI video recording (Alt+V hotkey) by Rob McMullen
-vcodec command line arg can select video codec
-aname and -vname CL args set patterns for sound and video recording
-horiz-area & -vert-area command line args for controlling the image area
-showstats (and -no-showstats) CL args and related config file param
-compression-level for configuring PNG and ZMBV compression

MP3 audio and other audio codecs for audio recording (Alt+W hotkey)
-acodec can select audio codec

New cartridge types supported:

71: Super Cart 64 KB 5200 cartridge (32K banks)
72: Super Cart 128 KB 5200 cartridge (32K banks)
73: Super Cart 256 KB 5200 cartridge (32K banks)
74: Super Cart 512 KB 5200 cartridge (32K banks)
75: Atarimax 1 MB Flash cartridge (new)
See DOC/cart.txt for details.
support for remapping of all function keys (START, SELECT, OPTION etc)

support for comments in config file

tool for creating cart files from ROM files

support for 64-512K Atari 5200 bank-switchable carts with Bryan's design

support for the alternate variant of MaxFlash 1 MB.

support for single RaspberryPi OS package with HW specific binaries

Changes:

video triple buffering changed to double buffering
fixed using proper getcwd()
gamma values in NTSC filter presets updated
MacOS build enables R: by default
fixed saving of config file
using zlib-provided crc32 if HAVE_LIBZ is defined
Altirra OS updated to v3.28
renamed "Switchable 5200" cartridges to "Super Cart"
fixed segfault when a 5200 Super Cart cartridge is removed
avoided unnecessary memory copying of 5200 Super Carts
fixed issue in opening a cartridge
BUILD instructions and new README for Android
fixed segfault when exiting monitor
fixed BBSB's lift not working
avoided unnecessary memory copying in Bounty Bob cartridges
allow configuring --with-audio=win in non-DirectX targets
allow configuring --with-audio=sdl and --with-video <> sdl
atari_x11.c: don't auto-repeat the 'screenshot' key
build compatible with dashFixed keystrokes for inserting/deleting of line/character
SIO now resets BRKKEY (fixes Arsantica 3 demo)
Fix for issue (BBSB warp doesn't work)
Fixes CTRL and CAPS keys when using SDL12-compat library.
DOC/README.RPI explains clearly support for various RaspberryPis
This commit is contained in:
adam 2024-01-10 17:57:15 +00:00
parent 2675bbe943
commit 314228aaa4
5 changed files with 26 additions and 53 deletions

View File

@ -1,14 +1,13 @@
# $NetBSD: Makefile,v 1.57 2020/08/21 21:17:04 adam Exp $
# $NetBSD: Makefile,v 1.58 2024/01/10 17:57:15 adam Exp $
DISTNAME= atari800-4.2.0-src
PKGNAME= ${DISTNAME:S/-src//}
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=atari800/}
MASTER_SITES+= http://www.emulators.com/freefile/
EXTRACT_SUFX= .tgz
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} pcxf380.zip
GITHUB_PROJECT= atari800
GITHUB_RELEASE= ATARI800_${PKGVERSION_NOREV:S/./_/g}
DISTNAME= atari800-5.2.0-src
PKGNAME= ${DISTNAME:S/-src//}
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=atari800/}
GITHUB_RELEASE= ATARI800_${PKGVERSION_NOREV:S/./_/g}
EXTRACT_SUFX= .tgz
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} pcxf380.zip
SITES.pcxf380.zip= http://www.emulators.com/freefile/
MAINTAINER= adam@NetBSD.org
HOMEPAGE= https://atari800.github.io/

View File

@ -1,5 +1,6 @@
@comment $NetBSD: PLIST,v 1.5 2020/01/18 21:33:13 nia Exp $
@comment $NetBSD: PLIST,v 1.6 2024/01/10 17:57:15 adam Exp $
bin/atari800
bin/cart
man/man1/atari800.1
share/atari800/advent1.atr
share/atari800/analog51.xfd

View File

@ -1,11 +1,11 @@
$NetBSD: distinfo,v 1.27 2021/10/26 10:23:46 nia Exp $
$NetBSD: distinfo,v 1.28 2024/01/10 17:57:15 adam Exp $
BLAKE2s (atari800-4.2.0-src.tgz) = 282d1243c844bea25a1f0e9055763be8aaef12f9b2b50b7e0f663e596f88c06e
SHA512 (atari800-4.2.0-src.tgz) = 1236a8e05bf878e4514ae8e9f1556e0961a7f11ff0333eef415af455d217f712d5c6ededdd343dff6ba1aab777e19997bf9ecb859408187d69fc141301ecba31
Size (atari800-4.2.0-src.tgz) = 7047710 bytes
BLAKE2s (atari800-5.2.0-src.tgz) = 0dac1ba0884b08da39d986712bc8cb67328021be4500db37fe87048c619d97b6
SHA512 (atari800-5.2.0-src.tgz) = c1ac728cb0733937175040bbdb4d5653cdbedeaa1ab399165dd1a9c841ba6930953801da65c0f747e28d293c26ad85e5e014947ebb5090ec03aef77cbd1d2627
Size (atari800-5.2.0-src.tgz) = 1935364 bytes
BLAKE2s (pcxf380.zip) = 0d2ae9eaa11f62f3a6e8a6d4ee3f26393efcdcf61792adc49b895e33fd439786
SHA512 (pcxf380.zip) = 98181f0f3a30edcadb3c704dc4afda06708da3982a378e31a47d6b7ac8d3f8661753843de8fc8e599970ee9adf5f94f08213447d0c2dd75486a07f9d98ade78c
Size (pcxf380.zip) = 590041 bytes
SHA1 (patch-configure) = cbc99c9073186335148cdaf06bd1f77aabd33e94
SHA1 (patch-src_rdevice.c) = a6ec9f45c5f27704a47e306496213615a9bb5f09
SHA1 (patch-configure) = d0e7cac90637e82cd472922725a4434381bcc0c2
SHA1 (patch-src_rdevice.c) = c4c15dda0b476b633862fb2122e7463f35d9d69f
SHA1 (patch-src_sound__oss.c) = 73b51491aee42e5657584bd8b58127e9cd8e5d87

View File

@ -1,10 +1,10 @@
$NetBSD: patch-configure,v 1.3 2020/01/18 21:33:13 nia Exp $
$NetBSD: patch-configure,v 1.4 2024/01/10 17:57:15 adam Exp $
Compatibility fixes.
--- configure.orig 2019-12-28 17:00:31.000000000 +0000
--- configure.orig 2023-12-29 09:23:47.000000000 +0000
+++ configure
@@ -9143,10 +9143,7 @@ $as_echo "#define SUPPORTS_PLATFORM_TIME
@@ -10118,10 +10118,7 @@ printf "%s\n" "#define SUPPORTS_PLATFORM
LIBS="$LIBS $SDL_LIBS"
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
if [ "$a8_host" = "win" ]; then
@ -15,16 +15,7 @@ Compatibility fixes.
fi
a8_use_sdl=yes
@@ -9527,7 +9524,7 @@ fi
-if [ "$a8_target" == "libatari800" ]; then
+if [ "$a8_target" = "libatari800" ]; then
WANT_NEW_CYCLE_EXACT=yes
WANT_VERY_SLOW=no
WANT_CRASH_MENU=no
@@ -10245,10 +10242,7 @@ $as_echo "#define SUPPORTS_PLATFORM_TIME
@@ -11261,10 +11258,7 @@ printf "%s\n" "#define SUPPORTS_PLATFORM
LIBS="$LIBS $SDL_LIBS"
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
if [ "$a8_host" = "win" ]; then
@ -35,21 +26,3 @@ Compatibility fixes.
fi
a8_use_sdl=yes
@@ -10621,7 +10615,7 @@ $as_echo "#define VOICEBOX 1" >>confdefs
fi
- if [ "$with_sound" == "libatari800" ]; then
+ if [ "$with_sound" = "libatari800" ]; then
WANT_SOUND_CALLBACK=no
WANT_CONSOLE_SOUND=yes
WANT_SERIO_SOUND=yes
@@ -10985,7 +10979,7 @@ $as_echo "#define POKEYREC 1" >>confdefs
fi
-if [ "$WANT_POKEYREC" == "yes" ]; then
+if [ "$WANT_POKEYREC" = "yes" ]; then
# Check whether --enable-largefile was given.
if test "${enable_largefile+set}" = set; then :
enableval=$enable_largefile;

View File

@ -1,17 +1,17 @@
$NetBSD: patch-src_rdevice.c,v 1.1 2020/01/18 21:33:13 nia Exp $
$NetBSD: patch-src_rdevice.c,v 1.2 2024/01/10 17:57:15 adam Exp $
These are not architecture-specific.
--- src/rdevice.c.orig 2019-12-28 17:00:29.000000000 +0000
--- src/rdevice.c.orig 2023-12-29 09:23:46.000000000 +0000
+++ src/rdevice.c
@@ -820,9 +820,9 @@ static void open_connection(char * addre
@@ -819,9 +819,9 @@ static void open_connection(char * addre
#if defined(R_SERIAL) && !defined(DREAMCAST)
#ifdef __linux__
#define TTY_DEV_NAME "/dev/ttyS0" /* Linux */
-#elif defined (__NetBSD__) && defined(__i386__)
-#elif defined (__NetBSD__) && (defined(__i386__) || defined(__amd64__))
+#elif defined (__NetBSD__)
#define TTY_DEV_NAME "/dev/tty00" /* NetBSD/x86 */
-#elif defined (__FreeBSD__) && defined(__i386__)
-#elif defined (__FreeBSD__) && (defined(__i386__) || defined(__amd64__))
+#elif defined (__FreeBSD__)
#define TTY_DEV_NAME "/dev/ttyd1" /* FreeBSD/x86 */
#elif defined (__sun__)