forked from libretro/ep128emu-core
-
Notifications
You must be signed in to change notification settings - Fork 1
/
NEWS
419 lines (383 loc) · 20.7 KB
/
NEWS
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
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
Changes in version 2.0.11.2
---------------------------
* increased Enterprise maximum sound clock frequency to 1.25 MHz for
accurate emulation of machines with 10 MHz CPU
* fixed FILE: bug in re-opening read only files
* fixed keys "sticking" because of buggy FLTK file chooser on Linux
* fixed Z80 clock stretching on debug writes to NICK ports
* experimental support for MIDI port emulation using PortMidi
* fixed formatting floppy disks with 11 sectors per track
* fixed floppy drive ready signal in EXDOS
* added support for comments (beginning with ; or #) in the breakpoint
list, and reading breakpoints from SjASM export files
Changes in version 2.0.11.1
---------------------------
* fixed error on Windows with non-ASCII characters in the user name
Changes in version 2.0.11
-------------------------
* implemented Videoton TVC emulation
* the epimgconv utility has a graphical user interface now, and it can
also convert images to TVC format
* various improvements and new features in the epcompress utility
* SID card emulation using reSID 1.0
* the debugger window has been made resizeable within a limited range
* improved support for Unicode characters in file names on Windows
* unformatted or non-FAT floppy disk images default to 80/2/9 geometry
if the file size is 737280 bytes
* fixed bug in re-opening files selected with a file chooser dialog
* fixed FILE device bug in EXOS 10 with files larger than 64 KB
* some other bug fixes
Changes in version 2.0.10
-------------------------
* implemented mouse (EnterMice) support in the Enterprise emulation
* when loading a snapshot from the command line, the machine type is
autodetected from the file if not specified
* window icons have been implemented on non-Windows platforms if the
emulator is built with FLTK 1.3.3 or newer
* on the Enterprise and CPC, the external joysticks can now have a
second and third fire button, configured as keys 0x75-0x76 (EXT1)
and 0x7D-0x7E (EXT2)
* more accurate emulation of NICK port reading and floating data bus
* improved timing accuracy of NICK and DAVE port I/O (this may break
compatibility with some demo files recorded with older versions)
* implemented EXOS function 10 (set and read channel status) in the
FILE: device and epfileio.rom
* screenshots are saved in PNG format instead of BMP
* new Lua functions: writeROM(), writeWordROM(), and loadROMSegment()
* building with Lua 5.2 or 5.3 is now supported
* added support for building 64-bit Windows binaries
* OpenGL has been made an optional dependency at compile time
* epimgconv and other utilities are included with the emulator package
* snapshot and demo files can be compressed in epcompress format
* experimental SD card emulation using code from LGB's Xep128,
included only if enabled at compile time
* various bug fixes and minor optimizations
Changes in version 2.0.9.1
--------------------------
* some debugger changes related to ignore breakpoints
* it is possible to delete single breakpoints in Lua scripts by using
a negative priority value
* minor 6845 CRTC emulation bug fix
* fixed bugs in closing the debugger window with the Esc key
Changes in version 2.0.9
------------------------
* implemented CPC floppy drive controller (uPD765) emulation:
- it supports standard and extended .DSK image files, as well as
using a real disk in the PC floppy drive (the latter is not very
useful in practice, since it is limited to standard PC format DD
(720K) disks, which are not supported by AMSDOS)
- 4 drives can be emulated (although AMSDOS will only use 2)
- there is (not perfect) emulation of the timing of disk rotation,
stepping, head (un)load, and data transfers; however, this may
not work if the image file includes a track format that is not
possible on a real DD disk (~6250 bytes per track)
- the FORMAT TRACK (0x0D) command is unimplemented - it will always
report a write protect error
- the floppy drive emulation has not been tested extensively yet,
so there may be problems with unusual disk formats, rarely used
FDC commands and parameters, and some copy protections
- reading the I/O ports 80H-9FH in the debugger will return some
debugging information about the FDC emulation (see the README file
for details)
- changes to the installer/packaging: new machine configuration
files have been added that include AMSDOS (the default is now
CPC 6128 with AMSDOS), the disk.zip package includes an empty CPC
disk image, and on Windows .DSK files can be associated with the
emulator
* the CPC video emulation now supports half-character resolution
scrolling by changing the horizontal sync width
* improved 6845 CRTC emulation accuracy, fixing problems in some CPC
games
* it is possible to disable software control of the tape motor (this
is useful mainly to work around some buggy Enterprise software)
* when using the PC floppy drive and a real disk for WD177x emulation,
the geometry parameters are now also queried from the system on
Linux
* if the WD177x emulation detects a valid FAT header at the beginning
of a disk or image, it checks the geometry stored there, and if it
does not match the emulated hardware geometry, an error is reported;
this can be disabled by specifying all three parameters manually
* the Windows installer uses new download locations for the ROM
package, since the previous ones no longer work
* the ROM package has been updated (new versions of Enterprise ROMs)
* minor fixes/improvements in DAVE and NICK emulation
* on the first page of the debugger window, the memory dump can now
also display I/O ports
* the debug display of I/O registers has been changed slightly for CPC
(shows the currently selected CRTC register, and the CRTC memory
address)
* the monitor emulation allows less difference from the standard
vertical refresh rate than in the previous versions
* a 189 MB (12x15.75 MB FAT12 partitions) .VHD file has been added to
the disk image packages
* the Windows installer now includes LuaJIT 2.0.0 beta5 in addition to
the stable 1.1.6 version. To use the faster beta version, copy or
rename lua51-2.dll to lua51.dll, removing or renaming the original
lua51.dll file
* some optimizations in Enterprise and CPC emulation
Changes in version 2.0.8.1
--------------------------
* some CPC emulation bugs have been fixed
Changes in version 2.0.8
------------------------
* implemented ZX Spectrum 48/128 and Amstrad CPC emulation; for now,
only a basic configuration of these machines is supported (there is
no disk emulation yet), although the emulation accuracy should be
good. See the README file for more details
* new command line options for selecting the machine type to be
emulated: -ep128, -zx, and -cpc
* undocumented Z80 flags are emulated more accurately - the only
instruction that is still not correct is 'BIT n, (HL)'
* fixed bug in the emulation of DAVE port B6H, which prevented some
games from working
* reduced the time before the floppy write buffer is flushed from 4
seconds to 1 second
* the editor buffer in the monitor has been increased from 120 to 160
lines
* the monitor TR (trace) command has a new optional parameter now that
controls the printing of additional information about the video
position and Z80 registers
* new Lua functions: readWord(), readWordRaw(), writeWord(),
writeWordRaw(), getIFF1(), getIFF2(), setIFF1(), setIFF2(),
getVideoPosition(), and getRawAddress(); these are documented in the
README file
* detailed information about Lua errors is now also printed if the
error occurs in an extension function implemented by the emulator
* segment:offset style breakpoints allow the offset to be greater than
3FFFH (the two most significant bits are ignored, but must match
when specifying an address range)
* the Z80 disassembler in the debugger now supports more undocumented
instructions
* fixed bug in the Lua example script
* the file I/O extension ROM (epfileio.rom) has been modified so that
EXOS block read and write (6 and 8) calls are implemented in Z80
code, and not in the emulator; this reduces the speed of these
operations to a level similar to disk drives, and allows watchpoints
set on the read or written memory area to work
* the source code of epfileio.rom is included
Changes in version 2.0.7
------------------------
* implemented IDE hard disk emulation, with support for up to 4 2 GB
image files in raw or VHD format; a 126 MB disk image with 4 FAT12
formatted 31.5 MB partitions is also included for use with the
emulator
* more accurate Z80, video memory, and NICK I/O port timing; note that
this change breaks demo compatibility with previous versions
* improved NICK emulation: all possible video modes, including
undocumented and "invalid" ones, are now emulated, and some bugs
have been fixed as well
* a 4-channel 8-bit external DAC is emulated at ports F0h to F3h
* new TV emulation mode when using OpenGL video output; it is
activated by setting the 'quality' parameter to 4, and requires
OpenGL 2.0 or later with shader support. This mode emulates S-video
output on a PAL display (Y/C filtering, delay line, and phase
error), but the quality is also improved by using 32-bit textures
instead of 16-bit
* it is now possible to load and use epmemcfg format memory
configuration files, which allow for avoiding the limitations of the
GUI based memory configuration; the file format is documented in
README
* DAVE sound emulation fixes
* the 'motor on' bit of WD177x is emulated (the RockDigi demo now
runs)
* on Windows, native file selection dialogs are also used in
tapeedit.exe
* machine configurations generated by makecfg automatically enable or
disable the 'virtual file I/O' setting, depending on whether
epfileio.rom is included
* the debugger prints more detailed information about syntax and
runtime errors in Lua scripts, and there is a new button to insert
an empty breakpoint callback function
* fixed interlace in single buffered OpenGL mode at quality=0
* fixed compile error on Linux when building without SDL, or using old
SCons or Lua versions
* some other minor bug fixes, and optimizations
Changes in version 2.0.6
------------------------
* various improvements have been made to the debugger:
- memory read watchpoints can have a type of 'r' or 'x' to break on
data or Z80 instruction reads only; the 'Ignore data reads' button
has been removed
- new "step" buttons for stepping to the target of any conditional
branch instruction ('Step into'), the 16-bit address at the top of
the stack ('Return'), or any 16-bit address specified by the user
('Step to')
- the memory dump, CPU, and I/O register displays include more
information now
- in addition to the default hexadecimal format, it is also possible
to specify numbers in the monitor in binary (e.g. %1010), octal
(12o), and decimal (10l) format
- the 'Step over' button can also be used to skip conditional JP and
JR instructions
- fixed the flickering window effect while using the step buttons
* several new GUI keyboard shortcuts have been added; since these
shortcuts can only be triggered while the Alt key is pressed, in
the default configuration only the right Alt key (and, on Windows,
the menu key) are bound to the Enterprise emulation now
* native file dialogs are used instead of FLTK on Windows
* some improvements have been made to the installer:
- many new ROM files and machine configurations are installed
- on Windows, it is possible to associate snapshot and demo files
with the emulator
- ROM images are downloaded as a single compressed archive, rather
than separate uncompressed .rom files, for faster installation
- the Win32 emulator executable has an icon and includes file
information now
* FILE: is the default device on startup when using the epfileio.rom
extension
* floppy drive emulation improvements: implemented the 'write track'
command (formatting), image file I/O is buffered for improved
performance when using real disks, and a few emulation bugs have
been fixed
* in the memory configuration, ROM files can also be loaded to
segments 40h to 43h
* video display improvements and bug fixes; the screen is no longer
blanked while the emulator is paused; interlace effect is also
displayed at lower quality settings (1 and 2) in OpenGL mode
* some NICK emulation fixes (note: the timing of demos recorded with
older emulator versions may possibly be incorrect)
* if there is an error initializing the display in OpenGL mode on
Linux, the emulator will automatically switch the buffering mode, or
fall back to software video to fix the problem
* screenshots are saved in 256 color RLE compressed BMP format now,
instead of TGA
* a few minor user interface improvements in the display and disk
configuration windows
* the process priority of the emulator can be set in the menu (this is
currently only implemented on Windows)
* if not specified by the user, the extension is automatically added
to file names by the file dialogs when saving files
* new 'Gtk+' GUI theme (-colorscheme 3)
* various minor bug fixes
Changes in version 2.0.5.1
--------------------------
* fixed I/O port reading in the debugger
* minor hardware emulation accuracy improvements
Changes in version 2.0.5
------------------------
* changed the debugger window layout so that there is a larger window
with only two tabs; also more information is displayed, and the
mouse wheel can be used for scrolling the disassembly and memory
dump views
* implemented Lua scripting in the debugger; this makes it possible to
write complex rules for breakpoints, but can have other uses as
well, since the script can read and write memory, I/O ports, and CPU
registers, in addition to having access to the standard Lua library
functions
* added a simple monitor to the debugger; the supported commands
include assemble, disassemble, trace, memory and I/O port dump and
modify, printing and changing CPU registers, memory compare, copy,
fill, search, load and save, and more (use ? to print the list of
available commands, or ? N for help on command N)
* improved the audio quality of AVI recording, at the expense of
making it somewhat slower
* added new command line option for selecting the GUI style and colors
* a few minor bug fixes and improvements
Changes in version 2.0.4
------------------------
* keyboard map can be configured with the GUI
* external game devices like joysticks and gamepads are supported, and
can be assigned in the keyboard map like normal keys
* video and audio output can be recorded to AVI files
* it is now possible to use audio files (WAV, AIFF, etc.) as tape
images, with support for all tape features except markers; a simple
linear phase FIR filter can also be applied to the input signal
* improved television vertical sync emulation
* new command line option for loading a snapshot or demo file on
start-up
* added hue shift to the display options
* emulation speed percentage and floppy drive LEDs are now displayed
on the GUI; it is also possible to change the emulation speed
* various minor bug fixes and improvements
Changes in version 2.0.3
------------------------
* fixed interrupts in Spectrum emulator
* other minor fixes, including changes to allow for compiling with
Microsoft Visual Studio 2005
Changes in version 2.0.2
------------------------
* implemented Spectrum emulator
* implemented real time clock
* in the default keyboard map, Home can also be used now as HOLD, and
End as STOP; the original keys (Pause/Break and PrintScreen/SysRq)
did not work on some machines
* keyboard matrix state is no longer cleared on soft reset
* NICK registers are initialized to random values on start-up
* added new ROM images and machine configuration presets
* the makecfg utility now asks for an installation directory if
started without command line arguments, and automatically creates
directories
* minor improvements to GUI menu layout
Changes in version 2.0.1
------------------------
* improved timing accuracy of Z80 memory and NICK port accesses (this
is still not perfect); note that when playing demo files recorded by
previous releases, the timing may go out of sync because of this
change
* DAVE internal sample rate can now be changed with the sound clock
frequency option
* removed video memory latency option
* implemented 'ignore' watchpoints in the debugger; these can be
defined by using the 'i' suffix. Watchpoints and single step mode
will not stop the emulation and open the debugger while the program
counter is at any address for which the ignore flag is set
* added I/O tab to the debugger (displays the state of I/O registers)
* the disassembler now supports the undocumented SLL instruction, and
also prints RST 30 as 'EXOS nn'
* added 'step over' button to the debugger; it is similar to 'step',
but when encountering any subroutine call or looping instructions,
it will continue program execution until the subroutine returns or
the loop is finished
* disassembly view address is automatically updated when the debugger
is opened by a watchpoint being triggered or using the step buttons;
the current tab is also remembered and not changed to 'general'
* new 't' debugger command for copying memory
* added limited (read-only) support for EPTE/TAPir format tape files
* fixed direct floppy disk access on Windows
* improved autodetection of disk geometry parameters; with a disk
image that contains a FAT filesystem, none of the parameters need to
be specified explicitly (all can be set to -1)
* added workaround for FLTK bug that resulted in the right shift key
being interpreted as left shift on Windows
* various minor improvements in the software video driver, such as
reduced aliasing when using a display resolution of 1152x864, and
slightly lower CPU usage with exact integer scaling ratios (i.e.
resolutions 384x288, 768x576, 1152x864, and 1536x1152 with the pixel
aspect ratio set to 1.0)
* when loading large ROM images, the GUI now automatically sets the
file name and offset for all segments
* minor bug fixes
Changes in version 2.0.0
------------------------
* removed Plus/4 emulation (moved to a separate plus4emu project at
https://github.com/istvan-v/plus4emu/, older versions are available
at http://sourceforge.net/projects/plus4emu/)
* implemented new video mode that resamples the video output to the
refresh rate of the monitor; enabling this allows smoother display
update at the expense of higher CPU usage and some latency in the
video output
* screenshots can be saved in 8-bit RLE compressed TGA format
* quick loading of clock frequency and timing configuration presets
with PageUp/PageDown keys (useful for switching between normal and
fast Z80 speed)
* virtual file I/O can be disabled in the machine configuration
* bug fixes in NICK emulation
* attempt to fix OpenGL crash that occurs on some machines
* added some hacks to the audio driver to reduce timing jitter on
Windows; this still needs improvements
* various minor bug fixes
Changes in version 2.0.0 beta1 (since version 1.6.1)
----------------------------------------------------
* graphical user interface using the FLTK library
* a GUI debugger with support for listing CPU registers, memory dump,
disassembly, setting watchpoints, and more
* new audio and video drivers with more features and improved quality
* new ROM module that implements a FILE: EXOS device for direct file
access
* improved tape emulation
* demo recording (snapshot and keyboard events stored in a file)
* external joystick emulation (using the numeric keypad)
* various internal code changes to allow for the emulation of multiple
machine types
* added Commodore Plus/4 emulator mode with high accuracy and support
for SID emulation, as well as 1541 and 1581 floppy drives