Nano SwinSID upgrades (paddles, etc...)

Es gibt 185 Antworten in diesem Thema, welches 139.666 mal aufgerufen wurde. Der letzte Beitrag (26. September 2023 um 07:40) ist von Frenetic.

  • Ahhh... have been playing a bit again with emulators and another match for the issue -- it sounds quite like ReSID-fp+digi boost! (also distorted with filters switched off but that's distortion is more different)
    So it can make standard digis sounds louder, but now it's overdrives the output.... (it will be a soft-switchable too later)

    It look's like it could be backported...


    Swinkels any help in here?

  • Hello master volume, long time no see... there weren't a real one before.... only off (for volume 0) and on (for every other value). :whistling:

    Still not a real 16 bit but shifting out the bits from output data. Also, reduced to 8 stages as below volume level 8 it's practically un-audible.

    It will also be backported.


    Is there any game/demo/etc which uses the master volume extensively? (besides Mahoney's $D418 playback)

  • Just checked here at random, surprised to see all this action on the Swinsid, truly fantastic.

    Same as Stephen_Falken I made my own NanoSwinsid, one game I have noticed bad glitching in is Wizard of Wor which hasn't been reported yet.
    I hooked up my 64c and recorded the result through my PC capture card. Ignore the line at left, really don't know why my capture card does that
    but the Avermedia software is absolute rubbish anyway.

    Bitte melde dich an, um dieses Medienelement zu sehen.

  • I will try to build ISP programmer for nano SwinSID soon to try my new patches for Lazy Jones and other tunes that uses weird gate triggering. The full patch should be still possible with a modification of interrupt handler as it works correctly on much slower 20MHz AVR even without initial test for CS level. As I remember I added this check lines into source to improve compatibility with some older C64 PCBs which may introduce some noises on the CS signal.
    I have analyzed Fanta In Space playback routine long time ago and realized that full emulation of this method is impossible on SwinSID without real time operation. Then I implemented a dirty hack with bit different emulation of zero waveform and checking of two consecutive register writes to remove carrier tone. Now it sounds very well in this tune and maybe it could be tweaked for other tunes with higher sampling rates.

  • Lazy Fix Report


    Games that I reported and result from Lazy Fix:


    Gyruss - Music volume dynamics are wrong. almost seems random at times. - Fixed


    H.E.R.O. - Helicopter sound does not work correctly. seems to be missing some notes/sounds - Fixed


    Panther - Bass Notes seem wrong on dynamics. drums are incomplete. - Improved But still wrong


    Mirrorsoft Tetris - Main melody of music is almost Non-Existent. - Improved But still wrong


    Choplifter - Helicopter sound does not work correctly. seems to be missing some notes/sounds - Fixed


    Defender - No Shooting Sound - No Change


    Master Of The Lamps - Major Issues with Music - Still Screwed up. It seems to have caused other problems.


    This is an awesome piece of hardware. Thanks Swinkels for the great work.

  • The full patch should be still possible with a modification of interrupt handler as it works correctly on much slower 20MHz AVR even without initial test for CS level.


    No, it doesn't --- well not enough at least.

    As I remember I added this check lines into source to improve compatibility with some older C64 PCBs which may introduce some noises on the CS signal.


    So if the board is older version, then you're screwed?! I test my sids in an old board, so i sure can say, it doesn't work well.

    Just for 'fun' , i have backported my upgrades to the current hardware (removed the SPI and changed back the INT):
    - with PORTB check it missed quite a lot of notes in 'Lazy Jones' ( 5-6 more instruction ~+50% in the gandler!!)
    - without this check it produced various kind of garbage noise


    Now it sounds very well in this tune and maybe it could be tweaked for other tunes with higher sampling rates.


    Yes, it sounds well indeed, but there are more tricks to be emulated.

    The other tune which is currently not good is the 'Comalanad - outro/credits' , but it uses an entirely different trick developed by Mahoney: Bitte melde dich an, um diesen Link zu sehen.


    There is another different kind of trick - the 16kHz PWM: Bitte melde dich an, um diesen Link zu sehen.
    It uses the TEST_BIT as fast as 'Lazy Jones' uses the GATE_BIT. ------ And not only that, but the 12bit PWM has been added by me too! (still a lot of carrier noise remained due to not being able to work cycle exact)


    @kjmann: have you read what i have written so far or i just typing for nothing?!

  • @kjmann: have you read what i have written so far or i just typing for nothing?!

    I'm reading. I have been sick for the past week so I haven't been online much. I will check these with the lazy fix if you like.

  • Wow, it seems that the pwm output update interrupt (timer0) not even needed in the AVR. (still not saves the old hardware -- maybe on C64C boards, but nah-- if not working on old boards, then it's ain't good enough)

    Swinkels: if you already doing a busy-wait, why bother with interrupt??

    Some weird sh.t going on with the pwm generation --- tried to implement a full 15 level master volume with fmuls(u), but it introduces a ringing-like noise as the sample data gets smaller in value (very noticeable in the initial "ping") in recording, it looks lot blockier than with shifting -- that most likely the cause of that noise -- but why is it there and how to fix it??

    Still looking into fixing the Comaland outro, but that's not easy to understand the full mechanic. (Well, the atmega is a bit slower than 44kHz, but with 41,7khz is close enough, shouldn't be much of a problem)

  • Done and done!!!
    Mahoney trick (still a bit buggy) and the full 16 level of master volume! I will post a video about it in the weekend.

    Need to do more testing, but I think now it's quite close to what a real SID can do :)

  • Just tested with some games the "Lazy version" and it's very good. Very impressed.

    CodeKiller, what are the hardware requirement / mods for your new revision?

    Thanks for support this great project. ;)

  • Currently the main focus is on the nanoSwinSID Readux -- with a CLPD and 4 serial-to-parallel buffer.

    So yeah, it's a bit more complex than a little mod....


    But all other things, that are not depends on readable registers will be available as nanoSwinSID HC -- High Compatibility version. (you can buy from me on amibay after I made some videos)

    Sorry, this fw is not available to download at the moment --- maybe sometimes in the future. And also requires a small modification to the hardware.
    (if you really keen to have all of these functions, look back in this thread and try to reimplement them)

  • I made a quick comparison of versions:

    Bitte melde dich an, um dieses Medienelement zu sehen.


    If interested, you can order here:
    Bitte melde dich an, um diesen Link zu sehen.


    Thanks the support and have a Happy New Year!

  • Wow, awesome, need some minutes to watch that video.....

    Some thoughts:

    - a further comparison to 8580 (or 6581) in video from ´one hundred and eighty´ would have been cool, maybe shorten some other clips? (Like the long-lasting volume-changes)
    - around 7:00, volume change on high compatibility seems to have a much louder ´popping-noise´ between the volume-changes, is that normal, will it be changed? (at 14:13 it seems also ´popping´ a bit more intensive at starting playback than the older version - any possibility to eliminate/comparison to 8580?)
    - you ever used the Limon-Reu-Player with this hardware? ;) (edit:ah, I read "44kHz 8 bit sample playback", so it seems it works and you have ^^)

    Very cool, an almost perfect Sid-replacement!

  • - Well you know, you can find a lot of recordings from actual SID/proper emulators on youtube, that's why i didn't feel the need to include them too.
    - The volume change has different 'popping-noise' because the "noise-table"--- the $D418 - 8bit to full 16 bit output range ( Bitte melde dich an, um diesen Link zu sehen. ). It's based on actually measured levels, not just arbitrary ones. (?? 14:13 -- it's the official one with Comaland outro)
    - Limon-Reu-Player --- not tried (i don't have 1541u or chamelon64 carts), and not sure if it can handle. As you see, this 44kHz/8bir effect is not that old as the player, so it may use some other stuff to achieve the 44/48kHz 8bit than what Mahoney used -- potentially cycle exact -- and that is, and will not be possible with SwinSID.

    Well, i can mute the first $D418 access after a "long time"... i will test it if it's not break some other stuff.

    The 8580 for the sample playback is brought up, because the "noise-table" is from 8580 levels. I have tried the 6581 ones too, but i believe, the playback code first detects, if it is a 6581 one -- which detection requires readable registers and cycle exact response --- and after that fails, it assumes the SID is a 8580 one and drives it accordingly, so it sounded like garbage.

  • - The volume change has different 'popping-noise' because the "noise-table"--- the $D418 - 8bit to full 16 bit output range ( Bitte melde dich an, um diesen Link zu sehen. ). It's based on actually measured levels, not just arbitrary ones. (?? 14:13 -- it's the official one with Comaland outro)

    I did not mean the noise used for playing music, I mean the popping directly before music starts. At 14:13 it sound like a double-popping/cracking, and at 13:22/23 it sounds like a slightliy lower single-popping-sound. But actually I dont know how it on 8580 sounds, so I simply go to test it in a few minutes...

    All in all I like the 8580 more than the 6581, cause it has a deeper, more bassy sound...

    Btw, I will test the Limon-reu when buying it of course - but what I already can say is that it worked (perfect) with old SwinSid-fw (Bitte melde dich an, um diesen Link zu sehen. - and it sounds better and louder than on real sid, sounds almost like playing on pc). But there were made some modifications to the player, which I dont know...whatever, a test will tell if it works then. You still need to convert mp3s to 8bit wave on pc - but all in all - with an Ultimate - you could use to play really good quality music, if it works. Also the Reu-wrap-sound was almost not hearable on original Swinsid compared to real sid, don´t know why...but really good.

    Living without Ultimate? That is really retro :)

  • Ok, so that's a different effect then -- the Vicious SID based playback. Yes it's nice too, but the Mahoney one is louder and has higher sample-rate ;)
    (the Vicious SID and the high resolution PWM-s explained here: Bitte melde dich an, um diesen Link zu sehen. )

    And that has been indeed supported -- the 'Fanta in Space' demo also uses that effect.

    (ahh, the vlc had some problem with the timestamps, so that confused me...)

    As I said before, the volume change will always cause a pop by default, but i can mute it (or manipulate any kind) if no volume/filter change has happened in the last 160 main cycle (1 main cycle= 24 usec)
    And for why it's louder than before is that it uses that lookup table even if not using the Mahoney playback.


    Well, a 1541u is a bit steep... maybe if i sell enough swinsidhc, i will order one..... But for now i have my trusty floppies, opencbm and (hacked) action replay 6 .. they are fast enough (just the copy is a pain)

  • Yes it's nice too, but the Mahoney one is louder

    Compared to real 8580 you're right - but on the SwinSID it sounds much louder and very good - ok, 8 bit - but almost as on a Cd-player or PC!
    Furthermore, maybe my ears are bad or my expensive speakers - but I also could not hear the often mentioned "very loud and ear-piercing 4khz tone" :gruebel

    and has higher sample-rate ;)

    8kHz vs >41kHz? Hm...

  • Compared to real 8580 you're right - but on the SwinSID it sounds much louder and very good - ok, 8 bit - but almost as on a Cd-player or PC!
    Furthermore, maybe my ears are bad or my expensive speakers - but I also could not hear the often mentioned "very loud and ear-piercing 4khz tone" :gruebel


    The 4kHz (or in better case 16kHz) is the carrier of the PWM playback... that's another playback method -- the one from the Wonderland XII demo (however with cycle exact timing, they managed to greatly reduce that carrier noise)

    8kHz vs >41kHz? Hm...


    I think you haven't read it careful enough --- the Vicious SID can achieve 8kHz (it requires changing the osc freq, test bit, and waveform) while the Mahoney playback could go 190kHz or even 1MHz (if the data could be feed directly to the chip at that rate) -- but in practice, a stable 44kHz is feasible with 8bit resolution -- it only needs one register update per sample.