Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > New member does Sidplay2 in Java
2008-01-04 22:34
kenchis

Registered: Jan 2008
Posts: 65
New member does Sidplay2 in Java

Hi folks,

I am a new member of CSDb and want to introduce myself
with a little release.
First, i am very proud to be accepted as a new member of the scene.
For short: I am a C64 fan from 1986 until now.
I was never active in the scene, too less talented maybe, but i learned basic and assembler and did some coding for myself in the past.
One thing from the past i actually do until today is listening the precious SID music of all the talented music artists. 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 also 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.

If you have any suggestions or feedback (positive or negative) it is welcome.

Have a lot of fun with our hobby,
Ken

http://sourceforge.net/projects/jsidplay2/
 
... 75 posts hidden. Click here to view all posts....
 
2008-01-16 18:25
Steppe

Registered: Jan 2002
Posts: 1510
So one core of Magervalp's Laptop must be broken? %)
2008-01-16 18:33
chatGPZ

Registered: Dec 2001
Posts: 11293
or the osx java vm sucks =D
2008-01-16 19:01
kenchis

Registered: Jan 2008
Posts: 65
One user asked of a feature to display the rastertime
of the currently playing SID.
Does anyone know how to add this?

I tried to print out $D012 when the VIC raster interrupt is cleared (MOS656x.java: trigger()), but this works not for all SIDs, any ideas?
2008-01-16 19:11
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: One user asked of a feature to display the rastertime
of the currently playing SID.
Does anyone know how to add this?

I tried to print out $D012 when the VIC raster interrupt is cleared (MOS656x.java: trigger()), but this works not for all SIDs, any ideas?


Can't u get CPU cycle count timestamp before and after the call to the player routine? Divide that value by 63 do get raster time usage.
2008-01-16 19:40
kenchis

Registered: Jan 2008
Posts: 65
Then 63 must be the cycles per line?
Then i will try that way,
thankx :-)
2008-01-16 20:15
Stainless Steel

Registered: Mar 2003
Posts: 966
This sounds very interesting i would like
to see a little more sophisticated sidplayer.

But holy shit, it does hog a lot of cpu time.
50%-60% on my core 2 duo 6300.

I assume it runs under Linux just as well, being a Java program ?
2008-01-16 20:22
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Then 63 must be the cycles per line?
Then i will try that way,
thankx :-)


Yup, that's the cycle count on a raster line that doesn't have any DMA fetches.
2008-01-16 20:25
kenchis

Registered: Jan 2008
Posts: 65
Linux is working good!
One time i found a user that did not support little-endian
sound buffers, but many others tried and it works, I dont know if i should support big endian, too.

The CPU amount is 60%, when the graphical display is turned on. The console version is 20%.

The emulation of the chips is the least expensive part, the sound api and GUI with swing is the most expensive CPU consumer.
2008-01-16 20:31
kenchis

Registered: Jan 2008
Posts: 65
Quote: Yup, that's the cycle count on a raster line that doesn't have any DMA fetches.

What exactly are DMA fetches?
I never heard of it.
2008-01-16 20:35
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: What exactly are DMA fetches?
I never heard of it.


It's when the CPU is blocked and another chip is using the full 2mhz of the bus bandwidth. Normally the CPU and the custom chips share the bus in a 1:1 manner, 1 mhz each, but some custom chip operations require a more quick fetch, for instance reading new chars from memory, reading new sprite gfx each raster line...

Also, don't forget to show the raster time properly for multi speed tunes, preferably with raster time per sub-call per frame because sometimes call 1 of 4 in a 4x-tune requires more rastertime than the other 3, which could be interesting to see.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
dstar/Fairlight
insane/Rabenauge
Guests online: 112
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 No Bounds  (9.6)
10 Unboxed  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Morph  (9.5)
8 Dawnfall V1.1  (9.5)
9 Onscreen 5k  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Nostalgia  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.2)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.139 sec.