-
Notifications
You must be signed in to change notification settings - Fork 5
/
release.txt
451 lines (305 loc) · 19.5 KB
/
release.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
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
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
====================
VirtualT Release.txt
====================
This file lists the changes and additions for each of the versions of VirtualT since v0.3
=====================
v1.7 4/7/2014
=====================
1. Fixed bug with deleting a .CO file where the deletion length wasn't including
the 6-byte CO header, causing memory corruption.
2. Fixed the IDE Editor's undo function.
3. Made the IDE's undo local to each file vs. being a global entity. This allows
undo to be specific to the file being edited.
4. Fixed a bug in the linker to detect link addresses that are out of range.
5. Added TDock Video emulation support (and TDock I/O general processing).
6. Started adding documentation for the IDE / Assembler / Linker.
7. Updated the GNUMakefile to include libjpeg and libpng.
8. Added support for Steve Adolph's QUAD Model 100 128K Banked RAM module.
9. Added right-click menu support to easily change QUAD bank when enabled.
10. Updated linker so it back annotates listing files with actual addresses
determined during the link step.
11. Made updates to the assembler to push unresolved equations into the object
file and added an equation evaluation function to the linker. This allows
the linker to resolve addresses that consist of a relocatable address
location (i.e. label) embedded in an equation, such as Label+12h.
12. Added support in Linker Script for segment addresses based on known symbol
values (e.g. from an absolute address in an ASEG) and also using simple
equations involving basic math (+ - / *).
13. Modified the IDE's Find Dialog so that when it doesn't find the requested
text, it displays the error message in the Find Dialog instead of using
the FLTK fl_alert routine. Using the fl_alert causes the main VirtualT
emulation window to come into focus instead of the IDE window, plus showing
the error in the Find Dialog box provides opportunity to modify the search.
14. Modified the non-T200 LCD emulation routines when in 2.4Mhz emulaiton mode
to more closely reflect the actual delay introduced by the LCD hardware.
15. Updated IDE Tab control to deal with more tabs than can fit on the window.
Tabs are now clipped and a "More Files" icon is displayed to allow selection
of off-screen open file windows.
16. Added linker script PRELINK and POSTLINK processing to allow defining symbols
based on #if / #else / #endif C preprocessor style statements. Also added
ability to display link messages using "echo" for displaying things like
program sizes and addresses, etc.
17. Added support for NUM lock key so T200 Calculator will work.
====================
v1.6 April 24, 2014
====================
1. Fixed issue with remote interface simulated keystokes where the keys wouldn't
always be regconized. There was a race condition between the remote thread
and the simulation thread.
2. Completed the 8085 relocating linker!! This was the primary reason for this
release in fact. Many, many changes to get to this point.
3. Modified the IDE with new tabs for selecting the file to edit. The old tabs used
the standard FLTK tab control and were really ugly, plus had an issue with tab
width calculations with regard to mouse presses to select the tab.
4. Updated GNUmakefile to auto-generate dependencies and use wildcard search for
selecting source files vs. specifying everything manually.
5. Added feature to FX80 printer emulation to perform auto word-wrap selectable via
the printer setup page.
6. Modified CPU speed indicator to show 2 decimal places precision for speeds less than
10 MHz.
7. Made the FX80 Virtual Paper display resizeable.
8. MAJOR modifications to CPU Registers window to implement program tracing with
scrolling, configurable font sizes and trace depths, auto-redraw vs manual
redraw button, saving of breakpoints and window position when VirtualT terminates,
resizeable window, saving trace data to a file, keyboard shortcuts.
9. Added saving and restoring of opened windows when VirtualT is shutdown and restarted.
10. Now reports error if REX / ReMem memory cannot be loaded / saved.
11. Updated REX emulation to support REX3 for PC8201 state machine changes.
12. Created a Watch Variables Widget and added it to the Memory Editor Window. This
will also be used in the IDE debugger.
13. Added options to Memory Editor Window to use black background with color coded text
and the ability to set the font size.
14. Started converting the preferences file to use preference groups to help organize
the growing list of entries in the file.
15. Completed the "-nogui" option under Linux and added console interface control. This
provides an identical interface to the existing socket / telnet control interface.
16. Added emulated NADSBox (minimal implementation so far) and controls in Peripheral
Setup to connect it to the serial port.
17. Added TPDD Server (NADSBox) packet log viewer window to Tools menu.
18. Added support for NEC PC-8300 emulation.
19. Started adding support to Disassembler window to disassemble things other than the
main ROM.
20. Added color syntax hilighting, Load and Save, and Find operations to Disassembler window.
21. Modified serial.c to map 75 baud = 57600 and 110 baud = 115200.
====================
v1.5 July 9th, 2011
====================
1. Added REX memory module emulation.
2. Added ability to set custome LCD / Bezel colors.
3. Updated makefile to compile properly under Mac OSX. The FLTK library must be built
separately and installed (via 'make install') prior to compiling VirtualT
4. Added new File Browse dialog boxes with nicer look and more features.
5. Modified the directory structure organization under Mac OSX to be the same as the
Linux and Windows versions:
Working Dir
|
+--M10
+--M100
+--M102
+--ROMs
etc.
6. Updated emulation timing control to provide more accurate timing to support sound
generation routines.
7. Added sound support under Windows. This is still very early stage and needs work as
the sound is "choppy". This is caused by rapid changes to the sound that occur during
the middle of a "sound buffer" being played. The code needs to be updated to detect
these changes and deal with already-queued buffers.
8. Added mouse detection events to main window to allow point and click, double click,
and right-click actions.
9. Reworked Assembler / IDE interface. IDE doesn't seem to work under OSX yet.
10. Completed the Assembler and have about 90% of the linker done. The assembler will
actually geneate output files given a single input file.
11. Added Socket Interface configuration dialog box.
12. Added telnet interface mode to socket interface.
13. Added a shortcut to the socket interface to allow setting register values using a simple
"a=4", "hl=12h" syntax.
14. Added detection of hex values via trailing 'H' or 'h' to socket interface.
===============================
v1.4 Never officially released
===============================
1. The COM data log on the Peripherals Window was not allowing selection of data to show
time delta between 2 bytes when the top line in the window was not the first line of
data. This has been corrected. Also The last line of data would not be displayed if
the number of lines that would fit in the window was odd. This has also been fixed.
2. Fixed a bug with cold boot in T200 emulation mode.
3. Added Model T File Viewer window. This window allows selection of files in the Model T
directory and provides details regarding the storage location for the directory entry
and the actual file contents. Also provides a view of the file's contents.
4. Added fullscreen display mode with automatic adjustment of multiplication factor. This
feature was added to support sub-notbook platforms with smaller display resolutions that
cannot display full window borders well.
5. Added option to reload the Option ROM image. This is useful when developing a new OptROM
image and using VirtualT for debugging.
6. Modified the Memory Editor's Load and Save features so they properly address the absolute
memory addresses to RAM vs. relative offsets from the beginning RAM address.
7. Fixed socket interface break on memory write function so an LXI H,XXXX doesn't cause a
breakpoint at address XXXX.
8. Added socket interface shortcuts for the key command (k) and for the "enter" keyword (cr).
9. Modified hexadecimal input for GUI and socket interfaces to accept HEX formats using the
"04h" notation or for values that contain 'a' through 'f', simply using "5d" notation.
It is case insensitive for both the hex values and 'H'.
10. Fixed timing race condition on some platforms with the socket interface 'key' command
where the first keystroke would sometimes be dropped.
11. Modified remote socket interface to support telnet character based transfer and line endings.
Added "-t" comand line option to enable telnet protocol.
12. Modified MacOSX working directory detection and ROM installation to automatically detect
the location of the ROMs directory within path of the application bundle.
13. Modified the MacOSX maintenance update timing to provide faster execution speed during
FLTK drawing updates to the LCD.
=======================
v1.3 September 24 2008
=======================
1. Fixed a bug with the Remem Overrides Rampac checkbox where it wouldn't properly override
the Rampac operations.
2. Fixed a bug when changing from Rampac Only to ReMem + Rampac memory mode where the Rampac
RAM file was not being saved properly.
3. Fixed issue while loading .BA files from the "Load from HD" feature. During the relocation
of the "unsaved BASIC program", .DO and .CO files could potentially be corrupted due to
an error in memory pointer calculations.
4. Added features to both the "CPU Registers" and the socket interface debugger to allow
stepping over function call (CALL, CZ, CNZ, etc.) and RST statements. Performing
multiple "step over" operations currently does not properly break at any defined breakpoints.
5. Added a feature to both the "CPU Registers" and socket interface debuggers to enable /
disable debugging if ISRs (Interrupt Service Routines). If the ISR debugging is disabled,
the debugger will not stop / halt in the middle of an ISR, and performing single step or
step over functions will not "step into" an ISR. The ISR will complete and the single
step function will return control after the RET, RZ, etc. instruction has executed. Also
added a shortcut key for single stepping ("s") in the socket interface.
6. Fixed a bug with Tandy 200 serial port TX_EMPTY signal handling that caused high-speed
transfers to overwrite data prior to being sent to the serial port.
7. Fixed an issue with printer initialization when opening the "Peripherals" window that could
cause it to crash the program sometimes.
8. Fixed a race condition with socket port creation vs. socket interface initialization that
would frequently cause the socket creation to fail under Windows.
9. Fixed error displaying COM port list from the COM Port Setup tab under the "Host Port"
selection. The list was incorrectly displaying multiple COM ports as a single entry.
10. Added support for setting the time in the clock chip for all models. Also added a tab on
the "Peripheral Setup" window for configuring the clock operation. Emulated "time" can
now be different than the host's system time.
11. Fixed the "Peripheral Setup" Ok button so it doesn't improperly give an error message that
the COM port could not be opened, or rather, re-opened.
==============================
v1.2 Never Offically released
==============================
===================
v1.1 April 16 2008
===================
1. Fixed a bug with Rampac Only emulation. When this Memory Configuration was weleted,
the I/O operations were returning without performing any action because they were
checking for a NULL ReMem RAM pointer.
2. Fixed issue with Rampac and Base Memory file saving when switching the memory configurtion
from Rampac to ReMem + Rampac mode.
3. Added option to control whether ReMem's "Rampac Emulation" should override the Rampac
emulation mode. When ReMem + Rampac mode is selected, ReMem can be configured to emulate
the Rampac access method and write to ReMem memory space. The Memory Setup dialog now
provides checkbox to control if Rampac accesses are directed to ReMem memory space or to
Rampac memory space during this condition.
4. Added LPT Device emulation support and configuration options on the Peripheral Setup dialog.
Added printer icon to main window to show printer status and provide a Popup menu
for printer control.
5. Added Emulated printer support for printing to Files and Host Port devices.
6. Added Epson FX-80 printer emulation with output to different "Papers". Current papers
include Postscript files, "Virtual Paper" (FLTK Window), Windows Printer, and Linux 'lpr'
command line printing.
7. Fixed issue with default (cold boot) year setting on M10 and PC-8201a models.
8. Added an option to the COM emulation to loop back DTR to DSR and CTS to RTS to emulate a
"loopback" cable connected to the serial port. This option can be enabled from the COM
setup tab.
9. Fixed issue with Serial emulation on Linux in Base Memory emulation mode. Received bytes
were not trigginering the INT6.5 interrupt.
10. Fixed bug when cancelling file save operation that caused the program to crash.
11. Added support for Kyocera KC85 emulation.
12. Fixed bug with "Make OptROM Read/Write" option to save write operations between
bank switch operations.
13. Added FLASH Program / Erase state machine to ReMem emulation. State Machine supports
Programming, Chip and Sector Erase, CFI Query, Autoselect, and Reset commands. Does
not support sector protection.
======================
v1.0 February 10 2008
======================
1. Fixed ReMem emulation in both Normal and MMU modes. Memory mapping now consistent with
an actual ReMem. Emulation supports only the latest ReMem FW version (64, 65, 66). In
MMU mode, both sector access and direct memory access work properly. Also fixed some bugs
with the the Rampac emulation.
2. Added configuration page for ReMem Map display and setup.
3. Added support for M10 Emulation.
4. Added breakpoint capability to CPURegs window. Up to 4 breakpoints can be specified and
enabled or disabled.
5. Added Remote control interface via sockets. The socket interface is enabled via a command
line switch to specify the socket port, such as "virtualt -p 20000". The protocol is
simple text command and response with async text messages sent for breakpoint and otional
screen output messages. See Help for full details.
6. Added serial I/O support under Linux. The current implementation has a few "hard coded"
port names in the port list, but allows the user to specify an "Other Host Port" name to
specify the serial device.
7. Modified the main emulatin loop so it uses fewer CPU cycles. Previous versions consumed
up to 100% CPU cycles causing heat issues and reduced battery life on laptops. Added
new Speed menu selections to allow finer setting of emulation speed vs. CPU utilization.
8. Fixed a bug with the emulation of interrupts and with the extended opcode DSUB flags.
9. Added a vt_client project / application to communicate with VirtualT socket interface
using a very simple command line interface.
10. Added a "Cold Boot" option to the Emulation menu.
11. Added content to the Help system.
12. Transitioned the Windows development environment to Visual Studio 2005. The project files
are no longer compatible with Visual Studio 6.
13. Added a feature to patch the ROM on load to show VirtualT version in the MENU. This can be
disabled in the "Memory Options" menu.
14. Added auto detection and creation of missing emulation directories. For new installations,
all emulation directories will be created and ROM images copied from the ROMs directory.
15. Patched all ROM images with Y2K fix.
===================
v0.8 May 11 2006
===================
1. Added the beginnings of an Integrated Development Environment. The IDE included a project
manager that supports "Tree" browsing of source files and a project settings dialog for
specifying assember and linker options. Also has a multi-window edit capability using a
very simple text editor. The editor will be expanded in a future release and will also
include features for source level debugging, such as display of breakpoints and current
execution location.
2. Added an 8085 assembler, but no linker. The assembler gernerates ELF format .obj output
files for use with the linker to be released in a later version. The assembler is
basically useless without the assembler, but is included in the project.
3. Added the beginnings of the Help system, although no real help info available.
4. Maybe other bug fixes but I have forgotten because I am writing this 1 year after release.
===================
v0.7 April 20 2006
===================
1. Fixed memory access issue in M100/M102 modes when not in ReMem emulation mode.
===================
v0.6 April 17 2006
===================
1. Added CPU Registers window to the Tools menu. This window allows viewing / modifying of
8085 CPU registers in addition to simple stop/step/run operations. It is not intended as
a full blown debugger, but rather as a tool to be used along with a debugger to be added
later.
2. Completed ReMem emulation support. VirtualT emulates rev 4 of the ReMem firmware. All
features of ReMem are emulated inclulding Rampac support. See the ReMem documentation for
operation of the ReMem emulation.
3. Added Load and Save operations to the Memory Editor Window.
4. Added MSPLAN to the T200 ROM and support for running option ROMs from T200 emulation mode.
5. Changed the name of this file from readme.txt to release.txt.
===================
v0.4 August 3 2005
===================
1. Added a directory structure to deal with multiple emulation platforms. Each model has its
own directory. Each directory contains the ROM and RAM files for emulation of that specific
model. This directory structure must be maintained since the emulator searches for the
ROM file using this tree structure. The directories are:
<root>
|
+-- M100
+-- M102
+-- T200
+-- PC8201
2. Option ROMs are now loaded based on the model being emulated. Old Option ROM selection
will be lost and must be re-selected.
3. Support for the M102, T200, and PC8201 have been added. Loading and saving BASIC files
for the PC8201 will cause an error that will "crash" the emulation and dump the RAM contents.
The BASIC tokens for the NEC machines are different than the Tandy machines and the tokenizer
has not been updated yet.
4. Partial support for ReMem and Rampac have been added under the "Emulation, Memory Options"
menu item. Emulation is not fully supported yet and selecting anything but "Base Memory"
will cause unexpected results.
5. A HEX memory editor has been added in the "Tools, Memory Editor" menu item. The editor is
fully functional except the "Load" and "Save" options under the file menu.
6. The "Tools, Disassembler" has been updated to disassemble the M102, T200, and PC8201 ROMS.