Jump to content
IGNORED

SID emulation


F#READY

Recommended Posts

Really, sometimes , when you see the creators of the "original SID music" playing their pieces on real instruments, you realize that the results on SID weren't as intended. The listeners made them "great pieces of music" ... not the creators.

Funny.... isn't it?

Link to comment
Share on other sites

Really, sometimes , when you see the creators of the "original SID music" playing their pieces on real instruments, you realize that the results on SID weren't as intended. The listeners made them "great pieces of music" ... not the creators.

Funny.... isn't it?

Indeed. I'd say: "look at the eye of the beholder". I realize why I like the pokey sound, and why many others like the sound of the SID the most. F.e. to my opinion SID sounds great, but in a sense not magically. Only the pokey sound is magic for me.

Link to comment
Share on other sites

Indeed. I'd say: "look at the eye of the beholder". I realize why I like the pokey sound, and why many others like the sound of the SID the most. F.e. to my opinion SID sounds great, but in a sense not magically. Only the pokey sound is magic for me.

 

As you say, both chips have their strengths. It would be interesting to have a hacked computer with both chips in (now someone is going to say it has been done!), and then see what the combination would come out with.

Link to comment
Share on other sites

Been done (SID on Atari in various configurations) although I don't think it's widely available or supported.

 

Pokey on C64 - don't think it's been done. In both cases the clocking is way out, IIRC candle did a SID board with asynchronous (ie correct) SID clocking.

Link to comment
Share on other sites

@Rybags, pokey might actually benefit from the C64's slower clock ;)

 

@Tezz, I really liked your ported and modified Chimera song. Well done!

 

as for macgoo and emkay, yeah, I know I can get a C64 for five bucks and yes, I could spend the same amount of time working on a pokey-only tune, but it's like asking a mountain climber why (s)he climbs that mountain. Because it's there. I think it's fun to try to emulate the sid chip on the atari 8-bit in my spare time.

 

So, here's my latest blog entry :)

 

http://www.atariage.com/forums/blog/293/entry-9202-sid-emulation-revisited-atari-sid-iii/

Edited by ivop
  • Like 4
Link to comment
Share on other sites

Well, this SID emulation sounds great !

Next step: Do a "universal SID player" which means a standalone-player (*.COM/*.XEX), that can play *.SID files on the XL/XE via a menu or via autoplay. Since there is the High Voltage SID collection (with approx. 35,000 sounds) one could playtest them with Swiety`s old and your new SID player.

 

Menuplayer: shows a Directory (or subdirectory) of drive n, one can choose a sound, load & play it, then return to the menu to choose the next sound to play (or change drive-number, sub-directory, etc.)...

 

Autoplayer: does not show a directory, instead starts playing the first sound on the disk and then plays one sound after another (and if the end of the disk is reached, restarts from beginning); press Start to play the next song, press Select to pause (change disks here; Start to restart), press Option to e.g. change drive number / subdirectory, ESC to quit to DOS/DUP and Reset to reboot / coldstart...

 

... just suggestions of course...

-Andreas Koch.

Link to comment
Share on other sites

As you say, both chips have their strengths. It would be interesting to have a hacked computer with both chips in (now someone is going to say it has been done!), and then see what the combination would come out with.

 

 

Dual [or Quad] Pokey + SID would be the ultimate 8-bit audio hack.

 

 

Hmmm...wonder if any of the Apple // fans ever got the Ensonic sound chip out of the //gs to work in their regular 8-bit rigs...

Link to comment
Share on other sites

@Rybags, pokey might actually benefit from the C64's slower clock ;)

 

In arcade applications the clock varies from ~ 1.2 Mhz up to the normal 1.79. Around 1.4 is probably the best compromise, you end up with better resolution for the frequency steps and gain some handy lower frequencies that 64 KHz mode can't normally reach. Go too low with clock speed though and you end up with more "not very useful" frequencies at the low end of 1.79 and 16 KHz modes.

Another disadvantage of any non-standard clocking is the 16 KHz mode no longer equals exactly 1 scanline.

Link to comment
Share on other sites

Let's say it this way: It's not sounding like SID. But does this mean, it sounds worse? Nope.

Well, the 8 bit pitch resolution has it's flaws, but 2 channels can be played musically correct. This one plays at 4 channels.

I hadn't listened to it, assuming it was going to be another out of tune tortured cat disaster, but on reading the description by Macgoo, I had to listen.. My mistake...

He's right.. You are doing POKEY no favours at all with these abominations :)

Tortured cat buzzy bee disasater describe SID to perfection. Pokey sounds arcade true to me. :D

Link to comment
Share on other sites

Is there enough CPU time to actually make it sound like a SID and a lot less like Pokey playing a 2khz sampled waveform? Forget the 5 channel soundtracks with two sample channels and 3 waveforms pumping out I guess too?

 

Uhm, have you followed the link to my latest blog entry and checked out my new version which plays at 15.5kHz?

Link to comment
Share on other sites

Just checked the update. Great improvement, it's like telephone vs radio.

 

Any more tunes on the horizon? How about Monty on the Run? It'd also be interesting to have Delta so a 3 way comparo could be done.

 

Are the SIDs easy to convert? I might give one a crack if it's as simple as relocating and doing the shadow + z-page stuff.

Link to comment
Share on other sites

It seems to slow the play rate down at times. Could it be that you're occasionally overrunning the frame with the tracker component which causes the wait for VCOUNT=0 to miss start of frame?

 

If that's the case, maybe you could ensure it doesn't happen by using the VBI to set a flag. e.g.

 

vblank:  sec
ror framedone
rti

 

For extra speed, no register pushes used.

Link to comment
Share on other sites

Yes, it's possible that VCOUNT==0 is missed. Some tunes periodically take very long to return from their play-routine. This can be remedied by lowering the replay rate slightly to give the player more time, but the downside is that the pitch of the tune is slightly lower. But I'll add your vbi trick. Most of the time there is enough time and with this vbi trick it should be less audible if it goes wrong.

 

Which tune displayed this behaviour and at what point? It seems I haven't noticed it :)

Link to comment
Share on other sites

I noticed it most probably in Delta and Monty. I had the debugger going and thought maybe it was just slowing emulation down but it seems probably not.

 

Pity the IRQ can't be sped up more... I had a think about RMW instructions on IRQEN to trim 6 cycles off.

 

If you used Timer 4 IRQ, that should give IRQST reading $F3 when the IRQ enters.

Then you can ASL IRQEN which should store that back, resetting the Timer 4 IRQ in the first writeback cycle.

Second writeback would be $E6 which enables Timer 4 again, but also enables Timer 2 as well as Break, Key and Serial input ready IRQ.

 

Timer 2 could be stopped from triggering by having it in 16 KHz mode with AUDF2 = $FF and hitting STIMER during VBlank (STIMER doesn't affect forced volume sounds)

Serial Input IRQ shouldn't occur unless some device is sending data to Atari (unlikely).

Keyboard is a different matter, probably have to rely on the user not pressing keys.

But due to keyscan speed you'd never get many unwanted key IRQs.

Link to comment
Share on other sites

Sanxion is tricky as it uses sid features that are not emulated. Here's a zip with Delta, Monty on the run and Sanxion. I also fixed a bug in adsr.sh65. Monty triggered it :)

 

Great!

 

One vote for the Crazy Comets and Commando tunes, if it's possible :)

Link to comment
Share on other sites

Sanxion is tricky as it uses sid features that are not emulated. Here's a zip with Delta, Monty on the run and Sanxion. I also fixed a bug in adsr.sh65. Monty triggered it :)

Damn - Delta sounds really good. That's one of my favourite 8-bit tunes.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...