A new topic for vga (not only) sid player
pik33
Posts: 2,366
.... to stop mixing two of them in one topic.
Version 0.08
**** Alpha warning
**** Messy code warning
This version can access all directory tree on SD - you can change directory in any time
The program keeps its data in files "dirlist.dat" and "dmplist. dat"
When accessing a directory first time, it scans the directory and creates these files in it, it may take some time if there is a lot of dmp files in it.
If it find these files, it doesn't scan a directory and reads informations directly from these files. Delete them manually when adding or removing dmp files to your directory to avoid the crash (alpha warning), then when next run, the player will rescan this directory.
Use up/down arrows to move file or directory selector up/down one position, PgUp/PgDn moves it 10 positions.
Tab changes active window
Enter selects file or directory. When changing a directory, wait some time until the program process the informations (alpha warning) When it is ready, directory selector is gray.
When playing, + and - changes playing rate (useful for high speed headerless dmp files), space pauses/resumes playing.
Version 0.08
**** Alpha warning
**** Messy code warning
This version can access all directory tree on SD - you can change directory in any time
The program keeps its data in files "dirlist.dat" and "dmplist. dat"
When accessing a directory first time, it scans the directory and creates these files in it, it may take some time if there is a lot of dmp files in it.
If it find these files, it doesn't scan a directory and reads informations directly from these files. Delete them manually when adding or removing dmp files to your directory to avoid the crash (alpha warning), then when next run, the player will rescan this directory.
Use up/down arrows to move file or directory selector up/down one position, PgUp/PgDn moves it 10 positions.
Tab changes active window
Enter selects file or directory. When changing a directory, wait some time until the program process the informations (alpha warning) When it is ready, directory selector is gray.
When playing, + and - changes playing rate (useful for high speed headerless dmp files), space pauses/resumes playing.
Comments
Still early alpha
Some bug fixed, but maybe new ones added
Main changes:
- no more these stupid ABCDE~1 names - LFN support added (need to add some functions to Kye's driver). It tries to get a LFN first, if not found, it tries to get a module name from its header, if this fails, it uses short filename. If it find "_" in the name, it replaces it with space
- rescan on demand with "R" key
- some color changes (I added these 100 Ohm resistors to VGA output in my demoboard to get all 64 colors - then I changed some color values in program)
For some reason the "LFN support" isn't working... I havn't had any time to debug it yet.
Most probable reason are files "dmplist.dat" and "dirlist.dat" from previous version of this player.; if they exists, the program will use data from these files (with old 8.3 names).
Try to delete these files or use "R" in player.
It seems I have to add a version number for them, to force a new rescan when program version changes.
If this don't help, things will need debugging. It is still alpha. Adding LFN reading functions was a quick modification, so it may need debugging, too; this is first working version of "LFN read enabled" driver.
Still alpha.
Now it can play wav files, too. Wave playing procedure is the first working version - it doesn't read wav headers and it plays only 44100/16bit wav
I had to change name from Sidplay to Propplay
If you used earlier version of it, delete every "dmplist.dat" and "dirlist.dat" file or rescan every directory with R key
S key stops playing immediately (frees playing cog and closes the file)
There is a bug in my wav driver which can cause hang for 50 seconds (classic cnt problem). I have to rewrite this part:
When "time" is near $FFFFFFFF, it is possible that cnt will be something about 0, and then it will wait another 50 seconds... and then it can fail again.
I think it will help...
Yes, that's the way I use to do it as well.
Somehow I thought that "cmps" was all that was missing...
Does not hang when play wav files (thank you for help)
Reduced pop at wav start (now it reads header, but still dosen't interpret it). It still can pop when start playing wav file, don't know why. It is random (the same wav can pop or not pop)
After changing directory, now it stays in directories window instead of switch to file window.
Edit: it seems to give clear noise free sound !. So (1) it needs additional work (2) it needs its own topic
Wav player changed from dithered to noise shaped duty dac - lower noise.
Another wav driver change, now to nco pwm noise shaping dac working @ 308 kHz. This gives near noise free sound. At last.
Experimental version,it outputs SID sound via 10x oversampling NCO driver instead of duty dac. This should improve sound quality.
Please try it and check if this improved or degraded SID sound quality in your environment...
Compile with BST! The player may not fit in prop RAM without BST's removing unused methods. And 80 MHz only because of hardcoded constants (this will change..)
SIDCog needs update (it seems nobody tries to use SidSample variable before)
NCOWav object needs cleaning and then I have to put it in OBEX: it outputs better sound than duty dac
The player needs reworking to make possible its compilation in Propeller Tool. The Propeller Tool says it doesn't fit
Now, it uses 8 cogs and, when compiled in BST, only about 300 longs left. Optimization needed...
This version can be compiled by standard propeller tool
Untested. My "poor man sd interface" to the Propeller Demo Board is broken now (some wires are broken, I have to make it again) so everything I got from the demoboard was a message that SD card cannot be mounted