Add VCS links
[debian-dgen.git] / dz80 / whatsnew.txt
blobb99e21290830c5550f7610f997137f4b927eb1b9
1 ================================================================================
2                                dZ80 What's New?
3 ================================================================================
5 ********************************************************************************
7   E-mail: dz80@inkland.org
8       WWW: http://www.inkland.org
9           Macintosh dZ80: http://www.hinton.demon.co.uk/archive/macide.html
11 ********************************************************************************
14 v2.0 - 9th March, 2002
15 ----------------------
17 Additions and Changes to all versions
19         Please note the change of email address and URL at the top of this
20         document.
22         dZ80 now has scripting support. Writing a script for dZ80 allows you
23         to override, or simply modify dZ80's existing handling of opcodes.
24         Using a script, an opcode can be trapped before and/or after dZ80 has
25         processed it. This allows, for example, machine dependant "RST"
26         handling, which is different on every Z80-based machine. A Sinclair
27         ZX Spectrum script is supplied as an example. The scripting language
28         used is Lua 4.0, and its Web page at http://www.lua.org contains all
29         the tutorials and help for the language, although for simple jobs,
30         hacking the supplied example script will probably do :)
32         See Section 3.0 in the supplied dz80.txt file for the details on this
33         powerful new feature.
34         
35         Added configuration file support (again, courtesy of Lua!). When dZ80
36         runs, it attempts to load and execute a dz80.ini file. The Windows GUI
37         version of dZ80 continues to use the Windows registry to load and save
38         its settings, but if there's a dz80.ini in the same folder when a
39         binary file is loaded, you will be prompted if you want to import the
40         dz80.ini settings.
42         A special case number prefix "{" has been added. It translates to a
43         "0" if the number would otherwise start with a non-numeric value:
45             {1234 = 1234 (starts with a numeric character)
46             {ffff = 0ffff (starts with a non-numeric character)
48         You can now control whether you have the relative displacement
49         comments or not in the disassembly. By default they're switched off.
51         Single instruction disassemblies (DISFLAG_SINGLE) are now much faster.
53         Numerous code clean-ups and minor optimisations.
55         Added Raffaele Sena's skip.c to the source code download. Skip is
56         now documented in dZ80.txt.
58 Additions and Changes to the command line versions
60         -j command line option to enable relative displacement comments.
62         -k= command line option to specify a script to load and run.
64         -v show version information
66         Special case switch - "!". If the pling is placed at the start of
67         the command line, it prevents dZ80 from automatically loading
68         dz80.ini. E.g. dz80 ! file.bin file.asm
70 Additions and Changes to the Windows version
72         A dZ80 output window has been added to the main GUI. This displays
73         the disassembly progress and summary as well as any error messages
74         that may appear.
76         Added support for Windows XP themes.
78         Improved options page.
80         Improved context help.
82         Miscellaneous minor improvements throughout.
84         Windows console version of dZ80 (dz80c.exe) is now included in the
85         package. Note that, as with all command-line versions of dZ80,
86         dz80c.exe will use dz80.ini to load its settings and not the
87         dZ80 for Windows settings which are stored in the registry.
89 Bug Fixes (all versions)
91         The (DISFLAG_SINGLE | DISFLAG_UPPER) flag combination now works
92         correctly when calling dZ80_Disassemble()
95 v1.50 -  10th February, 2001
96 ----------------------------
98 Additions and Changes to all versions
100         dZ80's default radix can now be selected from octal, decimal or hex.
101         Please note that the opcode dump remains in hex regardless of the
102         radix chosen, because it becomes pretty ugly otherwise.
104         You can override dZ80's default number format prefix and suffixes.
105         E.g. you could change dz80's default hex format from "$1234" to
106         "1234h", "0x1234", etc.
107         
108         The directive for define byte can be changed - default is "db"
110         The character to mark the start of a comment can be changed - default is a semicolon.
112         Skipped opcode bytes are now dumped individually as "db's"
114         Rewritten the references feature:
116          + Every instruction is tracked, rather than just the first one
118          + The Z80 instruction that generated the reference is shown in
119            the listing.
121          + Items are sorted by address / port.
123          + It's no longer necessary to specify a "max references" amount.
125         "org (start address)" now precedes labelled disassemblies.
127         Added support for the Z80-derivative used in the Gameboy handhelds.
129         The dZ80 source now contains a function to disassemble a single
130         instruction. This makes it easy to drop the dZ80 source into
131         your own programs, and instantly get a Z80/Z180/Z80GB disassembler.
132         Check out the example.c file in the dZ80 source code download
133         (http://www.inkland.org/dz80)
135         Source code change: dZ80_Disassemble() is now thread-safe.
136         
137 Additions and Changes to the command line versions
138         
139         dZ80.exe is now a 32-bit DOS executable (no more dz80-32.exe)
141         No more 16-bit DOS version of dZ80 - it's gone on a permanent
142         vacation :) Anyone requiring a 16-bit version of the disassembler can
143         download dZ80 1.31 from http://www.inkland.org/dz80
145         Parameters for the command line options can be given in hex or
146         octal by using the C style prefixes. E.g. dz80 /s=0x8000
148         New command line switches:
149          
150                 -d allows you to override dZ80's default of "db" to represent
151                 define-byte. e.g. -d="defb"
152         
153                 -f allows you to override dZ80's default comment marker ("; ")
154                 e.g. -f="# "
155         
156                 -i allows you to select the radix for dZ80's output.
157                         -i=16 = select hexadecimal (default)
158                         -i=10 = select decimal
159                         -i=8  = select octal
160         
161                 -p and -y allow you to specify a prefix and suffix for all 
162                 numbers displayed by dZ80. e.g. -p="0x" -y="" or -p="" -y="h"
163         
164                 -z selects the cpu type.
165                         -z=Z80 selects Z80 (default)
166                         -z=Z180 selects the Z180
167                         -z=Z80GB selects the Gameboy's Z80 derivative
169 Additions and Changes to the Windows version
171         The last file disassembled is automatically remembered and selected
172         in new sessions.
173         
174         The details of the last disassembly (for the current session) are
175         shown.
177         The default button on the main dialog is now "Disassemble" (just load dZ80 and hit enter
178         if you're working on the same source file!)
180         You can enter C style hex and octal numbers in the options screen.
181         
182 Bug Fixes (all versions)
184         Disassembly comments are no longer affected by the upper or lowercase
185         options.
187         Fixed comments which were slightly out of place if on the same line as
188         a label.
190         Fixed the 65,535 byte limit of the "skip file" bytes option, so you
191         can finally disassemble files > 64K!
192         
194 v1.31 - 28th February, 1998. The Raffaele Sena Release ;-)
195 ----------------------------------------------------------
197 Thanks to Raffaele Sena for reporting these bugs, and for providing
198 the fixes, too! I could get used to this :)
200 Additions and Changes to all versions:
202         Removed references to the two non-ANSI functions "strlwr" and "strupr"
203         from the source code.
204         
205 Bug Fixes:
207         "add ix,ix" (or "iy") was being disassembled as "add ix,hl"
209         If using an Opcode Map file, dZ80 would attempt to close the file
210         twice, resulting in a crash when compiled for linux.
211         Note: this problem didn't affect the DOS and Win95 versions.
214 v1.30 - 29th November, 1997
215 ---------------------------
217 Additions and Changes to all versions:
219         Added support for the Zilog Z180 processor, which fills some of the
220         holes in the Z80's EDxx opcode range. Thanks to Bruno G. for the
221         information on the Z180.
223         New command line swich /Z to exclude Z180 instructions from the
224         disassembly (they're treated as unknown Z80 ones instead).
226         To make listings clearer, blank lines are now automatically inserted
227         after a "ret", "reti", etc. This new feature can be disabled with
228         the /V command line option.
230         The source code for the command line version of dZ80 is freely available
231         from the dZ80 web site at http://www.inkland.org
233 Additions and Changes to the Windows version:
235         The program that dZ80 launches to view the disassembly with can now be
236         selected. It defaults to using Notepad.
238         The source file is now re-loaded for every disassembly, so that dZ80
239         can be left running, the source file can be updated and dZ80 will
240         disassemble the updated source file without having to re-select the
241         source to re-load it.
243         Made some cosmetic changes.
245 Bug Fixes:
247         The Windows version (dZ80w) was not using the "source file starts
248         at Z80 address" option correctly.
251 v1.21 - 24th August, 1997
252 -------------------------
254 Additions and Changes:
256         Changed the default install folder to "Program Files\Inkland\dZ80" to
257         keep everything from Inkland in one place. If you're upgrading from
258         an earlier version of dZ80 for Windows 95, please uninstall the older
259         version first.
261         When performing a 2-pass (labelled) disassembly, addresses that are
262         referenced are now referred to with the label, rather than the address.
263         Easier to show than describe! E.g.
265           l0000: inc a          will now disassemble as:  l0000: inc a
266                  jr  nz,#0000                                    jr  nz,l0000
268 Bug Fixes:
270         None
273 v1.20a - 29th April, 1997
274 -------------------------
276         The installer was rebuilt with a new version of the install builder.
277         This fixes problems with the previous installer which didn't work
278         correctly on NT 4.0
280         Recompiled dZ80 with VC++ 5.0, for better performance.
283 v1.20 - 20th April, 1997
284 ------------------------
286         Initial public release.
288         This program shares the same disassembly engine as its DOS command-
289         line counterpart. That's why this first release of dZ80 for Windows 95
290         is already at v1.20!
293 v1.11 - 12th January, 1997
294 --------------------------
296 Additions and Changes:
298         Modified the source code to be portable (i.e. separated the
299         nasty 16-bit DOS bit).
301         dZ80 now comes in two flavours: "dz80" the original 16-bit version
302         and "dz80-32" a 32-bit version, which works significantly faster.
304         The source code for dZ80 is now available for porting to another
305         platform. If you wish to convert, e-mail me at
306         dz80@inkland.org stating which platform you're wanting to
307         convert it to, and I'll send you the source.
309 Bug Fixes:
311         None - really! :)
314 v1.10 - 14th December, 1996
315 ---------------------------
317 Additions and Changes:
319         Added all known undocumented ED opcodes and also the
320         "Super Loader Trap" pseudo opcode ED FB (used by some Sinclair
321         Spectrum emulator snapshot files).
323         Added support for opcode map files. This feature has been tested with
324         Gerton Lunter's "Z80" Sinclair Spectrum Emulator map files. See the
325         DZ80.TXT file (after installation) for information on the format of
326         these files. A small demonstraton of this feature is also supplied.
328         dZ80 now comes supplied with a sample Sinclair Spectrum snapshot and
329         opcode map file.
331         Made some minor optimisations.
333         All warnings and errors are now displayed via "stderr" which means
334         that they will be visible, even if dZ80's output is redirected.
336         Added a /q (quiet) command line option. It instructs dZ80 to only
337         display the disassembly and no other information.
339 Bug Fixes:
341         Fixed a problem with disassembling opcodes EDB8 to EDBB.
343         Fixed a problem with the opcodes 0x22 "ld (nn),hl" and 0x33
344         "ld (nn),a", which could sometimes be disassembled as the other.
347 v1.00 - 19th November, 1996
348 ---------------------------
350         Initial public release.