This emulator started as a player routine for C64 music on the Amiga.
Versions V1.x were written in 68K assembly language, versions V2.x in a mix
of 68K assembly and C. V3.x/V4.x are portable versions written in C++.<P>
<H3>V1.x/V2.x</H3>
<UL>
<LI>Amiga 68K versions
</UL>
<H3>V3.0</H3>
<UL>
<LI>First release of BeOS/Unix version, features processor-level 1541
emulation and built-in SID emulation
</UL>
<H3>V3.0a</H3>
<UL>
<LI>Implemented SID test bits
<LI>Combined SID waveforms respect pulse width
<LI>Corrected idle state graphics display
<LI>Processor-level 1541 emulation respects .d64 error info
<LI>CPU emulation optimized (6510 and 6502 split)
<LI>VIC emulation optimized (raster counter in local variable in EmulateLine())
<LI>BeOS: Now exiting the audio subscriber with ExitStream(TRUE)
<LI>Unix: Fixed missing thread_func() declaration
<LI>Unix: getcwd(AppDirPath) was missing in main_x.i
<LI>Unix: Speed limiter works
</UL>
<H3>V3.0b</H3>
<UL>
<LI>Implemented REU emulation
<LI>Formatting disks with ID possible under processor-level 1541 emulation
<LI>Corrected and optimized SID waveform/envelope calculation (signed arithmetic)
<LI>Corrected idle state display again (ECM text)
<LI>1541 D64 mode ignores drive numbers when opening the directory
<LI>Processor-level 1541 emulation deactivates when idle
<LI>BeOS: Sound output quality is now 16 bits
<LI>Unix: Quits more cleanly, reactivates key repeat
<LI>Unix: Fixed alignment problem with text_chunky_buf in VIC.h
</UL>
<H3>V3.0c</H3>
<UL>
<LI>1541 DIR mode can load directory with "$0"
<LI>Rearranged the CPU code (more macros, less inline functions)
<LI>SID envelope generators rewritten, envelopes are now recalculated for every sample
<LI>SID calc_buffer function now takes pointer to WORD buffer
<LI>Unix: Sound for Linux
<LI>Unix: Prefs window implemented (needs Tcl/Tk)
<LI>Unix: Corrected x64 disk image detection on little-endian systems
<LI>Unix: SVGAlib support works again, accesses frame buffer directly if possible
<LI>Unix: Added support for SHM under X11
</UL>
<H3>V3.0d</H3>
<UL>
<LI>SID filter emulation implemented
<LI>SID master volume setting works again
<LI>Flags are recalculated in MOS6526::SetState()
<LI>Changed CBOOL->bool in some places
<LI>Fixed bug with char_in in MOS6510::new_config()
<LI>BeOS: Emulation thread priority lowered
<LI>Unix: Some changes for DEC Alpha
<LI>Unix: Joystick support for Linux
</UL>
<H3>V3.0e</H3>
<UL>
<LI>Removed the CBOOL data type
<LI>Unix: Sound for HP-UX
<LI>Unix: Keyboard layout matches the picture in the docs more closely
<LI>Unix: Diagonal directions of keypad joystick emulation work
<LI>Unix: +/- on numerical keypad modifies SkipFrames
<LI>Unix: F9 invokes SAM
<LI>Unix: Drive LEDs and speedometer implemented
<LI>Unix: Some changes to the GUI
<LI>Unix: Random number generator is initialized
<LI>Unix: Name of prefs file can be given as an argument
<LI>Unix: Calls XFlush() and XSync() in C64Display::Update()
</UL>
<H3>V3.0f</H3>
<UL>
<LI>Improved DIR/D64 drive reset, resetting the C64 resets the drives
<LI>Implemented 'G' command for DIR/D64 drives
<LI>Corrected translation of 0xc1..0xda characters in conv_from_64()
<LI>BeOS: Implemented smart "Insert next disk" menu item
<LI>Unix: Improved the speedometer/LED bar
<LI>Unix: Self-calibrating joystick routines
<LI>Unix: No need to enter path of 'wish' in TkGui.tcl
</UL>
<H3>V3.0g</H3>
<UL>
<LI>New T64/LYNX mode for 1541 emulation
<LI>1541fs.cpp/match() used to treat the pattern "foo" as "foo*"
<LI>1541 DIR mode uses tmpfile() for opening temporary directory files
<LI>1541 D64 mode allows wildcards for selective directory reading
<LI>Increased compatibility of processor-level 1541 emulation in various places (C64<->1541 communication, VIA registers, memory map, disk change flag)
<LI>Inlined MOS6526::EmulateLine() and some small public functions of MOS6502_1541
<LI>New prefs option to enable/disable SID filter emulation
<LI>Joystick calibration is reset when joystick options change
<LI>BeOS: Self-calibrating joystick routines
</UL>
<H3>V3.0h</H3>
<UL>
<LI>Implemented SID notch filter, better resonance frequency calculation
<LI>Fixed bug with SID filter option
<LI>CIA timer B one-shot mode stops timer when counting undeflows of timer A
<LI>Implemented lightpen trigger
<LI>BeOS: Fixed for BeOS DR8, improved the GUI a bit
<LI>Unix: Some fixes to the TkGui (T64, SIDFilters, removed speed display)