Closed vonmillhausen closed 5 years ago
I experienced the same thing, and my impression was that it is related to the sampling method. Thanks to your investigations, we now know that it's not. We should keep an eye on what the VICE team is doing. If they fix it in their emulator, I'll happy to adapt the fixes in VirtualC64. If the problem persists, we can revert to an older reSID version, but for now, I suggest, we live with this bug for a while.
@dirkwhoffmann No problem! Also as a side note, thank you for continuing your work on VirtualC64 - it gets better and better with every release! For example, the "Reluge" demo I linked above didn't used to work in older versions, but started working just fine in 2.1. I'm actually preferring VirtualC64 on my Mac now as my go-to emulator, as the interface is a lot more friendly than the 3.x Vice builds on macOS so far, and I like a lot of the extra features like the snapshot engine and inspector.
Is there any news about it? ... for the use I make of it I do not find any problems with this version of audio at the moment ...
New VICE version 3.3
Awesome! Time to go for a raid on SourceForge π.
Hugo, good news. Thank you ALL ! :smiley:
:smile: :smile: :smile: :crossed_fingers:
...this means that we could have a new RESID engine in VirtualC64 3.3 ?
... :zipper_mouth_face: Napoleon ! ... :zipper_mouth_face:
:crossed_fingers:
Mission complete. Sneaked into SourceForge, shamelessly grabbed all their code and went out. Didn't even say good bye π.
I've already done some comparison. They did work on the reset behaviour, so there is a real chance that they fixed the bug we're talking about in this thread.
They also changed some calculations, so the new version might sound different, too.
Integrating the code was easy:
http://www.dirkwhoffmann.de/virtualc64/VirtualC64_3.3_alpha6.zip
I tried the new reSID implementation with a couple of games. Switching between chip models on-the- fly worked fine in all cases.
Sorry for releasing a new alpha every ten minutes, but the reSID stuff really had to be integrated asap.
All these "alpha" and "beta" are really very welcome !!! It works well for me, thank you
Issue is not completely solved by the new reSID version.
To reproduce:
There is an issue with the 8580 chip in combination with audio filter emulation.
Could some window user please check out the following version of "Defender of the Crown" in VICE until the hacker intro comes up?
It plays the theme from "The Boat". When using ReSID (model 65xx) in VirtualC64 with audio filtering enabled, the sound is weird. Without filtering, it's great. If it's the same in VICE, audio filter emulation might be broken. If it sounds good in VICE, then I screwed it up.
Ok, Tonight I will try on a windows 7 pc...
GTK3VICE-3.3-win32 (resid+resampling) With both the 8580 and the filter is active, the sound is horrendous. If I remove the emulation filter everything is fine for 6581 versions of the SID.
... better not to use the filter or use 6581...
Yes, vicesc 3.3 resid filter emulation is bad for the two chip sid. Itworks well only without filter emulation.
Thanks! So the reSID filter emulation is screwed up in the latest VICE release. As a workaround, we could disable the filter by default (until VICE 3.4 is released).
Another (longer term) possibility would be to integrate David's SID implementation from Hoxs64 as a third selectable engine (FastSID, reSID, Hoxs64). David only emulates the 8580 though.
Does David's SID implementation work so well ?
I think that it would be better to disable (no to remove, only deselect it) the filter by default (until VICE 3.4 is released).
Audio filter emulation is now disabled by default:
http://www.dirkwhoffmann.de/virtualc64/VirtualC64_3.3_alpha8.zip
It has to be enabled explicitly by the user.
mmmm..... Now, we can see what is thinking about GPZ: https://sourceforge.net/p/vice-emu/bugs/1091/
... I do not think Groepaz of Hitmen (group) will answer with good manners ... :-D ... it would have been better to wait in silence, probably ...
Who is Groepaz and Hitmen??? I only remember He-Man from the 80th.
he is, now, a member of the VICE team... ...but I do not think that he will understand well the #puleyo sentence...
I'll handle that...
I never had contact to anybody in the VICE team except AndrΓ© Fachat who wrote portions of the CIA code. At that time, he helped me out a lot by pointing to some test cases I wasn't aware of.
I'm not really familiar with what's going on in the hard core retro scene, but I hope it's not something like this π:
... worse, much worse ...
... I saw you in an old 70s movie ... Chief Inspector Clouseau and the Pink Panther ...
Hey !!! ...you're not kids anymore
Probably the ReSID has many problems that need to be corrected ... no hurry ...
Groepaz has explained... What do you think about ?
I do not think Groepaz of Hitmen (group) will answer with good manners
thanks for the flowers :)
so, yes, there are some issues with resid. for the most part, the 8580 filter emulation has been rewritten (before it was just the same as the 6581 filter, which was wrong of course) and that naturally (and unfortunately) brought us some regressions. (the "samples are audible although they shouldnt be" bug is related to this, and the "crackling filters"). it shouldnt be that much of an issue though, and mostly sound ok anyway.
other issues are mostly just detail issues that probably dont matter a lot in practise - and most importantly they were always there. they shouldnt matter much for most people either :)
now when i read the original post it sounds to me like this is a completely unrelated and totally different - likely macOS specific - problem. ie even with the new (and slightly buggy) 8580 filters you should never get "the audio output is heavily corrupted - mostly silent, with bursts of static". if this is what you get with a recent resid, i'd like to hear a recording of it. you could also try fixing the "sanitizer issues" in the list above locally and see if that helps. or perhaps crank up the warning level when compiling and see if that shows anything suspicious. its well possible that there are bugs that only trigger in clang (ie macOS) and happen to work with gcc. (a log output of resid compilation with max. warning level would be interesting)
that said, when comparing with VICE, make sure to select the right SID - the default changed from 6581 to 8580 a while ago.
and when reporting bugs, please give us exact references, like here: https://sourceforge.net/p/vice-emu/bugs/1086/ - without that its hard to reproduce (or even fix) anything.
This is one of the rare cases, by divine grace, that GPZ has responded calmly ... we should take it as a message from heaven ... :-) GPZ said:
So we: 1) should we select the C64 configuration by default and not the C64c, including also the filter emulation? (Everything should work with 6581 ON !?) 2) is it a problem to be attributed only to OSX?
...is it considered that DEFEND1.D64.zip intro is a music specially written for 6581 and you can not sound well with the 8580 ? Have you already tried the VirtualC64 ? (6581 / Filter Emulation on)
Ok. This iussue from vonmillhausen was opened for this: ...switching to MOS 6581 gives clean audio output with or without Emulate audio filter... If the ReSID works well with MOS6581 and filter On we should use this configuration by default (C64 PAL) and close the iussue ...
I think you're right, I tried now (with a good brioche) the VirtualC64 6581 + Filter Emu and it works well even with the Reluge / Plarp and Defend1.d64 intro demo. So we should choose the c64 configuration PAL (6581 + filter) by default and close this iussue, when the new VICESC 3.4 arrives, we will be able to talk about it again. Let's leave the Resid 8580 alone and close this issue
It could be a problem with 6581+filter emulation on OSX. In VICESC I remember that 6581+filter works well but there is some problem in VirtualC64 probably.
GPZ said: i listened to the tune with 6581 and filters and it sounds normal to me (IN VICESC)
How do you hear defend1.d64 intro in VirtualC64 (6581+filter mode) ?
If it sounds good you may close the iussue ...or if it sounds bad there is a problem in VirtualC64...
I don't really get the point of the recent discussion. To get it back on track, I try to briefly distill the facts (as I understood them):
Hence, I conclude the following:
Before answering question 2, it doesn't make sense to go for bug hunting. I guess somebody with "the real thing" has to play a round of Defender to find this out.
ehrm, a) its not about defender of the crown, but about the "das boot" tune used in the crack intro. -> https://csdb.dk/sid/?id=213 (see "6581") b) most older tunes are "designed" for the old (6581) SID. also the vast majority of game tunes (the classic games from 80s at least) was made on/for 6581. its easy to check by just looking at the respective HVSC entry, those are mostly correct by now. c) its not a bug. 6581 and 8580 filters sound very different. you get the same differences by running those tunes on a real C64
...please, let me know: mrdudz=gpz ?!
@mrdudz: Thank you for confirming that it's not a bug and for your longer explanation given above.
@all: VirtualC64 seems to be in a good state at the moment, so I decided to release V3.3. ISEPIC support will be postponed to V3.4, because I have to wait for the logic board shipping from Canada.
VirtualC64 has reached a state of the art both as reliability and stability and robustness, probably in short it will be enough just to maintain the code to keep it updated to the possible and likely upsetting of mother Apple. Since the maintenance will probably require less effort, so .....are true the news and rumors that Prof. Dr. Dirk W. Hoffmann will release an Amiga emulator for OSX as like as VirtualC64 ?
Happy New Year !!!
Wow !!! Really ? Great !!! ...wonderful news !
"Prof. Dr. Dirk W. Hoffmann will release an Amiga emulator for OSX ??? !!!"
π² Never heard of such a rumor. Seriously.
But the funny thing is that I watched the movie "The Commodore Story" only two days ago (!) and when I saw some footage of "Defender of the Crown" running on the Amiga, I remembered myself standing in front of our little town's game shop looking at this brand new machine in it's display. It was an early Amiga 1000 running the "Defender of a crown" demo (hence my connection to this game). I remember standing there for nearly an hour and it was freezing cold (late in December).
So, after watching "The Commodore Story", I downloaded FS-UEA yesterday and tried to get "Defender Of the Crown" running on my Mac. I know that UAE is an excellent emulator, but I had to give up on it eventually. Why did I give up? Because it does not run out of the box (or I am too old now to get new software running out of the box π). After playing around with the emulator for some while I came to the conclusion that I don't belong to it's target group. UAE ist great for users who
Call me stubborn, but yesterday I didn't want to configure anything nor did I want to watch hour long tutorial videos. I simply wanted to play "Defender of the crown" as I did many years ago on my Amiga 500.
Therefore, for me and everybody else in the "we don't want to configure, just play" group, it would indeed be cool to have an emulator such as UAE embedded inside the VirtualC64 GUI. "Defender of the Crown" should be just two drag and drops away. First, drop in the Kickstart Rom (exactly as we do with the C64 Roms in VirtualC64). Second, drag in Defender Of the Crown (exactly as we do with Defender.d64 in VirtualC64). That should be it. Play it and let some beautiful childhood reminiscences come up.
Yesterday, I also looked briefly at the UAE code base. In my opinion, UAE is facing the same problem as VICE. Despite being excellent function wise, the code shows the typical symptoms of ageing software. The code base has grown gigantically and a newcomer has simply no idea where to start looking at. Hence, I won't even try to understand UAE or VICE completely, because it would require much more time than I have. As a result, an UAE port into the VirtualC64 GUI surely won't happen, at least not implemented by myself.
Yet I didn't check if there are simpler Amiga emulators around (emulating an Amiga 500 and running at least "Intuition", "Defender of the Crown" and "Marble Madness"), so I won't completely rule out the possibility of an Amiga emulator inside the VirtualC64 GUI in the future π.
BTW, while doing my tiny code review on UAE, I came across the Musashi Motorola 680x0 emulator which has been (or is?) used, e.g., by MAME:
https://github.com/kstenerud/Musashi
I am still stunned by the aesthetics and comprehensibility of it's code. I might even use it as a showcase example in my code quality seminar, but that's another story...
A distant dream that would implement an Amiga500 module in VirtualC64? It would be enough to have the possibility to use 512 or 1024 kb RAM and be able to choose between kickstart 1.2 or 1.3 ... to have 99% compatibility and a routine to read adf file formats at least at 4X speed ...! ... someone said "dreams are desires"? or the opposite? ...and VirtualC64 could be called VirtualCBM... (CBM ...Commodore Business Machines)
This is straordinary !!! We'll hope about it!
It would be beautiful. Yes, I remember that I changed the kickstart from 12. to 1.3 and sometimes I removed the 512k ram with a small program in the boot-sector of the disk to load all the games. Defender of the Crown worked well with Chip Ram's Kick 1.3 and 1014k chip-ram while on the other hand, to make Barbarian of Psygnosis work it was necessary to put the Kick 1.2 whit the external-switch (custom switch).
Because we already deviated a little from the original topic in this thread.... this is really cool stuff π:
OK, this is only a mockup... how it could look like π€.
It's running in Chrome π₯³ (needs the original Kickstart though):
I like the image mockup...
Also very cool. Debugging the Amiga emulator inside Chrome π (I interrupted it by setting a breakpoint in the CPU code):
Maybe Rupert Hausbergers Scripted Amiga Emulator (SAE) can serve as an easily accessible reference implementation for implementing a lightweight A500 emulator that is compatible with VirtualC64's existing GUI architecture. It might sound like a terrible idea, because UAE is already there and excellent (BTW, SAE is also based on UAE), but I will never ever be able to plug in the original UAE into the VirtualC64 GUI.
A nice side effect of using the existing GUI is that all existing shaders (Pixel upscalers, CRT filters, etc.) can be reused at no cost.
Let's see how far this idea goes...
I hope very much that this Amiga project will go well. FS-UAE is a decent emulator but it's not good for us that we have the mac. Insert the Amiga into VirtualC64 would solve all our nostalgic problems, for this purpose you do not need a monster of options but an emulation of an A500 with and without FastRam. ... even here it would be needed a virtual keyboard to solve the usual problems ...
VirtualC64 2.2, macOS 10.13.5.
When choosing to emulate the MOS 8580 SID using the ReSID engine, if
Emulate audio filter
is enabled then the audio output is heavily corrupted - mostly silent, with bursts of static. Turning offEmulate audio filter
gives clean audio output (without filter effects); switching to MOS 6581 gives clean audio output with or withoutEmulate audio filter
. Changing theSampling method
option has no impact.Tested with both "Reluge 101%" (https://csdb.dk/release/?id=156960) and "Plarp!" (https://csdb.dk/release/?id=163172). Note, from reading around this may be an issue with ReSID, and not necessarily with VirtualC64 per-se - I also get broken audio output in Vice 3.0 with a similar configuration (although there Reluge gives total silence with no static).