Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
C64 48Khz HiFi Digi Player 1   [2018]

C64 48Khz HiFi Digi Player 1 Released by :
Antonio Savona

Release Date :
16 March 2018

Type :
EasyFlash Release

Ichiro Mizuki's Mazinger Z

User rating:*********_  9.2/10 (19 votes)   See votestatistics

Credits :
Code .... Antonio Savona of RGCD

Download :
http://csdb.dk/getinternalfile.php/165497/48Khz_hifi_Digi_Player_1_[EASYFLASH].zip (downloads: 2173)

Look for downloads on external sites:

User Comment
Submitted by Moloch on 17 March 2018
Discussion -> forums

Comments directly about this release -> here in the comments
User Comment
Submitted by tonysavon on 17 March 2018
Thanks @Pex.
Told you guys that I was wrong :-)
And to say that We are demo is one of my favourite dmeos of all times!
Well easyflash here is just used to put A LOT of stuff, and it's not helping on the decoding end in any way. In fact, all the bank switching stuff takes up a lot of cycles,and this could play at a much higher frequency from RAM. Also,working from RAM, you could hardcode amplitude values to the codebooks, like I did in my game, saving 4 more cycles per sample. Flashcards in this case are playing against speed.
By the way, I take the chance to thank you for the Digi playing routine that you invented. Without you, none of this would be possible. Also for explaining it to my dumb self, few years ago. You probably forgot that, but I still treasure those emails as proof of how incredibly great this community is. The fact itself that you are here commenting on this, makes me really proud.
User Comment
Submitted by Pex Mahoney Tufvesson on 17 March 2018

> To the best of my knowledge, the highest sample rate achieved on the Commodore 64 was 44.1Khz for uncompressed samples

Not really: Both We Are Demo and Concert uses 63kHz compressed samples with badlines and _no_ easyflash. The We Are Demo-part with the TV head has 29 seconds of sequenced 63kHz samples together with demo effects and on-screen equalizer. And Stereophonik uses uncompressed 44.1kHz _stereo_ samples - well, panned mono samples, to be correct.
User Comment
Submitted by Kronos on 16 March 2018
Amazing. That just let me remember the 90's when I built up an easy sound digitizer based on a simple DAC. It worked really well, but what a poor quality it was. 48 kHz, I think I would have damned myself to get something like that. Keep on that great work guy!
User Comment
Submitted by iAN CooG on 16 March 2018
C64 48Khz HiFi Digi Player 2
User Comment
Submitted by Slajerek on 16 March 2018
/me like!! :) another digis to impress friends on partiez :) nice! it works on my stock C64 8580 SID!!
User Comment
Submitted by tonysavon on 16 March 2018
@mixer, well the digimax is just an option. The demo works just fine on a SID (better on the 8580). It does not require a digimax to run.
The easyflash is just used for storage, and it's a regular Ocean type cart anyway.
I get it, though :-).
User Comment
Submitted by Mixer on 16 March 2018
Cool code. However, the youtube vid description claims stock c-64, which I believe is not the case. (+digimax + easyflash)
User Comment
Submitted by tonysavon on 16 March 2018
@Greopaz, I see. Is that the SounDemon routine? Sorry if I'm a bit slow today: I'm still recovering from the timings-Sudoku puzzle I had to solve to have this stuff run :-P.
This is using Mahoney's routine by the way, which only requires a LookUp and a direct write to play an 8Bit sample. DIGIMAX is also supported for the best quality.
Anyway, this is of course not to claim anything on Frequencies, more like the compression aspect, which I guess is a bit of a novelty at these frequencies, if only for the fact that you have 21 cycles to fetch, decode, and play a sample.
Thanks for the pointers! Now I have an interesting evening ahead of me :-)
User Comment
Submitted by Groepaz on 16 March 2018
(those two files should be in seperate entries)
User Comment
Submitted by Groepaz on 16 March 2018
uncompressed, yes - but not $d418 (that would be REALLY useless) - the mentioned players use 8bit output via oscillator restart method
User Comment
Submitted by tonysavon on 16 March 2018
@Groepaz, I don't know of a player that plays compressed digi at 48Khz. REU implementations that I know of just copy uncompressed pcm sound to $d418.
User Comment
Submitted by Bamse on 16 March 2018
Neat! As for the sample rate: you can play an uncompressed 96KHz(?) sample with the REU, it's just a second long and therefor lacking any practical use. Also, i think i didn't cap the possible sample rate in my BR-TV release, allowing around 48KHz playback. That's uncompressed, though...
User Comment
Submitted by Groepaz on 16 March 2018
other REU players could do 48kHz (Limon player, my own PoC player, chameleon player, etc). its really pointless though :)
User Comment
Submitted by tonysavon on 16 March 2018
@MP, it's 8 bit per sample. Plays best on Digimax but sid 8580 sounds all right too.
User Comment
Submitted by Oswald on 16 March 2018
how many bits per sample?
User Comment
Submitted by tonysavon on 16 March 2018
48Khz HiFi digi player
As the name suggests, this demo implements a digi player for compressed music at a higher-than-CD sample rate of 48Khz. That is 21 CPU clock cycles per sample, which means fetching data from the cartridge, decompressing it and playing the actual sample.
To the best of my knowledge, the highest sample rate achieved on the Commodore 64 was 44.1Khz for uncompressed samples, therefore this demo should set a world's first with compressed digi (allowing for a whole song to fit onto a cartridge) and a higher sampling frequency. I might be wrong.

You need an Easyflash Cartridge, or a 1541Ultimate to run this demo on Real Hardware. Both SID models are supported, but a SID 8580 is highly recommended. 6581 works too, but quality is pretty miserable compared to 8580 and Digimax.
If you are running the demo on Vice 3.x, make sure you select DIGIMAX emulation at $DF00, and press F3 when the demo starts.
Also, make sure that ReSid emulation is switched on, and, in Vice sound settings, that sample rate is 48Khz.
This setup gives you the best quality!

Briefly, this codec is purely based on Vector Quantization, and can encode from ~3:1 to ~4:1 with no noticeable difference with respect to the original uncompressed PCM data, and up to 7:1 with minimal (yet perceivable) loss in quality.
The examples included showcase ~3:1 and ~4:1 compression ratio. Keep an eye on my blog for a detailed description of the encoder, coming shortly.

With 21 cycles per sample, including decompression, there's not so much we can do on screen. Good old INC $d020 is already a miracle. I hope you don't mind.

In theory, with this approach it should be possible to store several minutes of hi-quality music (possibly a whole record) on a 16Mb REU or other larger, modern storage devices for the Commodore 64. REUs though, especially those of a ridiculous size, which would have never been possible in the 80s, are just not my thing. Sorry.
Search CSDb
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (17)
· Production Notes (1)
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
· Discuss this release
Info on other sites
· YouTube
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-2022
Page generated in: 0.085 sec.