What's new in Firebird 1.6
Mar 17, 2023
- 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
New in Firebird 1.5 (Mar 30, 2020)
- 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
New in Firebird 1.4 (Mar 30, 2020)
- 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
New in Firebird 1.3 (May 15, 2017)
- 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
- Bug fixes:
- 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)
New in Firebird 1.2 (Dec 7, 2016)
- 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
- Bug fixes:
- 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
New in Firebird 1.1.1 (Nov 29, 2016)
- 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.
New in Firebird 1.1 (Nov 27, 2016)
- 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
New in Firebird 0.30 (Mar 1, 2016)
- 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.