Introduction
I am a C64 fan since 1986 as many other people are. I played games, watched demos and read books, but when the time goes by, all activities stopped slowly in the beginning of the 90s. But one thing from the past i actually do until today, that is listening the precious SID music of all the talented music artists and demo groups. So many thanks to all of you for your work collected in the HVSC.
To listen the new releases from the still active groups i often used sidplay2 for windows or an emulator like CCS64 , because my commodore was on the attic.
I am a Java developer and wanted to have my very own java implementation to create a so called C64 Jukebox.
I decided to create a 1:1 conversion of sidplay2 from C++ to java. It should have all features of the original.
It was a long time work and when it was finished i decided to make it open source, that others can integrate into their java emulators.
Perhaps there will be plugins for many java apps some day or a version running even on a mobile.
Since then people have joined to develop a more complete C64 emulator to be fast, feature complete and eye-catching. Without them this project would be stuck on version 1.4 and i am very thankful for their help. In fact i hope this project will never die.
The current version has been evolved toward a full featured and very compatible C64 emulator. This was possible due to the tremendous support of the C64 community. In fact many people have supported JSIDPlay2 during its development.
Special thanks go to Antti S. Lankila for continued development to enhance the emulation and adding valuable features, Nata for his numerous tests and many feedback of the beta versions, Wilfred Bos for his support and bugfix of the SIDNetDevice implementation. Other people contributed valuable pieces of code just read the Credits in the player to find out. Thank you!
If you want to give feedback, please email me.
If you want to know who i am, you can visit my homepage.
If you want to visit my other open source project, please visit Total Comander Plugin Interface page.
Features
JSidplay2 is able to
-
load sound files with extensions: SID (PSID/RSID), MUS, DAT, P00, PRG, STR. You can find most of them in the High Voltage SID Collection, the biggest music collecton on earth.
-
play mono, stereo and 3-SID formats
-
play with custom sample rates (sample size is 16 bit)
-
load external SID Filter definition
-
check song length from Song Length database (SLDb - contained in HVSC)
-
be configured by an INI file containing emulation and player settings
-
be integrated into Java enabled platforms
-
being used like a real C64 (watching demos, playing games etc.)
-
being used as an OFFLINE web version to launch emulator content inside the browser (listening music, watching demos etc.)
-
being used as an ONLINE web version to stream emulator content (listening music, watching demos etc.)
More Available Demos
All Demos are using VUE3 and Bootstrap5.
-
This demo runs OFFline directly in the browser using Web Assembly (WASM)
-
…and this demo runs OFFline directly in the browser using JavaScript UMD
-
…and this demo runs OFFline directly in the browser using JavaScript EM2015
-
…and this Demo runs ONline, only, and requires JSIDPlay2 started in server mode and streams content from JSIDPlay2 Server to the browser client using RESTful API
-
…whilst this demo runs on android phones
User Guide
Please read manual here: JSIDPlay2 User Guide
Minimum System Requirement
Java is required and must be installed separately. You can choose to install OpenJDK or as an alternative Oracle Java
Platform |
OpenJDK Java |
Oracle Java |
Windows/Linux/MacOSX |
Java version compatibility
You can choose OpenJDK or Oracle Java 17 or never.
Or as an alternative, JSIDPlay2 source code is still downward compatible to the Java 8 API. This being said, you can use JSIDPlay2 using Oracle Java 8 and separate start scripts with java8 in its name. This works only with Oracle Java 8, because JavaFX is built-in and my bundled JavaFX libraries are ignored. In OpenJDK 8 JavaFX is NOT built-in, that will not work, unfortunately.
JSIDPlay2 has been tested and is compatible with Oracle Java 8, OpenJDK 17 and OpenJDK 21.
My recommendation is to use the latest Java version and if this is not possible, than fallback to Oracle Java 8
Official Releases
Official releases are more stable, but maybe outdated. If you require the latest bug fixes or features, please use the latest beta version below.
Latest Beta Versions
Platform |
x64 |
AArch64 / ARM64 |
Windows |
||
Linux |
||
MacOSX |
Download (e.g. Apple M1) |
Download libsidplay (only the library) and here is an example to use it.
Download Network SID Device (e.g. to be used altogether with ACID64)
Download jsidplay2app (deprecated).
C64Jukebox is the HTML5 web version and the replacement of the old jsidplay2app
Further developement
-
Increase compatibility of the emulation
If you want to contribute to this project just contact me. Any help is appreciated.
Credits
Credits go first to the original authors for doing such a great sidplay2 software!
Dag Lem |
reSID emulation engine |
Michael Schwendt |
SidTune library, Sid2Wav support |
Simon White |
Sidplay2 music player library v2 |
Antti Lankila |
SID chip Distortion Simulation efforts and development |
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA