| |
mstram Account closed
Registered: Dec 2013 Posts: 112 |
Release id #145523 : jsSID-0.9.1
No discussion on this ?
Yes I see the comments, but this is freaking INCREDIBLE !
Congrats Mihály !
Though the absurd speed of today's p.c's obviously helps to make it possible, I'm in awe of Hermit and all of the other programmers who have worked on SID emulation.
The next thing I'd like to see, and I'm trying to possibly figure it out now, is a browser based "mini-editor" or "SID playground".
I.e. a (very) stripped down VICE / basic interpreter that only understands POKE, and maybe FOR, NEXT, and variables / arrays.
I'm looking through the JsSid source now to see how / if I can play / send single notes / or trigger the SID registers.
I see there is some kind of minimal CPU simulation there.
Mike |
|
| |
Hermit
Registered: May 2008 Posts: 208 |
Hi mstram
Thanks for the appreciation of my work. You're right, the CPU is fully emulated (except most of the illegal opcodes which aren't used much in music anyway).
A totally real C64 environment would be much work (VIC,CIA,IRQ,etc. emulation), maybe if jsSID gets melted into jsC64 it can become a reality.
I think you should check Digger's future work or maybe cooperate with him on the jsSID source at GitHub. He have plans for some 'playground' for jsSID. I personally don't have further plans, my work kindof ends here with jsSID as there are many more projects I have to realize too.
The source-code is short enough to learn its internals easily and add to it what you want. This forum thread you just started is a good place to share ideas and solutions... |
| |
iAN CooG
Registered: May 2002 Posts: 3201 |
hermit: SBX is quite common in modern players btw, you should consider adding it =)
from a quick scan, players using SBX at least in init:
DefMon
GRG_tiny
GRG_tiny2
Virtuoso
and probably more. |
| |
mstram Account closed
Registered: Dec 2013 Posts: 112 |
Hermit, after a "few" hours of perusing your code I'm starting to understand it (ya I'm a slow learner).
I have a couple of ideas I'm going to explore for the "interpreter / playground"
: (pls post your comments)
1) Bypass the CPU function, and "load" the 'memory' from javascript / screen / html input, then run the play() function
2) Using a "standard" SID / play routine (yours, or Goattrk or other), then have play routine's note / waveform / etc variables exposed to another javascript function / html input fields etc
3) Write a stripped down "basic-interpreter" then have your CPU function run it
4) Use jsc64 to do #3 above
Hermit, thanks for the info on jsc64, didn't know about it.
Unfortunately it seems to be a mess. I cloned the repo, tried running it, get a "bazillion" errors that I'm trying to clean up now.
Mike |
| |
mstram Account closed
Registered: Dec 2013 Posts: 112 |
This is the first sid I've found that won't play Bakakaj
Does that sid have "digi Samples" in it ? |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Yes, defMON uses "SBX #immediate", and also "LAX zp" and "ASR #immediate". |
| |
Jammer
Registered: Nov 2002 Posts: 1336 |
Always a pleasure to serve with tunes that break players ;) I remember both of my Pollytracker tunes had broken rips for some time. It was manifested in the most peculiar way possible - everything was playing perfect apart from different rhythm in drum section :D |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
...and "ANC #immediate" as well. (Sorry for spamming. :) ) |
| |
Digger
Registered: Mar 2005 Posts: 438 |
Feel free to fork the repo (https://github.com/hermitsoft/jsSID), implement what you need and make a pull request :-)
I am currently working on the cleaning up the docs styling in my own fork (https://github.com/og2t/jsSID), had no time last week but expect updates soon. |
| |
mankeli
Registered: Oct 2010 Posts: 146 |
Please integrate this to CSDB! |
| |
Hermit
Registered: May 2008 Posts: 208 |
As jsSID is not a complete environment (it's not aimed for that) I think it needs quite some addition to be useful for complete CSDB/HVSC integration to play ALL tunes, but that means it can grow twice as big and eat more CPU in the end...
As Digger says, feel free to implement the illegal opcodes, that would increase the CPU code, but it will still be considerably small I think...
Personally I don't like the idea of using illegal opcodes in SID music, because that can fail on many emulators/players which are targeted for slow systems and lack illegals/etc. by definition. For 1raster tracker I had a reason to use LAX, but that's another story... For normal music players I don't think those few cycles are worth the risk of non-working tunes/demos on some lower end systems...
(I saw the SBX #7 in players to advance SID-channels, but TXA;SBC#7;TAX would only be 3*(2+2) = 12 cycles more if we take all the 3 channels...)
@Bakakaj (what a funny-sounding name for a tune) seems to use an own 'RealSID' player (player-address is 0 in SID-header), and who knows what it does inside... Only a real VIC and CIA and IRQ emulation can play all of these SIDs...but as I said several times, I have no plans for these things...maybe someone else picks it up where I left it if there's enough interest to have a full jsSID implementation... |
... 6 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |