diff options
Diffstat (limited to 'libsidplay2/sidplay-libs-2.1.0/libsidplay/ChangeLog')
-rw-r--r-- | libsidplay2/sidplay-libs-2.1.0/libsidplay/ChangeLog | 493 |
1 files changed, 0 insertions, 493 deletions
diff --git a/libsidplay2/sidplay-libs-2.1.0/libsidplay/ChangeLog b/libsidplay2/sidplay-libs-2.1.0/libsidplay/ChangeLog deleted file mode 100644 index 7a11e01a..00000000 --- a/libsidplay2/sidplay-libs-2.1.0/libsidplay/ChangeLog +++ /dev/null @@ -1,493 +0,0 @@ -Release Notes 2.1.0: - -Added: - -Introduction of sidbuilder classes. These classes can be used to create new sid -emulations for libsidplay2. The front end player owns these emulations and passes -them into libsidplay2 at runtime. Such emulations could be a revised SID emulation, -HardSID driver, Sidstation driver, etc... This feature will be used by sidplay/w -and sidplay2 in future. - -Implemetation of the component library classes. These classes provide a standard -way to create new components (e.g. VIC, CPU, etc). Note that the sidbuilder -classes use these. The current implementation is a half measure which sees -all components being seperated fully from the running environment. However, -due to the current design the components are static. A second version of these -classes will be released to allow dynamic allocation and linkage. This actually -means this project becomes a generic IC emulation test bed which are effectively -added and wired together at runtime. Given the right component emulations, this -project could be a C64, BBC, etc. - -Support for exporting credits. - -New event scheduler that is used by all components. The significantly improves -the speed of the emulation. - -Start time and fastforward support. - -Support for the PSID 2 proposal B (PSID 2NG). This allows relocation information -to be added to the tune such that it can be played on a real C64 (based emulation). -This is necessary as additional house keeping/contol code must be placed safely -in C64 ram without it running the risk of being overwritten by the song. - - -Changes: - -Code now builds under GCC3. - -Supporting and config requirements of the new builder classes required modification -to libsidplay2's configuration interface. - -Sidplay1 specific code moved to seperate components sid6510 and sid6526. This -provides the simple cut down versions of the CIA (6526) and a CPU which forgives -badly written tune code (6510). These components are only used in the old -sidplay/playsid modes. - -Direct ReSID support removed. Now supported through extenal sidbuilder class. - -Floating point code in critical code parts have been converted to fixed point. - -Relocatable C64 assembly driver added using PSID 2NG. - -Support for random tunes in Real C64 mode. - - -Fixes: - -The library has sufficient emulation to run PRGs. As such I managed to run the -C64 Emulator Testsuite 2.15 by Wolfram Roemhild. - -All CPU instructions (including extended ones) now run correctly with the correct -number of cycles. Results from other C64 environment tests are still being -worked on (nothing serious). - - - -Release Notes 2.0.7-5: - -Performance fix (corrected player.bin). - - -Release Notes 2.0.7-4: - -GCC 2.96 fixes. - - -Release Notes 2.0.7-3: - -Linux RPM fixes - -Changes: - -Fixed SidTune ('/' directory seperators are allowed on Microsoft platforms with -programs that use standard c/c++ libraries). - -Songs with there own interrupt handlers are no longer assumed to initialise -the VIC should the require it. Songs that do install there own handlers MUST -acknowledge the interrupt source else the song will play too fast. - - -Release Notes 2.0.7-2: - -Linux RPM fixes - - -Release Notes 2.0.7: - -This version sees a fully compliant C64 cycle based emulation. The emulation -only covers those parts which are necessary. Things like CIA and VIC are not -complete because it's not deemed usefull to play the tunes better. The -VIC emulation can still be improved a little to support bad cycles and perhaps -the light pen interrupt. The CIA emulation is also incomplete but now -supports both Timer A and B and all timer modes except those which use -external signals. The CIA emulation will probably be fully completed in a -near future release since I have the code pretty much written. It's not -been added because the rest of the player requires a design concept change to -use the C++ "observer model". - -Please note this version has a totally different concept design to the last. -The previous version is the last "SIDPlay Compatible" version. Since this -is the case SIDPlay specific songs which are possibly bad may no longer -work. If such songs are found please report them as they will be fixed. - -Lastly this version can run original tunes and even prgs taken from a real C64 -without any modifications. In most cases it's just a simple case of locating -the tunes INIT address, making a sid info header and then rename the *.prg to -*.dat. SIDPlay2 can then run the tune, it's even possible to create a PSID -all in one file using a conversion tool. One thing to note is that these -real tunes will mostly not play (correctly) in other SID Players apart from -VSID (Vice SIDPlayer). However, VICE is not pretending to be fully or even -mostly SIDPlay compatible. It therefore wont run as many tunes or play -extended samples like those found all the HSVC sample tunes. - -For those wishing to do the above you must set the play address to 0xffff. -This is an illegal address like 0 and behaves similiar, but it tells the -player to turn off extended sample support, ignore the CIA/VIC speed flag -and enable NMI support. - -NOTE FOR DEVELOPERS: - -You will require libtool 1.3b or greater to be able to link against -the libsidplay2 libraries. Versions of libtool prior to this -(including 1.3.5) DO NOT import library dependency information from the -installed *.la files. - -Libsidplay2 uses a modified version of ReSID. ReSID patches can be located -at: - -ftp://sidplay2.sourceforge.net/pub/sidplay2/resid - - -Changes: - -Partial VIC emulation which models both the NTSC and PAL chips. Full raster -interrupts supported and therefore VIC multispeed tunes. - -Partial CIA emulation with full interrupt capability for Timer A and B. NMI -interrupts are also supported for "real C64 samples". - -MOS6510s interrupts are now used. Interrupt/BRK now fixed to always run the -first instruction in the interrupt handler. This means the an IRQ cannot -interrupt an NMI should the first instruction in the handler be SEI. - -SID6510. SID specialisation of the processor now improved and those bits from -the player enviroment which should have been here now are. This module -provides most of the SIDPlay1 compatibility, but not everything can now be -supported as in version 2.0.6 due to other environment changes. - -XSID now is pretty much fixed for HardSID usage. It correctly determines -legal SID volume offsets and traps volume changes to the SID made by the -C64 program. This prevents song clicks, quiet main voices and even allows -the main voices to change there volume correctly whilst samples are playing. -The user now has the ability to select whether they would like samples through -SID or samples on there own idependent channel. The default is samples -through SID. Note that real Samples cannot be taken off the SID. - -Due to the Interrupt support the C64 now allows code execution overlaping. -E.g. the play routine might trigger before the INIT has completed and multiple -play calls may overlap each other. This also happens on a real C64 and as to -whether it works depends on if the ripped code still has the capability to -deal with it. Since it seems that some tune DO NOT do this properly, nor do -they acknowledge interrupts correctly, C64 code has been provided by Dag Lem -to deal with this issue. This code is the PSIDDRV from the Vice project. -The version available here has been modified by me to support almost -all tunes and deals with some of the SIDPlay compatibility issues better. - - -Problems: - -There are known problems with this version, but the benefits are far greater. - -Some tunes currently will just not play. These are tunes which install code -across the interrupt handlers and therefore don't behave correctly when an -interrupt occurs. These tunes are probably missing things which were setup -by the original game code. The methods used by SIDPlay1 and 2 to determine -the initial bank register state does not accomadate this fact. SIDPlay1 -like release 2.0.6 does not have this problem because interrupts are not -emulated. - -There are performance issues with this version and specifications have increased -due to the extra/modified component emulations :(. I hope to fix/improve on -this in a next release. - -Either the NMI or VIC interrupts seem to have jitter on them. For tunes in -HVSC this dosen't occur. For some real sample tunes the music can sound a little -distorted. This should be fixed for the next release. - -The PSIDDRV has to sit in RAM and therefore can be trashed by the tune. To stop -this the zero page has been reserved to store the PSIDDRV and some special non -standard C64 bankswitching added to flip in and out the driver. This means that -the tune cannot put any code on the zero page but it can store data on this page. -Since benefits of using this page are only available when storing data on it there -is no tune currently in HSVC that causes a problem. It is possible to put this -driver into roms, some code must still go in RAM do deal the calls to play/init -routines that may lie under the ROMS. However, this would break some of the older -modes e.g. playsid mode does not have ROMS, sidplay1 combatibilty modes prevent -code execution in ROMS. - - - -Changes since 2.0.6 (Note this version is intended mainly -for developers): - -(ms) Fixed fake6526.cpp to unlock timer upon reset. When playing -sub-tunes and switching from CIA to VBI speed and vice versa, the -speed is now correct. - -(ms) Fixed clock to [re]start at 0:00 upon [song] initialization. - -(ms) Converted complete source tree from kdevelop to native Automake -and made it build a library and the console player. Developers are -advised to configure the package with --disable-shared, so that they -don't need to install a shared library and/or set the -LD_LIBRARY_PATH, respectively. - - -Changes: - -Resid now linked against library and not against application. This -means that a application linking to the library does not need to know it's -using resid. - -External interface changed to hopefully allow better compatibilty. - - -Problems: - -For OSS left and right channels are reversed. According to OSS docs, -left channel in writing before right which is the order it's currently -being done (oss driver bug). Both Windows drivers are correct. - - -Bug Fixes: - -Fixed bug when reading tunes from stdin. - -Added new loadSong function to allow selecting another subsong without -reloading the file. This is important when reading files from stdin. - -External interface changed to hopefully allow better compatibilty. - -Fixed IO bug whereby a write to the IO registers could not be read back. - -Keyboard input is now read from stderr. This allows the keyboard to be -read whilst a file is passed using stdin. - -Stderr redefined as console output instead of stdout. This allows you to -redirect or pipe the output whilist allowing keyboard events to be processed -correctly - -Changin any of the sid settings effects both sids. - -The library can now be configured at run time by putting the library into paused -mode. If you are using a multiplte threads to drive the library, be carefull -as it's not thread safe. Use mutually exclusive semaphores to protect the library. - -Use of extended keys quiting the program. - - -Added: - -Null sound driver to allow faster songlength detection (Code for songlength -detection not provided in this library) and eventual hardsid support. - -Cursor keys now work on Linux and Windows. But there is a bug in Windows 98 -first Edition which prevents them from working properly. This information -has been admitted by Microsoft the the only proposed solution is to upgrade to -Win 98 Second Edition. (For the time being you can use the cursor keys on -the numpad). - -Added a mileage count to help determine the sid usuage since the begining of time. - -Added ability to use unforced PAL or NTSC. - -For -s, mono songs now get converted to stereo by spliting the -channels between multiple sids. - - -Removed: - -Timer changed test. This can easily be worked out another way. - - - -Release Notes 2.0.6: - -This version mainly sees bug fixes and finally gets both the Linux and -Windows versions to exactly the same code state. - -Bug Fixes: - -Tunes which didn't play. -DirectX fixes. -Timers fixed for both directx and mmsystem drivers and will therefore -never cache ahead by more than 0.5 secs. This still needs doing under -Linux to prevent the timers getting 3 seconds ahead. -And more... - - -Added: - -Most of the other features of the expermental version now classed as 2.0.5 -apart from fastforward/rewind and filter redefinition. -Ability to skip to the prev/next subtune using the '<' and '>' keys. -And more... - - -Features for next release: - -Ansi console support delayed till next release. -Songlength database support delayed. -Filter redefinition delayed. -Fastforward/rewind, delayed indefinately untill feedback is provided -on how good/bad it is (please any feedback at all!). -Player configuration file. - - - -Release Notes 2.0.4-2: - -Bug fixes to sid mixer. -Program termination now quicker from ^C. -New xSID code included for testing. -New man page added. -Thanks to those concerened for finding/fixing the bugs in this release. - -To follow shortly: -Again 2.0.5 will follow, with the last of the features from my unofficial -experimental version (found on the sidplay2 ftp site). Be warned that there -are now bug fixes in the main version which the experimental one does not -contain! - -From now on experimental versions will be released as patches on the -main release versions in CVS until they are determined to be stable. - - - -Release Notes 2.0.4: - -Temporary release to try and bring code upto date. A 2.0.5 will follow shortly -to achieve all that implemented in experimental release 2.0.4pre5 (This is available -at ftp://sidplay2.sourceforge.net/pub/sidplay2) - -Lots of new options added, bug fixes for Solaris drivers, 16 bit support... Other -additions will fall into 2.0.5 once they have stabalised. - - - -CHANGES since 2.0.2: - -Added: - -* Timer - -* Support for credits - -* Option -fd, overrides values returned by sidtune and forces dual sid support - with the second sid being mapped at 0xd500. Use this to support stereo sids - (not stereo mus) until the format is changed to support them properly. - -* Windows Drivers. Code now now be built as a Win32 console application. - The include paths need to be changed to Visual C++ so all the headers can - be seen. Paths need are PATH/libsidplay-<ver>/ and PATH/libsidplay-<ver>/win. - -* Sparc Driver (This driver hasn't been tested or compiled) - -* Support for playing of playsid smaples through reSID - - -Changed: - -* Changing the environment whilist the song is playing nolonger stops the song. - Environment changes are now delayed until a new song is loaded - -* environment class renamed to SidEnvironment to avoid some naming issues with - Visual C++. - -* xSID minior fixes to make code compile on Visual C++. - -* Structure of audio drivers for better auto detection and Win32 support. - -* Sidplayer structure now implements Cheshire Cat techniques to hide private members - This means that all header files required by private members no longer need to be - installed - -* Added workaround in CPU code for bug found in Visual C++ 5. - -* Finally corrected all playsid digi modes using information provided bu - Michael Schwendt from the original source of Game Over. - -* Removed nasty code hacks for Windows. - - -Fixed: - -* xSID bug preventing it from not playing some samples. - -* myTune now initialised to NULL (reported by Jarno) - -* Placing of an invalid switch on an otherwise legal line did not throw an error. - -* Use of bitfields which breaks portability of CPU emulation - -* Unions on Big Endian machines where all variables are varying sizes - - -Issues: - -* Timer is actually what has been decoded rather than what has been - played. This is due to the soundcard drivers buffer the samples. - Anyway, it's better than nothing. - - - -CHANGES since 2.0.1: - -Added: - -* Time count - -* xsidplays audio drivers (well linux one) - -* Command line options - -* Volume controls for left and right - -* 8 bit mixer - - -Changed: - -* Renamed the project to libsidplay (eventually this code will be a library). - main.cpp and the audio directory will form the basis of a new project called - sidplay-2.X.X. - -* Sidtune. Only need one player emulation for stereo MUS files. - -* WavFile now converted to be another driver. (Makes code have better re-use) - -* New are now have error checking - -* Configure files now work - -* Prevented the loadSong function initialising the player twice. - - - -CHANGES since 2.0.0: - -Added: - -* Extended sid support (xSID, written by myself from scratch). xSIDs interface is designed to look like reSID and can easily be used to help developers of other players. - -* Support for all libsidplay-1.X.X environment modes. - -* Stereo SID & MUS file support. - -* Sid2Wav support (thanks to Michael Schwendt). - - -Fixed: - -* CPU using wrong address for reset vector. - -* The use of statics in CPU a member function (Required to play stereo MUS files). - - -Changed: - -* All data types now use _sidt namespace. - -* Better handling of reSID clock calls to seriously reduce CPU overhead. - - - -CHANGES from libsidplay 1.X.X - -* Most of the code has been re-written by myself with all the new emulated IC's being cycle based. - -* The interface has been revamped and is based on standard functions provided by a music player e.g. play, stop, pause, etc - -* reSID is now the default and currently only provided SID emulation. (written by Dag Lem) - -* Sidtune library taken from libsidplay-1.X.X for file support. (written by Michael Schwendt) |