1 Changes since JPC-RR Release 8:
2 ===============================
3 - Add plain text version of manual.
4 - Add new hotkeys to startstoptest.
6 Changes from JPC-RR Release 7 to JPC-RR Release 8:
7 ==================================================
8 - Support CR, CRLF and NL line endings.
9 - Don't crash in PCControl on invalid ECI calls.
10 - Support memory read/write over ECI.
11 - Make various JRSR utility classes implement Closeable.
12 - Fix connector unsubscribing.
13 - Record rerecord count for savestates.
14 - Fix/Workaround VGA scrolling bug. Mario & Luigi now works.
15 - Fix PCSpeaker transition edges to be sharp.
16 - Optionally Load and default save relative event timing.
17 - Add plugin to display current time.
18 - Add crude raw streamdump to raw RGB converter.
19 - Replace rounddown resizer with Lanzcos resizer.
20 - Add raw audio stream to raw audio file converter.
21 - Add raw audio mixer.
22 - Add raw audio digital FIR/IIR filter.
23 - Implement micro-op 125 (PUSHA) in pmode.
24 - Support multiple resizing algorithms in rawtorgb
25 - Add movie length to time display.
26 - Force UTF-8 in compile scripts.
27 - Don't trucate stack traces if plugin instantiation throws
28 error or unknown exception.
30 Changes from JPC-RR Release 6 to JPC-RR Release 7:
31 ==================================================
32 - Mark that some fields are not saved.
33 - Refactor menus in PCControl.
34 - Refactor menus even more by adding profiles to menu manager.
35 - Use comboboxes instead of textboxes to prompt images.
36 - Give next event time when clock is processed.
37 - Support INT1 in real mode.
38 - Pretty-print time sequence values on PC stop.
39 - Support moving windows via external command interface.
40 - Add tools for manipulating video streams.
41 - Give reliable retracing signal from VGA.
42 - Add utility to perform image letter boxing.
43 - Try to backup savestate before overwriting.
44 - Add makefile for stream tools and add brief description for each.
45 - Refactor writing component encoding lines.
46 - Add ability to edit run authors from GUI.
47 - Improve exception reporting.
48 - Add ability to force load savestate as movie.
49 - Fix keyboard Pause/Printscreen timing.
51 Changes from JPC-RR Release 6 to JPC-RR Release 6.1:
52 ====================================================
53 - Fix event stream truncation.
55 Changes from JPC-RR Release 6.1 to JPC-RR Release 6.2:
56 ======================================================
57 - Fix reporting exceptions from dumpers.
58 - Don't crash when dumping CD-ROM images.
60 Changes from JPC-RR Release 5 to JPC-RR Release 6:
61 ==================================================
62 - Rearrange Snapshot menu.
63 - Make traps in interface independent from PC.
64 - Fix setting traps using external commands interface.
65 - Remove RunnerPlugin. External PC start/stop is via external commands interface.
66 - Get rid of image library index files.
67 - Input PC parameters via dialog.
68 - Remove notifyArguments().
69 - Give plugins via new command loop.
70 - Allow using external command interface from command loop.
71 - Obtain event modulo timing from callback, not from event itself.
72 - Add external command interface command to send an event.
73 - Implement support for disk switching.
74 - Support naming disks.
75 - Support autoexec scripts.
76 - Delete DiskImageChooser as unused.
77 - Support floppy write protect.
79 Changes from JPC-RR Release 4 to JPC-RR Release 5:
80 ==================================================
81 - Move classes to more logical places.
82 - A16/A32 doesn't control stack access size
83 - Allow PNG saving to occur in parallel to saving next frame.
84 - Add timebase data to audio blocks for time linearization.
85 - Synchronize shutdown of audio and video dumpers to shutdown of main PC
86 - Support variable framerate and splice audio segments properly.
87 - Add test module for audio dumping.
88 - Don't deadlock in PCRunner if savestate load fails.
89 - Pop up error dialog on unexpected exception.
90 - Add method to wait until all connector subscribers have released.
91 - Squash whitespace errors.
92 - Move dialog related code from JPCApplication to Misc.
93 - Support offsets in RAWAudioDumper
94 - Fix VirtualKeyboard shutdown deadlock
95 - Support raw format dumps in PNGDumper.
96 - Move PNG dumping to external utility and rename PNGDumper -> RAWVideoDumper.
97 - Optimize save and loadstate a bit.
98 - Show time taken by loadstate and savestate.
99 - Optimize loadstate by reading data out internal buffer.
100 - Optimize savestate by writing data to internal buffer.
101 - Display total savestate load/save time.
103 Changes from JPC-RR Release 3 to JPC-RR Release 4:
104 ==================================================
105 - Fix broken BIOS image making.
106 - Add comments sections to images and record tree info to comments.
107 Handy to know how to get the ID to match in case someone created the filesystem
109 - Collapse VirtualClock to Clock.
110 - Refactor FPU core to be inside FPU class.
111 - Merge real and protected mode FPU emulation code.
112 - Remvoe unneeded stuff from top-level FPU class.
113 - Refactor FPU emulation.
114 Support CPU without FPU and support EM, TS, MP and ET bits.
115 - Make FPU emulator optinal/configurable.
116 - Fix CLTS to reset CR0 bit 3, not CR3 bit 2.
117 - Make RTC update cycle to be 244 microseconds instead of 10 milliseconds.
118 - Fix PUSHx/POPx to respect SS size attribute in all modes.
119 - Cache SS size in real mode.
120 - Don't bomb out with uncaught exception if library is missing.
122 Changes from JPC-RR Release 2 to JPC-RR Release 3:
123 ==================================================
124 - Merge user manual and savestate docs, write devel docs and convert all that to Lyx.
125 - Try to support auto-init DMA (for soundcard).
126 - Update Changelog to include stuff before r1.
127 - Add external commands interface to control plugins from others
128 - Bump PNG counter from 6 digits to 12 so all movies can be dumped.
129 - Don't allow using scancodes 0, 84 and 198.
130 - Print usage on command line errors for ImageMaker.
132 Changes from JPC-RR Release 1 to JPC-RR Release 2:
133 ==================================================
134 - Optimize disk ID calculation
135 Optimize disk ID calculation by special-casing the handling of all-zero blocks in hash
136 plus doing the necessary modifications in order to exploit that special case. In case
137 of used space being small in comparison to total space, this cuts the time to compute
139 - Fix bug in assigning audio output IDs in presence of same module loaded multiple times
140 - Warn if audio input ID in raw audio dumper is invalid
142 Changes from JPC to JPC-RR Release 1:
143 =====================================
144 - Remove background compiler
145 One really doesn't need the nondeterminism JIT brings.
146 - Remove applet code and debugger
147 This is not going to run as applet and debugger isn't something I would want to keep
149 - Remove ethernet and serial port emulation
150 Multi-machine emulation is nightmare to make sync.
151 - Make TSC exact number of instructions executed, not guess based on frequency
152 - Synchronize all timing to CPU
153 - Replace all block device types with GenericBlockDevice
154 GenericBlockDevice can handle all types of block backed by DiskImage, and DiskImage
155 can handle COW (Copy-On-Write).
156 - Don't allow save/loadstate on running PC
157 Savestating on running PC is racy and produces unusable savestate.
158 - Variable CPU speed/memory size/BIOS image support
159 - Add VGA retrace start/stop traps and timed traps
160 This is frame / time advance mecanism.
161 - Textual status dump
162 Textual status dump is powerful tool when debugging desyncs.
163 - Implement new savestate mechanism and remove the old
164 The old mechanism just didn't cut it. New mechanism is brute-force but works.
165 - Video dumping support
166 Support dumping video to series of PNG files
167 - Add tools for making image files
169 Needed images are searched via image library.
170 - Handle triple faults
171 Reboot PC on triple fault instead of crashing the emulator core.
172 - Enable start/stop as apporiate
173 - Don't hang the UI during savestate and related operations
174 - Remove mouse input support
175 To be reintroduced later
176 - Create PC from GUI, not before it
177 - Allow fast exits out of CPU emulator
178 - Fix the "11 micro-ops" bug.
179 - Dedicated timer priority queue class
180 The standard one from java.util.<foo> just isn't deterministic enough.
181 - Use stderr instead of logger
182 Makes nicer-looking console output.
183 - Support dumping emulated RAM
184 - Plugins and modules support
185 These are for future extensions, so devices can be added without breaking timing.
186 - Move previous JPCApplication/PCMonitor code to plugins
187 - Display errors as dialogs if GUI available, on console if not
188 - Event recording/playback code
189 - Audio dumping support + PCSpeaker audio output support