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