Fuse For Mac OS X

What's New:

New features
- Add Currah µSource emulation (Stuart Brady).
- Add Didaktik 80/40 emulation (Gergely Szasz).

Emulation core improvements
- Allow continuing RZX recordings if there is a final snapshot in the RZX (Sergio Baldoví).
- Fix the prune function on RZX rollback (Sergio Baldoví).
- Use SZX format for the initial snapshot in RZX files (Sergio Baldoví).
- Fix loading of EDSK files with Sector Offset block (Sergio Baldoví).
- Migrate disk "index event" handling to the FDD layer and have the FDC layer use it for their STATUS registers (Gergely Szasz).
- Implement WD2797 emulation (Gergely Szasz).
- Centralise the "Disk icon" update code to the FDD layer (Gergely Szasz).
- Fix disk image corruption after saving UDI files (Sergio Baldoví).
- Check ready status after loading a disk into floppy disk drive (thanks, John Elliott) (Sergio Baldoví).
- Fix overlapped SEEK commands (Sergio Baldoví).
- Fix length of data returned by READ_DIAG (thanks, Fredrick Meunier) (Sergio Baldoví).
- Fix writing .td0 format disk files (Sergio Baldoví).
- Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier).
- Skip tape traps if VERIFY is requested (UB880D).
- Fix loading sound with some custom loaders (Fredrick Meunier).
- Check if data blocks are headers for handling PZX files (Fredrick Meunier).
- Correct display of pulses in PZX pulse block for tape browser (Fredrick Meunier).
- Set AF, AF' and SP to 0xffff on reset (Stuart Brady).
- Leave most registers unchanged on a soft reset (Stuart Brady).
- Emulate interrupt and NMI timings more precisely (Stuart Brady).
- Emulate NMOS and CMOS Z80 variants (Stuart Brady).
- Switch to 2KB page size (Stuart Brady).
- Fix inaccurate output when AY envelopes are used (Matthew Westcott and Fredrick Meunier).
- Fix some peripherals activation when loading snapshots (Sergio Baldoví).

Machine specific improvements
- The address range 0x4000 - 0x7FFF is contended on the TS2068 in the home, Dock and Exrom banks (thanks, Richard Atkinson). It is assumed that this is the same for other Timex models (Fredrick Meunier).
- Clear all Opus RAM on hard reset (Stuart Brady).
- Ensure the ZX Printer does not require a hard reset to enable (thanks, RMartins) (Fredrick Meunier).
- Fix timing of events when emulating Scorpion (Stuart Brady).
- Ensure we have successfully selected a Pentagon or a Timex machine before inserting their media (Fredrick Meunier).
- Prefer Scorpion to Pentagon when loading SCL/TRD disks for better timing compatibility (thanks, windale) (Sergio Baldoví).
- Fix Beta 128 type II commands (thanks, windale and BogDan Vatra) (Sergio Baldoví).
- Don't enable the Beta 128 interface when loading a snapshot on a machine with Beta built-in (thanks, windale and BogDan Vatra) (Fredrick Meunier).
- Lock port +3 1FFDh if paging is disabled (Brian Ruthven and Fredrick Meunier).
- Spectranet: fix segfault in error handling when setting SO_REUSEADDR (Stuart Brady).
- Update SE ROMs to v4.07 (thanks, Andrew Owen) (Sergio Baldoví).

Debugger improvements
- Fix disassembly of LD (HL), LD (IX) and LD (IY) (BogDan Vatra).
- Add I and R register setting and getting to the debugger (Sergio Baldoví).
- Show the status of the halted flag in the debugger (Stuart Brady).
- Fix time breakpoints later than a frame in the future (Sergio Baldoví).
- Timex EXROM and Dock text was truncated in the debugger UI (thanks, Andrew Owen and Sergio Baldoví) (Fredrick Meunier).
- Fix memory issues when removing a matched breakpoint (Tom Seddon).
- Signal the UI when the breakpoints list is changed (BogDan Vatra).
- Document IF token for conditional expressions in debugger section (thanks, TK90XFan) (Sergio Baldoví).
- Fix documentation of address syntax used in debugger section (Sergio Baldoví).
- Allow debugger to dereference memory locations (Philip Kendall).
- Allow strings with escaped spaces in the debugger (Sergio Baldoví).
- Make wildcard event breakpoints work (thanks, Sergio Baldoví) (Philip Kendall).
- Protect divide expression from a divide by zero exception (Fredrick Meunier).

Miscellaneous improvements
- Fix save tape traps with SE ROM (Andrew Owen and Fredrick Meunier).
- Don't ignore the return code from setuid() (Sergio Baldoví).
- Generic FDD UI handling cleanup (Alex Badea).
- Remove unused macros on disk peripherals (Sergio Baldoví).
- Link to autoload snapshot for NTSC Spectrum (Sergio Baldoví).
- Don't show an error when rewinding an empty tape (Sergio Baldoví).
- Add missing const qualifiers and casts (Stuart Brady and Sergio Baldoví).
- Only try to load the fallback ROM if it is different to the standard one (Fredrick Meunier).
- Use PATH_MAX instead of FILENAME_MAX as our standard compatibility define (thanks, Brian Ruthven) (Fredrick Meunier).
- Fix C89 compilation (Adrien Destugues).
- Add static to functions where appropriate (Stuart Brady).
- Track port attachment for each data bus line (Stuart Brady).