Skip to content

Releases: nspire-emus/firebird

New year, new version: Firebird 1.6

16 Mar 19:13
Compare
Choose a tag to compare

New features:

  • New dialog for creating Flash images, which is also available in the Mobile UI! (#262)
  • Running as 64bit application on Windows is supported now (#234)
  • Polish translation is available now (#207)
  • CX II (/-T/CAS) calculators can now be emulated (#165)! However, with the current dumping programs you will not get a complete bootrom and booting the OS will fail.

Improvements:

  • Multiple files can be sent in the Mobile UI and by dropping them into the main window on desktop (#279)
    Reimplemented emulation speed control: Now it's more accurate, especially on Windows
  • GitHub actions now performs automated builds for Android (armeabi-v7a and arm64-v8a in one APK), macOS and Windows (32bit and 64bit) on releases and pull requests (#283, #284, #285)
  • The "installer" for OS 4.5.3.14 (and later?) works now. It requires fastboot RAM to persist state across reboots, which is now implemented.
  • More accurate emulation of the On button: It's now possible to enter Press-To-Test mode (#271)
  • Faster saving and loading of snapshots (#231)
  • More reliable USB file transfers
  • The debugger console now includes entered commands in the log
  • Support for PIE (position-independent executables) on x86_64. Previously, care needed to be taken that PIE was disabled, otherwise it would crash on start. (#211)
  • Building the JIT is disabled automatically if the platform does not support it (#197)
  • Firebird builds on FreeBSD now (#228, #248)

Bugfixes:

  • File access on Android got fixed (#202 and its various duplicates)
  • Fix placement of keypad buttons in the touchpad area (#41)
  • Various fixes for the Mobile UI layout (#201)
  • The kit configuration page in the Mobile UI no longer causes the keyboard to pop up by default (#257)
  • Connecting with GDB on windows works now (#259, #260)
  • Some shades of grey were not displayed properly when emulating pre-CX models (#270)
  • Fix crash on AArch64/arm64 when executing certain instructions
  • The keypad reacts to touch events in the desktop version as well now (#292, #293)
  • Some places were no longer translated correctly after the introduction of language switching in 1.5
  • Keys could get stuck on focus changes. Now they're all released when the keypad loses focus (#287)
  • The Ctrl key now changes color when pressed
  • Emulation speed no longer remains unlimited after a failed file transfer

Repo for Arch, Debian, Fedora, Ubuntu and openSUSE: via OBS.

There is work in progress to implement and improve support for running in the browser on Qt for WebAssembly (#294). A preview is available on https://nspire-emus.github.io/firebird/wasm/

A heap of improvements: Firebird 1.5

28 Mar 14:25
70ca927
Compare
Choose a tag to compare

New features:

  • UI language can be switched
  • The debugger has a command history, press Up and Down arrow keys
  • On Android, the system file picker is used now, which fixes "Could not start the emulation" in many cases
  • The color scheme follows the system now
  • Improved performance of CX flash access by ignoring certain cache flush requests

Improvements:

  • LCD can be resized freely now
  • Performance improvements for the ARM and AArch64 JITs
  • Supports macOS 10.15 Catalina
  • The Android APK includes arm64-v8a now
  • The Windows ZIP includes software OpenGL now, so should work on more systems

Bugfixes:

  • Fix the external LCD sometimes being invisible
  • Allows building with recent versions of the Android NDK with clang
  • Does not crash on exit due to use of incompatible compile flags with GCC
  • Android devices with a lower w/h ratio are marked as supported now
  • firebird-send supports different implementations of netcat now
  • GDB and remote debugger work after emulation autostart as well
  • Moving the cursor over keypad buttons no longer clicks
  • On Windows, the filename for snapshots can now include non-ASCII characters
  • Fix crash on emulation start on certain x86-64 systems
  • Fix freeze on exit on JIT builds for the iOS version

Note: Firebird Emu requires Qt 5.9 now.

Repo for Arch, Debian, Fedora, Ubuntu and openSUSE: via OBS.

Switchable UI: Firebird 1.4

04 Nov 18:22
Compare
Choose a tag to compare

This update only adds minor features, but comes with many bugfixes.

Features:

  • In the Desktop version, you can now seamlessly switch between the Mobile and Desktop UI
  • A new JIT backend emits AArch64 (aka arm64) code, used for instance on devices running iOS 10+
  • Option to hide dock titlebars, combined with other minor adjustments the UI is now more "streamlined"

Other improvements:

  • ARM JIT Performance improvements
  • Mobile UI supports suspend on close now (fully on desktop, on Android only with the back button)
  • Add option to disable printing of warnings (useful when booting linux or using ndless' lcd compat mode)
  • Rename "firebird" to "firebird-emu" in most places

Bugfixes:

  • Emulation of the Classic CAS OS handles input properly
  • Fix starting location of file select dialogs in the Kit configuration
  • Protect the input device state with a mutex (only the tip of the iceberg) to fix OS crashes on ARM
  • Replace some keypad labels with images to avoid missing symbols with certain fonts
  • Don't enter the debugger recursively if trying to read from unmapped memory using the debugger commands
  • Disable relocations in the .text section as Android 7.0+ complains about that (makes emulation a bit slower though)
  • Support GDB 8.0 for remote debugging

Repo for Arch, Debian, Fedora, Ubuntu and openSUSE: via OBS.

Many Improvements for Mobile: Firebird 1.3

14 May 21:27
Compare
Choose a tag to compare

This update contains several improvements, especially to the mobile experience.

Features:

  • Redesigned Mobile UI:
    • Configuration pane spans the whole screen
    • Actions easily reachable using a drawer
    • Shows the version number and about dialog
    • The On button starts/resumes the emulation
    • Multitouch now supported
    • Fix sizes (fonts, spacing, etc.)
    • Can toggle turbo mode now by clicking on the speed display
  • Improved ARM JIT:
    • Allocates registers now, huge speedup
    • Several optimizations and tunings
  • Non-existing files are now highlighted in the kit editor
  • Single file transfer has a progress bar now

Bugfixes:

  • GIF recording with greyscale calcs is now fixed
  • Use -no-pie if possible to fix the build on some platforms
  • Revert to old SIGNAL/SLOT syntax to fix some menu actions (got misoptimized with LTO)
  • Fix RGB555 LCD framebuffer (gpsp_nspire)

Repo for Arch, Fedora, Ubuntu and openSUSE can be found on the Open Build Service

Kit bugfix + iOS JIT: Firebird 1.2

06 Dec 20:58
Compare
Choose a tag to compare

Except for iOS, this is a relatively minor update (changelog of the previous update a few days ago available here)

This update contains two features and two bugfixes.

Features:

  • The JIT (binary translation) now works on 64bit iOS and on non-jailbroken devices as well
  • The currently running kit is displayed in the title bar of the main window

Bugfixes:

  • The snapshot path of kits was completely ignored. It used the fallback global path for all kits instead. Sorry about that.
  • The LCD blurriness issue on iOS has been fixed

Repo for Arch, Fedora, Ubuntu and openSUSE: https://software.opensuse.org/download.html?project=home%3AVogtinator%3Afirebird-emu&package=firebird-emu

Touchpad bugfix: Firebird 1.1.1

28 Nov 20:48
Compare
Choose a tag to compare

This is a minor update (full changelog of the big update a few days ago available here)

Not only does "1.1.1" look much nicer than "1.1", it fixes an annoying bug with OS cursor movement.
Now the cursor does not jump around on repeated movements, which is especially noticeable when moving the graph view.

Major Polishing: Firebird 1.1

26 Nov 14:46
Compare
Choose a tag to compare

Linux screenshot

New features:

  • Add new configuration dialog
  • Add easier way to manage multiple flash images with Kits
  • External LCD window, useful for presentations or saving screen space

Core improvements:

  • Emulation of different HW revisions (A, J and W) of CX
  • Support boot1 4.0 found in HW-W+ calcs
  • Support lcd_compat mode used by ndless
  • General speedups for x86_64 and ARM JITs
  • Supports CX installer images
  • Add headless and emscripten platforms (no binaries, not really that useful)
  • Emscripten demo on https://nspire-emus.github.io/firebird/firebird.html

Keypad improvements:

  • Add labels to the keypad
  • More intuitive keymap for mapping host keyboard to calc keypad
  • Touchpad can now be used to move the OS cursor
  • Make active area of buttons bigger to make typing with touchscreens easier
  • Avoid buttons appearing stuck after hovering with mouse

Misc. / other fixes:

  • The 32bit iOS binary detects JIT capability on runtime to avoid crashes
  • Some minor bugs fixed, like potential deadlocks in the debugger
  • Fix running functions from GDB
  • Improve HiDPI scaling
  • Mobile UI optimized for tablets in landscape orientation (right- and left-handed mode)
  • Add an update-checking feature to the about dialog

Notes:

  • The internal format of snapshots changed - firebird will refuse to load snapshots created with an earlier version.
    You can use the old version to save your work to the flash image first.
  • The macOS version isn't codesigned, so to launch it you may need to either right-click the .app and choose Open, or simply disable GateKeeper entirely.
  • The iOS version is 32-bit only (for now anyway) and is built with JIT (which will disable itself if your device is not jailbroken)
  • The Windows version also has a mobile/tablet .exe that may suit those platforms better.

Repo for Arch, Fedora and openSUSE: https://software.opensuse.org/download.html?project=home%3AVogtinator%3Afirebird-emu&package=firebird-emu

Big usability update: Firebird v0.30

15 Dec 18:08
Compare
Choose a tag to compare

New features:

  • Suspend and resume to/from snapshot files. Now you don't have to wait for the calc to boot, it's instantly available.
  • The USB file explorer now supports file dropping, renaming, downloading and creating folders (right-click)
  • Animated screen-capture (GIF recording)

Mobile UI:

  • Android: Properly implement being in background (paused)
  • More responsive: Fix sidebar buttons and add a toast-based message system
  • Fix layout of settings page with long filenames
  • Add labels to the sidebar buttons
  • iOS: Re-enable landscape mode
  • Auto-resume
  • Save button saves flash and takes a snapshot
  • Support keyboard input (desktop and HW keyboards (untested) only)

Improvements:

  • Refine UI: More icons, utilize status bar and wait cursor
  • More responsive UI: Can restart and resume instantly while in debugger
  • Slight performance improvements: Load flash with COW and speed up memory access in x86_64 JIT
  • Ask whether the created flash image should be used after creation
  • Add "Docks" submenu to show/hide docks
  • Disable JIT on non-jailbroken iOS devices: No longer two separate packages (edit: hotfixed Dec. 17)
  • Better/Updated translations
  • Support of UTF-8 file names/paths on Windows
  • Misc. code improvements, refactorings, etc.

Bugfixes:

  • Make usblink much more reliable
  • Fix dropping multiple files at once
  • Fix speed display: Using C++11 std::chrono instead of OS specific functions now
  • Fix gpsp_nspire: RGB555 not implemented and implement the CPU's behaviour if add changes the PC's lower bits
  • Fix polydumper: CP15 instruction was not implemented
  • Fix boot2 going into standby: bad_read_word
  • Fix some crashes on OS X (compiler bug recently fixed)
  • Set focus to the LCD on startup: Can type instantly now
  • Show "In debugger" overlay if GDB is connected
  • Cut long boot1 and flash filenames in the UI
  • Fix last keypad row on iOS: Added some padding on the bottom of the keypad to avoid triggering the control center
  • Not really an actual bugfix, but the license got changed to GPLv3.

You'll probably need a jailbroken iOS device to run *this .ipa, although you can also compile and run it yourself without jailbreak required, since it's now free from Xcode.*
Repo for Arch and openSUSE: https://software.opensuse.org/download.html?project=home%3AVogtinator%3Afirebird-emu&package=firebird-emu

Second public beta!

21 Sep 20:55
Compare
Choose a tag to compare

The magnificent icon

Changes since the last release:

  • Now called "Firebird"
  • Add mobile UI
  • New shortcuts: F10 to connect USB, F11 for turbo mode
  • Make firebird on ARM devices a lot faster
  • firebird-send script added (not on windows): Send files programatically
  • Add option to send a boot2 or diags via XModem
  • Some translations added
  • Different, more inspiring icon (though we welcome any alternative designs)

Bugfixes:

  • Various crashes fixed
  • Docks on Mac: Made it impossible to close the last dock window
  • Fix boot2/diags selection: didn't work without bootdata in flash

Note: the iOS build is not code-signed. You'll need a jailbroken device, and AppSync or similar
Note 2: the Mac build is currently using Qt 5.4, due to a bug with docks in Qt 5.5. We hope it will be fixed soon

First public beta

05 Jun 04:16
Compare
Choose a tag to compare

This work (except the icons from the KDE project) is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

Known bugs:

  • Inaccurate speed % display
  • Touchpad in OS
  • Keypad on iOS doesn’t work
  • Cursor keys don’t work in Diags (-> practically unusable)
  • Crashes sometimes if debugger command entered after EmuThread was terminated
  • Boot2 version in flash creation dialog not displayed sometimes