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 (14 years, 7 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

# User Rev Content
1 cebix 1.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 cebix 1.2 <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 cebix 1.3 <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 cebix 1.1 </BODY>
260     </HTML>