Do want to play music on your propeller? (Propeller chiptune player)
Ahle2
Posts: 1,179
Minimum requirements to run this software:
* You own a propeller board with a SD card
* You have a NES game pad or a keyboard connected to your propeller
* You have a PAL or NTSC display connected to your propeller
* You used to be (is) a C64 or an Atari ST owner (or Amstrad, MSX, Spectrum)
* You like music from these machines
* You are a nostalgic person
If you and your hardware meets the minimum requirements, please go ahead and try it out.
Instructions:
1. Unpack all files from the archive named "MixedChiptunes.zip" to a SD card.
2. Unpack "PropellerChipTunePlayer.zip"
3. Edit the pin configuration in the "con section" of "PropellerChipTunePlayer.spin" to suit your needs
(If you want to use a NES game pad, uncomment the "InputNES.spin" and edit the "con section" in that file)
4. Compile, upload and run the top object (PropellerChipTunePlayer.spin)
5. Enjoy
Keyboard controlls:
Space - Fast forward
Enter - Pause
Right arrow - next tune
Left arrow - prvious tune
Down arrow - next page (tune += 10)
Up arrow - previous page (tune -= 10)
NES controlls:
A button - Fast forward
Start button - Pause
Right arrow - next tune
Left arrow - prvious tune
Down arrow - next page (tune += 10)
Up arrow - previous page (tune -= 10)
Color coding:
Green background: AY38910/YM2149F sound chip (Atari ST, Amstrad CPC, MSX, Spectrum 128)
Blue background: MOS8580 sound chip (Commodore 64)
* You own a propeller board with a SD card
* You have a NES game pad or a keyboard connected to your propeller
* You have a PAL or NTSC display connected to your propeller
* You used to be (is) a C64 or an Atari ST owner (or Amstrad, MSX, Spectrum)
* You like music from these machines
* You are a nostalgic person
If you and your hardware meets the minimum requirements, please go ahead and try it out.
Instructions:
1. Unpack all files from the archive named "MixedChiptunes.zip" to a SD card.
2. Unpack "PropellerChipTunePlayer.zip"
3. Edit the pin configuration in the "con section" of "PropellerChipTunePlayer.spin" to suit your needs
(If you want to use a NES game pad, uncomment the "InputNES.spin" and edit the "con section" in that file)
4. Compile, upload and run the top object (PropellerChipTunePlayer.spin)
5. Enjoy
Keyboard controlls:
Space - Fast forward
Enter - Pause
Right arrow - next tune
Left arrow - prvious tune
Down arrow - next page (tune += 10)
Up arrow - previous page (tune -= 10)
NES controlls:
A button - Fast forward
Start button - Pause
Right arrow - next tune
Left arrow - prvious tune
Down arrow - next page (tune += 10)
Up arrow - previous page (tune -= 10)
Color coding:
Green background: AY38910/YM2149F sound chip (Atari ST, Amstrad CPC, MSX, Spectrum 128)
Blue background: MOS8580 sound chip (Commodore 64)
Comments
Suggestion,
1) You should make it ignore any file extension that it doesn't recognize.
2) Have the program start playing immediately for those who don't have
a NES connected. (Example: This special)
OBC
Are you able to get it to work on the Hybrid running at 96 Mhz?
@Oldbitcollector (Jeff)
Good suggestions. I will fix these things in the next release.
@Cluso99
If you meet the minimum requirements, it shouldn't take more than a couple of minutes to test it out.
@jazzed
Thanks Jazzed !
What exactly are you working on? Or is it a secret?
Yes with the necessary adjustments, I love it!!
Was running a bit fast till I noticed you hard coded a delay to 80_000_000, I set it to clkfreq and it was sweet! :cool:
Thanks,
Coley
Audio unfortunately is monaural. I just don't have enough Prop pins or room for another chip.
Bug fixes:
- Changed the "wait routine" to use clkfreq instead of a hardcoded value
- YM tunes dumped from machines with lower than 2 Mhz clock freq now plays at the right pitch
- Fixed so only valid files can be played
- Plus at lot of small bug fixes
C3_PropellerChipTunePlayer - Archive [Date 2011.05.03 Time 23.53].zip
PropellerChipTunePlayer - Archive [Date 2011.05.03 Time 22.54].zip
This $%^&**&&^^$#@!@#$#$% tv.... (((((
Seems I have to learn fast and make a VGA replacements for all these several different tv drivers... Still can hear the old, beautiful sound of these beautiful machines
VGA replacements are sometimes possible, but not always. TV has lower sweep frequencies, which means better tricks in the video pixel render loops. The color space is different too, though I don't see that as too big of a deal.
Not that I'm advocating you don't knock up replacements. Many users would be pleased to have those. TV is cool though, I must say I love it because I can put a Propeller display on my laptop using a capture device. Great way to run a Prop! A serial terminal is a close second...
VGA more or less means you've got to be somewhere around a screen. Why they don't make laptops with a basic VGA in, is beyond me. Would buy one in a second! Less even.
It was a piece of cake for CRT type monitors to be designed to handle the lower frequencies but nope it almost never happened, and was called a multi-frequency monitor when it did allow it. Not that your average VGA capable monitor wasn't multi-frequency anyway.
It's even simpler now with built-in scan converters inside all modern LCD monitors. The minimum horizontal scan rate of 30kHz is a totally arbitrary limit. Sad really.
I received my Quickstart board last week and have been very impressed with all the Propeller chiptune emulators. My current experience is with a Midibox SID that I just finished -- uses a real SID chip
--tom
We can play these emulators with midi fairly simply. It takes very little code using objects in the obex, especially the Midi In object. I did a quick script to play sidcog from midi in. I can post code if interested. SidSynth is a very nice synth that will work on your quickstart with a simple midi in.
I've been porting the chiptune player over to my hardware. The inital port is working if a bit buggy. I need to finish the UI and then I'll upload a video to youtube.
The code would be great. I will have a booth at our local Maker Faire next weekend :
http://makerfairenc.com
and I'd like to have the Propeller synth there....to give the Propeller platform some exposure. It would be really cool to have multiple emulators running in different cogs, all controllable via MIDI. Perhaps a simple interface to map keyboards to cogs and it would be an great piece of gear for live performance. I'm still figuring this all out...I will have more time to do more experimenting after Maker Faire is over. At this point, I want to make sure I have finished projects to show.
Is there a standard MIDI (in/out) library, or is everyone doing their own thing? A standard library for common stuff like MIDI would be great.
It's funny, I discovered all this Propeller music stuff after happening upon one of your posts in the Midibx forum. Otherwise I would not even have thought to look over here.
Thanks,
Tom
I've incorporated the original version of your code in my PropellerBASIC, (I'm counting every byte or I would have used the current one.)
I'd love to add MIDI translation to it.
OBC
*edit*
I just commented this code to make for easier reading. I will start a post dedicated to PERFORMING music on the prop next week!
It never crossed my mind that I would have to be concerned with SD card compatibility or different SD card drivers. I guess I'll go look in the code. I am using a plug in micro SD adapter from Gadget Gangster.
--tom
So I used Kye's sd driver in my vga player.
Maybe the simplest way is to add some functions to this driver with the same names, as in fsrw, then replace fsrw with Kye's driver without changing rest of player's code.
--tom