Wed Jan 10 17:57:15 2024 UTC (138d)
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


(adam)
diff -r1.57 -r1.58 pkgsrc/emulators/atari800/Makefile
diff -r1.5 -r1.6 pkgsrc/emulators/atari800/PLIST
diff -r1.27 -r1.28 pkgsrc/emulators/atari800/distinfo
diff -r1.3 -r1.4 pkgsrc/emulators/atari800/patches/patch-configure
diff -r1.1 -r1.2 pkgsrc/emulators/atari800/patches/patch-src_rdevice.c

cvs diff -r1.57 -r1.58 pkgsrc/emulators/atari800/Makefile (expand / switch to unified diff)

--- pkgsrc/emulators/atari800/Makefile 2020/08/21 21:17:04 1.57
+++ pkgsrc/emulators/atari800/Makefile 2024/01/10 17:57:15 1.58
@@ -1,24 +1,23 @@ @@ -1,24 +1,23 @@
1# $NetBSD: Makefile,v 1.57 2020/08/21 21:17:04 adam Exp $ 1# $NetBSD: Makefile,v 1.58 2024/01/10 17:57:15 adam Exp $
2 2
3DISTNAME= atari800-4.2.0-src 3DISTNAME= atari800-5.2.0-src
4PKGNAME= ${DISTNAME:S/-src//} 4PKGNAME= ${DISTNAME:S/-src//}
5CATEGORIES= emulators 5CATEGORIES= emulators
6MASTER_SITES= ${MASTER_SITE_GITHUB:=atari800/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=atari800/}
7MASTER_SITES+= http://www.emulators.com/freefile/ 7GITHUB_RELEASE= ATARI800_${PKGVERSION_NOREV:S/./_/g}
8EXTRACT_SUFX= .tgz 8EXTRACT_SUFX= .tgz
9DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} pcxf380.zip 9DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} pcxf380.zip
10GITHUB_PROJECT= atari800 10SITES.pcxf380.zip= http://www.emulators.com/freefile/
11GITHUB_RELEASE= ATARI800_${PKGVERSION_NOREV:S/./_/g} 
12 11
13MAINTAINER= adam@NetBSD.org 12MAINTAINER= adam@NetBSD.org
14HOMEPAGE= https://atari800.github.io/ 13HOMEPAGE= https://atari800.github.io/
15COMMENT= Atari 800, 800XL, 130XE and 5200 emulator 14COMMENT= Atari 800, 800XL, 130XE and 5200 emulator
16LICENSE= gnu-gpl-v2 15LICENSE= gnu-gpl-v2
17 16
18WRKSRC= ${WRKDIR}/${PKGNAME_NOREV} 17WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
19USE_TOOLS+= gmake unzip 18USE_TOOLS+= gmake unzip
20CONFIGURE_ARGS+= --disable-sdltest 19CONFIGURE_ARGS+= --disable-sdltest
21CONFIGURE_ARGS+= --with-sound=sdl 20CONFIGURE_ARGS+= --with-sound=sdl
22CONFIGURE_ARGS+= --with-video=sdl 21CONFIGURE_ARGS+= --with-video=sdl
23CONFIGURE_ARGS.Darwin+= --disable-rserial 22CONFIGURE_ARGS.Darwin+= --disable-rserial
24GNU_CONFIGURE= yes 23GNU_CONFIGURE= yes

cvs diff -r1.5 -r1.6 pkgsrc/emulators/atari800/PLIST (expand / switch to unified diff)

--- pkgsrc/emulators/atari800/PLIST 2020/01/18 21:33:13 1.5
+++ pkgsrc/emulators/atari800/PLIST 2024/01/10 17:57:15 1.6
@@ -1,15 +1,16 @@ @@ -1,15 +1,16 @@
1@comment $NetBSD: PLIST,v 1.5 2020/01/18 21:33:13 nia Exp $ 1@comment $NetBSD: PLIST,v 1.6 2024/01/10 17:57:15 adam Exp $
2bin/atari800 2bin/atari800
 3bin/cart
3man/man1/atari800.1 4man/man1/atari800.1
4share/atari800/advent1.atr 5share/atari800/advent1.atr
5share/atari800/analog51.xfd 6share/atari800/analog51.xfd
6share/atari800/analog52.xfd 7share/atari800/analog52.xfd
7share/atari800/atari800.cfg 8share/atari800/atari800.cfg
8share/atari800/ataribas.rom 9share/atari800/ataribas.rom
9share/atari800/atariosb.rom 10share/atari800/atariosb.rom
10share/atari800/atarixl.rom 11share/atari800/atarixl.rom
11share/atari800/comdem51.xfd 12share/atari800/comdem51.xfd
12share/atari800/demos.xfd 13share/atari800/demos.xfd
13share/atari800/dos25.xfd 14share/atari800/dos25.xfd
14share/atari800/games5.atr 15share/atari800/games5.atr
15share/atari800/mydos45d.xfd 16share/atari800/mydos45d.xfd

cvs diff -r1.27 -r1.28 pkgsrc/emulators/atari800/distinfo (expand / switch to unified diff)

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

cvs diff -r1.3 -r1.4 pkgsrc/emulators/atari800/patches/patch-configure (expand / switch to unified diff)

--- pkgsrc/emulators/atari800/patches/patch-configure 2020/01/18 21:33:13 1.3
+++ pkgsrc/emulators/atari800/patches/patch-configure 2024/01/10 17:57:15 1.4
@@ -1,55 +1,28 @@ @@ -1,55 +1,28 @@
1$NetBSD: patch-configure,v 1.3 2020/01/18 21:33:13 nia Exp $ 1$NetBSD: patch-configure,v 1.4 2024/01/10 17:57:15 adam Exp $
2 2
3Compatibility fixes. 3Compatibility fixes.
4 4
5--- configure.orig 2019-12-28 17:00:31.000000000 +0000 5--- configure.orig 2023-12-29 09:23:47.000000000 +0000
6+++ configure 6+++ configure
7@@ -9143,10 +9143,7 @@ $as_echo "#define SUPPORTS_PLATFORM_TIME 7@@ -10118,10 +10118,7 @@ printf "%s\n" "#define SUPPORTS_PLATFORM
8 LIBS="$LIBS $SDL_LIBS" 8 LIBS="$LIBS $SDL_LIBS"
9 CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" 9 CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
10 if [ "$a8_host" = "win" ]; then 10 if [ "$a8_host" = "win" ]; then
11- CPPFLAGS=${CPPFLAGS/-Dmain=SDL_main/} 11- CPPFLAGS=${CPPFLAGS/-Dmain=SDL_main/}
12- LIBS=${LIBS/-lSDLmain/} 12- LIBS=${LIBS/-lSDLmain/}
13 CPPFLAGS="$CPPFLAGS -DNO_STDIO_REDIRECT" 13 CPPFLAGS="$CPPFLAGS -DNO_STDIO_REDIRECT"
14- LIBS=${LIBS/-mwindows/} 14- LIBS=${LIBS/-mwindows/}
15 fi 15 fi
16 a8_use_sdl=yes 16 a8_use_sdl=yes
17  17
18@@ -9527,7 +9524,7 @@ fi 18@@ -11261,10 +11258,7 @@ printf "%s\n" "#define SUPPORTS_PLATFORM
19  
20  
21  
22-if [ "$a8_target" == "libatari800" ]; then 
23+if [ "$a8_target" = "libatari800" ]; then 
24 WANT_NEW_CYCLE_EXACT=yes 
25 WANT_VERY_SLOW=no 
26 WANT_CRASH_MENU=no 
27@@ -10245,10 +10242,7 @@ $as_echo "#define SUPPORTS_PLATFORM_TIME 
28 LIBS="$LIBS $SDL_LIBS" 19 LIBS="$LIBS $SDL_LIBS"
29 CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" 20 CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
30 if [ "$a8_host" = "win" ]; then 21 if [ "$a8_host" = "win" ]; then
31- CPPFLAGS=${CPPFLAGS/-Dmain=SDL_main/} 22- CPPFLAGS=${CPPFLAGS/-Dmain=SDL_main/}
32- LIBS=${LIBS/-lSDLmain/} 23- LIBS=${LIBS/-lSDLmain/}
33 CPPFLAGS="$CPPFLAGS -DNO_STDIO_REDIRECT" 24 CPPFLAGS="$CPPFLAGS -DNO_STDIO_REDIRECT"
34- LIBS=${LIBS/-mwindows/} 25- LIBS=${LIBS/-mwindows/}
35 fi 26 fi
36 a8_use_sdl=yes 27 a8_use_sdl=yes
37  28
38@@ -10621,7 +10615,7 @@ $as_echo "#define VOICEBOX 1" >>confdefs 
39 fi 
40  
41  
42- if [ "$with_sound" == "libatari800" ]; then 
43+ if [ "$with_sound" = "libatari800" ]; then 
44 WANT_SOUND_CALLBACK=no 
45 WANT_CONSOLE_SOUND=yes 
46 WANT_SERIO_SOUND=yes 
47@@ -10985,7 +10979,7 @@ $as_echo "#define POKEYREC 1" >>confdefs 
48  
49 fi 
50  
51-if [ "$WANT_POKEYREC" == "yes" ]; then 
52+if [ "$WANT_POKEYREC" = "yes" ]; then 
53 # Check whether --enable-largefile was given. 
54 if test "${enable_largefile+set}" = set; then : 
55 enableval=$enable_largefile; 

cvs diff -r1.1 -r1.2 pkgsrc/emulators/atari800/patches/patch-src_rdevice.c (expand / switch to unified diff)

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