Posted By
Csabo on 2014-06-17 03:32:23
| SD2IEC SID Player
Our newest registered member, Epy has just released a little utility called SD2IEC SID Player. If you're a lucky owner of a BSZ SID card (see this forum topic), this may come in really handy. It can load SID files from HVSC and play them automatically. Check it out and enjoy!
|
|
Posted By
Luca on 2014-06-18 03:32:23
| Re: SD2IEC SID Player
Uuuuh great one! I wanna try it immediately when at home!
|
|
Posted By
Gaia on 2014-06-18 15:50:41
| Re: SD2IEC SID Player
Sounds great, I do have a SID card so all I need now is an SD2IEC device which I planned to purchase anyway...
|
|
Posted By
Csabo on 2014-06-18 16:01:14
| Re: SD2IEC SID Player
Tested it in YAPE, works just fine with D64 images as well.
|
|
Posted By
Epy on 2014-08-08 14:51:54
| Re: SD2IEC SID Player
I finished the version 1.1, you can check the change log on the program's page SD2IEC SID Player.
|
|
Posted By
Csabo on 2014-08-08 19:35:18
| Re: SD2IEC SID Player
Quite the improvement in the new version, congrats! I'm glad to see you still work at it. On that note, I see that error handling is still on some to-do list
|
|
Posted By
Epy on 2014-08-09 07:00:46
| Re: SD2IEC SID Player
Thank you for your support, of course the error handling is on the to do list
|
|
Posted By
Litwr on 2014-08-10 14:44:46
| Re: SD2IEC SID Player
I tried to get music with emulators and failed. I got SID-file and pushed it as SEQ file to D64-image - it doesn't work.
|
|
Posted By
Epy on 2014-08-10 17:44:00
| Re: SD2IEC SID Player
I also tried what you did, I changed a SID file type form PRG to SEQ, yes it didn't work. But if I changed back the file type, there wasn't problem. I don't know how the LOAD kernal routine works with SEQ file. Sorry there's no error handling yet. So please don't use SEQ file type just PRG. I recommend to use for editing D64 images the DirMaster on PC.
|
|
Posted By
Litwr on 2014-08-11 08:29:15
| Re: SD2IEC SID Player
There is a big problem for me. A SID-file is a data file for C+4 so it is natural type is SEQ or USR. OK I changed type to PRG but I couldn't get music. PRG-file begins with the start address. It looks like it should have the special value. Is it right? I tried $1001 - it doesn't work.
|
|
Posted By
Csabo on 2014-08-11 08:41:43
| Re: SD2IEC SID Player
Actually SID files don't have a load address, the first four bytes must be "PSID". If you check in a hex editor, or use the DOS TYPE command to "list" the file, you should see that.
So, you grab DirMaster, put some SID files on a new disk image, save and run. Works like a charm!
I guess this is an indirect feature request for Epy: when the file is being loaded, check if there's two extra bytes at the front, then followed by "PSID" (which is what Litwr seems to have done). In that case, drop the first two bytes. (The additional requests are: figure out how to load regardless of the file type, detect if there's no disk in the drive, etc. )
|
|
Posted By
Litwr on 2014-08-11 09:18:12
| Re: SD2IEC SID Player
Thank, Csabo, but the problem is different. I begin to think than something is wrong only with my SID files. I used Galya.sid and Galivan.sid (they are from the GAMES directory). It looks like SD2IEC works but there is no any sound with Yape or Plus4emu. I tested these files with SIDPLAY - they sound right.
|
|
Posted By
siz on 2014-08-11 09:53:08
| Re: SD2IEC SID Player
I'm very sorry to say this but this player is still full of bugs. There is no error handling and any check on input files at all. When it loads something there is a great chance that there will be no sound.
I was thinking about creating a SID player to test my SIDCard when the first version of Epy's player came out. I was glad that I don't have to do it myself but I gave up after the first try. There were bugs with paging (corrupt directory display), there was no sound, etc.
Eventually I started to create my own version. I've uploaded it to http://siz.hu/external/sizplay.d64 . It works a bit but be aware that it's in a very alpha phase. I've never tried it on the real iron so far and lacks some important features (like playing back NTSC SIDs at real clock speed and relocating player if the SID load address conflicts with player address).
(Usage: start with sys16384, cursor up/down to select files cursor left for parent directory, cursor right/enter to enter directory. Key 'd' to select drive, 'r' to reread directory. 'Return' enters subdirectory or plays SID. In player mode cursor left/right to select song and space/Esc to return to the browser). I've included some test SID files and Epy's player for reference.
|
|
Posted By
Litwr on 2014-08-11 10:06:06
| Re: SD2IEC SID Player
Sizplay works in the most cases. Only Galya.sid makes no sound.
|
|
Posted By
siz on 2014-08-11 12:25:10
| Re: SD2IEC SID Player
Thanks. I've to look at Gálya a bit more. One thing was that I forgot to initialize CIA timer and Gálya assumes that it's at the default 60Hz clock setting. After I've fixed this the playback speed is ok but somehow only one voice can be heard, the others are silent.
|
|
Posted By
Epy on 2014-08-12 01:54:38
| Re: SD2IEC SID Player
Guys! I tried it on real iron with JiffyDOS and SD2IEC with multilevel directories. I loaded 'Last Ninja 2' music from Matt Gray and it has an incredible speed, the directory handling and loading SID files with amazing speed. I don't believe it, I'm using my Plus/4 like C64 with IDE64. Siz you were right on the Index forum.
|
|
Posted By
Csabo on 2014-08-11 20:37:36
| Re: SD2IEC SID Player
Nice one siz, could you confirm the spelling of your release (capitalization).
I'm just now there's more than one utility to choose from if someone needs this Keep up the good work guys!
|
|
Posted By
siz on 2014-08-13 18:17:01
| Re: SD2IEC SID Player
Csabo, I wrote it as SIzPlay (like a lame pun of SIDPlay to include my name). I've uploaded a new version instead of the previous one. This one has a bit improved functionality. In theory it should play every PSID file at the correct speed on either PAL and NTSC machines. It's biggest problem is currently the memory allocation (it is in the middle of the memory under $8000 and can conflict with a lot of music).
There are several restrictions though: it will never play back RSID files (those require real-C64 environment with for example a BASIC ROM and I'll not emulate that on a plus/4.
There are some SID's (like Gálya that Litwr found) that writes to the SID more than once in a frame. Those can be played back properly only by modifying the SID address in the player routine. This player won't do that. (Gálya toggles the gate bit off and on in the same call and the copy to the SID only see the latter change so the voices "fade out" because the gate bit will never trigger a new ADS phase, they will remain in R phase indefinitely).
|
|
Posted By
Litwr on 2014-08-16 04:07:29
| Re: SD2IEC SID Player
I am very sorry but I have to say several bitter words. It is abnormal to give PRG-type to SID-files. They are data files in the special format, the part of the data is code for C64. PRG-type is the same as to give them EXE-extension to SID-files at Microsoft Windows.
|
|
Posted By
gerliczer on 2014-08-16 04:55:12
| Re: SD2IEC SID Player
Hi Litwr,
I am very sorry but I have to say several bitter words. It is abnormal thinking in and comparing to categories of other systems anything in the old Commodore computers. PRG files are data files that have loading address. SEQ files are data files that have no loading address. REL files are structured data storage files. It can be argued if these type names are good or not, but we have only these so that's what we will be cooking with (as it is said in Hungary in these cases - someone with better English should post its proper counterpart). If there is any kind of benefit storing "data" with an address where to load it for being able precisely interpreting it then it should be stored in a PRG file. The OS knows it, people know it.
File extensions are the lamest hack for file use differentiation for the operating system. A proper operating system does not rely on the name of the file but reads its contents and decides based on it what to do. You should see nowadays (and for a long time already) in Windows too that Microsoft tries to hide this stupidity from users. File meta-data and/or type identifier plug-ins are the proper way.
|
|
Posted By
Litwr on 2014-08-16 08:21:46
| Re: SD2IEC SID Player
Thank you for the excellent English and irony. Did I deserve the last? You can see above that Csabo wrote in details that SID-files have no start address. I can also add that Commodore FS has also USR file type. Microsoft Windows may run only files with EXE extension - it is very strange to have data files with this extension at a system... Why to cover the obvious mistake? [EDIT] Sorry, I missed the fact that a PRG-file is easier to load than a SEQ/USR-file. I used this fact with Xlife-8: the colors are stored in a prg-file. To err is human, to purr is feline, ... ;-)
|
|
Posted By
Csabo on 2014-08-16 08:23:16
| Re: SD2IEC SID Player
Oyyy, what's up with this thread? There are too many bitter words in it Come on guys, let's lighten up a little.
Here are some facts: the PSID files *exist*. There's a ton of them. People *have* Plus/4s with SID cards. So far so good? Folks *want to listen* to those PSID files on their Plus/4 with SID cards. They use PC-based utilities to transfer those PSID files to disks, which end up as *PRG* files. Two programs get created that play them.
Seems to me like a simple case of "See a need? Fill a need!".
So, what's the problem? (This is when everyone says "NOTHING!" in unison.)
Discussing the merits of PSID files, or extensions, or anything about Windows... just seems irrelevant to me. Well, you know, fine, if you guys want to discuss that, but it's certainly not something to get agitated over.
|
|
Posted By
gerliczer on 2014-08-16 08:24:41
| Re: SD2IEC SID Player
Thank you for your compliment but my English is far from excellent. And did you not deserve the irony? Using strong terms like "abnormal" without _really_ strong reasons is not a nice thing to do, and disagreeing with the author's choice of file type is anything but a strong reason. PC tools copy files to virtual Commodore media natively as PRG type and probably there is nothing more to it with these SID players too. And Commodore DOS also has DEL type although it is used only internally.
Unfortunately, I couldn't quite get what you were trying to say about Windows, exe files and mistakes in your last post.
|
|
Posted By
Epy on 2014-08-16 08:46:39
| Re: SD2IEC SID Player
I would like to show a clear view about PSID files. These files have two main parts, first part is the header the other is the remaining . The remaining part contains everything for the music: music score, instruments, player code, etc. As you can see the file contains the player code itself, that's why we can create easily PSID music player, we have to know nothing about music score, instruments and any other things with music. The header contains three important addresses: load address, init address, play address. The 'load address' says where we have to copy the PSID file without header, we have to call the 'init address' before playing music for initialization (with start song number if it has more than one song inside), and we have to call the play address for playing music 50 times per second (it depends on the SID file type). So I think the PRG extension is proper extension for SID file because it contains the player code.
|
|
Posted By
Litwr on 2014-08-16 11:55:53
| Re: SD2IEC SID Player
I repeat, I missed the key fact and made the wrong conclusion. I was driven by the weak theoretical reason: a SID-file is not a plus/4 program. It is not a C64 program too. So it doesn't require the start address provided by the PRG-format. There is also the strong practical reason - I missed it initially. To load a PRG-file is easy - it is just one system call. To load a SEQ-file is more difficult - it requires the open/close procedures and the read loop. So the SEQ or USR type is only better for the ideal case, if our aim is the absolute perfection. So, gerliczer, you are right, I used the strong word without the strong reason. I am sorry that I initiated this discussion without the proper preparation. I can only hope that this discussion lets us to comprehend the details of our best computer better. "So I think the PRG extension is proper extension for SID file" - It is right. :-)
|
|
Posted By
siz on 2014-08-16 13:40:53
| Re: SD2IEC SID Player
I just want to add a fact: there is an alternative version of SID files on the net: a C64 compatible version. Those are real PRG files (directly executable on C64). "Real" SID files - as Epy wrote - are data files which actually contains the player code (in most of the cases) but they can't be played without a specific player. By the way loading SEQ files is as simple as loading a PRG, you just have to add ,S after the filename (and of course supply a load address where you want to load the data). I think Epy's player uses this method to load SID files too (of course without the file type specification - which is by ignored by my player too but will include it in the next release ). My player uses CHRIN and loads SID files byte-by-byte. I did some performance tests with my player (I can't remember which SID was the subject): - 1551: 15 seconds - stock 1541: 25 seconds - JiffyDOS equipped 1541 (and plus/4): 12 seconds.
Epy's player seems to use JiffyDOS fast loader and its much faster.
|
|
Posted By
Epy on 2014-08-18 18:28:42
| Re: SD2IEC SID Player
I don't know we talk about the same. For the C64 there is a PC utility: PSID64. With this utility you can create C64 executable file from SID file. We have two similar programs for Plus/4: PSID16 and PSID2BIN.
[edited] I finished the version 1.2, you can check the change log on the program's page.
|
|
Posted By
YERZMYEY on 2014-08-20 14:57:53
| Re: SD2IEC SID Player
Csabo:
It can load SID files from HVSC and play them automatically. ---------------------- No it cannot. There is only silence although there is a movement on the border (lookin' like it IS playing something actually - but it doesn't). It is on both emulators. I made a real 5,25" disk and will be checking it on real hardware on Friday.
PS: Changing the "SID files from HVSC" from PRG into SEQ made things worse. Then - there is no movement on the border, just freeze with garbage on the screen.
PS.2: Hehe, the new one - 1.2 - is even worse: the only thing it does, is type: "LOAD ERROR, PRESS SPACE TO CONTINUE". Nice.
|
|
Posted By
Epy on 2014-08-20 15:14:53
| Re: SD2IEC SID Player
>there is no movement on the border, just freeze with garbage on the screen Please send that file to my email address what you wanted to play and I will check it.
>the only thing it does, is type: "LOAD ERROR, PRESS SPACE TO CONTINUE". Nice. Sorry for simple error message. This can be IO error or wrong SID file, or etc. That means the player cannot play that file. As I wrote in the 'Todo' list, in the next version will be more detailed error messages. I ran out of memory. The program uses the memory from $d000 to $dfff and it's totally full. I will rewrite the whole code with relocating.
|
|
Posted By
Csabo on 2014-08-20 17:58:32
| Re: SD2IEC SID Player
"No it cannot." Well, all I can say to that is that it worked fine for me, as well as for several other people in this thread. If I were you'd I'd assume *I'm* doing something wrong, and maybe ask some questions, but hey, that's just me.
Even better, the author of the program replies to you and offers help! What more can you ask?
Anyway, Epy just uploaded a D64 version, which has the driver program on it as well as some tunes you can try out. Perhaps see if you can get that to work.
|
|
Posted By
siz on 2014-08-21 03:50:46
| Re: SD2IEC SID Player
I've looked at Epy's player and found out why a lot of people complaining: it's compatible with NAE (BSz SidCard) ONLY. People who try to use it with original SidCard or in emulator that has SID address set to legacy $fd40 or $fe80 won't have sound. This method has it's advantages though: it can play back correctly tunes that write to SID more than once in a frame (like Gálya). And another side note to the author: please save your code from $1001 instead of $1000 to allow simple dloading instead of load"",8,1. Thanks in advance.
|
|
Posted By
Epy on 2014-08-22 16:13:06
| Re: SD2IEC SID Player
Good information if somebody want to use the SID player with sound
>please save your code from $1001 instead of $1000 to allow simple dloading instead of load"",8,1. I fixed it, thanks.
[edited]
I uploaded a video to YouTube. I just wanted to show how you can easily listen your favorite SID files on real iron, if you have these hardwares.
|
|