forked from simonowen/simcoupe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.txt
282 lines (243 loc) · 14.9 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
SimCoupe ChangeLog
==================
Version 1.1 alpha 1 (2015-04-09)
--------------------------------
- Added tape loading from TAP/TZX/CSW files, with flash and trap features
- Added SID interface emulation with traditional 6581 or newer 8580 chip
- Added video recording to AVI (MS-RLE) or GIF, and audio recording to WAV
- Added support for Atom Lite+ interface with installed DALLAS chip
- Added persistent DALLAS NVRAM (8K) support
- Added support for Blue Alpha Sampler, SAMVoc and Paula DACs
- Added support for Velesoft Kempston joystick interface
- Added manual speed control between 50% and 1000%
- Added ROM-based auto-typing of clipboard text [Win32]
- Added D3D9 [Win32] and SDL2 [Mac and Linux] accelerated video support
- Added ROM symbol support to debugger, with user symbols from <disk1>.map
- Added command-line input mode mode to debugger for more complex commands
- Added execution, memory access, I/O, and interrupt breakpoints
- Added pulsing dot at current raster position when debugger is active
- Added code tracing feature, showing path leading to current instruction
- Added timing measurement to aid consistent comparison of code alternatives
- Added support for runtime RAM and ROM configuration changes without reset
- Added complete ATTR port (FF) emulation, used by some Spectrum software
- Added undocumented bit 3+5 flag behaviour to SCF/CCF
- Added optional NMOS/CMOS Z80 support, for OUT (C),0/255 difference
- Added automatic keyboard layout switching when Spectrum ROM is present
- Added LBA28, 8-bit mode, and slave support to ATA device emulation
- Added HDF v1.1 support, with extended IDENTIFY fields
- Added SAMDiskHelper support for non-admin access to HDD/CF devices [Win32]
- Added per-user settings with portable mode for legacy behaviour [Win32]
- Fixed NMI erroneously clearing IFF2
- Fixed missing R increment on interrupt acknowledgement
- Fixed HEPR bug which could lead to an invalid paging configuration
- Fixed video re-sync audio glitches by syncing to audio clock instead
- Fixed intensity of border artefacts, which were previously too bright
- Fixed DAC sample origin not being zero, which reduced playback quality
- Fixed SAMDAC/EDDAC to only output new samples when strobed
- Fixed output from simultaneous use of DACs on both parallel ports
- Fixed FDC registers not being writable without a disk in the drive
- Fixed FDC multi-sector reading, which caused SAM Mines disk error
- Fixed FDC to use 2 bit size codes, matching WD17xx behaviour
- Fixed corruption in SBT images over 400K due to repeated directory sector
- Fixed invalid CHS geometry on disks over 8GB
- Fixed data import/export sometimes clipping to 16K
- Fixed failed writes to HDD/CF volumes under Vista or later [Win32]
- Changed full-screen option to use the current/native display mode
- Changed window click to capture mouse only if SAM software is using it
- Changed options to use larger and simplified property pages [Win32]
- Changed SBT virtual images to contain auto-executing code files
- Changed built-in SAMDOS2 image to enable drive 2 and disable border flash
- Changed debugger to use hex input by default, matching displayed values
- Removed support for Win9x and W2K due to limited API and tool support
- Removed support for SDF and TD0 disk images, and SAD image creation
- Removed SD-IDE and YAMOD.ATBUS interfaces, and Atom boot ROM patching
- Removed support for user-defined function key mappings [Win32]
- Removed support for real printer devices [Win32]
Version 1.0 (2006-07-21)
------------------------
- Added SDL port (OpenGL and regular) for Linux, BeOS, QNX, etc.
- Added Pocket PC port for ARM, MIPS and SH3 devices
- Added Allegro port for an updated DOS version
- Added built-in GUI for all platforms without native GUI support
- Added full async real disk support for 2000/XP and Linux
- Added read-write EDSK support for copy-protected disks
- Added formatting support within limits of disk image capabilities
- Added read-only support for TD0 (TeleDisk) and SBT disk images
- Added support for 9-sector Pro-DOS disk images
- Added correct WD1772 CRCs to read address and read track data
- Added support for deleted data address marks in track reads/formats
- Added auto-boot option for disks inserted at the start-up screen
- Added delay to disk image accesses, to avoid Pro-DOS bug
- Added turbo-load support, for accelerated speed during disk accesses
- Added preliminary debugger support, with lots of future potential
- Added partial scanline support for a more natural looking display
- Added support for border pixel artefacts, as used by Fred65 menu
- Added support for incomplete frame drawing, needed by the debugger
- Added support for using real HDD devices under Win32, Linux and OS X
- Added optional automagic DOS booting of non-bootable disks
- Added internal SAMDOS 2.2 image, used by automagical DOS booting
- Added internal SAM ROM v3.0 image, used as the default
- Added support for ZX82 and gzipped external ROM images
- Added built-in support for Edwin Blink's ATOM ROM booting patches
- Added support for unresponsive ASIC during first ~49ms after power-on
- Added support for SDIDE and YAMOD.ATBUS hard disk interfaces
- Added print-to-file support for SAM printers
- Added support for swapping mouse buttons 2 and 3
- Added Alt as modifier option to function key bindings
- Added missing SAM pipe symbol to keyboard map
- Added option to swap function keys and numeric keypad operation
- Added full HPEN and LPEN support, used by Defender and BSD demo
- Added mouse-wheel support to generate cursor up/down
- Added basic Vista beta 2 support by working around OS bugs
- Added manifest for XP themed common controls [Win32]
- Fixed ADC HL,rr incorrectly setting N flag
- Fixed ADD IX/IY,rr failing to set carry for overflow, or H flag
- Fixed disassembly of IN C,(C) and display of DDCB/FDCB index offsets
- Fixed DAA to support all undocumented flags
- Fixed ROM memory accesses to be uncontended [Dave Laundon]
- Fixed contention across page boundaries [Dave Laundon]
- Fixed Atom support to work correctly with latest BDOS versions
- Fixed SAD support for sector sizes other than 512 bytes
- Fixed index pulse to be based on disk speed rather than status reads
- Fixed WD1772 sector searching so the head value is no longer compared
- Fixed formatting to preserve embedded data, for Pro-DOS [thanks Steve P-T]
- Fixed re-insert of same disk image losing old image changes
- Fixed formatting crash when no disk present [thanks Josef Prokes]
- Fixed auto-frameskip to avoid wasting time (old 25fps problem)
- Fixed key-bounce issues by deferring input until mid-frame
- Fixed digit input on Czech keyboards, which require a shift modifier
- Fixed AltGr being seen as Ctrl-Alt on some Win9x setups
- Fixed Ctrl-<digit> access to symbols [thanks Edwin Blink]
- Fixed incorrect SAM palette spread, which made dark colours too bright
- Fixed the PNG screenshot palette being too dark
- Fixed pixel format colour issues by calculating them from bit masks
- Fixed broken import/export which could crash with sizes over 16K
- Fixed MIC writes not reflected back to EAR [thanks Edwin Blink]
- Fixed reads from ports 0 to 15, which were always returning zero
- Fixed mouse read timeout (now 50us) and timer reset on each byte read
- Fixed accumulation of small mouse movements, for Legend of Eshan
- Fixed external memory ports to be write-only [thanks Jiri Veleba]
- Fixed autoboot to hold rather than tap F9, to avoid a 2nd boot attempt
- Fixed building for 64-bit platforms [thanks Stuart Brady and Terry Froy]
- Fixed disk image saving on Windows shutdown/restart [Win32]
- Fixed display of mode 3 pixels in 24-bit mode [Win32]
- Improved efficiency of contention table lookups [Dave Laundon]
- Improved fast-boot to no longer require temporary ROM patching
- Improved menu layout, adding icons and a MRU file list
- Improved some overly complicated dialogs and options screens
- Improved sensitivity and scaling of SAM mouse movements
- Improved RAM, paging, CLUT and CPU register power-on states
- Improved DAC interpolation for less harsh playback in MOD Player
- Improved altforcntrl use by disabling Windows key when active [Win32]
- Improved PNG screenshots to include 5:4 aspect, scanlines and greyscale
- Changed to use a combined 32K ROM image instead of separate 16K files
- Changed unconnected ports to return 0xff rather than 0x00
- Changed to dynamically bind to DirectX, for better error reporting
- Removed dynamic Atom HDD generated from floppy images
Version 0.81a (2001-03-09)
--------------------------
- Fixed race-condition in New Disk dialogue that could cause stack overflow.
- Fixed binary output in disassembler having bits reversed.
- Changed Win32 open file filter to include compressed archives by default.
Version 0.81 (2001-02-27)
-------------------------
- CPU loop simplified and optimised using a new event model [Dave Laundon]
- MIDI OUT interrupt timing now perfect (fixes a demo) [Dave Laundon]
- Line interrupt now activated/deactivated on line port writes [Dave Laundon]
- Improved pause feature to halt everything, instead of executing NOPs.
- Support for background running, with optional pause when inactive.
- Selectable screen area (no borders, TV view, full picture scan, ...).
- Automatically accurate mode 3 on just the lines that need it.
- Improved screen change detection for speed-up in most situations.
- Now shows ASIC artefacts for mode 1/2 <=> 3/4 switches.
- Screenshot save in PNG format.
- Optional stretch-to-fit for better use of full-screen space.
- Smarter window resizing to keep aspect, with snap sizes when shift held.
- Improved internal screen handling, including on-screen text.
- Improved mode switching, particularly Alt-TABing from full-screen.
- Support for single file disk images, for easy use of SBT files.
- Multi-sector reads now correctly leave BUSY flag set [fixes SAM Mines].
- Implemented WRITE_TRACK floppy command for disk formatting.
- Floppy 2 LED now replaced with red hard disk LED when ATOM active.
- Mono and stereo parallel DAC sound support.
- Removed DAC optimisation option - now detected automatically.
- Parallel printer support to a windows printer (with manual flush option).
- MIDI-Out to choice of Windows device.
- Spectrum beeper implemented as DAC to sound better on slow systems.
- Fixed quirky SAA sample playback (fixes Space demo on Fred 59) [Dave Hooper]
- Clocks can now advance relative to emulated time as well as real time.
- System time changes now handled at run-time.
- Automatic support for most keyboard mappings.
- Buffered input for better key responses on slower systems.
- Redefineable function keys to assign the choice of emulator actions.
- Turbo key (5fps, no sound), for zooming through slow running programs.
- Temporary key release to avoid ")0"-type problems with key combinations.
- Simpler option presentation with Win32 property sheet.
- Main window now requires left-click before grabbing mouse control.
- Hardware cursor over main window to avoid flicker and slow-down.
- Windows cursor auto-hidden after 3 seconds.
- Windowed mode now maintains the correct aspect ratio.
- Emulator files accessed relative to the main EXE (allows shell associations).
Version 0.80 alpha test 4 (2000-08-21)
--------------------------------------
- Two-step video mode changing, with page change 1 cell after the mode.
- Preliminary mono and stereo DAC support for parallel port 1.
- New DAC optimisation option for better sample plackback on slow machines.
- Support for reading real SAM disks under Windows NT/2000 with SAMDISK.SYS.
- Clock advancing can now be linked to emulated time.
- Improved leap-year detection, instead of just checking multiples of 4.
- AltGr now only optionally for Edit key, as some keyboards use it for symbols.
- Incomplete MIDI messages are discarded, for better resync on new playback.
Version 0.80 alpha test 3 (2000-06-22)
--------------------------------------
- Much improved contention timing for memory and I/O accesses [Dave Laundon]
- MIDI OUT interrupt now supported [Dave Laundon]
- Interrupt active times now perfect (fixes Defender).
- Hardware overlay support for UYVY, YUY2 and RGB formats.
- Added on-screen floppy activity indicators and status/profile text.
- SAA address now masks unimportant bits before comparing (fixes MOD Player).
- SAA calls no longer cached to allow fix consecutive writes to data port 511.
- MIDI OUT support to the default Windows device.
- Disk save support enabled, as the general disk appears to be reliable.
- Floppy motor now switches off after 10 revolutions of idle.
- Input now updated half way down screen to avoid key bounce side effects.
- Run-time support for Windows keyboard mapping changes.
- Preliminary serial port support for modem use.
- Spectrum mode initialisation now sets up paging/palette as appropriate.
- Disassembler re-written for compactness and complete instruction coverage.
Version 0.80 alpha test (1999-11-11)
------------------------------------
- Crude instruction rounding used to implement approximate memory contention.
- Additional delay and rounding performed on I/O on ASIC-handled ports.
- Improved active duration for interrupts.
- Fixed INI/IND not setting Z flag when B reaches zero (fixes BDOS).
- True 256K base memory configuration now available in addition to 512K.
- HPEN reads now return appropriate line number.
- ATTR reads allow border area detection (on-screen value always zero for now).
- Cell-accurate display updating for much improved display of video effects.
- Screen-off support to allow display disabling through border port.
- 50Hz frame sync using multimedia timer to trigger an event.
- Added full-screen mode and run-time switching to/from windowed mode.
- Added automatic and manual frame skipping.
- Auto fallback of video support to best available mode.
- Corrected flash attribute frequency to every 16 frames (was 25).
- Full SAA/beeper sound support using Dave Hooper's SAASound library.
- Implemented READ_TRACK and READ_ADDRESS commands (fixes SAM DICE).
- Enhanced index pulse, write protect and spin-up floppy controller flags.
- All new disk imlementation for DSK/SAD files (save support disabled for now).
- New SDF image format created to handle copy protected disks.
- Support for gzipped and (read-only) zipped disk images.
- Drag and drop file support to mount disk in drive 1.
- Keyboard and mouse changed to use DirectInput, and joystick support added.
- Preliminary ATOM hard disk emulation to give basic BDOS 1.4e support.
- Fast boot option temporarily modifies the SAM ROMs for an instant boot.
- Auto-boot option to automatically press F9 on bootup.
- SAMBUS and DALLAS clocks supported.
Version 0.80 pre-pre-alpha (1999-03-08)
---------------------------------------
- Quick and dirty port, changing as little as possible to get code to run.
- Added DirectX windowed display support for 8, 16 and 32-bit modes.
- Added basic Win32 keyboard and mouse implementation.
Forked from SimCoupe 0.72 (1999-02-27)
--------------------------------------
- Started porting the X version of SimCoupe 0.72 to Win32.