Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in 
jsSID-0.9   [2016]

jsSID-0.9 Released by :

Release Date :
23 February 2016

Type :
Other Platform C64 Tool

JavaScript SID emulator and player

Website :

User rating:**********  9.8/10 (14 votes)   See votestatistics
**********  10/10 (8 votes) - Public votes only.

Credits :
Code .... Hermit of Samar Productions, SIDRIP Alliance, Singular
Design .... Hermit of Samar Productions, SIDRIP Alliance, Singular
Idea .... Hermit of Samar Productions, SIDRIP Alliance, Singular
Concept .... Hermit of Samar Productions, SIDRIP Alliance, Singular
Docs .... Hermit of Samar Productions, SIDRIP Alliance, Singular
Test .... Chabee of SIDRIP Alliance
  Vincenzo of Molecoola, Rebels, SIDRIP Alliance, Singular

Download :
http://csdb.dk/getinternalfile.php/146265/jsSID-0.9.zip (downloads: 451)

Look for downloads on external sites:

User Comment
Submitted by Isildur on 10 March 2016
@Fred it's jsiddevice.exe I use for SID emulation in Acid64. Your program is working great.
User Comment
Submitted by Fred on 7 March 2016
@Isildur: What's wrong with the 200_Hz.sid tune using ACID64? Did you try a real SID (via HS4U / SidBlaster) or SID emulation? Does it play wrong on all?
User Comment
Submitted by Isildur on 26 February 2016
@iAN CooG, it is not, believe me :)
User Comment
Submitted by Moloch on 26 February 2016
Just search for "desktop javascript wrapper" and see what sticks
User Comment
Submitted by spider-j on 26 February 2016
\o/ Hermit is back with another awesome tool! :-)

Regarding js without browser: yes, it is possible to run js without a browser via node.js. But this is limited to the console and you don't have the web-API enviroment. But you can write your own C/C++ extensions for node.js:

But probably this would take the same effort to convert the whole source to C/C++ ... not sure about it. I only used node.js for simple c64 table generators so far.

User Comment
Submitted by Hermit on 25 February 2016
I've changed my mind, as the new 0.9.1 version is probably the last that is not coming from GitHub / community...
so here we go:

(Just 2SID/3SID support in jsSID.js and default subtune setting in player.html are added, otherwise 0.9 is still suitable for single SID tunes..)
User Comment
Submitted by Hermit on 25 February 2016
You too did a lot of things, Oswald. That's how we operate here... :)

I added the possibility to define default subtunes in the example playlist app. If a tune needs a specific tune at start, just type ':subtune' after the 'minute:second' information...
The playlist is still at:
(You can see now the default subtunes indicated in the playlist after a slash following the title for some tunes...)

I don't feel like releasing this 0.9.1 version with these changes yet at CSDB, but I'll upload it to GitHub and SourceForge and my homepage...
User Comment
Submitted by Oswald on 25 February 2016
awesome how much you have contributed to the scene dear hermit, your work is pure gold.
User Comment
Submitted by Hermit on 25 February 2016
@Digger: GitHub? Why not? Let's give it a try... (I'm new to github, just registered. Its UI loads way much faster than Sourceforge's...I hope it's more reliable as well...)

Meanwhile I coded 2SID and 3SID support into jsSID, and uploaded my own SIDs to another playlist:
(The 2SID and 3SID are mono currently, which is advantage in a way...)
User Comment
Submitted by iAN CooG on 24 February 2016
"First player playing my "200_Hz.sid" properly."
Sounds the same under Sidplay2.6/w, ACID643.61 and VICE VSID for me.
User Comment
Submitted by NecroPolo on 24 February 2016
Bloody awesome release my friend! Standing ovation from me. It's already a kickass initial release in my opinion and with a little evolution it can become the definite contemporary multiplatform SID player.

Digger has a really valid point below, just saying :)
User Comment
Submitted by Digger on 24 February 2016
You're a genius Hermit! The next thing I am seeing coming is a JS based music editor :-) Have you thought about open-sourcing this on github? I guess a few would get involved. Thanks for making this happen.
User Comment
Submitted by Hermit on 24 February 2016
So it can work on IE in a way. I wouldn't have thought...

@Isildur: JavaScript implementation kindof ties jsSID to browsers, but maybe there are ways to convert JavaScript to OS GUI application. I don't know any, but maybe somebody knows a solution for that. To recode/convert the CPU and SID engine to C and native application would be fairly easy, but I have no plans for that.
Hey, you have some decent sounds in that 200_Hz.sid tune...
User Comment
Submitted by InuYaksa on 24 February 2016
Great work, using WAAPISim polyfill is working on my old tablet with IE11 too!
User Comment
Submitted by Thierry on 24 February 2016
Exelent! , looks very good
User Comment
Submitted by Isildur on 24 February 2016
Excellent work Hermit! First player playing my "200_Hz.sid" properly.
Need that beast standalone. Is there a way to use it without browser on Windows?
User Comment
Submitted by Hermit on 24 February 2016
Thanks for the kind comments, I'm glad you're pleased with the sound quality...
User Comment
Submitted by Hermit on 24 February 2016
@Mr. SID: For me 90% of the tunes (I've tried a lot) work fine. jsSID is not a general-purpose SID player for arbitrary tunes, may not work for some players, but this is to keep the size and CPU usage small. Though your reports of not working SIDs will help if I plan release an 1.0 version later...
The tune you mention below has illegal opcodes not supported (yet) like SBX.
User Comment
Submitted by LMan on 24 February 2016
Very impressive!
User Comment
Submitted by JackAsser on 24 February 2016
Impressed by the compactness of your implementation.
User Comment
Submitted by Mr. SID on 24 February 2016
This is pretty cool, but a lot of tunes I've tried don't work properly, for no apparent reason. E.g. Lft's Heptacular Eyes plays really slowly, but it's just a single-speed tune, isn't it?
User Comment
Submitted by Werdy on 24 February 2016
Excellent work again Hermit the SIDMaster! It works fine under OSX in Safari/FF and it sounds more than satisfactory :)
User Comment
Submitted by Shine on 24 February 2016
Oh Hermit, this is excellent! <3
User Comment
Submitted by chabee on 24 February 2016
User Comment
Submitted by Mixer on 23 February 2016
Great work!
User Comment
Submitted by Hermit on 23 February 2016
It's been a while since I released at CSDB. While I was creating my new homepage I wanted to make it possible to play SIDs directly in the browser by the visitors. As I haven't found any suitable thing for my needs in small size (10..20kbyte), I decided to create a pure JavaScript SID player in the last 2 weeks. I only tested it in Firefox, but Chabee reported to work it in Chrome and Safari. I count on your feedbacks... An extract from the README about what it can do:

Features of jsSID that I think need to be mentioned:
-jsSID.js is very small in size (14kbyte), coded from scratch, so loading time on slow net-connections will still be adequate
-Audio-frequency (mostly 44.1kHz) operation, not 1MHz, so the CPU usage is very low despite being written in JS
-Clean sound, thin and high-pitched sounds are cleaned / band-limited algorithmically (e.g. Robocop3 title music intro)
-ADSR delay-bug/wraparound is simulated, so the soundstarts of modern tunes in SIDs are crisp as on the original SID
-6581 and 8580 model-changes are supported, they have different cutoff/resonance curves and combined waveforms
-Combined waveforms are generated algorithmically, not read from low-resolution tables (first of its kind, based on SID schematic)
-Background noise can be added to give a bit more analog feel (though it's just simple whiteniose yet, not VIC noise)
-CPU emulation is cycle-based despite 44.1kHz operation (called more times appropriately during one sample-period)
-Vsync- and CIA-timed single- and multispeed tunes are supported (though there are exceptions like digi tunes)
-Illegal opcodes are supported by the CPU emulation to a degree (most LAX and SAX instructions, needed e.g. by 1raster-tracker)
-Interfacing through easy-to-use function calls (load/start/stop/etc.), playing a SID is as simple as playSID('URL',subtune);
-Callbacks can be set for various events, e.g. when a SID with given length ends (this eases auto-advance playback)

Not supported:
-Digi playback is totally left off from jsSID, it's targeted for authentic clean SID sound instead
-jsSID is not a real C64/SID environment, CIA and raster-interrupts are not emulated exactly, so some SIDs won't play:
Digis won't play at all. Some older players with complex/unusual CIA-IRQ timing may have issues (e.g. Richard Joseph / Galway tunes.)

Good testing. I hope it will be useful for you just as for me. The working example is :
(I will upload more of my SIDs soon there...)
Search CSDb
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (26)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
· Discuss this release
Sponsored links
Support CSDb
Help keep CSDb running:

Funding status:

About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2021
Page generated in: 0.087 sec.