12013-05-24 Philip Kendall <philip-fuse@shadowmagic.org.uk> 2 3 * Fuse 1.1.1 released. 4 5 * Distribute PORTING,hacking/valgrind.supp,sound/wiisound.c, 6 tests/success.{mgt.bz2,opd} and ui/wii/wiimouse.h (Stuart Brady). 7 * Add ChangeLog entries for 1.0.0.1 and 1.0.0.1a (Fredrick Meunier). 8 * Release correct version of source files. 9 102013-05-19 Philip Kendall <philip-fuse@shadowmagic.org.uk> 11 12 * Fuse 1.1.0 released. 13 14 * Remove ROMs that there is no formal permission to distribute. 15 16 * New features: 17 * Add Spectranet ethernet interface emulation (Philip Kendall). 18 * Add SpeccyBoot ethernet interface emulation (Patrik Persson). 19 * Add SpecDrum sound interface emulation (Jon Mitchell). 20 * Add DISCiPLE disk interface emulation (Stuart Brady). 21 Sinclair Network emulation is not provided, and the interface is 22 not available under 128K emulation in this release. 23 * Support reading PZX files (Fredrick Meunier). 24 * Add support for POK files (Sergio Baldoví). 25 * Add recording of movies to FMF files (Gergely Szasz). 26 * Add GTK+ 3 compatibility (Sergio Baldoví). 27 28 * Emulation core improvements: 29 * Add support for ABC AY stereo (Stuart Brady). 30 * Correct feedback in AY noise generator (Patrik Rak). 31 * MIC bit only isn't enough to drive the speaker (Fredrick Meunier). 32 * Mirror Interface 1 ROM to the second 8Kb of ROM as in the real 33 interface (Fredrick Meunier, with thanks to mcleod_ideafix and 34 zx81). 35 * Support the Beta interface setting to not auto-boot the interface 36 on 48K machines (ketmar). 37 38 * Machine specific improvements: 39 * Read and write all potential 1024k worth of memory pages from a 40 snap (ketmar and Fredrick Meunier). 41 * Initialise the Pentagon 1024k memory ports from a snapshot (ketmar 42 and Fredrick Meunier). 43 * Restore the paged state of the Beta ROM when loading Pentagon 44 128k/512k/1024k snapshots (ketmar and Fredrick Meunier). 45 46 * Debugger improvements: 47 * Disassemble ED 4D as RETI (Simon Owen). 48 * Add IM, IFF1 and IFF2 setting and getting to the debugger (Alex 49 Badea). 50 51 * Miscellaneous improvements: 52 * Many improvements to Win32 UI and installer (Sergio Baldoví). 53 * Allow the use of the SDL joystick code in the GTK+ and Xlib UIs 54 (Sergio Baldoví). 55 * Add current machine name to GTK+ and Win32 statusbars (Sergio 56 Baldoví). 57 * Allow the drag and drop of files from KDE (Dolphin/Konqueror) 58 (Sergio Baldoví, with thanks to Diondeville). 59 * Add a statusbar for the xlib UI (Gergely Szasz). 60 * Extend supported symbol characters on SDL and xlib UIs (Sergio 61 Baldoví). 62 * Support for the TZX set signal level block (Fredrick Meunier). 63 * Drop support for GLib and GTK+ version 1.x (Alberto Garcia and 64 Sergio Baldoví). 65 * Support setting late timings from snapshots (Fredrick Meunier). 66 67 * Various other minor bugfixes. 68 692011-04-01 Philip Kendall <philip-fuse@shadowmagic.org.uk> 70 71 * Fuse 1.0.0.1a released. 72 73 * Remove all ROMs for which there isn't explicit permission to 74 distribute (Philip Kendall). 75 762011-01-12 Philip Kendall <philip-fuse@shadowmagic.org.uk> 77 78 * Fuse 1.0.0.1 released. 79 80 * Fix temporary breakpoints on platforms using replacement Glib 81 (Fredrick Meunier, Sergio Baldovi; thanks, Chris Cowley) 82 * Ensure Amiga port can load files (Chris Young) 83 * Fix SVGAlib compilation (rkd77) 84 852010-12-16 Philip Kendall <philip-fuse@shadowmagic.org.uk> 86 87 * Fuse 1.0.0 released. 88 89 * Add Opus Discovery disk interface support (Gergely Szasz and Fredrick 90 Meunier). 91 * Wii support (Bjoern Giesler, Philip Kendall, Marek Januszewski). 92 * Many improvements to Win32 UI, including an installer (Marek 93 Januszewski). 94 * Support weak data in +3 disk images (Gergely Szasz). 95 * NTSC Spectrum support (Philip Kendall, with thanks to Claudio 96 Bernet). 97 * Add support for flipping disk images in single sided drives (Gergely 98 Szasz). 99 * Add support for automatically merging both both disk images where 100 they are in separate files named with the text [Ss]ide[ _][abAB12] 101 (Gergely Szasz). 102 * Switch to using Blip_Buffer (by Shay Green) for improved beeper and 103 AY output (Fredrick Meunier). 104 * Allow beeper and AY volumes to be set (Fredrick Meunier). 105 * Enable Beta 128 interface in 48K and TC2048 machines (thanks, 106 Omikron) (Fredrick Meunier). 107 * Add emulation of the Fuller Audio Box (Stuart Brady and Fredrick 108 Meunier). 109 * Allow sound to run from 2% speed up (Fredrick Meunier). 110 * Add emulation of the Melodik and similar 48K-compatible AY interfaces 111 that use the 128K sound ports (Fredrick Meunier). 112 * Add support for Pentagon 1024SL v2.2 16 colour mode (Fredrick 113 Meunier). 114 * Implement GTK+ drag and drop support (Dmitry Semyonov). 115 * Better support for international keyboards (Michal Jurica). 116 * Allow svgalib UI to use full range of bit depths and scalers (Gergely 117 Szasz). 118 * Allow GTK+ scalers to set window size in GTK+ UI (rkd77, Fredrick 119 Meunier). 120 * Allow selection of "TV speaker" or "beeper"-style sound output 121 (Fredrick Meunier) 122 * Allow hot-key switching between full-screen and windowed mode in 123 SDL UI (György Szombathelyi). 124 125 * Miscellaneous improvements: 126 * Preformat new disks on +3 to allow the format command on +3 to work 127 (Gergely Szasz). 128 * Support non-standard TRD images with 41-83 tracks per side (Gergely 129 Szasz). 130 * Allow user to swap Kempston mouse buttons as some combinations of 131 physical hardware and Spectrum software make it hard to use the 132 standard mapping e.g. right clicking and moving the cursor on Mac 133 notebooks (thanks, Andrew Owen) (Fredrick Meunier). 134 * Fixes for speed estimation (Gergely Szasz). 135 * Fix border colour in Timex HiRes screenshots (Fredrick Meunier). 136 * Allow "combo" boxes in widget UI (Gergely Szasz). 137 * Allow Home and End keys to work in widget UI (Gergely Szasz). 138 * Fix poke finder passing the wrong page to the debugger (Marek 139 Januszewski). 140 * Ensure joystick code always activates fire buttons correctly 141 (thanks, anonymous user) 142 * Don't fire joystick fire button events unless they've actually 143 changed (Fredrick Meunier; thanks, Phil Reynolds). 144 * Make svgalib UI use event interface rather than polling (thanks, 145 anonymous user). 146 * Ensure empty XML elements can't cause a segfault (thanks, 147 anonymous user). 148 * Tweak sector padding to fix Opus ATC+Technician Ted.dsk (Gergely 149 Szasz; thanks, Simon Owen). 150 * Z80 NMI should take some time (Fredrick Meunier). 151 * Ensure netbooks always recognise the enter key (Fredrick Meunier; 152 thanks, Marce). 153 * Add a --without-png option to configure for Gentoo (José Manuel 154 Ferrer Ortiz) 155 156 * Many other things I forgot. If you contributed something and would 157 like to be mentioned here, please mail me. 158 1592009-01-14 Philip Kendall <philip-fuse@shadowmagic.org.uk> 160 161 * Fuse 0.10.0.2 released 162 163 * Make loader acceleration work on all compilers (Philip Kendall; 164 thanks, Carlos Almeida, Alberto Garcia and Alexander Yurchenko). 165 166 * Make the "Don't Save" option in the widget UI do the right thing 167 (Frederick Meunier). 168 169 * Allow both +3 disk drives to be used at once (Gergely Szasz). 170 171 * Allow both +D disk drives to be used at once (Gergely Szasz). 172 173 * Make .dsk code handle missing newline on "Track-Info" header 174 (Gergely Szasz; thanks, Simon Owen). 175 176 * Remove unnecessary 'use' directive when building widget options 177 header file; fixes some build issues (Frederick Meunier) 178 1792008-12-10 Philip Kendall <philip-fuse@shadowmagic.org.uk> 180 181 * Fuse 0.10.0.1 released 182 183 * Writing files would not truncate the file at the correct point, 184 leading to corrupt files when overwriting an existing file 185 (Philip Kendall; thanks, Matthew Westcott). 186 187 * Distribute ui/fb/fbmouse.h (Fredrick Meunier; thanks, rkd77). 188 1892008-12-03 Philip Kendall <philip-fuse@shadowmagic.org.uk> 190 191 * Fuse 0.10.0 released 192 193 * New upd765 FDC emulation; all known +3 DSK images now work (Gergely 194 Szasz; thanks to Simon Owen for expert technical advice). 195 * Loading acceleration (Philip Kendall). 196 * Automatic saves while using RZX recording (Philip Kendall). 197 * Many improvements to Win32 UI (mostly Marek Januszewski). 198 * Improved widget UI, with look and feel borrowed from that in FuseX 199 (Fredrick Meunier; thanks, crabfists). 200 201 * Emulation core improvements: 202 * New --late-timings option to emulate machines with 1 tstate 203 later timings (Philip Kendall) 204 * Reading from the 128K's memory control port causes that byte to 205 be written back to the port (Philip Kendall; thanks, Marat 206 Fayzullin). 207 * Reading the AY data port on the +2A/+3 is the same as reading 208 the register port (Philip Kendall; thanks, Mark Woodmass). 209 * NMI causes Z80 to unHALT (Philip Kendall; thanks, Simon Owen). 210 * Emulate C, H and P/V flags on repeated IO instructions (Philip 211 Kendall). 212 * Fix crash when using Interface 1 on unoptimised Fuse builds 213 (Philip Kendall). 214 215 * Debugger improvements: 216 * Debugger events to allow the debugger to stop when various 217 Spectrum-level events happen (Philip Kendall). 218 * Allow debugger commands to be run when a breakpoint is hit. 219 No UI for this at present, but can be set from the command line. 220 (Philip Kendall). 221 * Command to exit emulator (Philip Kendall). 222 * Make time breakpoints work properly when more than one is present 223 (Philip Kendall). 224 225 * Miscellaneous improvements: 226 * Loader detection now works with the Digital Integration loader 227 (Philip Kendall). 228 * New HQ2X and HQ3x scalers (Gergely Szasz). 229 * Revert Pentagon 128 to being the "base" machine without extra 230 ROMs (Fredrick Meunier). 231 * Updated +3e ROMs (Fredrick Meunier; thanks, Garry Lancaster). 232 * Allow DivIDE, custom ROMs, Kempston mouse status and Simple 8-bit 233 IDE interface to be saved in snapshots (Fredrick Meunier). 234 * Better (but probably not perfect) TS2068 contention (Philip 235 Kendall). 236 * OpenSolaris compilation fixes (Fredrick Meunier; thanks, Andrew 237 Owen). 238 * C89 compatibility fixes (Fredrick Meunier; thanks, sweetlilmr). 239 * Remove GTK+'s build explicit dependency on Xlib (Philip Kendall). 240 * Minor AmigaOS improvements (Chris Young). 241 2422008-01-05 Philip Kendall <philip-fuse@shadowmagic.org.uk> 243 244 * Fuse 0.9.0 released 245 246 * New features: 247 * Add +D disk interface support (Stuart Brady). 248 * New floppy disk controller emulation for +D and Beta disk 249 interface emulation (Gergely Szasz and Stuart Brady). 250 * Add Pentagon 512 and Pentagon 1024 emulation (Q-Master). 251 * Add Hi-Fi beeper for improved reproduction of multi-channel beeper 252 tunes (e.g. Fairlight 2, Wham - the Music Box) (Fredrick Meunier). 253 * Add support for saving tape images without using tape traps 254 (Fredrick Meunier). 255 * Add support for loading from WAV tape images (Fredrick Meunier). 256 * Add support for saving CSW tape images and TZX direct recording 257 blocks (Fredrick Meunier). 258 * Allow distinction between "soft" resets (activating the reset line 259 on the Z80) and "hard" resets (pulling the power) (Philip Kendall). 260 * New ALSA sound driver (Gergely Szasz). 261 * AmigaOS support (Chris Young). 262 * MorphOS support (Q-Master). 263 264 * Emulation core improvements: 265 * Fix contention for LD?R, CP?R and IN?R (Philip Kendall; thanks, 266 Mark Woodmass). 267 * Fix undocumented flags after BIT n,(IX+d) instructions (Philip 268 Kendall). 269 * Fix undocumented behaviour of DAA (Stuart Brady). 270 * High ports (0xc000 to 0xffff) are contended on the 128K when a 271 contended RAM page is paged in (Philip Kendall; thanks, Patrik 272 Rak). 273 * Correct contention for the +2A/+3 ULA (Philip Kendall). 274 275 * Machine specific improvements: 276 * Fix joystick port mask on TC2048 (Fredrick Meunier) 277 * Improved keyboard handling for 128K / +3 machines (Philip Kendall). 278 * Improved contention for TC2048 and TC2068 machines (Fredrick 279 Meunier; thanks, Mark Woodmass). 280 281 * Miscellaneous: 282 * Emulation speed no longer artificially limited to 999% (Stuart 283 Brady). 284 * Much improved debugger for the widget UIs (Darren Salt). 285 * Timed breakpoints now work in the debugger (Philip Kendall). 286 * Keys now repeat in the widget fileselector (Fredrick Meunier; 287 thanks, Cygnus). 288 * Removed the GTK+ 1.x UI (please note that GTK+ 2.x will remain 289 supported for the foreseeable future) (Philip Kendall). 290 * GTK+ UI now uses the GTK+ 2.x style file selectors (Philip 291 Kendall). 292 * More informative error messages when ejecting disks (Stuart 293 Brady). 294 * Ejecting Microdrive cartridges now checks for changes and doesn't 295 automatically overwrite the original file (Stuart Brady). 296 * Snapshots can no longer cause the profiler to assert (Philip 297 Kendall; thanks, Stuart Brady). 298 * DivIDE could page itself in incorrectly after a reset (Stuart 299 Brady). 300 * Stop invalid input causing segfault in GTK+ 'Load Binary Chunk' 301 dialog, and allow a length of 65536 to be used (Stuart Brady). 302 * Enable Fuse to build in directories other than the source 303 directory itself (Philip Kendall). 304 * 'make clean' now cleans generated files (Philip Kendall). 305 * Update +3e ROMs to v1.31 (Fredrick Meunier; thanks, Garry 306 Lancaster). 307 * Updated X11 UI (Gergely Szasz). 308 * Updated Win32 UI (Stuart Brady). 309 * Man page fixes (Stuart Brady). 310 311 * Various other minor bugfixes. 312 3132007-05-11 Philip Kendall <philip-fuse@shadowmagic.org.uk> 314 315 * Fuse 0.8.0.1 released (bug fix release) 316 317 * Fix IN timings and floating bus behaviour: fixes Sidewize (thanks, 318 Pegaz and Mark Woodmass) (Philip Kendall). 319 * Fix widget UI pokefinder and keyboard help picture 320 (thanks, Alberto Garcia) (Philip Kendall and Fredrick Meunier). 321 * Fix crash if fullscreen mode attempted a resolution higher than 322 the native graphics mode could handle (thanks, Alberto Garcia) 323 (Fredrick Meunier). 324 * Ensure ABS, MIN and PATH_MAX are available where needed (Fredrick 325 Meunier). 326 * Distribute autoload snapshots (thanks, Stuart Brady and Arda 327 Erdikmen) (Fredrick Meunier). 328 * Remove flicker when playing back RZX files with embedded 329 snapshots (thanks, Julian Wiseman) (Fredrick Meunier). 330 * Remove warnings when building from CVS (Stuart Brady). 331 3322007-04-11 Philip Kendall <philip-fuse@shadowmagic.org.uk> 333 334 * Fuse 0.8.0 released 335 336 * New features: 337 * Loader improvements: automatically run at full speed while 338 a loader is in progress and automatically start/stop the tape 339 when the start/end of a loader is detected (Philip Kendall). 340 * RZX 'rollback' support (Philip Kendall). 341 * DivIDE support (Matthew Westcott) 342 * Interface I and Microdrive emulation (Gergely Szasz). 343 * TS2068 support (Fredrick Meunier). 344 * Kempston mouse emulation (Darren Salt). 345 * TZX generalized data block (0x19) support (Philip Kendall). 346 * Much improved widget UI, including allowing selection of 347 filenames (Darren Salt, Gergely Szasz). 348 * Allow SDL full screen mode to be used (Darren Salt). 349 * Add the ability to save 'movies' as collections of screenshots 350 (Gergely Szasz). 351 * Widget pokefinder (Darren Salt). 352 * Add a simple code profiler (Philip Kendall). 353 * New libao sound driver (Gergely Szasz). 354 * New CoreAudio sound driver (Fredrick Meunier). 355 * New PALTV 1-3x and TV3x graphics scalers (Gergely Szasz). 356 357 * Emulation core improvements: 358 * Improved screen rendering code (now character accurate rather 359 than line accurate) (Philip Kendall, Fredrick Meunier). 360 * Corrections to write ordering and contention for EX (SP),HL, 361 EX (SP),IX and EX (SP),IY (Philip Kendall; thanks, Mark 362 Woodmass). 363 * Corrections to contention for OTIR and OTDR (Philip Kendall; 364 thanks, Mark Woodmass). 365 * IR contention (Philip Kendall; thanks, Mark Woodmass). 366 * Flag bits 3 and 5 are copied on all BIT instructions (Philip 367 Kendall; thanks, Mark Woodmass). 368 * Improved ULA emulation with respect to interrupt length 369 (thanks, Jon Needle, Ramsoft and Mark Woodmass) (Philip 370 Kendall). 371 * Fix timings of shifted no operation opcodes (Philip Kendall). 372 * An interrupt in IM 0 takes 13 tstates to acknowledge, not 12 373 (Philip Kendall). 374 * Improved speed control code (Fredrick Meunier). 375 376 * Miscellaneous: 377 * Add a 'save, don't save, cancel' confirmation dialog before any 378 changes to media are lost under the GTK+ UIs (Philip Kendall). 379 * On the Pentagon, page in the TR-DOS ROM on NMI, allowing the 380 snapshot function to work (Philip Kendall). On the Scorpion, 381 page in ROM 2, allowing the monitor to work (thanks, Erik 382 Kunze). 383 * Default snapshot format is now .szx rather than .z80 (Fredrick 384 Meunier) 385 * Store current joystick information in snapshots (Fredrick 386 Meunier). 387 * Optional use of doublescan modes in the framebuffer and 388 SVGAlib UIs (Darren Salt). 389 * Black and white TV support for the framebuffer, SVGAlib and 390 Xlib UIs (Darren Salt). 391 * Catch 'window close' events in the Xlib UI (Darren Salt). 392 * Use stock button icons in the GTK+ 2.x UI (Darren Salt). 393 * Save/restore the 'issue 2 keyboard' flag from snapshots 394 (Philip Kendall). 395 * Correctly quote '-' characters in the man page (needed for 396 UTF-8 environments) (Darren Salt, Stuart Brady). 397 * Use separate menus for controlling +3 and TR-DOS disks (Philip 398 Kendall). 399 * Fix behaviour of ZXATASP and ZXCF on reset (Garry Lancaster). 400 * Improved window scaling behaviour (Darren Salt). 401 * Allow use of the mouse scroll wheel in the GTK+ debugger 402 (Darren Salt). 403 * Improved interaction between Media/Tape/Play and tape traps 404 (Darren Salt). 405 * Various minor improvements to the framebuffer UI (Darren 406 Salt). 407 * Various fixes to allow compilation with gcc 4.x (Philip 408 Kendall). 409 410 * Various other minor bugfixes (Philip Kendall, Fredrick Meunier, 411 Jon Needle, Markus Oberhumer, Mark Round, Darren Salt, Gergely 412 Szasz, Paul van der Laan and other people to whom I apologise 413 for forgetting). 414 415 * On a personal note, I (Philip) would like to dedicate the 0.8 416 release of Fuse to the memory of Chris "Oggie" Lightfoot. I 417 don't know whether he would have loved or hated some of the code 418 in Fuse, but I'm sure he would have expressed his opinion. 419 4202004-07-16 Philip Kendall <pak21-fuse@srcf.ucam.org> 421 422 * Fuse 0.7.0 released. 423 424 * New features: 425 + Scorpion ZS 256 support (Stuart Brady). 426 + Spectrum SE support (Fredrick Meunier, Darren Salt). 427 + Support for the simple 8-bit IDE interface (as used by the 428 +3e) and the ZXATASP and ZXCF interfaces (Garry Lancaster). 429 + Spectrum +3e support: just a +3 with different ROMs (Philip 430 Kendall). 431 + Interface II support (Fredrick Meunier). 432 + Emulation of joysticks other than the Kempston (Philip 433 Kendall). 434 435 * Z80 core improvements: 436 + Get undocumented flags right after SCF and BIT (thanks, Erik 437 Kunze and Thomas Harte). 438 + Improved contended memory timings for RLD, RRD and 439 instructions involving (HL), (SP), (IX+dd), (IY+dd) (thanks, 440 Mark Woodmass and Jonathan Needle). 441 (Philip Kendall) 442 443 * Debugger improvements: 444 + Memory map pane showing what is present in each 8K chunk. 445 + Allow port values to be masked before checking for port 446 read/write breakpoints. 447 + Ability to set breakpoints in non-RAM pages. 448 (Philip Kendall) 449 450 * Miscellaneous improvements: 451 + Improved display timings (thanks, Mark Woodmass and Jonathan 452 Needle) (Philip Kendall). 453 + Improved floating bus timings; Arkanoid and Sidewize now work 454 (Philip Kendall). 455 + Save/restore the high bit of the R register; Bruce Lee now 456 works (thanks, Jan Samohýl) (Philip Kendall). 457 + Fuse can now save snapshot formats other than .z80 and tape 458 formats other than .tap; the appropriate format will be 459 selected according to the extension given (Philip Kendall). 460 + Improved sound emulation, now using 16 bit samples (Russell 461 Marks, Stuart Brady). 462 + Allow real joystick buttons to be equivalent to either 463 'emulated joystick fire' or 'press a key' (Philip Kendall). 464 + The pokefinder can now search for bytes which have increased 465 or decreased since the last search (Philip Kendall). 466 + HP-UX sound support (Stuart Brady). 467 + After 'flashloading' a tape block, set the registers to the 468 values they would have if the block had been loaded normally; 469 'The Rats' now loads successfully (thanks, Simon Stuart) 470 (Darren Salt). 471 + GTK+ 2.x user interface preferred to GTK+ 1.2 by default if 472 available (Philip Kendall). 473 + Don't display an error message if the same message was 474 displayed within the last second (Philip Kendall). 475 + Writing to the Betadisk ports is a no-op if TR-DOS isn't 476 active (Stuart Brady). 477 + Keep Timex Dock cartridge inserted after reset if it had been 478 inserted via File/Open or from the command line (Philip 479 Kendall). 480 + Split the 'ROM selection' dialog into one dialog for each 481 machine (Philip Kendall). 482 + Unused bits of AY registers are zeroed (Stuart Brady). 483 + Remove segfault if one ROM of a multi-ROM machine didn't load 484 (Philip Kendall). 485 + Don't segfault if Space rather than a mouse double click is 486 used to select things in the GTK+ tape browser, debugger or 487 pokefinder (Darren Salt). 488 + Stop output to the serial printer when printer emulation is 489 disabled; prevents the random appearance of 'printout.txt' 490 (Philip Kendall). 491 4922004-02-19 Philip Kendall <pak21-fuse@srcf.ucam.org> 493 494 * Fuse 0.6.2.1 released. 495 496 * Compilation fixes: 497 + sdljoystick.h missing from tarball (thanks, Owen Dunn). 498 + Link failure if a widget UI in use and lib765 not available 499 (thanks, Jamie Glendinning). 500 + Compilation failure if ROMSDIR defined (Darren Salt). 501 502 * Bugfixes: 503 + Use of the SDL icons could cause screen corruption (Simon 504 Tatham). 505 + The reverse page mapping for 0xc000 - 0xffff would 506 occasionally be wrong on the +2A/+3 (Philip Kendall). 507 508 * Miscellaneous: 509 + Allow selectable devices to be used for the real joysticks 510 (Darren Salt). 511 + Use glib 2.0 if available (Darren Salt). 512 + Allow ROMSDIR to be set when configuring (Darren Salt). 513 5142004-02-11 Philip Kendall <pak21-fuse@srcf.ucam.org> 515 516 * Fuse 0.6.2 released. 517 518 * New features: 519 + Real joystick support (Darren Salt, Fredrick Meunier). 520 + The 'pokefinder' (Philip Kendall). 521 + Black and white TV mode for the GTK+ and SDL user interfaces 522 (Fredrick Meunier). 523 + The Timex 1.5x scaler and the reappearance of 3x3 mode for 524 the GTK+ UI (Fredrick Meunier, Philip Kendall). 525 + A simple memory browser (Philip Kendall). 526 + Writes to disk will not affect the underlying file unless 527 explicitly requested by the user (Philip Kendall). 528 + Status bar for the GTK+ UI, and status icons for the 529 SDL UI (Philip Kendall/Fredrick Meunier). 530 + Options to disable the GTK+ confirmation dialogs and the 531 printer emulation (Philip Kendall). 532 533 * Z80 core improvements: 534 + Improved memory handling. Should be both quicker and more 535 flexible. 536 + Support for retriggered interrupts. 537 + Don't allow interrupts after an EI instruction. 538 + If using gcc, use the "computed goto" feature for a small 539 performance enhancement. 540 (Philip Kendall). 541 542 * Debugger improvements: 543 + Better error recovery after a malformed command. 544 + New 'pending events' pane. Double-clicking on an event will 545 cause emulation to run until that event occurs. 546 + Breakpoints can now be set relative to a RAM page, rather than 547 purely by address. 548 + Breakpoints can now be set to trigger a specified number of 549 tstates after the start of the current frame. 550 + Double-clicking on an entry in the stack display will cause 551 emulation to run to that address. 552 + Allow individual panes to be hidden. 553 + Correct behaviour if the debugger window is closed via window 554 manager functions, rather than by the 'close' button. 555 + More sensibly sized monospace font under GTK+ 2.x. 556 (Philip Kendall). 557 558 * RZX improvements: 559 + Option to always embed an RZX snapshot. 560 + Make it possible to record a non-competition mode RZX file 561 after having recorded one in competition mode. 562 + Add some small bits of system information (operating system, 563 libspectrum version, libgcrypt version) into the RZX custom 564 data. 565 (Philip Kendall). 566 567 * Miscellaneous improvements: 568 + The GTK+ file selector now remembers the last directory 569 it was used for. 570 + The GTK+ tape browser no longer stops emulation. 571 + Look for ROMs and library files relative to the Fuse 572 executable, not relative to the current directory. Helps when 573 dealing with a non-installed copy of Fuse. 574 + Use $TMPDIR for temporary files if it's specified. 575 + Warn if the current tape has been modified before its contents 576 are lost. 577 (Philip Kendall). 578 579 * Minor bugfixes: 580 + Make writes to the screen work when it is paged in other than 581 at 0x4000 (Philip Kendall). 582 + Make reading from both Timex joysticks simultaneously work 583 correctly (Fredrick Meunier). 584 + Remove a possible segfault caused by the tape initialisation 585 code trying to access the tape beeper before the beeper code 586 has been fully initialised (Witold Filipczyk, Fredrick Meunier). 587 + Get the pause lengths correct when writing PSG files 588 (Russell Marks, Philip Kendall). 589 + Pressing F3 in the SVGAlib UI will now open all file types as 590 it does in the other UIs (Philip Kendall). 591 + Don't segfault if there are empty string entries in Fuse's 592 config file (Philip Kendall). 593 + QNX6 compilation fixes (Mike Gorchak). 594 5952003-09-30 Philip Kendall <pak21-fuse@srcf.ucam.org> 596 597 * Fuse 0.6.1.1 released. 598 599 * Make the SVGAlib UI compile (Philip Kendall/Russell Marks, with 600 thanks to Josetxu Malanda). 601 602 * Various RZX-related bugfixes (Philip Kendall/Russell Marks) 603 6042003-09-13 Philip Kendall <pak21-fuse@srcf.ucam.org> 605 606 * Fuse 0.6.1 released. 607 608 * A Z80 core rewrite such that it's now generated from the regular 609 patterns in the instruction set. This shouldn't have any effect 610 as yet, but will make performance enhancements easier to do in 611 the future (Philip Kendall). 612 613 * On the TC2068, the ROM traps apply only when in the EXROM and 614 memory contention applies only in the HOME bank (Fredrick 615 Meunier). 616 617 * On the 128K Spectrum, use the correct port mask when checking 618 for contention on the 'memory control' port (Philip Kendall). 619 620 * RZX competition mode (Philip Kendall). 621 622 * Add AY logging to .psg files (Matthew Westcott) 623 624 * Optionally autoload +3 and TRDOS disks when they're inserted 625 (Philip Kendall). 626 627 * Fall back to read(2) and malloc(3) if mmap(2) fails or is 628 unavailable (Philip Kendall). 629 630 * Add 'out' and 'tbreakpoint' commands, conditional breakpoints 631 and the ability to use general numeric expression to the GTK+ 632 debugger (Philip Kendall). 633 634 * Allow Fuse to work with GTK+ 2.x (Marek Januszewski). 635 636 * Add a scrollbar to the GTK+ debugger's disassembly window 637 (Philip Kendall). 638 639 * New AdvMAME3x graphics scaler (Fredrick Meunier/ScummVM team) 640 641 * In the GTK+ UI, deactivate menu items when they're not 642 appropriate (Philip Kendall). 643 644 * Make bright black be the same as 'normal' black in the 645 framebuffer user interface (Witold Filipczyk). 646 647 * Add confirmation dialogs before resetting or quitting under the 648 GTK+ UI (Philip Kendall). 649 6502003-05-31 Philip Kendall <pak21-fuse@srcf.ucam.org> 651 652 * Fuse 0.6.0.1 released 653 654 * [SECURITY] Fix race conditions in trdos.c which could be used 655 to overwrite any file owned by the user running Fuse (Philip 656 Kendall). 657 658 * Fix a off-by-one error in the AdvMame2x scaler (Fredrick 659 Meunier/ScummVM team). 660 6612003-04-27 Philip Kendall <pak21-fuse@srcf.ucam.org> 662 663 * Fuse 0.6.0 released. 664 665 * Pentagon 128 support (Fredrick Meunier, with thanks also to 666 Dmitry Sanarin for Glukalka from which the TR-DOS emulation was 667 taken). 668 669 * TC2068 support (Witold Filipczyk/Darren Salt/Fredrick Meunier). 670 671 * Graphics filters: essentially arbitrary filters which can be 672 applied to the Spectrum's screen to give scanlines, smoothing 673 and all sorts of other possibilities (mostly Fredrick Meunier 674 and Philip Kendall; based on the same feature in ScummVM). 675 676 * Transparent monitor/debugger (Philip Kendall). 677 678 * A rewrite of the display code to update only those rectangles 679 which have been changed, rather than entire lines. Performance 680 improvement, and also allows effects similar to flipping between 681 the 128K Spectrum's two screens to work much better (Fredrick 682 Meunier/Philip Kendall). 683 684 * New SDL user interface (Fredrick Meunier). 685 686 * 16K Spectrum support (Fredrick Meunier). 687 688 * Load and save .scr files, including vbSpec's Timex mode 689 extensions (Fredrick Meunier). 690 691 * Selectable ROMs for each machine type (Philip Kendall). 692 693 * Optionally writable 'ROM's (Philip Kendall). 694 695 * Get the behaviour of the TC2048 video modes correct (Witold 696 Filipczyk). 697 698 * Optional frame-skipping on output (Fredrick Meunier). 699 700 * New --(no-)aspect-hint option to not give aspect hints to the 701 window manager under GTK+ or Xlib UIs. Useful for some window 702 managers which otherwise won't let you resize Fuse's window 703 (Philip Kendall/Russell Marks). 704 705 * Lots of other minor bug fixes/improvements (everyone mentioned 706 above). 707 7082002-12-09 Philip Kendall <pak21-fuse@srcf.ucam.org> 709 710 * Fuse 0.5.1 released 711 712 * Separate out libspectrum (the file format handling) into its own 713 library; changes occurring solely in libspectrum's code will not 714 be listed in this ChangeLog. For structural reasons, the glib 715 replacement code is also in libspectrum (Philip Kendall). 716 717 * Also separate the Fuse utilities (tzxlist, etc) into their 718 own package (Philip Kendall). 719 720 * Add ability to load and save +2, +2A, +3 and TC2048 snapshots; 721 also load Pentagon snaps as 128K (Philip Kendall). 722 723 * Add ability to automatically start tapes loading when they're 724 opened (Philip Kendall). 725 726 * If filenames without options are given on the command line, 727 attempt to load them as the right sort of file (Philip Kendall). 728 729 * Use libspectrum's machine numbering and capabilities facilities 730 (Philip Kendall). 731 732 * Make the framebuffer UI work (Darren Salt). 733 734 * Add File/Recording/Record from snap option to begin input 735 recording from a snapshot (Philip Kendall). 736 737 * Fix possible segfault when displaying the keyboard widget 738 (Russell Marks). 739 740 * Make widgets handle their window being resized (Darren Salt). 741 742 * Redraw the display only if the data has actually changed; can 743 give a nice performance improvement (Philip Kendall). 744 745 * Z80 core fixes on SCF, DEC, HALT and INC SP (Boris Donko). 746 747 * Memory pages 1, 3, 5 and 7 (not 4, 5, 6 and 7) are contended 748 on the 128K/+2 (Philip Kendall, with thanks to Steve Snake and 749 Mark Woodmass). 750 751 * Get the mask right for the 128K/+2 memory control port (Philip 752 Kendall, with thanks to Mark Woodmass). 753 754 * Add File/Save Screen option to save the current screen to a .png 755 file (Philip Kendall). 756 757 * Additional options to configure to make it easier to have the 758 support libraries (libspectrum, lib765, libdsk, etc) in 759 non-system directories (Philip Kendall). 760 761 * Make keysyms.c be UI-specific, rather than containing 762 information for all UIs (Darren Salt). 763 764 * Add support for loadable/savable configuration; you'll need 765 libxml2 installed (Philip Kendall). 766 767 * Add a Tape Browser widget (Philip Kendall). 768 769 * Put the keyboard help in a separate window when using the GTK+ 770 UI (Philip Kendall). 771 772 * Changeable emulation speed (Philip Kendall). 773 774 * Change to lib765 0.3.0 for Mac OS X compatibility 775 (Frederick Meunier). 776 777 * Reset the Timex's SCLD when loading snapshot (Philip Kendall, 778 Frederick Meunier). 779 780 * Timex machines have no loading noise (Frederick Meunier). 781 782 * Distribute glibc's getopt so that long options are available 783 even if the native libc doesn't provide them (Philip Kendall). 784 7852002-08-22 Philip Kendall <pak21-fuse@srcf.ucam.org> 786 787 * Version 0.5.0 released 788 789 * Support for RZX v0.12 (Recording/playback code by Philip 790 Kendall, file support by Darren Salt and Philip Kendall). 791 792 * +3 support using John Elliott's lib765 and libdsk libraries 793 (Darren Salt/Philip Kendall). 794 795 * TC2048 support (Fredrick Meunier). 796 797 * Z80 core fixes: timing of OTDR and interrupt routines, 798 R register during interrupt and HALT and contention of 799 LD (nnnn),A (Philip Kendall, with thanks to Mark Woodmass 800 and Boris Donko). 801 802 * Sound improvements: add beeper pseudo stereo and remove 803 beeper fade out (Russell Marks). 804 805 * Add two new utilities for dealing with RZX files: rzxdump(1) and 806 rzxtool(1) (Philip Kendall). 807 808 * Support for TZX raw data blocks (Darren Salt). 809 810 * Patches to make Fuse compile and run on OS X. You'll need the 811 latest version of the auto* tools, XFree86 and GTK+ 1.2 812 installed (Fredrick Meunier). 813 814 * Add an explanation of Fuse's main emulation loop and events 815 system to hacking/implementation_notes.txt 816 817 * Add optional use of 640x480 mode with the SVGAlib UI (Darren 818 Salt/Philip Kendall). 819 820 * Lots of other minor bugfixes (Darren Salt, Russell Marks, 821 Philip Kendall and probably some other people as well). 822 8232002-03-26 Philip Kendall <pak21-fuse@srcf.ucam.org> 824 825 * Version 0.4.2 released 826 827 * Simple support for a very limited form of RZX files (Philip 828 Kendall). 829 830 * Sound support for OpenBSD and Solaris (Alexander Yurchenko). 831 832 * Use the MIT-SHM extension if available under the Xlib UI 833 (originally from Darren Salt, extensively rewritten by Philip 834 Kendall). 835 836 * A new Options/Sound menu, giving the option to turn sound on 837 and off (Philip Kendall). 838 839 * Under the GTK+ UI, press F1 to get a pop-up main menu (Russell 840 Marks). 841 842 * Add the ability to select which device to use for sound output 843 (Philip Kendall). 844 845 * Create a dialog box when errors occur (idea from Darren Salt, 846 written by Philip Kendall). 847 848 * Titles for the GTK+ UI file selection dialog boxes (Darren 849 Salt). 850 851 * Update the man page (Russell Marks). 852 853 * Fix the segfault which could occur if you pressed Page Down in 854 the file selector widget with less than a full screen of files 855 in (Philip Kendall). 856 857 * Get the R register emulation correct if a DDxx or FDxx 858 instruction doesn't use IX or IY (Philip Kendall). 859 860 * Get the timings of tape edges write (previously, we could be 861 slow by up to (length of last instruction) t-states) (Philip 862 Kendall). 863 864 * Don't write to the printer unless we get a valid stop bit 865 (Russell Marks). 866 867 * Open the sound devices non-blocking to avoid hangs on some 868 systems (reported by Erik Kunze, fixed by Alexander Yurchenko). 869 870 * Don't write SLT data to .z80 files unless some actually exists 871 (reported by Russell Marks, fixed by Philip Kendall). 872 873 * Search a system-wide directory for the ROMs; see Debian's 874 spectrum-roms package for why this will be useful (Philip 875 Kendall). 876 877 * Get the lengths of ROMs correct when munmap(2)ing them (Darren 878 Salt/Philip Kendall). 879 880 * Add a small document describing the preferred coding style for 881 Fuse (Philip Kendall). 882 8832002-02-04 Philip Kendall <pak21-fuse@srcf.ucam.org> 884 885 * Version 0.4.1 released. 886 887 * Add contention of memory and io ports. Should make multicolour 888 effects better (Philip Kendall). 889 890 * Emulation of reading from unattached ports (e.g. #FF). Makes some 891 more games (e.g. Sidewize) work (Philip Kendall). 892 893 * Add a keyboard picture -- see the Help menu (Philip Kendall, 894 Russell Marks). 895 896 * Support for .slt files (Philip Kendall, Darren Salt). 897 898 * Support for the ZX Printer (48K), serial printer (128K/+2) 899 and parallel printer (+2A) (Russell Marks). 900 901 * Add the ability to select a machine type directly, rather than 902 cycling through the available machines (Philip Kendall). 903 904 * Add command-line options; see the man page for details (Philip 905 Kendall). 906 907 * Lots of improvements to the widgets to make them much more 908 similar to the GTK+ menus (Philip Kendall). 909 910 * Cleaner shutdown on 'impossible' conditions; especially useful 911 with the SVGAlib UI (Philip Kendall). 912 913 * Add 'tape rewind' and 'tape clear' options (Philip Kendall). 914 915 * Make tzxlist able to deal with multiple files, and give it 916 a man page (Darren Salt). 917 918 * Man page update (Russell Marks). 919 920 * Remove coredump if an empty .tzx file was loaded (Philip Kendall). 921 922 * Various bits of codebase reorganisation. Most significant is the 923 move of each UI to its own directory (Philip Kendall). 924 925 * Fix a fairly major thinko in libspectrum which meant that it 926 was using approximately twice as much memory as it needed to 927 (Philip Kendall). 928 929 * Things probably of more interest to developers: 930 + A --enable-warnings option to configure to turn on lots more 931 warning options if you're using gcc. 932 + Detect gcc properly in configure.in. 933 + Remove many of the warnings generated when --enable-warnings 934 is used. 935 + Add a hacking/ui.txt file giving details on how to implement 936 a new UI for Fuse. 937 (Philip Kendall). 938 9392001-12-20 Philip Kendall <pak21-fuse@srcf.ucam.org> 940 941 * Version 0.4.0 released. 942 943 * The big one: .tzx support. Fuse will now read in all the common 944 block types from .tzx files (Philip Kendall). 945 946 * Ability to write out tape files (Philip Kendall). 947 948 * Various improvements to the widget dialog boxes: cursor keys, 949 Page Up, Page Down, Home and End all do what you would expect, 950 remove the use of `scandir' function to improve inter-Unix 951 compatibility, append `/' to directories to make them more 952 obvious, stop the hangs if you tried to start a widget whilst 953 one was active. (Philip Kendall, Russell Marks). 954 955 * .z80 snapshots: deal with the case of the end marker being 956 preceded by 0x00 or 0x00 0xed (Philip Kendall). 957 958 * Lots of sound improvements (Russell Marks). 959 960 * Addition of tzxlist utility to list the blocks found in a .tzx 961 file (Philip Kendall). 962 963 * Have a man page (Russell Marks). 964 965 * Emulation of the AY-3-8912's register 15 (Russell Marks). 966 967 * Kempston joystick emulation (Russell Marks). 968 9692001-10-07 Philip Kendall <pak21-fuse@srcf.ucam.org> 970 971 * Versions 0.3.2 and 0.3.2.1 released. 972 973 * Added file selection dialog boxes for snapshot and tape loading, 974 and (GTK+ only) snapshot saving (Philip Kendall, Matan Ziv-Av). 975 976 * Allowed changing of Issue 2/3 keyboard at run-time. (Philip 977 Kendall). 978 979 * Basically complete rewrite of the tape handling routines (Philip 980 Kendall). 981 982 * Allow `slow' tape loading with border effects, sound, et al. 983 (Philip Kendall). 984 985 * Changed the default install location to `/usr/local' (Philip 986 Kendall). 987 988 * Generate keysyms.c from keysyms.dat; allows me automatically 989 keep the Xlib/GTK+ and svgalib key tables in sync (Philip 990 Kendall). 991 992 * Beginnings of `widgets': dialog boxes etc. for non-GTK+ user 993 interfaces (Matan Ziv-Av, Philip Kendall). 994 9952001-08-13 Philip Kendall <pak21-fuse@srcf.ucam.org> 996 997 * Version 0.3.1 released. 998 999 * Removed need for glib (but it's still used if present) 1000 (Matan Ziv-Av). 1001 1002 * Separated OSS (Linux) specific sound code out into separate 1003 files, removed most floating-point calculations from the AY 1004 code, added support for 16-bit only devices, and added some 1005 AY subsampling (Russell Marks). 1006 1007 * Fuse now runs on a StrongARM 1110, using the new framebuffer 1008 UI (Matan Ziv-Av). 1009 1010 * Major tidy-up of display.c and event.c (Philip Kendall). 1011 1012 * Implemented a `lazy write' scheme for the screen. Makes 1013 rainbowing effects _much_ faster (and helps elsewhere as 1014 well) (Philip Kendall). 1015 1016 * Further improvements to the lazy write scheme - consecutive 1017 lines which have changed are copied to the screen in one 1018 block, rather than as separate lines (Philip Kendall). 1019 1020 * Complete rewrite of the snapshot code; now handles .z80 1021 and .sna snapshots (Philip Kendall). 1022 1023 * Started separating some bits of code into subdirectories; 1024 currently `libspectrum' for the snapshot code, and `z80' 1025 for the Z80 core (Philip Kendall). 1026 1027 * Added `AUTHORS' file (Philip Kendall). 1028 1029 * Large rewrite of the code for changing machine type 1030 (Philip Kendall). 1031 1032 * Made `make install' work (Philip Kendall). 1033 10342001-01-31 Philip Kendall <pak@ast.cam.ac.uk> 1035 1036 * Version 0.3.0 released. 1037 1038 * Fixed a large bug in the 48K snapshot saving routine. 1039 1040 * Added rudimentary GTK+ interface. 1041 1042 * Added svgalib interface (thanks to Matan Ziv-Av). 1043 1044 * Made peripheral emulation much more modular, and added proper 1045 decoding of ports. 1046 1047 * Fixing timings for INI, OUTI, IND, OUTD and the repeated 1048 versions (they were all one T-state too short). 1049 1050 * Sound support under Linux (thanks to Russell Marks and Matan 1051 Ziv-Av). 1052 10532000-12-17 Philip Kendall <pak@ast.cam.ac.uk> 1054 1055 * Version 0.2.1 released. 1056 1057 * 2x2 and 3x3 displays now available. 1058 1059 * Border emulation is back (with rainbowing). 1060 1061 * Better keyboard emulation -- Abu Simbel Profanation now works 1062 (and Issue 2 emulation is now available as a compile-time 1063 option). Thanks to Santiago Romero for putting me on the track 1064 of this bug. 1065 1066 * Rewrite of Z80 core: one function call now runs the Z80 core 1067 until something interesting happens, as determined by a list of 1068 `events'. Thanks to Miklos Szeredi's `SpectEmu' for the 1069 inspiration for this change. 1070 10712000-09-27 Philip Kendall <pak@ast.cam.ac.uk> 1072 1073 * Version 0.2.0 released 1074 1075 * Lots of other changes as well. 1076 1077 * Loads of changes to remove Allegro and replace it with Xlib calls. 1078 10791999-08-22 Philip Kendall <pak@ast.cam.ac.uk> 1080 1081 * Version 0.1.3 released. 1082 1083 * Added +2A emulation. 1084 1085 * Can now save snapshots. 1086 1087 * Screen rainbowing effects present. 1088 1089 * Console version runs at the correct speed (almost. It runs at 1090 50.00Hz, rather than the correct 50.01Hz (128K/+2) or 50.08Hz 1091 (48K) ). 1092 1093 * Added ROM trap to read from tape files. 1094 1095 * Other bug fixes/improvements. 1096 10971999-08-03 Philip Kendall <pak@ast.cam.ac.uk> 1098 1099 * Version 0.1.2 released. 1100 1101 * Added support for running on the Linux console (Thanks here go 1102 to Thomas Harte). Console version does not eat up 100% of CPU 1103 time :-) 1104 1105 * Added +2 emulation (Just 128K emulation with different ROMs!) 1106 1107 * Flashing characters implemented. 1108 1109 * Bug fixes/improvements (Thanks to Erik Kunze for some helpful 1110 suggestions) 1111 11121999-07-19 Philip Kendall <pak@ast.cam.ac.uk> 1113 1114 * Version 0.1.1 released. 1115 1116 * Added border emulation. 1117 11181999-07-18 Philip Kendall <pak@ast.cam.ac.uk> 1119 1120 * Version 0.1.0 released. 1121 1122$Id: ChangeLog 4995 2013-05-24 19:54:19Z zubzero $ 1123