Version 0.16.0 - 25-May-2020
2020-05-15 - Changes to better support RetroPie setup & joystick usage
2020-05-06 - Add command line option to use alternate system ROM file
2020-05-06 - Merge SDL 2.0 code
2020-03-02 - Merge new save state & cartridge loading code
2018-06-18 - Merge HFE write changes
2018-06-14 - Add safety checks when parsing PC99 images
2018-05-03 - Allow unknown track encoding on HFE disks (treat unknown types as FM)
2018-04-05 - Fix CAPSLOCK handling
2018-01-15 - Update help for 'disk --output' option to include HFE as a valid format
2018-03-20 - Modify setup script to ensure a CF7+ disk image exists
2018-01-15 - Make sure all tracks have been loaded before creating new disk image
2018-01-15 - Improve handling of PC99 images
2018-01-02 - Enable write support for HxC disk images
Version 0.15.0 - 18-Mar-2017
2017-03-01 - Improved handling of overrun & underrun conditions in TMS5220 code
2017-02-21 - Added load-on-demand support for disk images to speed up handling of CF7+ and HFE images
2017-01-30 - Fix a bug in the PC99 serializer that would corrupt disk images when when loading them by truncating the last track
2017-01-25 - Allow user to force a particular format to be used to read a disk image in the disk utility
2017-01-25 - Improved robustness of several disk serializers (fixes crashes related to corrupted disk images)
2017-01-18 - Fix SDL's handling of the CAPSLOCK key in ti99sim-sdl
2017-01-20 - Updated project files for Visual Studio 2015
2017-01-12 - Include files in subdirectories when creating a bare list of files using the disk utility
2017-01-11 - Correct the handling of diskette images with an AU size greater than 1
2017-01-05 - Fix talk status transition logic in the TMS5220 code that could cause some programs to get stuck waiting for the speech synthesizer
2016-11-11 - Added proper resampling filter and changed audio format to reduce noise when producing speech
2016-11-08 - Replaced reflection coefficients with the proper values for the TI-99/4A
2016-11-07 - Cleaned up the TMS5220 code and removed unused code
2016-10-19 - Added ability to create blank disk images using the disk utility
2016-10-03 - Improve handling of bad disk images in the disk utility
Version 0.14.0 - 25-Jun-2016
2016-05-16 - Added option to disable CF7+ support without having to rename/delete the .ctg file (makes getting back to the default TI disk controller easier)
2016-05-12 - Changed Makefile rules to place all generated files in the top-level bin folder rather than src/xyz/$(CFG) to make the easier to find/use when building from source
2016-05-10 - Changed the information logged when --verbose is specified to help diagnose common problems with the emulator
2016-05-09 - Added new flag to convert-ctg and mkcart to force GROM regions to 6K in size
2016-05-06 - Added new utility (catalog) to help find duplicate cartridges, disks, and files on disk
2016-04-20 - Update dumpspch & mkspch utilities (fix crash and simplify 'spch' format)
2016-04-17 - Changed location of system ROMs and DSRs from roms directory to console directory
2016-04-16 - Added new utility (mkcart) to help in creating new cartridge files from a set of bin files in a folder
2016-04-16 - Added new script (setup) to help setup a new installation with basic ROMs
2016-04-15 - Change search logic to look in <cwd>, <$HOME>/.ti99sim/<path>, then <install-dir>/<path> for files
2016-03-10 - Added support to load 'converted' files for support in utilities (e.g. you can now do things like: list MYPROG.PROG or dumpcpu BSCSUP.DF80)
2016-03-09 - Added support for UCSD p-System expansion card
2016-02-29 - Fix mouse cursor in fullscreen mode
Version 0.13.0 - 22-Feb-2016
2016-02-16 - Fixed display error when setting the background color to transparent
2016-02-15 - Fixed bitmap mode display with pattern and color table masking support
2016-02-11 - Added new options to convert 74LS379 style bank-switching files to ti99sim cartridges
2016-02-11 - Increased the number of supported ROM banks to 256
2015-05-04 - Rewrote code to read/write disk images
2015-07-09 - Added code to support proper CRC updates and checks on disk images
2015-07-21 - Added read-only support for HxC disk images
2015-08-22 - Added new -b/--bare flag to disk utility to allow basic scripting from the command line
2015-08-22 - Updated logic in disk routines to handle file CHAINS properly on disks with a AU larger than 1 sector
Version 0.12.1 - 21-Apr-2015
2015-04-21 - Changed version number format
2015-03-11 - Fix: Add check for valid Gram Kracker pointer before dereferencing it
2015-03-11 - Fix: Removed check for file existence in convert-ctg
Version 0.0.12 - 22-Jul-2014
2013-09-11 - Added ability to copy disks to/from CF7+ a disk image using disk
2013-08-23 - Added handling of 80 sector disk images in disk
2013-08-21 - Better handling of disk images with bad/corrupted file descriptors in disk
2013-08-21 - Reworked video rendering code to fix crashes when resizing the window in ti99sim-sdl
2013-06-29 - Added CF7+ disk I/O support (no serial/parallel port support) to ti99sim-sdl and ti99sim-console
2013-06-30 - Added Black & White display mode to ti99sim-sdl
2013-06-26 - Added ability to specify external files when converting listing type files (*.lst/*.dat) with convert
2013-06-18 - Increase number of ROM banks supported from 4 to 16 (Allows 379 support with 'creative' bank ordering see tiworkshop379.dat)
2013-05-18 - Fixed code to not force speech synthesizer emulation
2013-05-10 - Rewrote opcode lookup code and clean up memory access clock penalty logic
2013-04-04 - Fixed code to explicitly use signed characters where appropriate (Fixes bug on Raspberry Pi)
2013-03-03 - Added more information to verbose display of disk
2013-03-02 - Added support for MERGE format and large Extended BASIC programs to list
2013-02-24 - Fixed support for 15-bit and 25-bit graphics modes
2013-01-15 - Handle native files in filesystem code (allows list and dumpcpu to work with files exported with disk using --convert)
2012-07-12 - Handle uncompressed archive files
Version 0.0.11 - 11-Jul-2012
2012-07-05 - Fixed crashes in disk, list, and convert-ctg
2012-07-02 - Fixed logic for CapsLock
2011-08-10 - Added support for directories to disk utility
2011-07-31 - Fixed a crash in the list utility
2011-07-30 - Added support for CF7+ disk images (supported by both disk and list)
2011-07-25 - Improved Mac OS X build process
2010-03-05 - Added support for using Windows .PIF files when creating cartridges in convert-ctg
2010-02-24 - Fixed a bug in the TB opcode handling and the polarity of some signals in the TMS9901 emulation
2010-02-18 - Added support for REF/DEF table while loading most TI-Tagged files in dumpcpu
2010-02-17 - Added support for most existing tags in TI-Tagged files in dumpcpu
2010-02-17 - Fixed logic when reading variable size records (fixes bug in disk when exporting and converting variable sized files)
2009-11-30 - Fixed timing issues when loading saved images and resetting the CPU
2009-09-18 - Added 4K addressing mode support to TMS9918a emulation
2009-08-10 - Added checks for errors reported by file I/O functions
2009-04-23 - Fixed a crash when an invalid disk device cartridge is loaded
2009-03-18 - Fixed TimerHook in SDL build to handle fast systems properly & track VDP refreshes more accurately
2008-10-13 - Updated Linux and Mac Makefile system
2004-08-10 - Added timestamp support to basic file system code
2004-08-08 - Added cross-linked file check option (--check) to disk utility
2004-07-29 - Added --verbose output to list utility
2004-07-28 - Updated list utility to more closely match the output from TI BASIC
2004-06-22 - Minor clean up - eliminated several lint/compiler warnings
2004-01-05 - Updated code to compile & run properly on 64-bit platforms
2003-09-25 - Updated cartridge format to use LZW compression
2003-09-24 - Added compression ratio information to verbose directory listing for archive files
2003-09-24 - Modified LZW encoder & decoder to handle variable max bit-length at run-time
2003-09-23 - Fixed bug in cDecodeLZW that prevented some valid files from decoding the last symbol properly
2003-09-23 - Fixed cDecodeLZW's handling of corrupt data
2003-09-22 - Added cEncodeLZW encoder class
Version 0.0.10
2003-09-15 - Added cArchiveFileSystem class to handle .ark files as disks
2003-09-15 - Updated list of files to strip/install under Win32
2003-09-14 - Wrote LZW routines to decode .ark files
2003-09-10 - Added support for REF records in TI-Tagged files to dumpcpu
2003-09-01 - Added ability to add files to disk images in disk
Version 0.0.9
2003-08-29 - Fix convert-ctg's handling of Gram Kracker files (10 character filename limit & PC99 formats)
2003-08-03 - Add 'Scale3x' code and optimized 'Scale2x' routines
2003-05-01 - Improved quality of speech synthesis when using External Data
mode
2003-01-16 - Fixed bug in list utility (failing to NULL terminate the string)
2002-12-05 - Added 'volume' and 'scale2x' command-line option
2002-12-02 - Added option to select an alternate color palette
2002-12-01 - Fixed window down-scaling
2002-12-01 - Implemented Scale2x code for double-size windows
2002-11-21 - Changed joystick code to handle X/Y mappings better
2002-11-22 - Changed sound code to use unsigned samples
2002-11-24 - Added more interpolation code to speech synthesis code to improve quality (slightly)
2002-11-13 - Fixed command line parsing to notify user of invalid arguments
2002-11-13 - Added diagnostic messages to ParseJoystick in the case of bad input
2002-09-17 - Added window resizing support to ti99sim-sdl
2002-09-17 - Added new fullscreen option to select a specific resolution
2002-09-17 - Added better auto-selection of screen resolution in fullscreen mode
2002-09-17 - Changed cBitmap::Copy to handle arbitrary integer upscaling
2002-09-15 - Modified startup code for ti99sim-sdl to handle platforms that don't support joysticks properly
2002-09-15 - Fixed code in decode.cpp to byte-swap structure members on big endian processors
2002-09-15 - Reworked Makefile.linux to simplify adding new utilities, added uninstall target, and added soft links in /usr/local/bin
2002-09-14 - Ported code to run on PowerPC platform (MacOSX)
2002-09-14 - Removed bitfields from code & replaced with masks and shifts
2002-09-14 - Fixed display problem in ti99sim-console
Version 0.0.8 - 20-Aug-2002
2002-08-03 - Fixed bug in mkspch that created incorrect binary tree
2002-08-03 - Added parsed
data mode to dumpspch and mkspch
2002-07-31 - Created dumpspch utility
2002-07-31 - Fixed several memory leaks/invalid memory accesses in utilities
2002-07-21 - Fixed frame skip logic in ti99sim-sdl
2002-06-14 - Added command line syntax for all programs to README.html
2002-06-10 - Updated README.html
2002-06-01 - Updated ti99sim-console's keyboard handling code
2002-05-27 - Fixed decode to handle noisy preamble data without crashing
2002-02-11 - Improved WAV file support in decode
2002-02-01 - Improved decode's ability to recover data from WAV files
2002-01-16 - Changed disk I/O routines to properly handle 80 track disk images
2002-01-13 - Added user-selectable audio sampling frequency
2002-01-12 - Improved choppy audio under Windows NT (increased default buffer size)
2002-01-12 - Fixed GROM address auto-increment to stay within the current GROM
2002-01-11 - Added AddFile and DeleteFile routines to disk utility
2002-01-05 - Fixed clock cycle counting for memory writes (simulate the read that the TMS9900 does before writing)
2001-12-31 - Fixed bug in RemoveCartridge that could cause a core dump/GP Fault
2001-12-30 - Replaced keyboard routines with code from Felix Nawothnig (better international keyboard support)
2001-12-20 - Added timer mode support to TMS9901 code
2001-12-18 - Added TMS9901 class to emulate the programable interupt controller
2001-12-16 - Fixed problem with Mini-Memory's battery backed RAM
Version 0.0.7 - 06-Dec-2001
2001-12-06 - Added multicolor mode to support the TMS9918A emulation
2001-11-29 - Fixed UpdateSprites to only display first 4 sprites on a line
2001-11-29 - Added 5th sprite detection & coincidence checking logic
2001-11-26 - Fixed bug related to sprite display (was incorrectly wrapping)
2001-08-19 - Fixed bug in convert-ctg when creating a DSR cartdidge
2001-08-13 - Improved console based screen display when switching modes
2001-08-06 - Added list utility to display TI BASIC/Extended BASIC programs
2001-08-01 - Fixed 9901 interrupt signal logic (MG Explorer now runs)
2001-08-01 - Changed memory access routines to properly emulate scratch pad RAM aliasing
2001-07-31 - Updated LoadImage code and added optional disassembly of code in scratchpad RAM in dumpcpu
2001-07-30 - Reorganized SaveImage/LoadImage routines to be more robust
Version 0.0.6 - 27-Jul-2001
2001-07-25 - Added code to patch the TI disk ROM at run-time to fix a problem with formatting
2001-07-22 - Fixed a bug in the video code that could cause memory corruption
2001-07-19 - Added image file
and FIAD support to dumpcpu
2001-07-18 - Updated disk device to use new disk I/O routines
2001-07-16 - Added command line option handling routines
2001-07-15 - Corrected DSxD logic for locating sectors on double-sided disks
2001-07-15 - Added write support for all disk formats
2001-07-14 - Re-wrote disk I/O routines - Added V9T9 and PC99 format read support
2001-07-06 - Fixed error messages so that they display properly under Win32 version of SDL
2001-07-06 - Added new command line arguments and help screen to ti99sim-sdl
2001-07-06 - Added NTSC/PAL option for display
2001-07-03 - Modified makefiles to work with mingw under Windows
2001-07-02 - Added frame skip feature to video display code
2001-06-24 - Added hack to work around bug in MSVC++ in opcodes
Version 0.0.5 - 16-Jun-2001
2001-06-06 - Removed byte-swapping on little-endian machines (invalidates the .asm routines)
2001-06-02 - Fixed read & write 16-bit trap for little-endian machines
2001-06-02 - Removed sprite vertical wrap-around
2001-05-14 - Added calls to Sleep in speech synthesizer to allow the TMS5220 code to stall the CPU execution path
2001-05-11 - Fixed emulated joystick code
2001-05-10 - Switched to SDL v1.2.0
2001-05-10 - Added fullscreen support
2001-05-10 - Added real joystick support
2001-05-08 - Fixed code that depended on the compiler's order of evaluation of an expression involving multiple function calls
2001-05-07 - Modified console GetKey routines to match behavior accross platforms
2001-05-07 - Fixed code that was LITTLE_ENDIAN dependent (ti99sim-console now runs under SunOS on a Sparc)
2001-05-07 - Fixed a problem with the shift key state in ti99sim-sdl
2001-05-06 - Added mkspch utility to create spchrom.bin files
2001-05-05 - Reworked Makefiles and moved defines to rules.mak
2000-11-27 - Added basic TMS5220 support
Version 0.0.4 - 24-Nov-2000
2000-11-12 - Replaced ti-roms.dat with 3 files to show different available options
2000-11-12 - Changed name of convert to convert-ctg to avoid conflicts with ImageMagick
2000-11-10 - Improved convert's choice of output filenames
2000-11-10 - Updated convert to work with new cartridge format
2000-11-09 - Changed internal structure of cartridges to better support Gram Kracker emulation
2000-10-31 - Converted README to html
2000-09-28 - Added -d option to convert
2000-09-24 - Added support for battery-backed RAM cartridges
2000-09-20 - Added *nix directory structure support
2000-09-20 - Added save/load memory image support
2000-09-01 - Reworked sound code to reduce CPU overhead
2000-08-10 - Added utility to read .wav files of recorded audio tapes
2000-08-06 - Corrected emulated clock speed
2000-08-05 - Re-ordered OpCode lookup table to reduce average lookup times
2000-08-01 - Improved emulation speed accuracy by tracking memory access clock cycles
2000-08-01 - Replaced x86 assembly code with C code
2000-07-28 - Changed Makefiles to use native CPU instead of 'i686'
Version 0.0.3 - 28-Jun-2000
2000-06-27 - Fixed bug in CheckGrom in convert
2000-06-27 - Added command line options for silence and 4x window size
2000-06-26 - Changed convert to check lower and upper case versions of alternate filenames
2000-06-25 - Changed sound code to use floating point to track periods
2000-06-23 - Added noise support
Version 0.0.2 - 21-Jun-2000
2000-06-21 - Cleaned up address aliasing for VDP memory mapped accesses
2000-06-20 - Added 1:2 upscale to bitmap Copy method
2000-06-20 - Added basic sound support
2000-06-19 - Added window manager caption
Version 0.0.1 - 18-Jun-2000
2000-06-18 - First release