ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/Frodo4/Docs/history.html
Revision: 1.3
Committed: 2010-04-25T11:52:11Z (13 years, 11 months ago) by cebix
Content type: text/html
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +18 -0 lines
Log Message:
documentation update

File Contents

# Content
1 <HTML>
2 <HEAD>
3 <TITLE>History</TITLE>
4 </HEAD>
5 <BODY>
6
7 <H1>Revision history</H1>
8
9 <CITE>
10 "Those days, the Third Age of Middle-earth,<BR>
11 are now long past, and the shape of all lands<BR>
12 has been changed."
13 </CITE>
14
15 <HR>
16
17 This emulator started as a player routine for C64 music on the Amiga.
18 Versions V1.x were written in 68K assembly language, versions V2.x in a mix
19 of 68K assembly and C. V3.x/V4.x are portable versions written in C++.<P>
20
21 <H3>V1.x/V2.x</H3>
22 <UL>
23 <LI>Amiga 68K versions
24 </UL>
25
26 <H3>V3.0</H3>
27 <UL>
28 <LI>First release of BeOS/Unix version, features processor-level 1541
29 emulation and built-in SID emulation
30 </UL>
31
32 <H3>V3.0a</H3>
33 <UL>
34 <LI>Implemented SID test bits
35 <LI>Combined SID waveforms respect pulse width
36 <LI>Corrected idle state graphics display
37 <LI>Processor-level 1541 emulation respects .d64 error info
38 <LI>CPU emulation optimized (6510 and 6502 split)
39 <LI>VIC emulation optimized (raster counter in local variable in EmulateLine())
40 <LI>BeOS: Now exiting the audio subscriber with ExitStream(TRUE)
41 <LI>Unix: Fixed missing thread_func() declaration
42 <LI>Unix: getcwd(AppDirPath) was missing in main_x.i
43 <LI>Unix: Speed limiter works
44 </UL>
45
46 <H3>V3.0b</H3>
47 <UL>
48 <LI>Implemented REU emulation
49 <LI>Formatting disks with ID possible under processor-level 1541 emulation
50 <LI>Corrected and optimized SID waveform/envelope calculation (signed arithmetic)
51 <LI>Corrected idle state display again (ECM text)
52 <LI>1541 D64 mode ignores drive numbers when opening the directory
53 <LI>Processor-level 1541 emulation deactivates when idle
54 <LI>BeOS: Sound output quality is now 16 bits
55 <LI>Unix: Quits more cleanly, reactivates key repeat
56 <LI>Unix: Fixed alignment problem with text_chunky_buf in VIC.h
57 </UL>
58
59 <H3>V3.0c</H3>
60 <UL>
61 <LI>1541 DIR mode can load directory with "$0"
62 <LI>Rearranged the CPU code (more macros, less inline functions)
63 <LI>SID envelope generators rewritten, envelopes are now recalculated for every sample
64 <LI>SID calc_buffer function now takes pointer to WORD buffer
65 <LI>Unix: Sound for Linux
66 <LI>Unix: Prefs window implemented (needs Tcl/Tk)
67 <LI>Unix: Corrected x64 disk image detection on little-endian systems
68 <LI>Unix: SVGAlib support works again, accesses frame buffer directly if possible
69 <LI>Unix: Added support for SHM under X11
70 </UL>
71
72 <H3>V3.0d</H3>
73 <UL>
74 <LI>SID filter emulation implemented
75 <LI>SID master volume setting works again
76 <LI>Flags are recalculated in MOS6526::SetState()
77 <LI>Changed CBOOL-&gt;bool in some places
78 <LI>Fixed bug with char_in in MOS6510::new_config()
79 <LI>BeOS: Emulation thread priority lowered
80 <LI>Unix: Some changes for DEC Alpha
81 <LI>Unix: Joystick support for Linux
82 </UL>
83
84 <H3>V3.0e</H3>
85 <UL>
86 <LI>Removed the CBOOL data type
87 <LI>Unix: Sound for HP-UX
88 <LI>Unix: Keyboard layout matches the picture in the docs more closely
89 <LI>Unix: Diagonal directions of keypad joystick emulation work
90 <LI>Unix: +/- on numerical keypad modifies SkipFrames
91 <LI>Unix: F9 invokes SAM
92 <LI>Unix: Drive LEDs and speedometer implemented
93 <LI>Unix: Some changes to the GUI
94 <LI>Unix: Random number generator is initialized
95 <LI>Unix: Name of prefs file can be given as an argument
96 <LI>Unix: Calls XFlush() and XSync() in C64Display::Update()
97 </UL>
98
99 <H3>V3.0f</H3>
100 <UL>
101 <LI>Improved DIR/D64 drive reset, resetting the C64 resets the drives
102 <LI>Implemented 'G' command for DIR/D64 drives
103 <LI>Corrected translation of 0xc1..0xda characters in conv_from_64()
104 <LI>BeOS: Implemented smart "Insert next disk" menu item
105 <LI>Unix: Improved the speedometer/LED bar
106 <LI>Unix: Self-calibrating joystick routines
107 <LI>Unix: No need to enter path of 'wish' in TkGui.tcl
108 </UL>
109
110 <H3>V3.0g</H3>
111 <UL>
112 <LI>New T64/LYNX mode for 1541 emulation
113 <LI>1541fs.cpp/match() used to treat the pattern "foo" as "foo*"
114 <LI>1541 DIR mode uses tmpfile() for opening temporary directory files
115 <LI>1541 D64 mode allows wildcards for selective directory reading
116 <LI>Increased compatibility of processor-level 1541 emulation in various places (C64&lt;-&gt;1541 communication, VIA registers, memory map, disk change flag)
117 <LI>Inlined MOS6526::EmulateLine() and some small public functions of MOS6502_1541
118 <LI>New prefs option to enable/disable SID filter emulation
119 <LI>Joystick calibration is reset when joystick options change
120 <LI>BeOS: Self-calibrating joystick routines
121 </UL>
122
123 <H3>V3.0h</H3>
124 <UL>
125 <LI>Implemented SID notch filter, better resonance frequency calculation
126 <LI>Fixed bug with SID filter option
127 <LI>CIA timer B one-shot mode stops timer when counting undeflows of timer A
128 <LI>Implemented lightpen trigger
129 <LI>BeOS: Fixed for BeOS DR8, improved the GUI a bit
130 <LI>Unix: Some fixes to the TkGui (T64, SIDFilters, removed speed display)
131 <LI>Unix: Main window no longer resizable
132 <LI>Unix: SVGALib support works again
133 </UL>
134
135 <H3>V3.1</H3>
136 <UL>
137 <LI>BeOS: Joysticks work again
138 </UL>
139
140 <H3>V3.1a</H3>
141 <UL>
142 <LI>Frodo SC ported
143 <LI>Processor-level 1541 emulation supports reading GCR data, removed the faked job loop
144 <LI>Corrected ISB, RRA, SBX and SHA instructions
145 <LI>The last line of Y expanded sprites wasn't drawn
146 <LI>Light pen registers work
147 <LI>Small fixes to 1541d64/1541t64
148 <LI>CIA 2 PRA write: IEC lines respect DDRA
149 <LI>Better triangle waveform (12 bits)
150 <LI>SID emulation can play sampled sounds
151 <LI>New "Ignore SID Volume" prefs item for better sample playing
152 <LI>'*' on numerical keypad toggles speed limiter
153 <LI>BeOS: '/' on numerical keypad toggles processor-level 1541 emulation
154 <LI>BeOS: Safer quitting
155 <LI>BeOS: Option to use GameKit (screen)
156 <LI>BeOS: Replaced srand(system_time()) with srand(real_time_clock())
157 <LI>Unix: Sun makefile
158 </UL>
159
160 <H3>V3.1b</H3>
161 <UL>
162 <LI>Corrected SID sustain behaviour
163 <LI>Reading from write-only SID registers returns the last byte written to the SID
164 <LI>No more distortions when playing samples
165 <LI>Removed the "Ignore SID Volume" prefs item again
166 <LI>Combined SID waveforms now sampled from a 6581R4
167 <LI>Improved 1541 VIA timer operation
168 <LI>Fixed bug in 1541 head movement
169 <LI>Raster IRQs can be triggered by writing to $d011/$d012
170 <LI>Some changes for the MacOS port
171 <LI>Included autoconf stuff from Bernd
172 <LI>Frodo SC: Fixed some CIA timer bugs
173 </UL>
174
175 <H3>V3.1c</H3>
176 <UL>
177 <LI>Ported to AmigaOS
178 <LI>Fixed bug in IEC::Reset()
179 <LI>Fixed bug when writing to SID registers >24
180 <LI>The SID noise waveform should now sound the same on all platforms
181 <LI>Removed all calls to tolower() in SAM.cpp because of possible side-effects if tolower() is a macro
182 <LI>Drive LEDs are only updated once per frame
183 <LI>.d64/.t64 files are opened with read permissions only
184 <LI>Fixed bug with read_char buffering in 1541fs.cpp/1541t64.cpp
185 <LI>Frodo SC: Fixed memory trashing bug in MOS6569::draw_background()
186 <LI>Unix: Drive LEDs blink on error
187 <LI>Unix: Added more patches from Bernd
188 </UL>
189
190 <H3>V4.0</H3>
191 <UL>
192 <LI>The C64 ROM files are now included
193 <LI>Unix: Added SVGAlib keyboard patches from Bernd
194 </UL>
195
196 <H3>V4.0a</H3>
197 <UL>
198 <LI>Corrected BRK, ANE, ARR, SBX and DCP instructions
199 <LI>Frodo SC: Improved the CIA timers
200 <LI>Frodo SC: MOS6526::EmulateCycle() split into MOS6526::EmulateCycle() and MOS6526::CheckIRQs()
201 <LI>Frodo SC: Corrected interrupt behaviour of branch instructions
202 <LI>BeOS: Sound calculation is now done in stereo
203 </UL>
204
205 <H3>V4.1</H3>
206 <UL>
207 <LI>Integrated Win32 and RiscOS ports
208 <LI>Snapshot support
209 <LI>Added page-crossing and "borrowed" cycles in line-based CPU emulation (Frodo PC)
210 <LI>Added precise CIA cycles for line-based emulation (Frodo PC)
211 <LI>Optional fixed-point arithmetic and precomputed filters in SID.cpp
212 <LI>Optional dynamic alignment checks in VIC.cpp
213 <LI>Changed typedefs and constants (BYTE, WORD etc.)
214 <LI>Unix: Better configure script
215 <LI>Unix: Sound support for Solaris 2.x
216 <LI>Unix: Joystick can be toggled between port 1/2 with the NumLock key
217 <LI>Unix: US keyboard layouts supported
218 <LI>BeOS: Fixed for BeOS AA:DR9
219 <LI>BeOS: Can now switch between window/screen mode while the emulation is running, speeded up full screen mode
220 <LI>BeOS: Prefs saved in /system/settings/Frodo_settings by default
221 </UL>
222
223 <H3>V4.1a</H3>
224 <UL>
225 <LI>Fixed bug in IEC::NewPrefs()
226 <LI>Optimized VIC emulation for speed
227 <LI>BeOS: Prefs saved in /boot/home/config/settings/Frodo_settings
228 <LI>BeOS: Directory panel works again
229 <LI>BeOS: Correct C64/1541 clock frequency ratio (Frodo SC)
230 <LI>BeOS: Correct audio mixing/clipping
231 </UL>
232
233 <H3>V4.1b</H3>
234 <UL>
235 <LI>Unix: Updated Tcl/Tk preferences editor [Gerard Decatrel]
236 <LI>Unix: Added SDL display driver which is the default if SDL >= 1.2 is detected by the configure script
237 <LI>Unix: Increased number of sound buffers from 4 to 16 (emu10k driver doesn't work with the smaller value)
238 <LI>Unix: Fixed some small compilation problems
239 </UL>
240
241 <H3>V4.2</H3>
242 <UL>
243 <LI>Changed license to GPL
244 <LI>"Plain" Frodo removed, "Frodo PC" renamed to "Frodo"
245 <LI>ROMs are built into the Frodo executable
246 <LI>Implemented write access to disk image files (D64/X64)
247 <LI>Voice 3 mute works
248 <LI>Unix: added GTK+ preferences editor
249 <LI>Unix: removed obsolete Linux joystick code, added SDL joystick support
250 <LI>Unix: added fullscreen display with SDL
251 <LI>Unix: added resizable window display with SDL/OpenGL
252 <LI>Unix: added SDL sound support
253 <LI>Linux: added support for Catweasel SID
254 <LI>Linux: more accurate timing
255 <LI>BeOS: added support for digital joysticks connected to the GeekPort
256 <LI>BeOS: updated to new Media Kit API
257 </UL>
258
259 </BODY>
260 </HTML>