Datapop! (new music demo, new player)
Datapop! (new music demo, new player)
Name: Datapop!
Author: tlr
Release Date: 2009-10-12
Download: tlr_-_datapop_vic20.zip
Audio: tlr_-_datapop_vic20.mp3 (sampled from PAL hw)
(Pouet: Datapop!)
Datapop is a music demo for the unexpanded Commodore Vic-20 computer.
Runs best on PAL but works on NTSC (wrong tempo), should run in all
memory configurations.
The core of the demo is my new player: Ultraplayer!
Hold <SHIFT> to see some player gore.
See the included README.txt for details.
Author: tlr
Release Date: 2009-10-12
Download: tlr_-_datapop_vic20.zip
Audio: tlr_-_datapop_vic20.mp3 (sampled from PAL hw)
(Pouet: Datapop!)
Datapop is a music demo for the unexpanded Commodore Vic-20 computer.
Runs best on PAL but works on NTSC (wrong tempo), should run in all
memory configurations.
The core of the demo is my new player: Ultraplayer!
Hold <SHIFT> to see some player gore.
See the included README.txt for details.
Last edited by tlr on Fri Oct 16, 2009 11:58 am, edited 2 times in total.
Hm, is this approach the same as TBC just implemented? I know Stockholm is a small city but it seems quite remarkable if two people within a half year made pretty much the same thing.Ultraplayer uses tight control of the 4 oscillators to provide 9 bits of frequency resolution and up to 6 bits of PWM. All you hear is the original VIC oscillators. No volume register modulations.
However I wonder how IRQ/CPU intensive the tight control is. For applications where the music is prioritized I am sure these new routines are superb but once you start to add advanced graphical effects requiring both CPU time and exact timing, the music player is preferred to take as few raster lines as possible.
Anders Carlsson
It'd be awesome for title tunes for games though :)carlsson wrote:For applications where the music is prioritized I am sure these new routines are superb but once you start to add advanced graphical effects requiring both CPU time and exact timing, the music player is preferred to take as few raster lines as possible.
Happy owner of Mega-Cart #0178
I don't know him or what approach he uses and I don't think he knows my approach.carlsson wrote:Hm, is this approach the same as TBC just implemented? I know Stockholm is a small city but it seems quite remarkable if two people within a half year made pretty much the same thing.Ultraplayer uses tight control of the 4 oscillators to provide 9 bits of frequency resolution and up to 6 bits of PWM. All you hear is the original VIC oscillators. No volume register modulations.
I did hear the mp3 he posted yesterday in the games forum so I decided it was time to take my player of the shelf and do a first release.
PWM is something I've been trying to do for quite a while using the same principle but didn't fully realize exactly how tight the control has to be.
I started implementing it mid December 2008 using new insights into the internals of the oscillators.
The new player and this music was completed by the end of January 2009/beginning of February 2009.
In Ultraplayer the control is quite CPU intensitive, both NMI and code outside interrupt.carlsson wrote:However I wonder how IRQ/CPU intensive the tight control is. For applications where the music is prioritized I am sure these new routines are superb but once you start to add advanced graphical effects requiring both CPU time and exact timing, the music player is preferred to take as few raster lines as possible.
(enabling PWM for less voices makes it a bit less CPU intensitive)
The aim was maximum control and to make it fit on unexpanded VICs.
I love it and I don't usually like demo music at all.
I love the way it is put together.
Holding down Shift for a glimpse of the Vic20 "Matrix" is fun too!
Now if you could get it to sound like the violin like qualities of Brian May's guitar and play Queen's Keep Yourself Alive on the Vic I will have all my favourite things combined.
Great work. Thank you.
I love the way it is put together.
Holding down Shift for a glimpse of the Vic20 "Matrix" is fun too!
Now if you could get it to sound like the violin like qualities of Brian May's guitar and play Queen's Keep Yourself Alive on the Vic I will have all my favourite things combined.
Great work. Thank you.
Vic20-Ian
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
Sounds nice! (In vice)
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
- Pedro Lambrini
- Vic 20 Scientist
- Posts: 1132
- Joined: Mon Dec 01, 2008 11:36 am
I didn't listen to this on proper hardware the first time either but it does sound good on a Vic, doesn't it? I would love to hear this quality of music more often on the VIC chip - I wish I had the talent! I agree with ral-clan in that while not as versatile as the SID the VIC does hold its own charm which I really like - the soudtrack for Dragonwing is the biggest reason why I love that game.
My dream would be to have an intro demo for a game with the hires art of Minigrafix and the hi quality sound of Datapop. Omega Fury with a proper intro would be the Dog's proverbials...
My dream would be to have an intro demo for a game with the hires art of Minigrafix and the hi quality sound of Datapop. Omega Fury with a proper intro would be the Dog's proverbials...
"...That of the Eastern tribe being like a multitude of colours as if a rainbow had settled upon its brow..." Daniels 1:3
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
From its README.txt:
Er, can someone tell me what language is that?
That's some impressive audio manipulation to make for a groovy tune and beat.
Code: Select all
Quick player notes:
- Tight oscillator control. 9 bits frequency, 6 bits PWM
- jmp/jsr/rts based pattern sequencing with transpose.
- Table based arpeggios/waveform.
- Table based PWM control.
- Table based vibrato control.
That's some impressive audio manipulation to make for a groovy tune and beat.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
Thanks!ral-clan wrote:Sounds really great. No out of tune notes, either.
The VIC may not have the flexiblity or multiple waveforms of the SID, but it does have a nice "growl" to it's square wave tone which I really like.
What does PWM stand for (you mention 6-bits of PWM)?
Pulse width modulation?
Yes.
The most prominent use of PWM in this song is in the bass sound but it is also used in several of the other sounds in more subtle ways.
For the curious you can view the source of the song data here: datapop_songdata.asm.
(command and song format reference: ultraplayer_ref.txt)
This file gets included by the main code which defines a few macros and note values.
It is then all assembled using dasm.
I first composed prototypes of various parts of the song using Renoise on my PC.
Then I coded the song data by hand using various bits from the prototyped song as reference.
All sounds were tweaked in the source and transferred using over5/tinyrs for checking the result.
(command and song format reference: ultraplayer_ref.txt)
This file gets included by the main code which defines a few macros and note values.
It is then all assembled using dasm.
I first composed prototypes of various parts of the song using Renoise on my PC.
Then I coded the song data by hand using various bits from the prototyped song as reference.
All sounds were tweaked in the source and transferred using over5/tinyrs for checking the result.