Commit graph

5001 commits

Author SHA1 Message Date
wiz
e652c24f85 fs-uae-arcade: remove patch that doesn't apply, fix PLIST
Bump PKGREVISION.
2022-10-04 11:22:32 +00:00
wiz
275ed7cdc5 suse15_gtk3: run update-mime-database during INSTALL
Bump PKGREVISION.
2022-10-02 20:57:41 +00:00
wiz
51c3a0f162 suse15_*: add many packages based on OpenSUSE 15.5 2022-10-02 17:17:16 +00:00
wiz
eb7118e0db suse131_linux: mention suse131_gtk3 2022-10-01 15:09:02 +00:00
wiz
671bb3c184 suse131_gtk3: fix comment, pkglint 2022-10-01 15:08:26 +00:00
adam
f95732f186 fs-uae-arcade: updated to 3.1.63
3.1.63
Unknown changes
2022-09-29 09:27:13 +00:00
adam
46b5439ab8 fs-uae-launcher: updated to 3.1.68
3.1.64
Fix Linux distribution by removing unwanted stuff from PyQt5
… fontconfig/freetype
* Deleted other workflows
* Removed unwanted stuff from PyQt5
* Remove libfontconfig and libfreetype also
* Revert "Deleted other workflows"

3.1.63
Removed cacert.pem (should be handled by certifi package now)

3.1.26
Updated fsbuild, added macOS10.9 target
* Updated fsbuild, added macOS10.9 target
* Correct bundle.sh for stable branch
* Install appdmg
* macOS: Sign with both SHA-1 and SHA-256 hashes
* macOS10.9 - add pyobjc
* Updated workflow
* More build fixes
* Separate workflows
* Don't specify Python 3.9
* Updated version
2022-09-29 09:26:15 +00:00
adam
84ca20eb0a fs-uae: updated to 3.1.66
3.1.66
Updated bundled SDL version to 2.0.18
Updated controller mappings

3.1.35
Version 3.1:

Fix device helper for xinput devices with recent SDL2 versions.
Support for multiple mice disabled by default on macOS due to security
warning. Use option multiple_mice = 1 to enable.
Disable expect_version option (no longer synchronized with launcher).
Added support for more physical keys (when using rawinput).
Compilation fixes for Apple M1 hardware.
Netplay desync fixes related to file system (directory hard drives).
Better virtual memory reservation algorithm.
Option to automatically pause on menu screen [mrsilver76].
Use RTLD_DEEPBIND with dlopen on Linux when loading plugins.
Changes to how plugins are looked up.
Ide patch.
SCP floppy image doesn't wrap to revolution #0 cleanly [keirf].
Fixed crash in nname_to_aname [PowderedToastMan].
2022-09-29 09:24:00 +00:00
wiz
b38f53847a suse131_linux: add gtk3 package 2022-09-28 14:09:38 +00:00
wiz
b239110cc3 mame: update to 0.248.
It must be that time of month again – time for MAME 0.248! The
Hartung Game Master was one of several hand-held game consoles
positioned as low-cost alternatives to the Nintendo Game Boy. It
was notable for its somewhat unconventional choice of an NEC µPD78C11
CPU, its low screen resolution, and the poor quality of its software
library. And now, for the first time, you can relive the disappointment
of all eighteen games released for the system in emulation!

Speaking of hand-held consoles, MAME now supports more Game Boy
cartridges, including the Pocket Camera, the EEPROM and two-axis
accelerometer used by Kirby Tilt ’n’ Tumble and Command Master,
and several memory controllers used for unlicensed games and
compilations.

Still on the topic of Nintendo, MAME now emulates the earliest
version of the RP2A03 audio processing unit, used on arcade boards
as well as early production runs of the Famicom console. Several
games play sounds incorrectly with the later RP2A03G used in the
NES and the majority of Famicom consoles. Several issues with
Famicom peripherals have been fixed, too.

MAME’s Win32 debugger can now save your window arrangement, and
there’s an option to use light text on a dark background. On recent
versions of macOS, MAME’s Cocoa debugger now follows the system
colour scheme.
2022-09-28 11:11:28 +00:00
wiz
efceedfc1a *: recursive bump for ffmpeg4 switch to x264 2022-09-27 20:58:20 +00:00
wiz
74d1aadd9c qemu: do not recommend setgid nvmm for qemu 2022-09-21 18:56:32 +00:00
nia
71d7f6dca7 pearpc: Disable JIT to avoid build failures. 2022-09-18 12:47:15 +00:00
tnn
8008178c2a qemu: fix PLIST on Linux 2022-09-17 14:05:36 +00:00
tnn
f730e5c74c qemu: no need to patch file in FILESDIR, apply patch directly 2022-09-17 13:50:42 +00:00
nia
8a13c46cdf libretro-genesis-plus-gx: Update to latest snapshot.
Many many changes to the internal emulator code, but the important thing
is that this builds again.
2022-09-17 11:53:42 +00:00
tnn
0674f58f01 qemu: update to 7.1.0
This release includes initial support for LoongArch64 as well as CPU
architecture and driver emulation improvements for ARM, HPPA, Nios2,
OpenRISC, PowerPC, Renesas, s390, x86 and Xtensa.

Incompatible changes
  The -enable-fips option to QEMU system emulators has been removed
  The -writeconfig option to QEMU system emulators has been removed
  The deprecated x86 CPU model Icelake-Client has been removed
  The deprecated properties loaded (for crypto objects) and opened
    (for RNG backends) are now read-only
  The deprecated -soundhw option has been replaced by -audio
    (e.g. -audio pa,model=hda)
  The deprecated -sdl and -curses have been removed, use -display sdl
    and -display curses instead.
  The -display sdl,window_close=... suboption has been removed, use
   -display sdl,window-close=... instead, i.e. with a minus instead of an
   underscore between “window” and “close”
  The -alt-grab option and the -display sdl,alt_grab=on suboption have been
    removed, use -display sdl,grab-mod=lshift-lctrl-lalt instead.
  The -ctrl-grab option and the -display sdl,ctrl_grab=on suboption have
    been removed, use -display sdl,grab-mod=rctrl instead.
  The x86 Icelake-Client CPU does not exist in the real world and has
    therefore been removed.
2022-09-17 09:54:56 +00:00
wiz
dd5f63c32a *: bump PKGREVISION for flac shlib bump 2022-09-11 12:51:02 +00:00
wiz
56672ecb33 mame: update to 0.247.
With a change of season just around the corner, it's time to unveil
MAME 0.247! This is a huge release, and should have something for
everyone!

Newly added systems, and systems promoted to working, include:

    The M&D Monon Color - a low-cost Chinese hand-held console.
    This required finding an exploit to extract the CPU's internal
    ROM as audio. Said CPU is a high-performance derivative of
    Intel's MCS-51 architecture.
    A prototype version of Tecmoâs Super Pinball Action that used
    separate screens for the simulated backglass and playfield.
    This version was presumably poorly received due to the need
    for an expensive dedicated cabinet.
    An initial driver for second-generation Sony NEWS workstations
    based on MIPS processors. This one has been a long time coming,
    with a lot of preparatory work, but it's finally here!
    The Dracula and Game Pachinko - two Tsukuda hand-held games
    with vacuum fluorescent displays.
    Micom Mahjong - an example of an early CPU-based TV game, and
    possibly the first dedicated electronic mahjong system.
    Three new Casio synthesisers.
    Several Impera Magic Card games. This one's also been a while
    coming, requiring several new devices to be emulated.
    A few Astro Corp. gambling games, including Dino Dino, Magic
    Bomb, Stone Age, and Zoo.
    Some previously missing NO CD versions of Capcom's Red Earth.

You'll also find numerous bug fixes and emulation improvements
across the board. There's better support for low-cost Macintosh
models based on the V8 chipset (including the LC, LC II, and Classic
II). There are quite a few fixes for issues with Nintendo's
NES/Famicom-derived arcade systems, the VS. System and PlayChoice-10.
Several ZX Spectrum derivatives from the Eastern Bloc are in better
shape. The Atari POKEY sounds better. The PC Engine pachinko
controller from Coconuts Japan is now supported. Thereâs also an
important fix for extracting CHD CD-ROM images.

The stream of prototype cartridges is still flowing, with a number
of Atari 2600, Game Boy Color, NES, and Super NES additions landing
this month. Youâll also find the Scholastic Microzine disks for
Apple II, and several PC magazine cover disks. The new VGMPlay
music rips include music from the recently-emulated Poly-Net Warriors
arcade game.
2022-09-09 18:28:26 +00:00
nia
9172bd91ec sameboy: Update to 0.15.5
Version 0.15.5

   This version is backwards compatible with save states from SameBoy 0.14.3
   and newer, as well as save states from any BESS compliant emulator

  New/Improved Features

     * Both frontends now include links to the debugger documentation and to
       the GitHub Sponsors page

  Accuracy Improvements/Fixes

     * Fixed a bug where certain color correction modes were desaturating
       colors in an unbalanced manner
     * Accurate emulation of the first-frame-behavior while emulating the
       Game Boy Color and Game Boy Advance; fixes white flashes while playing
       games developed by THQ
     * More accurate emulation of the square channels sample repeat glitch,
       fixing certain audio pops in LSDj and various games while using a
       vibrato effect

  Bug Fixes

     * Fixed a bug where MBC state was not properly reset, fixing bugs
       resulting in some games not booting correctly if they were loaded
       after certain other games in the SDL frontend, libretro, and other
       3rd-party frontends

  Misc Internal Changes

     * New memory management APIs for better integration of SameBoy as a
       library
2022-09-06 15:42:00 +00:00
jun
ac676ef8c2 nono: update to 0.4.3.
0.4.3 (2022-08-27)

m68k(Fix): "Implement case level 0 and level 7 of PTESTR/PTESTW instructions."
m68k(Fix): "Fix match behavior when R/W bit are set on TT0/1 registers."
m68k(Fix): "Fix that an application becomes inoperable on double bus fault in VM
."
m88k(Fix): "Improve pseudo STOP behaviors."
vm(Update): "Implement GETC/PUTC routines on LUNA-88K's internal PROM."
vm(New): "Support NWS-1750. It's just a joke."
  https://twitter.com/ebijun/status/1563633415915970561
2022-08-27 21:14:31 +00:00
rhialto
65594e876d emulators/open-simh: update to 4.0.0.20220814
Various fixes and updates, including

SCP: Fix details missed when merging update REGister macros from v3.12-2
QBus VAX and PDP11: Add support for HDLC framing to DUP11/DPV11
SCP: Add parenthesis to avoid potential compiler warnings
KA10: Updated documentation for PDP10 simulators.
KA10: Added default disable for devices that could be on KL10.
KA10: IMP Code support for Tenex.
KA10: Fixed DK10 to properly interrupt.
SCP: Fixed bug in byte deposits if aincr > 1
QBus VAX and PDP11: Add support for DPV11 in DDCMP mode
Sample stub simulator.
Unibus and Qbus VAXen: Add DUP-11/DPV-11 device
PDP11, Qbus & Unibus VAX: Extend DUP device for DECnet Phase V support
2022-08-16 20:08:39 +00:00
wiz
71d35ce8b2 *: recursive PKGREVISION bump for mbedtls shlib major increases 2022-08-11 06:41:57 +00:00
gutteridge
1e4ca2627d Bump all dependent packages of wayland (belatedly)
The package changed with the addition of its libepoll-shim dependency.
Otherwise, we can get:
ERROR: libepoll-shim>=0.0.20210418 is not installed; can't buildlink files.
2022-08-11 05:08:00 +00:00
jperkin
9c51592bc2 *: Remove hardcoded -liconv / -lintl on SunOS.
This is now handled centrally via OPSYS_EXPLICIT_LIBDEPS support in libiconv
and gettext-lib.
2022-08-09 12:08:27 +00:00
thorpej
b601c0dbee Update to x16-emulator r41. 2022-08-07 17:38:08 +00:00
thorpej
c97deb5f66 Update to x16-rom r41. 2022-08-07 17:36:52 +00:00
jun
49a43f3233 nono: update to 0.4.2.
0.4.2 (2022-08-03)

vm(Update): "Improve a memory map on LUNA-88K."
vm(Update): "Improve a keyboard buzzer handling on LUNA. Implement the buzzer indicator on the software keyboard window."
vm(Update):"Limit maximum ram size to 240MB when using PROM 1.20 on LUNA-88K due to PROM code constraint."
vm(Update): "Implement behaviors when TVRAM scroll protrudes to the right, probably."
vm(Fix): "Fix a horizontal scroll amount of RFCNT to match real machine."
m88k(Fix): "Fix an address mask when m88200 invalidates cache line."
m88k(Fix): "Fix cache status when m88200 creates cache entry for writing."
debugger(Update): "Add unofficial NetBSD/luna88k system call to the exception history."
app(Update): "-X option supports loading symbol tables in NetBSD kernel."
app(Fix): "Fix a problem that application may not be able to be terminated when debugger is used."
app(Fix): "Fix a silent termination when Ctrl+Q is entered."
2022-08-03 23:33:34 +00:00
nia
e9ad46f349 sameboy: update to 0.15.4
Changes

Version 0.15.4

   This version is backwards compatible with save states from SameBoy 0.14.3
   and newer, as well as save states from any BESS compliant emulator

  New/Improved Features

     * The “Emulate Hardware” and “Preserve Brightness” color correction
       modes are now called “Modern – Balanced” and “Modern – Boost
       Contrast”, respectively, to better represent them in the context other
       modes that came after their introduction
     * A new “Modern – Accurate” color correction mode was added. This new
       mode preserves the modern saturation and contrast of “Modern –
       Balanced” but further improves on color balancing accuracy
     * The Anti-aliased Scale4x filter has been revised and improved

  Accuracy Improvements/Fixes

     * A color correction rounding error was fixed

  Bug Fixes

     * Fixed potential visual artifacts when using certain scaling filters on
       some combinations of resolutions and devices
     * Fixed a bug that made SameBoy crash on launch on older versions of
       macOS if an update was available
     * The SDL will no longer get stuck (unless “Skip” is used) when trying
       to use certain joypads’ D-pad to configure the directional keys
     * Attempt to work around an X11 bug that caused file and directory
       selection dialogs to ignore mouse keys

Version 0.15.3

   This version is backwards compatible with save states from SameBoy 0.14.3
   and newer, as well as save states from any BESS compliant emulator

  Accuracy Improvements/Fixes

     * Improvements to all color correction modes

  Bug Fixes

     * Fixed a race condition that could cause the Memory Viewer to crash if
       used without pausing the ROM first
     * Fixed a bug that caused SameBoy to incorrectly warn about saves being
       unwritable
     * Fixed a bug that caused the SDL port to not respect the
       joypads-in-background setting at startup

Version 0.15.2

   This version is backwards compatible with save states from SameBoy 0.14.3
   and newer, as well as save states from any BESS compliant emulator

  New/Improved Features

     * A setting to allow joypad input when SameBoy is not in focus was added
       to both frontends
     * The SDL GUI now follows the user-configured Game Boy palette
     * The SDL frontend now supports Game Boy palettes exported from the
       Cocoa port, and now includes 7 new palettes to choose from
     * The scrollbar in the SDL frontend is now draggable
     * The SDL GUI now correctly allows using the user-configured buttons in
       its menu
     * An OpenAL audio driver is now available for Linux and other Unix users
       in the SDL port
     * Up to two joypad hotkeys may now be configured to perform actions such
       as pausing and saving states in both frontends
     * The softbreak debugger command was given a better description
     * Both frontends will now warn you if progress cannot be saved when
       loading a ROM
     * Game Boy Player (using CPU AGB A) is now a selectable Game Boy Advance
       revision

  Accuracy Improvements/Fixes

     * Emulated a glitch where a misconfigured window can insert
       pixels between tiles on models prior to the Game Boy Color, fixes Star
       Trek - 25th Anniversary
     * Fixed a window-related regression, affecting edge cases where WX=0
     * Accuracy improvements to emulation of the Game Boy Camera
     * Accurate emulation of JOYP switching delay on the DMG
     * Realistic emulation of button bouncing while keeping lag to a minimum

  Misc Internal Changes

     * Fixed a potential memory corruption when SameBoy is used as a library
       in a C++ project
2022-08-03 16:23:36 +00:00
wiz
a06e0dedc5 mame: update to 0.246.
Just in time for the end of July, MAME 0.246 makes its grand
entrance. The biggest upheaval this month was the reorganisation
of the source code to match the project structure. If youâre paying
attention, youâll see the change on the system information screens.
Apart from that, it should be transparent to users, while simplifying
life for developers.

Several audio issues have been fixed this month, including a big
overhaul for Fairlight CMI IIx synthesiser channel card emulation,
and DAC sound for JPM Lucky Casino fruit machines. The latest
enhancements for the crt-geom and crt-geom-deluxe shaders have been
belatedly integrated, and the Chinese and Brazilian Portuguese user
interface translations are once again up-to-date and complete.
Software list updates this month include more prototype console
cartridges, half a dozen newly dumped e-kara cartridges, and quite
a few metadata cleanups and corrections, as well as the usual
batches of Apple II floppies, Commodore 64 tapes and vgmplay music
rips.
2022-07-31 19:10:19 +00:00
jperkin
7d7b8ecc9d *: Explicitly pass -lintl on SunOS where required.
Recent libtool update appears to have exposed more of these.
2022-07-29 16:29:08 +00:00
tnn
3cc962bfcc *: revbump for ffmpeg5 2022-07-25 01:01:52 +00:00
jun
a54609e2e8 nono: Update to 0.4.1 2022-07-24 03:23:51 +00:00
dbj
40581b2627 emulators/free42: explicitly include fenv.h on platforms that use it
second attempt to fix NetBSD build breakage
thanks @gdt for pointing out that fenv.h wasn't being included when expected
2022-07-20 05:03:06 +00:00
dbj
4accd7d8b7 emulators/free42: fix fenv.h inclusion detection on NetBSD 2022-07-19 08:49:43 +00:00
dholland
838831b9b0 Bump everything affected by the jpeg.buildlink3.mk fix. 2022-07-14 23:46:18 +00:00
dbj
05eadf3c84 remove redundant file install 2022-07-14 05:46:46 +00:00
dbj
99cb834970 emulators/free42: update to version 3.0.13
2022-06-16: release 3.0.13

* Fixed handling of invalid number keys in BINM and OCTM modes.
* Windows and Linux versions: Fixed handling of non-ASCII separator characters.

2022-06-14: release 3.0.12

* Localized Copy & Paste.
* More accurate complex ACOS and ACOSH.
* SOLVE now handles functions that are always positive or always negative a bit
  better, reporting Extremum when the iteration appears to be bouncing around
  without improving, instead of continuing indefinitely.
* Added XVIEW function. This works like AVIEW, except it takes the string from
  the X register instead of ALPHA, so it avoids the 44-character length limit.
* Android version: Now removes itself from the task list if exited using OFF.

2022-05-05: release 3.0.11a (Windows and Linux)

* More efficient display updating, so long-running programs that update the
  display a lot don't waste a lot of CPU time repainting the display faster
  than the human eye can see, and spend more time actually running the program
  instead. Note that this update is for Windows and Linux only, because the
  Android, iOS, and MacOS versions already worked this way.

2022-05-01: release 3.0.11

* Implemented LCLV: CLV for local variables only. The regular CLV now works on
  global variables only.
* RND in ALL mode now rounds like in SCI 11, instead of doing nothing.
* HEAD, when applied to a string in a numbered register, would corrupt the
  string if it was 16 characters long before the call (8 characters in the
  binary version). Fixed.
* Y^X accuracy improvements with integer X.
* Fixed DUPN 2 in 4STK mode. It used to duplicate X into T and Y into Z.
  DUPN in NSTK mode was not affected by this bug.
* Added WIDTH and HEIGHT functions. These always return 131 and 16,
  respectively; this may not seem very useful, but can be used in programs that
  are meant to work in both Free42 and Plus42, to allow them to take advantage
  of the larger display when running in Plus42.
* L4STK didn't pad the stack to 4 levels when used without FUNC. Fixed.
* Binary version: ROTXY and DATE+ rounded toward negative infinity instead of
  rounding toward zero. Fixed.
* Windows version: comes in 64-bit and 32-bit versions now.
* Windows and Linux versions: Now support fractional display scaling.

2022-01-27: release 3.0.10

* Added →LIST, LIST→, SKIP, CPXMAT?, and TYPE? functions, and changed the name
  of PRMVAR to PGMVAR. See the Free42 web site for details.
* INPUT caused incorrect printer output in NORM and TRACE modes. Fixed.
* Escape sequences for undefined characters in Copy and Paste and printer
  output.
* When the Y register contains a string or list, in RUN mode, the + key now
  performs APPEND.

2021-12-29: release 3.0.9a (Windows only)

* Fixed crash when launching without state

2021-12-26: release 3.0.9

* Fixed handling of single-character strings in programs.
  This was broken in the previous release.

2021-12-23: release 3.0.8

* Auto-repeat for XSTR, and ALPHA arguments in general.
* Windows, MacOS, and Linux versions: Keyboard mapping for CursorLeft to ←,
  Shift-CursorLeft to <← and ↑, CursorRight to →, Shift-CursorRight to →> and
  ↓, and Delete to DEL, in menus.
* Android version: Fixed blurry print-out on certain devices.

2021-11-07: release 3.0.7

* A2LINE now handles strings that start with characters 127-255 in a more
  sensible manner. Also, added A2+LINE function for generating appended
  strings, since the old trick of using a string starting with character 127 no
  longer works.
* More accurate complex TAN and TANH.
* RND did not handle large numbers correctly, failing to round off as many
  digits as necessary in certain cases. Fixed.
* Σ+ and Σ- always wanted two arguments, even in NSTK mode, when X contained a
  real matrix. Fixed.
* Copy and Paste now handle list objects.

2021-07-27: release 3.0.6

* Added string and list functions. See the Free42 web site for details.
* Added lowercase letters to the menu font.

2021-07-01: release 3.0.5

* L4STK could crash, due to an incorrect LNSTK fix in 3.0.2. Fixed.
* Fixed a couple of skin macro bugs: Failure to start program execution when
  EXIT was pressed during VARMNU1, and UI freeze when starting program
  execution in some cases.

2021-06-10: release 3.0.4

* Fixed bug in complex LU decomposition, which could lead to incorrect results
  in INVRT, DET, and matrix division with complex matrices.
* FUNC and RTN now save and restore ERRMSG and ERRNO along with flag 25.
* Added RCOMPLX and PCOMPLX functions. These work like COMPLEX, except they
  ignore flag 73 (POLAR mode) and instead always assume rectangular or polar
  mode, respectively.
  Also modified X2LINE so it uses RCOMPLX instead of COMPLEX when generating
  program lines for complex numbers, so the generated code is correct
  regardless of RECT/POLAR mode.
* MENU and VARMNU1 tweaks: The programmable menu is now cancelled whenever an
  operation is performed that clears the RTN stack, such as BST, or GTO in RUN
  mode. And in VARMNU1, don't trap EXIT when the menu was activated in RUN
  mode, or when an operation was performed that cleared the RTN stack.
* Binary version: Fixed WSIZE to allow word size of 53.
* Paste fixes: In PRGM and ALPHA modes, Paste now clears any messages that may
  have been left in the display from previous operations. (In RUN mode, this
  was already the case.) Also, Paste now sets flag 22 when pasting real or
  complex scalars into X, and sets flag 23 when pasting in ALPHA mode.

2021-04-28: release 3.0.3

* Implemented VARMNU1. This is a variation on VARMENU, with two differences: It
  allows selecting a variable without having to press its menu button twice;
  and it catches EXIT, performing CLA RUN when it is pressed.
* Implemented X2LINE and A2LINE functions. These non-programmable functions
  create program lines containing the current contents of the X or ALPHA
  registers, respectively.
* When INDEX or EDITN are performed on a local matrix, while another matrix is
  already indexed, the IJ pointers are saved, and restored when the current
  function returns.
* RTNERR now accepts a string instead of a numeric argument, so functions can
  raise error messages other than the eight standard ones.
* Implemented ERRNO and ERRMSG functions. These return the error number and
  error message, respectively, for the last error caught by flag 25.
* Implemented XSTR function, for creating strings directly in the X register.
* Fixed memory leak in the parameterized comparison functions.

2021-03-29: release 3.0.2

* Fixed possible stack corruption or crash due to LNSTK, when big stack mode is
  already active.
* Fixed DROPN crash in 4STK mode.
* Fixed matrix editor's GOTO Row/Column when stack empty (big stack mode).
* Fixed bounds check bug in AGRAPH. This could cause nothing to be drawn when
  the pattern was one pixel from being entirely off-screen.
* Android version: Fixed filesystem access in Android 10.

2021-03-04: release 3.0.1

* Implemented a work-around for a bug in the decimal floating-point library
  that could cause inaccurate results for several complex functions.
* Implemented PRMVAR function. This prints all the variables associated with
  the given LBL through MVAR declarations.
* Implemented new comparison functions, for comparing arbitrary arguments to X
  or to zero: X=?, X<?, 0=?, etc.
* Added error number 8 to RTNERR, to allow user-defined functions to raise the
  Too Few Arguments error condition.
* RTN from the keyboard, and other actions that cause the RTN stack to be
  cleared, now restore the stack mode if it had been changed locally using
  LNSTK or L4STK.
* Windows version: Fixed a bug that could cause programs with many ALPHA labels
  to show up as blank lines in the Export Programs dialog.

2021-02-22: release 3.0

* Added dynamic stack option. See the Free42 web site for details.
* Added the date and time format options to the MODES menu.
* Changed the RTNERR function to take the error number from a parameter, rather
  than from the X register. To prevent existing programs using the old
  parameter-less RTNERR from breaking, those RTNERRs are converted to the
  equivalent new instruction, RTNERR IND ST X.
* Added PGMMENU function. This shows a menu of ALPHA labels with MVAR
  instructions, like the top-level menu presented by SOLVER and ∫f(x). It is
  meant to be used by programs that aim to implement a similar behavior as
  those built-in menus.
* On cold start, now setting the date and time format accordig to the host
  operating system's locale settings.
* The Free42 extensions to the HP-42S instruction set are now shown in separate
  sections in CATALOG, rather than at the end of the FCN catalog.
* Added STRACE option to PRINT menu. This is the "Stack trace" option, i.e.
  TRACE mode where the entire stack gets printed, not just X. The option itself
  is not new, it was implemented in 2.5.21, but the STRACE function, that
  allows you to set that mode without having to twiddle flags, is new.

2021-02-02: release 2.5.25

* Fixed pasting of zero. This was broken in 2.5.21.

2021-01-17: release 2.5.24a (Android only)

* Fixed screen rotation issue with Android 11.

2021-01-13: release 2.5.24

* Improved user-defined function support. The changes are rather substantial;
  please check the Free42 web site for details.
* The previous release introduced a bug when pasting a program without line
  numbers, causing numbers to be mangled. Fixed.

2021-01-06: release 2.5.23

* Implemented support for user-defined function semantics: stack preservation,
  RTN with skip, RTN with error. See the Free42 web site for details.
* Better handling of number lines: the visual difference between equivalent
  representations of a number is now preserved, so 1000 stays 1000 and is not
  turned into 1E3, and numbers that are out of range for the current platform
  now cause an error message instead of being silently turned into the maximum
  representable number or zero.
* Implemented FMA (Fused Multiply-Add). This simply exposes the underlying FMA
  function provided by the floating-point hardware or libraries.
* In programs, now handles pasting FIX/SCI/ENG with 1-digit argument, for HP-41
  compatibility.

2020-11-24: release 2.5.22a (Android only)

* The previous release was crashing on a lot of devices; apparently the NDK
  version I used to build it, r21b, is incompatible with certain older devices.
  Going back to r19c for now.

2020-11-23: release 2.5.22

* Minor UI fixes and improvements: 'Close' menu item (Mac), Copy and Paste in
  dialogs (Mac), Unicode support in file names (Windows), and pre-populating
  file names in file selection dialogs (all versions).
* Implemented LASTO. This is related to LSTO like ASTO is related to STO.
* Implemented No-Operation (NOP) function. This function does nothing, as its
  name suggests, and can be useful when using ISG for counting without an upper
  bound, for instance. The function is encoded using the 0xF0 opcode, which is
  sometimes used on the HP-41 for the same purpose.
* On the real HP-42S, GETKEY halts program execution when R/S, EXIT, or Shift-
  EXIT are pressed. In Free42, however, Shift-EXIT did not cause program
  execution to halt. Fixed.
* Implemented GETKEY1 function. This works like the regular GETKEY, except it
  only halts on R/S, allowing programs to implement custom behaviors for EXIT
  and Shift-EXIT.
* STOFLAG didn't update the G and RAD annunciators when flags 42 or 43 were
  changed. Fixed.
* Implemented range option for STOFLAG: with the flags in Y and a number bb.ee
  in X, only flags bb through ee are restored, while the others are untouched.
  If ee is zero, only flag bb is restored. This mode of operation exists in the
  HP-41 Extended Functions module and in the HP-41CX, but was missing in the
  Free42 implementation.
* Binary version: Changed maximum WSIZE from 52 to 53.
* MacOS version: Building universal binary now, with Intel and ARM (Apple
  Silicon) support.
* iOS version: Fixed crash when saving print-out using Share -> Save Image.

2020-10-24: release 2.5.21

* Implemented ANUM, X<>F, RCLFLAG, and STOFLAG functions. See the Free42 web
  site for details.
* Implemented "stack trace" mode: when flags 15 and 16 are both set, the
  printer prints in a variation of TRACE mode, printing not just X after every
  instruction, but the entire stack.
* Pasting long numbers could return incorrect results if many leading zeroes
  were present. Fixed.
* Real/complex and complex/complex division could return Not a Number for
  certain inputs, e.g. 1e3200 ENTER COMPLEX ENTER /. Fixed. Also applied a
  similar fix to complex 1/X.
* Complex matrix division, INVRT, and DET would return incorrect results for
  large matrices (20x20 or greater). Fixed.

2020-09-20: release 2.5.20

* Fixed INTEG behavior when integrand returns non-real. It used to treat such
  results as zero while it should raise an error instead.
* Fixed DATE+, DDAYS, and DOW when flags 31 and 67 are both set.
  This combination of flags is never set by the DMY, MDY, and YMD functions,
  but it can happen when you execute YMD followed by SF 31.
* Fixed garbage in SHOW when BIN overflows to HEX.
* During TRACE, print blank line before LBL, like the HP-41.
* When ISG reached zero, the loop control variable would end up having the
  wrong sign. For example, -1.00001 ISG ST X => -0.00001, should be 0.00001.
  Fixed.
* Added [FIND], [MAX], and [MIN] to the FCN catalog. These are undocumented
  functions from the HP-42S that were previously not shown in the catalog, even
  though they did work.
* COMB could return Out of Range in certain cases where the correct result was
  not, in fact, out of range. For example, 20408 ENTER 10204 COMB.
* ISG and DSE with a named variable would crash if that variable did not exist.
  Fixed.

2020-07-05: release 2.5.19

* Fixed stack lift behavior with GETKEY.

2020-04-11: release 2.5.18

* Fixed pasting of 1/X and 10^X without line number.
* Android version: Updated HEADING implementation so it works on phones that no
  longer provide the old compass API.
* iOS version: Fixed double-import, when loading Shared files.

2020-02-27: release 2.5.17b (Android only)

* Removing the n-key rollover and swipe-to-switch that were introduced in the
  previous release; 2.5.17a suffers from missed keystrokes and erratic swipe
  detection, caused by the new logic. Since I appear to be unable to do proper
  testing on these features with my own phone, I am scrapping them and have no
  plans to re-introduce them. (I am not removing them from the iOS version,
  since they appear to be working fine there.)

2020-02-22: release 2.5.17a (Android and iOS)

* Android version: Can now switch between the calculator and print-out by
  swiping sideways. This feature is experimental and may not work on all
  phones.
* Android version: Implemented n-key rollover.
* iOS version: Fixed initial print-out scroll position. Version 2.5.17
  introduced a bug where it would not scroll all the way to the bottom
  initially.

2020-02-13: release 2.5.17 (iOS, Windows, MacOS, and Linux)

* Fixed minor memory leak in Paste.
* iOS version: Implemented n-key rollover.
* iOS version: Fixed several minor bugs and inconsistencies in landscape mode.
* iOS and MacOS versions: Print-out now grows from the top down, rather than
  from the bottom up, to be consistent with these types of UIs in general, and
  specifically with Free42 on other platforms.

2020-02-08: release 2.5.16b (iOS only)

* Can now switch between the calculator and print-out by swiping sideways.

2020-02-02: release 2.5.16a (iOS only)

* Fixed file import from the Files app.

2020-01-25: release 2.5.16

* Fixed GETKEY behavior with skins that use direct command mapping.
* Fixed GETKEY behavior with physical keyboards in ALPHA mode.

2020-01-18: release 2.5.15

* Some fixes to Paste to improve compatibility with Emu42 text.
* Fixed Skin menu behavior: user-loaded skins now take priority over built-in
  ones, and built-in skins that are overridden by user-loaded ones are now
  shown grayed out in the menu.
* Linux version: Implemented XDG Base Directory Specification compliance:
  Moved Free42 directory from $HOME/.free42 to $XDG_DATA_HOME/free42, or
  $HOME/.local/share/free42 in case XDG_DATA_HOME is unset or empty.
  Also, now looking for skins in free42 and free42/shared under $XDG_DATA_DIRS,
  or under /usr/local/share:/usr/share if XDG_DATA_DIRS is unset or empty.
  Skins will also still be looked for in the Free42 directory.

2020-01-11: release 2.5.14

* Some fixes to Paste to improve compatibility with HP-41 text.

2020-01-11: release 2.5.13a (Linux only)

* Another thin-dark-line fix, this time for GDK_SCALE > 1 on certain platforms,
  including Raspbian 10.

2020-01-09: release 2.5.13

* When REGS was shared, ASTO nn could store the character data into the wrong
  copy of the matrix. Fixed.

2020-01-07: release 2.5.12c (Linux only)

* When the print-out area was still growing, i.e. hadn't reached its maximum
  height of 30,000 pixels yet, it was not being repainted in a timely manner.
  Bug introduced by the switch to GTK 3; did not affect early GTK 3 versions
  but became apparent in Ubuntu 18.04 and 19.10. Fixed.

2020-01-03: release 2.5.12b (Linux only)

* Made repaint logic more efficient, also making it work under Wayland.

2019-12-01: release 2.5.12a (Linux only)

* In scaled mode (GDK_SCALE greater than 1), bitmap smoothing causes drawing of
  the display bitmap to bleed outside the display rectangle, and this can lead
  to thin dark lines being left behind around the display, and that looks ugly.
  A similar problem exists in the Android version, and I implemented a similar
  fix here, namely, to always repaint the entire display when the core updates
  it, and to update a slightly larger rectangle than the display itself.
  Because this fix can cause programs to run slower on older systems, I added
  an option to Preferences to switch back to using the old logic.

2019-11-28: release 2.5.12 (Windows and Linux)

* Linux version: Switched from GTK 2 to 3, for HiDPI support.
* Windows and Linux versions: Removed the "Single Instance" option. Both now
  always run in Single Instance mode; what was removed was the possibility to
  turn *off* Single Instance and allow multiple instances to run concurrently.
  That never worked well, and in the Windows version, there was never any
  reason to allow it. In the GTK version, there was a reason, which was that
  Single Instance was hard to implement and did not work well in all
  environments; with GTK 3, Single Instance is supported by the platform, and
  there is no longer any reason not to use it.

2019-10-25: release 2.5.11

* Windows version: Program export in "raw" format performed LF-to-CRLF
  translation on the output file, turning XEQ 10 into XEQ 13 LBL 09, among
  other things. Bug introduced in 2.5.
* Decimal version: During number entry, if you backspaced over a negative
  number until only the minus sign remained, that minus would not be parsed
  correctly, and you could get <Not a Number>. For example, 1 +/- <- ENTER.

2019-10-11: release 2.5.10

* The index range check in R<>R was faulty, allowing a row index equal to the
  number of rows plus one to be used, which in turn would cause memory
  corruption. Fixed.
* Android version: When renaming the currently active state, the state name was
  not updated in the shell settings, with the result that upon exit, the state
  would still be saved under the old name, and at the next launch, would also
  be loaded under the old name. The net effect of all this was that instead of
  ending up with a renamed state, you'd end up with a copy.

2019-10-05: release 2.5.9b (Android and iOS)

* Android version: Could launch with the wrong screen orientation under certain
  circumstances. Fixed.
* iOS version: Greater range of key click volume levels.
* iOS version: Added sanity check for raw files imported using Copy to Free42.

2019-09-28: release 2.5.9a (Android only)

* Several changes in file handling. No longer associates itself with all files,
  so Free42 won't be offered to open files of any types other than raw and f42.
  Unfortunately, this also means that opening f42 files directly from email
  attachments no longer works; state files will now need to be downloaded, then
  opened using the file selection boxes, using More -> Import in the States
  view. Cumbersome, but it's the best I can do given Android's lack of file
  extension filtering for email attachments.
* Added a slider for the key click volume; now offers nine levels plus silence.
* Changed the haptic feedback slider to a logarithmic scale, adding a lot more
  resolution to the weaker end of the scale, for those with devices that are
  capable of it and fingers sensitive enough to feel it.

2019-09-21: release 2.5.9

* Importing programs would insert the programs at the current location, instead
  of at the end of memory. Bug introduced in 2.5 or one of the subsequent
  revisions. Now fixed.
* iOS version: Added support for Dark Mode in iOS 13.
* Android version: Added file extension filtering for file, http, and https URL
  schemes. This should make Free42 not appear in as many file selection
  contexts as before, without making it disappear from contexts where it should
  be offered as an option. N.B. File extension filtering is not supported with
  the content scheme, which means Free42 will still show up in all contexts
  where attachments are opened, and depending on the file manager used, also
  when opening files from file managers.

2019-09-20: release 2.5.8

* When loading a corrupted state file causes a crash, the state file is now
  renamed so that it won't be read again, and the app will start with Memory
  Clear the next time it is launched, instead of crashing again and again.
* Android and iOS versions: Fixed a couple of import-related crashes.

2019-09-16: release 2.5.7

* SOLVE did not always return the second-best guess in Y. Fixed.
* Android version: Changed haptic feedback preference setting from on/off
  switch to a four-level slider, for off/light/medium/heavy feedback.
* Android version: Reduced the GPS update interval for LOCAT from 60 seconds to
  5 seconds.
* Android version: Sharing an empty print-out would crash. Fixed; now it pops
  up a message instead.
* Android version: Fixed crashes in state file import activity: intents without
  data, and SecurityException and UnsupportedOperationException while trying to
  get attachment file names.
* iOS version: Changed haptic feedback preference setting from on/off switch to
  a four-level slider, for off/light/medium/heavy feedback. Also, changed key
  clicks setting from on/off switch to a three-way slider, for off/standard/wav
  click sounds, where standard is the old system key click sound, and wav is a
  wav file that sounds a bit louder.
* iOS version: Making the single-threaded logic permanent. The complexity of
  the multi-threaded event handling logic makes the code too hard to maintain,
  while the benefits in terms of performance are marginal. The only noticeable
  disadvantage of the single-threaded approach was poor performance in display-
  intensive code, and that was mitigated simply by repainting less
  aggressively.
* iOS version: Preferences view now expands to fill the width of the screen.
* MacOS version: Making the app single-threaded. This is the same change as in
  the iOS version; the aim is to simplify the code, making it more robust,
  while sacrificing very little in terms of performance.

2019-09-09: release 2.5.6a (iOS only)

* iOS version: Made the app single-threaded. Interim version, to deal with the
  mysterious crashes in [CalcView drawRect:].

2019-09-08: release 2.5.6

* SOLVE would not always return the best function value in Z. Fixed.
* iOS version: There have been crashes occurring in the display update logic,
  due to some not yet understood condition that appears to affect faster
  iPhones (8, X, XR, XS). I implemented a fix that appears to prevent these,
  but at a cost in terms of performance, i.e. the emulation is a bit slower
  now. I'm working on a proper fix, which will eliminate these problems and
  restore maximum performance.

2019-09-06: release 2.5.5

* Moved the settings "Singular Matrix Error," "Matrix Out Of Range," and "Auto-
  Repeat" from the core state (the *.f42 files) to the shell state, so they are
  not affected by switching core states.
* Fixed a bug that caused State File Corrupt when reading a state containing a
  zero-length string.
* iOS version: Fixed a couple of bugs that were causing memory and state file
  corruption and crashes.
* iOS and MacOS versions: Fixed a couple of bugs that were causing crashes in
  the States window.
* Android version: The States window would ask for confirmation to revert the
  current state back to the last version saved, even when the user was trying
  to switch to a different state. Fixed.

2019-09-02: release 2.5.4 (iOS only)

* Fixed a crash when the States window was opened the very first time the app
  was run after a new install.
* Fixed a bug that could cause the hostname lookup for the HTTP Server window
  to fail.

2019-09-01: release 2.5.3

* Invalid state files (corrupt, or created by an incompatible newer version of
  Free42) are now renamed, so they are not lost when a new state is written,
  and can be retrieved for post-mortem analysis.

2019-08-31: release 2.5.2

* In the States window, renamed Reload to Revert, and added a confirmation
  dialog, since that is a potentially destructive action.
* When programs were imported from raw files, empty programs were sometimes
  being created unnecessarily. Harmless but slightly annoying. Fixed.
* Android and iOS versions: Added "share" option for Print-Out view.
* Android and iOS versions: Added "share" option for programs in raw format.
* Android and iOS versions: Now import raw files directly from email
  attachments and web links.

2019-08-28: release 2.5.1

* Fixed bug in 2.5 that caused string elements in real matrices (including the
  numbered registers) to be written incorrectly in the state file, leading to
  memory corruption and crashes when the state file was read back in.
* iOS version: Now makes sure that the current state shows up in the list in
  the States view, even if it is opened right after a fresh install or right
  after upgrading from a version before 2.5.

2019-08-25: release 2.5

* Added state file manager, for loading, saving, and switching between,
  calculator states. The state files are in a platform-neutral format, so they
  can be exchanged between Free42 instances running on different devices.
* Fixed crash in RTN when a local variable was hiding the indexed matrix.

2019-07-12: release 2.4.2

* Windows version: The new Ctrl-A, Ctrl-I, and Ctrl-T shortcuts (Paper Advance,
  Copy Print-Out as Image, and Copy Print-Out as Text) didn't work, because I
  hadn't updated the corresponding accelerator resources. Fixed.
* Windows and Linux versions: All Ctrl-<Key> shortcuts now work even when the
  Print-Out window is on top.
* Android, iOS, and MacOS versions: When loading a skin in the skin browser,
  they now force an un-cached load, so skin fixes can actually be loaded by
  users without delay, and without having to resort to side-loading.
* Android and iOS versions: Changed default landscape skin, from desktop/42ct
  to android/SGS-L. The old skin had keys below the display that didn't line up
  with the menus; you really have to have Σ+ 1/x √x LOG LN XEQ
  below the display for a consistent user interface.
* iOS version: Changed Standard-X skin, from Ehrling42sl.X to Matt42X. The old
  skin was rather blurry; the new skin has nice and crisp text for all key
  labels.

2019-07-03: release 2.4.1

* Fixed several bugs in BWRAP mode.

2019-07-01: release 2.4

* Implemented configurable word size for BASE functions (up to 64 bits, or 52
  in Free42 Binary), unsigned mode, and wrap mode. The new settings are all in
  a new row in the MODES menu.
* Android, iOS, and MacOS versions: Added some feedback in the skin loading
  window: the "Load" button changes to "..." while a page load is in progress;
  "Load" is enabled only when a GIF or layout file is being displayed, i.e.
  something that could actually be a skin, and therefore loadable; and finally,
  when Load is pressed to load a skin, an alert box is now shown to report
  success or failure.

2019-06-25: release 2.3.1a (Android only)

* Adding -mfpu=vfp to compilation flags when building the Intel library for
  armv7. Apparently, with NDK r19c, Neon is enabled by default, but Neon is not
  supported on all armv7 Android devices, so this setting is causing 2.3.1 to
  crash on certain phones. (2.2.1b and earlier were built with r4b, which did
  not have this problem.)

2019-06-25: release 2.3.1

* Android version: Implemented the 2.3 features, with the exception of Copy
  Print-Out as Image. (Apparently Android doesn't support images on the
  clipboard.)
* MacOS version: Copy Print-Out as Image didn't handle wrap-around in the
  image buffer correctly. Fixed.
* Windows and Linux version: Implemented Paper Advance, Copy Print-Out as Text,
  and Copy Print-Out as Image.
* iOS version: Fixed the top-of-screen menu trigger so that it no longer
  sabotages keys that are also in that area, as in the HP_Mega_42 and SGS-L
  skins. This is the same fix I made for Android in release 1.5.8d. I didn't
  think to fix this for iOS at the time, probably because the iOS version
  didn't support landscape mode then.

2019-06-15: release 2.3.0a (iOS only)

* Added the 2.3 features.
  This should have been called version 2.3 as well, but a mistake with the
  release build forced me to use the next higher version number instead.

2019-06-12: release 2.3 (MacOS only)

* Added Load Skins feature, for downloading and installing skins from the
  Internet.
* Added Delete Skins feature.
* Added Paper Advance for Print-Out window.
* Added Copy Print-Out as Text and Copy Print-Out as Image.

2019-05-29: release 2.2.1d (source code only)

* Migrated the Android project from Eclipse with ADT to Android Studio.
  Also building the native code for x86 and x86_64 now. Not sure if I should
  release that, but it is convenient for testing in the Android Emulator, now
  that Google no longer releases ARM system images for the emulator.
  The minimum Android API level requirement went from 8 to 14 (2.2 to 4.0), but
  that seems like an acceptable price to pay.

2019-05-24: release 2.2.1c (iOS only)

* Fixed crash in Paste when clipboard contained no text.

2019-05-20: release 2.2.1b (Android only)

* Made the app explicitly single-instance (by adding
  launchMode="singleInstance" to Free42Activity in the app manifest).
  This should eliminate the remaining null-pointer crashes in the native code,
  and also prevent State File Corrupt scenarios.

2019-05-19: release 2.2.1a (Android only)

* Added 64-bit native code.

2019-05-11: release 2.2.1

* Added side margins to print-out window.
* PRLCD is now supported in "Print to Text," using Unicode 2x2 block elements.
* Flag 64 is now set or cleared to indicate the Shift state during the most
  recent key press. This can be used by MENU handlers to implement different
  behaviors for unshifted and shifted menu keys.
* Windows version: Changed sounds from using the Beep() function to playing
  wav sounds using the PlaySound() function, matching the way sounds are played
  in the Android, iOS, and MacOS versions.
* MacOS Dashboard version: Didn't recognize comma as decimal key. Fixed.

2019-04-07: release 2.2

* Implemented YMD mode for date functions, using YYYY.MMDD as the numeric
  format and YYYY-MM-DD as the display format. Programs can check whether this
  mode is active by testing flag 67. If flag 67 is clear, the mode is indicated
  by flag 31 (clear = MDY, set = DMY), as before.
* Local variables. You create them with the new LSTO function, and they
  disappear automatically when the current subroutine ends, by executing RTN or
  END. If a local variable is created with a name that matches an already-
  existing variable, the older variable is hidden until the local variable goes
  away.
* Dynamically growing RTN stack. It is not unlimited; in order to prevent
  infinite recursion from eating up all memory, it maxes out at 1024 levels.
  The new stack behaves a bit different than the old version (and the real
  HP-42S): when an XEQ happens while the stack is full, the old version would
  silently discard the oldest RTN, while with the new version, this returns a
  "RTN Stack Full" error.
* Added support for direct command mapping in skins. This is specified by
  creating Macro: lines where the macro is not a sequence of keystrokes, but a
  command name enclosed in double quotes, e.g., Macro: 40 "SST→"
* Windows, MacOS, and Linux versions: In skin layout files, they now look for
  keymap entries tagged as "WinKey:", "MacKey:", or "GtkKey:", respectively.
  This allows embedding keymaps for multiple platforms in one layout file.
  This does mean that old-style keymap entries, with no identifying tags, are
  no longer recognized. Out of all the skins in my collection, the only
  affected skins are desktop/42ck and desktop/42ct. If you use these skins,
  you'll want to download the updated layout files.

2019-03-27: release 2.1.1 (Android only)

* The "Maintain skin aspect ratio" setting didn't stick when the app was exited
  and restarted. Fixed.

2019-03-26: release 2.1

* New functions: SST↑ (Step Out) and SST→ (Step Over). Step Out runs the
  program until the end of the current subroutine; Step Over executes one step,
  but if that step is an XEQ, SOLVE, or INTEG, it runs until the subroutine
  returns, or SOLVE or INTEG are done. When Step Out is performed in a function
  called by SOLVE or INTEG, the program runs until SOLVE or INTEG are done.
* Added SST↓ (Step Into), which is just an alias for SST. This allows creating
  a row in the CUSTOM menu with SST↓, SST→, and SST↑, like in typical high-
  level language debuggers.
* Android and iOS versions: Improved "Maintain skin aspect ratio" option: it
  now chooses the largest scale where the skin still fits on the screen in its
  entirety, and centers the skin within the available space.
* iOS version: The "Maintain skin aspect ratio" and "Print to text" options in
  the Preferences were switched. Fixed.
* iOS version: Fixed handling of announcements in the status bar (audio
  recording, active call, active GPS).
* iOS version: Turned optimization back on. It looks like the optimizer bug
  (see release notes for 2.0.21a) has been fixed.

2019-03-18: release 2.0.24h (Android only)

* The screen update logic in the previous version was incorrect and caused the
  app to appear unresponsive on many devices. Fixed.

2019-03-17: release 2.0.24g (Android, iOS, and MacOS)

* Android, iOS, and MacOS versions: Enabled non-integral display scaling.
* Android and iOS versions: Added setting in Preferences to choose whether to
  stretch skins to fill the screen, or to stretch them only to fill the
  available width, while maintaining their original aspect ratio.
* iOS version: Implemented support for landscape orientation.
* iOS version: Fixed alignment of "Done" buttons.

2019-03-08: release 2.0.24f (iOS only)

* Added Haptic Feedback setting in Preferences.

2019-03-03: release 2.0.24e (Android only)

* Fixed crash when calling ON or OFF from a program.
* Fixed a bug that could leave a corrupted state file under certain
  circumstances.

2019-02-28: release 2.0.24d (Android only)

* Fixed crashes while printing.

2019-02-26: release 2.0.24c (Android and iOS)

* Android version: Removed all restrictions on file selection dialogs, and
  instead added a "Home" button, so you can always navigate back to
  /sdcard/Android/data/com.thomasokken.free42 if you get stuck somewhere.
* iOS version: Fixed the white bar that was showing up above the skin on iPads
  running iOS 12.

2019-02-25: release 2.0.24b (Android only)

* Made file selection dialogs full-screen.
* Fixed file selection behavior for Import Programs and Select Skin. It now
  starts in the writable storage directory, but does allow navigation out of
  it.

2019-02-25: release 2.0.24a (Android and MacOS)

* Android version: Lifted file selector directory restriction for Import
  Programs and skin selection, keeping it in place for Export Programs and
  selecting print-out files.
* MacOS version: The previous release broke Import Programs. Fixed.

2019-02-24: release 2.0.24

* Made program pasting a bit more lenient: tabs are now treated as spaces, and
  the following command names are now recognized: x, RCL*, RCLx, RCL/, STOx,
  X#0?, X#Y?, X<>0?, and X<>Y? (in addition to all the alternate spellings that
  were recognized previously).
* iOS version: Added Key Clicks setting in Preferences.
* Windows and MacOS versions: Now refuse to export zero programs. (The other
  versions already did this.) Also tweaked the file selection dialogs a bit.
* Android version: When running on 4.4 (KitKat) or later, now creates the
  storage directory, /sdcard/Android/data/com.thomasokken.free42, as soon as it
  has access. The file selection dialogs are now restricted to this directory
  and its subdirectories.

2019-02-18: release 2.0.23c (iOS only)

* The previous release calculated the skin scale incorrectly for certain skins,
  causing them to be displayed too small. Fixed.

2019-02-17: release 2.0.23b (iOS only)

* Enabled non-integral scaling for skins, so skins can fill the width of the
  screen on iPhone X series (X, XR, XS, XS Max) even if they were designed for
  older models with 3:4 or 9:16 screen aspect ratios.

2019-02-11: release 2.0.23a (iOS only)

* Replaced iPhone X skin with a more screen-filling one.

2019-02-09: release 2.0.23

* SOLVE now tries harder when secant extrapolation gets stuck due to the secant
  being excessively steep.
* 0^0 now returns Invalid Data, not 1, for all combinations of real and complex
  arguments. The rationale for returning 1 was mathematically questionable, and
  Invalid Data is what the real HP-42S returns.
* iOS version: Added basic iPhone X support.

2019-01-26: release 2.0.22c (Android only)

* New Main Menu. This should be compatible with all Android versions, including
  Amazon Fire HD tablets and other devices that sabotaged the old menu after it
  started targeting Android 8.
* Added code to request storage and GPS access when needed.

2019-01-13: release 2.0.22b (Android only)

* Another fix for invisible overflow menu items.

2019-01-12: release 2.0.22a (Android only)

* Fixed invisible overflow menu items.

2019-01-12: release 2.0.22

* Made pasting real scalars a bit more lenient: it is now permitted for there
  to be trailing non-numeric characters after the number, so pasting a number
  with an attached unit, say 50mm, yields the number 50, not the string "50mm".
* INPUT should clear any message from the display before showing the prompt,
  but it didn't. Fixed.
* When ALPHA mode is active on top of VARMENU, ASTO and ARCL should show the
  regular variable menus, but they showed the VARMENU instead. Fixed.
* During command entry, SST and BST should be disabled, but the code that tried
  to do this also prevented some legitimate uses of ▲ and ▼, such as switching
  menu rows during FIX IND __.
* While entering a numeric LBL, it should be possible to switch to ALPHA mode,
  using Shift-ENTER, to switch from, say, LBL 3_ to LBL "3_ , as an alternative
  method of entering ALPHA labels that start with a digit. The HP-42S allows
  this, but Free42 didn't. Fixed.
* Android and iOS versions: OFF now turns off "continuous on" mode.

2018-11-24: release 2.0.21b (Windows only)

* Fixed Alt-Tab behavior.

2018-07-03: release 2.0.21a (iOS only)

* Turned off all optimization for release builds; the latest iOS developer
  tools appear to have a buggy optimizer, and it is causing number display in
  OCT and HEX modes to misbehave -- they show numbers with unwanted leading
  zeroes, for a total number of digits that would be appropriate for BIN mode,
  so 1=>1, 2=>02, 3=>03, 4=>004, etc.

2018-06-24: release 2.0.21

* Fixed complex SQRT so it returns exact results when Re(x) = 0 and Im(x)/2 is
  a perfect square.
* VARMENU would step through rows of multi-line menus in the wrong order.
  (You needed a function with 13 or more MVARs to notice this.) Fixed.
* When printing to GIF, changing the filename did not cause the GIF numbering
  sequence to restart at 1. Fixed.
* When printing to GIF, the output file is now flushed and closed immediately
  if there is no more room for at least another 9 pixels after printing -- in
  other words, when no more printing to that file is possible anyway. It used
  to wait until the next print request, or app close, before flushing and
  closing in this situation.
  Also, the minimum height of a GIF output file is now 16 pixels, down from 32.

2018-03-12: release 2.0.20

* MATA, MATB, and MATX should exhibit the same stack lift behavior as EDIT and
  EDITN, but didn't. Fixed.

2018-03-10: release 2.0.19

* Another EDIT/EDITN fix: in the real HP-42S, EDIT and EDITN don't actually
  disable stack lift; they preserve the stack lift state, which you can observe
  if you do ENTER vs. a stack-lift-enabling operation (say, X<>Y) just before
  invoking them. This behavior is not really useful, but it needs to be
  emulated anyway, since not doing so risks breaking HP-42S programs.
  This does not affect GOTO Row/Column.

2018-03-09: release 2.0.18

* EDIT, EDITN, and GOTO Row/Column should disable stack lift, but they didn't.
  Fixed.

2018-03-02: release 2.0.17

* Inserting or deleting an END would not always clear cached local GTO or XEQ
  targets, potentially causing local GTO or XEQ commands to jump to the wrong
  locations. Fixed, and also added code to repair such damage in existing state
  files.

2018-02-22: release 2.0.16

* 0 SEED initialized the random seed incorrectly, wasting one digit of
  randomness. Fixed.
* When importing raw files, E and -E are now recognized as 1 and -1, for
  compatibility with HP-41 raw files with synthetic numbers.
* When importing raw files, synthetic instructions are now handled more like
  the real HP-42S handles them. Basically, any argument >= 100 that isn't a
  stack register and that isn't a local label is treated as numeric. Arguments
  112-116 are always stack registers, even when that makes no sense (flags,
  ΣREG, etc.); 102-111 and 123-127 are only considered as A-J and a-e in LBL,
  GTO, and XEQ.
  Note that nothing very interesting happens as a result of these changes. They
  won't make synthetic HP-41C code work in Free42 any more than it does in the
  HP-42S; the behavior is just more like the real 42S now.

2018-02-17: release 2.0.15

* POSA would not find the search string if its only occurrence was at the very
  end of the alpha register. Fixed.
* Android version: Tweaked handling of low-battery indicator.

2018-02-10: release 2.0.14

* In Export Programs, removed the hard-coded buffer size for the list of
  programs, so you should now see all your programs in the list, no matter how
  many there are.
* When Pasting complex numbers in a+bi notation, the imaginary unit must now be
  either i or j; the alternative spellings I and J are no longer recognized.

2018-02-06: release 2.0.13

* Paste didn't handle numbers with negative exponents correctly. Fixed.

2018-02-02: release 2.0.12d (iOS only)

* Fixed crash in GIF printing.

2018-01-30: release 2.0.12c (Android only)

* Another fix for crash on orientation change while printing.

2018-01-29: release 2.0.12b (Android only)

* Switching between portrait and landscape modes, while printing was in
  progress, could cause a crash. Fixed.

2018-01-28: release 2.0.12a (Android only)

* Fixed handling of state files that were corrupted in a way that caused
  persistent crashes on the first keystroke.

2018-01-27: release 2.0.12

* Fixed pasting of SIZE lines.
* When pasting numbers, spaces are now allowed as thousands separators.
* MacOS and MacOS Dashboard versions: Are now 64-bit.
* MacOS and Linux versions: Fixed Caps Lock handling, so Caps Lock + Esc no
  longer exits.
* Android and iOS versions: Implemented "continuous on" mode (ON function,
  flag 44).

2018-01-26: release 2.0.11a (Android only)

* Removed the cleanup of variables in core_quit(); it looks like this was
  responsible for the failure mode where the app would crash at the first
  keystroke, consistently, forcing uninstall/reinstall.
* Pasting numbers that ended in CRLF, as when copying a single cell from Excel,
  didn't work; they were interpreted as strings. Fixed.

2018-01-14: release 2.0.11

* Copy now ignores flag 29 (thousands separators) and always copies numbers
  without separators. This fixes certain surprising / undesirable behaviors
  when pasting numbers into spreadsheets or programs.
* When entering a program line in NORM or TRACE modes, the line would be
  printed, even when printing was disabled. Fixed.
* MATA and MATB, in the SIMQ menu, would crash if the MATA or MATB variables
  were missing. Fixed, and also cleaned up type checks in MATX.
* Android version: Printing lots of output quickly, for example, by running a
  program in TRACE mode, would cause the user interface to become sluggish or
  even unresponsive on some devices. Fixed by posting UI updates less
  aggressively.

2018-01-07: release 2.0.10

* Program Paste without line numbers didn't handle certain numbers,
  specifically, those that started with a digit and didn't consist of only
  digits. Fixed.

2018-01-07: release 2.0.9

* Program Paste no longer requires line numbers.
* The CUSTOM command would toggle the CUSTOM menu, but that was wrong: it
  should only activate that menu, never deactivate it. Fixed.
* DIM?, EDIT, and EDITN didn't print X in TRACE mode. Fixed.
* Selecting the already-active menu did not cause the display to be repainted,
  even though it should: there might be a message, which should be removed in
  that case. Fixed.
* All versions except MacOS Dashboard: made the print annunciator linger for
  one second after printing stops. This makes it more noticeable, so printing
  is less likely to go unnoticed on fast devices.
* MacOS version: Implemented battery checker.
* Linux version: Added /sys/class/power_supply support in battery checker.

2017-12-26: release 2.0.8

* MENU (activating the programmable menu) while in ALPHA mode didn't turn off
  the alpha_mode flag, leading to bad behavior or even crashes if any menu keys
  were subsequently pressed.

2017-12-21: release 2.0.7c (Windows only)

* Decimal: SIN and COS of 45 degrees or 50 grads returned an inaccurate result,
  correct to only 16 digits. Fixed.

2017-12-18: release 2.0.7b (Android only)

* The "Always Paint Entire Display" setting, introduced in the previous
  version, didn't stick after app restart. Fixed.

2017-12-17: release 2.0.7a (Android only)

* Added "Always Paint Entire Display" option. This prevents display glitches
  with certain combinations of devices and skins.

2017-11-19: release 2.0.7

* Changed the RAN and SEED functions to match the behavior of the real HP-42S.
  The previous implementation used the algorithm from the HP-41C Standard Pac,
  which produced numbers with only 6 significant digits.
* The ▼▲ annunciator (multi-row menu) did not get updated correctly when
  VARMENU was activated, including in the solver and integrator. Fixed.
* Windows version: Restored the Calculator key mapping option, which I had
  removed in 1.5.14. It turns out that keyboards with a dedicated Calculator
  key do still exist.
* Android version: The menu icons for Copy, Paste, and Print-Out were displayed
  too large, overlapping the menu item labels on some devices. Fixed.
* Windows, Linux, MacOS, and MacOS Dashboard versions: Added keyboard mappings
  g => GTO and p => PI. On existing installations, users must delete or rename
  the existing keymap and restart for this to take effect.
* iOS version: Painting the display could be glitchy if either or both of
  its coordinates were odd. Fixed by forcing them to be even.

2017-08-12: release 2.0.6

* Decimal version: Fixed ISG and DSE for values >= 2^63 (9.2e18).
* Fixed a couple of bugs in how changes to internal SOLVE and INTEG data
  structures are handled.

2017-07-30: release 2.0.5

* Fixed INTEG termination condition. It would return inaccurate results in
  certain cases.
* Fixed importing numbers with exponent but no mantissa, e.g. E3, -E-5, etc.
  This got broken in 1.5.
* Fixed crash when trying to allocate ridiculously large matrices.
* While entering a numeric argument, the ▲ and ▼ keys would perform BST and
  SST, which should be blocked. Fixed.
* Testing flag 75 would turn on the programmable menu. Fixed.
* iOS version: Fixed a few display alignment issues with the built-in 4"
  skin.

2017-05-29: release 2.0.4

* Implemented special-case code for pure real and pure imaginary numbers in all
  the complex logarithmic, trigonometric, and hyperbolic functions.

2017-05-28: release 2.0.3

* Fixed a few edge cases in complex functions.
* The last digit in full-precision representation (SHOW, Copy) could be off by
  one in certain circumstances. Fixed.
* On cold start, now clearing flags 21 (printer enable) and 55 (printer
  existence), to match the behavior of the real HP-42S.
* Removed "raw text" print option; it has been obsolete since the introduction
  of UTF-8 printing in 1.5.11, since Unicode can represent the HP-42S character
  set directly.
* iOS version: LOCAT didn't work when its initial invocation happened from a
  program. Fixed.
* In the About box, replaced the link to the Free42 discussion group with a
  link to the Alternative HP-42S/Free42 Manual.

2017-04-28: release 2.0.2

* In Unicode-to-HP conversion, translate "\LF" and "[LF]" to 10, not 138.
  Character 138 only exists to *represent* LF, but isn't available in the ALPHA
  menu and therefore cannot appear in non-synthetic programs.
* Unicode-to-HP conversion handles curly quotes now (U+2018, U+2019, U+201C,
  U+201D).

2017-04-23: release 2.0.1 (beta)

* Change right-pointing triangle from Unicode U+25B6 (black right-pointing
  triangle) to U+25B8 (black right-pointing small triangle); the former gets
  rendered as an emoji in iOS, while the latter doesn't, plus, the smaller
  triangle looks better in listings anyway.
* MacOS Dashboard version: Fixed multi-line pasting.

2017-04-22: release 2.0 (beta)

* Copy & Paste now handle matrices, ALPHA mode, and PRGM mode.

2017-04-01: release 1.5.15

* Instead of being limited to 12 mantissa digits, full precision (34 digits in
  the Decimal version, 16 digits in Binary) is now supported for number entry,
  SHOW, Copy, and Paste.

2017-03-11: release 1.5.14

* Changed complex TAN and TANH to use more accurate formulae.
* The Time Module functions used to keep track of MDY/DMY modes using an
  invisible flag. For better HP-41 compatibility, they now use flag 31.
* Android version: Made state file writing more robust. If writing the state
  file fails, it now keeps the previous one, instead of leaving behind a
  partial or corrupt one.
* Linux version, Free42 Binary only: Some (recent?) versions of GTK set the
  LC_NUMERIC locale, which Free42 expects to always be "C". This causes number
  entry and display to be messed up in locales where the decimal is not ".",
  including most of Europe. I added code to force LC_NUMERIC back to "C" after
  gtk_init(), fixing this problem.
* Binary version: Fixed binary round-off problem in ADATE (for example,
  10.102010 would be rendered as 10/10/2009).

2017-01-22: release 1.5.13

* When DIM, SIZE, or SIMQ resize the indexed matrix, and when CLV deletes the
  indexed matrix, IJ should be set to (1, 1); and when DIM, SIZE, or SIMQ try
  to resize the matrix currently being edited by EDITN, and when CLV tries to
  delete the matrix currently being edited by EDITN, they should return a
  "Restricted Operation" error. Neither happened, creating the potential for
  memory corruption if IJ ended up pointing outside the matrix' data array.
  Fixed.
* STO and STO* allowed the target to be the matrix under edit by EDITN. They
  should not allow this, but return "Restricted Operation" instead. Fixed.
* CLALL didn't always exit all menus. Fixed.

2016-10-03: release 1.5.12

* Android version: Fixed UTF-8 printing, which was broken in 1.5.11.
* All versions: When printing to text, up-arrow now looks like an up-arrow,
  instead of a caret.

2016-10-01: release 1.5.11

* EXITALL didn't always exit all menus. Fixed.
* Print-to-text now emits UTF-8 encoded text, instead of ISO-8859-1.
* Print-to-text now emits CRLF line separators on all platforms.
* Android version: Didn't save the "raw text" print setting. Fixed.
* Android version: Added landscape skin; made it the default for landscape mode
  in new installs.

2016-09-04: release 1.5.10 (Android, Windows, MacOS, and Linux)

* Fixed AGRAPH bug with complex number in X.

2016-09-04: release 1.5.9 (Android, Windows, MacOS, and Linux)

* Now building the Intel Decimal Floating-Point Math Library from source for
  all targets. In terms of the end user, this makes no difference, but it will
  make life easier for people who want to port Free42 to platforms that I don't
  support myself (FreeBSD, Solaris, etc.); those platforms were left out in the
  cold when I started using the Intel library and only provided pre-built
  binaries for the supported platforms.
* Implemented range reduction for more accurate TAN in DEG and GRAD modes.
* Android version: Now handles orientation change more efficiently.

2016-04-26: release 1.5.8f (Android only)

* Rolled back 8e, which was a disaster; it didn't fix the remaining black
  line issues, but it did cause crashes everywhere.

2016-04-26: release 1.5.8e (Android only)

* The previous fix for the thin-black-line problem didn't do the job on some
  devices. Here's another fix that should do a better job.

2016-04-25: release 1.5.8d (Android only)

* Fixed the thin black lines that would sometimes appear around the display.
* In full-screen mode, swiping down from the top would post the menu, because
  the initial touch would be in the same area that Free42 watches as the menu
  trigger. I changed the code so that the trigger only fires if the user lifts
  their finger while still inside that critical area, which will only happen
  if the downward swipe is very short.
* Fixed the top-of-screen menu trigger so that it no longer sabotages keys
  that are also in that area, as in the HP_Mega_42 skin.

2016-04-24: release 1.5.8c (Android only)

* Implemented true full-screen mode. This hides the navigation bar as well the
  status bar, on devices running Android 4.4 (KitKat) or later.

2016-04-23: release 1.5.8b (Android only)

* Print-Out is now scaled to make better use of available screen width.
* Fixed key clicks.
* Implemented Reverse Portrait (upside-down) mode.

2016-04-17: release 1.5.8a (Android only)

* Tapping in the top half of the display now brings up the app's option menu.

2016-04-17: release 1.5.8

* Entering an END into a program using the CUSTOM menu would leave the program
  counter at an invalid value, leading to memory corruption, state file
  corruption, and crashes. Fixed.
* Android version: Changed haptic feedback code back to using the old API.
* Android version: Changed targetSdkVersion from 3.0 to 2.2. This should make
  the menu reliably accessible in all Android versions and with all display
  styles.
* Resurrected the MacOS Dashboard version; the display repaint logic now
  supports Yosemite (10.10) and later.

2016-03-19: release 1.5.7a (Android only)

* Made the action/title bar optional.
* Added full-screen mode (removes action/title bar and status bar).
* Added installLocation=auto to the manifest, so the app can now be installed
  on an SD card.

2016-02-28: release 1.5.7

* INSR should disable stack lift, but didn't. Fixed.
* Android version: Added Action Bar, reluctantly embracing the reality of
  devices with no menu button (or hard-to-find menu buttons, like the "press
  and hold the task switch button" behavior on some devices).

2014-12-21: release 1.5.6

* iOS version: Implemented Copy and Paste.
* iOS version: Fixed LOCAT for iOS 8.
* All versions, on hard reset, now initializing flag 28 (decimal point/comma)
  to match the host's locale.
* Paste didn't clear the message flags. Fixed.

2014-11-12: release 1.5.5

* Decimal version: Entering a number with an empty exponent (e.g. 1E or 1E-)
  would yield <Not a Number>. Fixed.
* iOS version: HTTP server: Fixed downloading individual programs from, and
  uploading zip files of programs to, the /memory directory. This got broken in
  release 1.4.77, while implementing local file download.
* Android version: When the screen orientation was set to "automatic", it would
  not honor any system-wide orientation lock. Fixed.

2014-11-08: release 1.5.4a (Android only)

* Fixed crash on startup in Android 5.0 (Lollipop).
* Printing to text would truncate the file whenever it was reopened, opening it
  for writing rather than appending. Fixed.

2014-09-23: (no new code release)

* Added nova1_1096 skin, for iPhone 5, to the Free42iPhoneSkins package.
  Contributed by Keith Carangelo.

2014-09-06: release 1.5.4a (iOS only)

* Fixed keyboard handling in the Preferences and Select File dialogs.
* Fixed scrolling behavior (in 1.5.4, windows were sized 20 pixels beyond the
  bottom of the screen, making the bottommost bit of scroll views drop off the
  screen).
* Added 4" skin for iPhone 5, and added code to select the best-fitting built-
  in skin on first launch.

2014-07-22: release 1.5.4

* Decimal version: Fixed ACOS. It would return 0 for acos(-1).
  This bug was introduced in release 1.5.

2014-06-21: release 1.5.3a (Android only)

* Made GPS optional. When I added the ACCESS_FINE_LOCATION permission in
  1.4.78, that had the side effect of making GPS a requirement. In 1.5.3a,
  the app manifest explicitly states that the GPS is not required.

2014-05-25: release 1.5.3

* Fixed crash in SIMQ if any of MATA, MATB, or MATX already existed and was a
  scalar or string.

2014-05-10: release 1.4.78 (Android only)

* Fixed the LOCAT function, by adding the ACCESS_FINE_LOCATION permission.

2014-03-16: release 1.5.2

* Decimal version: Fixed Y^X for complex Y and negative integral X.
* Decimal version: Made Y^X and 10^X for real Y and integral X more accurate.
* All versions: sin(45°) now equals cos(45°), and sin(50grad) = cos(50grad).

2014-03-15: release 1.5.1

* All versions: Fixed ASIN, ACOS, and ATAN so they return exact results in DEG
  and GRAD modes for trivial parameters (asin(1), asin(-1), acos(0), atan(1),
  atan(-1), atan(infinity).
* Now displaying signed zero as zero, so you won't see -0 any more.
* Windows version: Removed the "Free42 Directory" setting from the Preferences.
  The application now looks for a file or directory named "portable" in the
  directory where Free42Decimal.exe or Free42Binary.exe itself is located; if
  it exists, the state.bin, print.bin, and keymap.txt files will be stored in
  this directory as well, and skins will only be loaded from this directory. If
  there is no "portable" item in the executable's directory, it will store
  state.bin, print.bin, and keymap.txt in %APPDATA%\Free42, and it will load
  skins from that directory, and from the executable's directory.

2014-03-09: release 1.5

* Decimal version: Switched from BCD20 to Intel's Decimal Floating-Point
  Library v2.1.
* Binary version: Replaced the old binary-to-decimal and decimal-to-binary
  conversions with code that uses the standard C library's equivalent
  functionality. This fixes final-digit errors in the Binary version, and also
  final-digit errors when switching from the Decimal to the Binary version.
* All versions: Added angle reduction code to make SIN, COS, and ->REC more
  accurate in DEG and GRAD modes.
* Windows version: Now uses %APPDATA%\Free42 as the default Free42 directory
  (for storing state.bin, print.bin, and keymap.txt). This avoids permissions
  problems when people install the executable in a directory to which they
  don't have write access (like the popular choice C:\Program Files).
2022-07-14 05:09:46 +00:00
nia
ac8e2c05a6 sameboy: update to 0.15.1
The SDL frontend now allows switching between audio drivers, rather than defaulting to the "best" supported driver
2022-07-13 09:08:22 +00:00
ryoon
5ee1ffa451 qemu: Fix typo in assignment 2022-07-10 14:36:25 +00:00
wiz
615b330c9c qemu: does not support python 2 2022-07-10 12:20:04 +00:00
nia
a65eca1a07 sameboy: update to 0.15
SameBoy v0.15

New/Improved Features

     * Improved UI for the VRAM Viewer's palette and object views
     * The bundled register names symbol file now correctly names several
       undocumented registers
     * Improved performance by better utilizing Link-Time Optimizations
     * The Memory Viewer, as well as the debugger examine command, no longer
       trigger side effects when reading from memory
     * Introducing PPU "fast paths", improving performance by up to 34% with
       not accuracy losses
     * Removed the use of slow floating point arithmetics in the APU code to
       improve performance
     * Introducing lazy APU output generation, improving performance by up to
       17%
     * Link-Time Optimizations are now enabled for Windows build,
       significantly improving performance on Windows
     * A new dma debugger command
     * New icon, minor visual refresh across both the Cocoa and SDL frontends
     * The debugger apu commands now display a single channel
     * Audio recording is now available in both the Cocoa and SDL frontends
     * The SDL frontend now uses XAudio2 on Windows, when available
     * The more common rX hardware symbol naming scheme now replaces the IO_X
       scheme; the latter remains supported
     * General code optimizations for overall performance improvements

Accuracy Improvements/Fixes

     * The Game Boy Pocket/Light is now available for emulation
     * Every CGB revision is now available for emulation, adding CGB
       revisions 0, A, B and D
          * An option to select the CGB revision is now available in the SDL
            port
     * Added MBC7 support
          * The mouse, as well as a joystick, can be used for motion controls
     * Accurate timing of clearing bits in the IF register
     * Improved accuracy of LY change timings
     * Improved accuracy of the LY=LYC condition in revisions prior to CGB-D
     * Improved emulation of a glitch that makes channel 3 use the CPU's
       address bus as an index to the wave sample buffer
     * Fixed an incorrectly emulated theorized glitch where writing to VRAM
       in certain timings would corrupt data
     * Improved emulation of the TILE_SEL glitch
     * Major improvements to DMA, HDMA, and GDMA, including timings, revision
       differences, interaction with halt/stop, and all sorts of bus
       conflicts
          * This allows pixel-perfect emulation of certain demos, such as It
            Came from Planet Zilog
     * Improved IR modelling, fixes Gen 2 Pokémon Mystery Gift
     * Added MMM01 support, including Mani carts
     * Improved emulation of channel 1/2 "zombie stepping"
     * Improved serial accuracy
     * Correct emulation of how SCX prolongs mode 3
          * Including emulation of "SCX banging", which can disrupt the PPU
            state machine and, on a real device, damage the LCD
     * Improved emulation of object timings where X=0
     * Fixed a regression where MBC5's initial ROM bank was not 1
     * Improved emulation of the Game Boy Camera MBC
     * Improved HuC-1 emulation, fixes a Robopon Japanese Prototype ROM

Bug Fixes

     * Fixed a bug where certain writes, when emulating CGB-C, would corrupt
       the emulator state
     * Fixed a bug where the SDL fronted did not correctly load the palette
       setting
     * Fixed a bug where the debugger undo command was available while not
       stopped
     * Fixed GDMA being used incorrectly in SameBoot
     * Fixed a bug where the obscured object indicator did not function
       correctly in the VRAM Viewer's object view
     * Fixed the Preserve Waveforms setting, now it behaves as intended
     * Fixed SDL crashes on certain Linux systems
     * Fixed UI issues on OS X Mavericks
     * Fixed achievement supports in the Libretro frontend
     * Fixed the 16x16 cartridge icon in both Cocoa and FreeDesktop
     * Fixes audio glitches during the SGB jingle
     * Visual fixes for the GBS player on macOS Big Sur and newer

Misc Internal Changes

     * Improvements to the input hints API
     * Added safe memory read API
     * New memory write callback API
     * New API to determine DMG-mode CGB
     * Improved APIs to handle input
     * New execution callback API
     * New LCD line callback API
     * An API for adjusting the RTC speed, for TAS verifications
     * An API for detecting lag frames
     * The direct access API now supports accessing the CPU registers
     * An API for allowing illegal directional inputs
     * General preparation for future support of different AGB revisions
2022-07-07 05:46:15 +00:00
tsutsui
e72f3daaa8 PC6001VX: update to 3.9.0.
pkgsrc changes:
- switch to ffmpeg5

Upstream changes:

3.9.0 2022/06/27
* Updated PC-6001 compatible basic ROMs to 0.7.5.
* Updated PC-6001mk2/6601 compatible basic ROMs to 0.4.
* PC-6001mk2/6601 compatible CGROM now covers semi-graphic characters.
* (Windows,64bit)Fixed issue in opening long replay file.
2022-07-02 19:46:21 +00:00
ryoon
3f802fe5c3 *: Recursive revbump from audio/pulseaudio 2022-07-02 16:53:03 +00:00
adam
00848e941f qemu: update HOMEPAGE 2022-07-02 11:40:52 +00:00
wiz
70be5b026b mame: update to 0.245.
The highly-anticipated release of MAME 0.245 has finally arrived!
As I’m sure many of you are already aware, we’ve added support for
two elusive arcade games that didn’t see widespread release: Megumi
Rescue and Marble Madness II, and the Konami Polygonet system has
finally come to life. But before we get to that, there are some
changes to MAME’s user interface that you should be aware of. Input
options have been moved off the main menu to a submenu of their
own. Depending on the system, there can be quite a few of them,
and they weren’t all grouped. There’s also a new option to see the
input devices recognised by MAME, which should help with diagnosing
issues.

Megumi Rescue was exhibited at a trade show, but apparently never
sold as an arcade game. A home system port was released, but only
in Japan. The original arcade game uses a vertically-oriented
monitor, and lacks the life bar system and vertical scrolling found
in the home version. Despite the arcade version remaining unreleased,
and the home version never being widespread, the game was widely
copied for TV game systems. It’s nice to see the original preserved
all these years later.

Marble Madness II was considered a failure on location test. It
demonstrates Atari’s complete failure to understand what Mark Cerny
got right when he made the mid ’80s classic. A few examples survived
in the hands of collectors, but the game was never seen widely.

The Polygonet system was Konami’s first foray into 3D arcade games.
It was quite apparent that their in-house system wasn’t able to
compete toe-to-toe with offerings from Sega and Namco. Polygonet
Commanders was added to MAME almost twenty years ago, and saw
sporadic progress for a few years after that. Regular contributor
Ryan Holtz has written an engaging blog post about his adventures
bringing it up to a playable state this month. The two games haven’t
been promoted to working yet as they haven’t been extensively
tested, but we’d love it if you try them out and post your experiences,
good or bad.

We’ve got more complete emulation for three Mac NuBus video cards
this month: the Apple Macintosh Display Card, the SuperMac Spectrum/8
Series III, and the SuperMac Spectrum PDQ. The Macintosh Display
card, which MAME uses by default for the Mac II, now supports
configuring the amount of video RAM installed, as well as a selection
of monitors with correct resolutions, refresh rates and colour
profiles. The SuperMac Spectrum/8 Series III supports on-screen
resolutions up to 1024×768, and virtual desktop resolutions up to
a massive 4096×1536 in Black & White mode. Virtual desktop panning
and desktop zoom are hardware-accelerated. The Spectrum PDQ supports
resolutions up to 1152×870, with hardware acceleration for things
like moving windows in 256-colour modes. Please be aware that MAME
currently has trouble with some combinations of Mac video cards –
if you want to use multiple monitors on your emulated Mac, it’s
best to stick with the Macintosh Display Card or Radius ColorBoard.
If you’re you’re just looking to jump into Mac emulation, there’s
some helpful information to get you started on our wiki.

Thanks in large part to the efforts of Ignacio Prini and Manuel
Gomez Amate, the ZX Spectrum cassette software list now includes
the Spanish MicroHobby magazine cover tape and type-in program
collection. A number of prototypes cartridges have been added for
the Game Boy, Super NES and other consoles. Commodore 64 tapes,
Apple II floppies, and game music rips in VGM format have each seen
a batch of additions.
2022-07-01 16:57:29 +00:00
nia
04f4eef997 *: Revbump packages that use Python at runtime without a PKGNAME prefix 2022-06-30 11:18:01 +00:00
nia
d00f86becb nono: Fix pkglint warnings. 2022-06-30 08:09:39 +00:00
jun
6f5e998350 update COMMENT:
"OMRON LUNA-I/LUNA-88K (and SHARP X68030) emulator runs on NetBSD and etc."
2022-06-30 06:02:06 +00:00
wiz
8292204475 *: recursive bump for perl 5.36 2022-06-28 11:30:51 +00:00