Re: C64 & 1541 core status and compatibility list
Ok thanks. Tomorrow I will test the games with the core version you put there today. Thanks!
You are not logged in. Please login or register.
FPGA Arcade → C64 → C64 & 1541 core status and compatibility list
Ok thanks. Tomorrow I will test the games with the core version you put there today. Thanks!
Yes, I suppose several glitches are based on a single issue, but I am sure there is more than one issue to fix
I saw your download above and could check it. Your ghost'n'goblins version seems to be different to mine, it get stuck on the splash screen - strange... But Zynaps is working fine, no glitches - can you send me a screenshot, please? I'd like to see and reproduce it. I just sent you a PM so you should have my mail address.
Wings of Fury seems to be a D64 file with additional disc error information, this is not processed yet in my media emulation (that's what I want to implement soon) - I'd guess that is the reason why it gets stuck (I just get sound with a black screen).
Stupid question, how do I read PM? I cannot find any link to it
Zynaps:
I made a video here - unfortunately it didn't come out too clear. Maybe you can see like short horitontal lines (around 4cm) appearing in the copper effect on the left side of the screen? They appear like flickering.
https://www.youtube.com/watch?v=MTttl5y62Ao
Soulless, Thunderblade = same issue as before.
----
By the way I have noticed that the aspect ratio in pixels is not exact so certain letters look like have they have been squashed horizontally. Also horizontal scrolling is not great because of the same issue. Happens in both DVI and VGA (on different displays).
See the attached JPG, you will see how the R in "ready" looks a bit fat, and the A looks asymmetrical. The A, elsewhere, looks fine. Looking like that, it doesn't seem to be a great deal, but that is what causing scrolling to look all weird. Sorry for nitpicking
PS. This is not an issue in the Amiga core
I go to any user profile (click on the user name in a post) and select "Send forum email" you will receive a message on the e-mail you used when you registered for this forum. This avoids posting e-mail adresses to the public. In your profile you should have (at least) set "Hide your email address but allow email via the forum." in the profile -> settings -> email settings (this is the default setting).
Edit: ok, i just tried it for my own account, it seems that Mike has disabled this function, even if it is enabled in the profile.
Yes, the C64 has a quite strange ratio which needs to be scaled to be used on a VESA compatible pixel clock with minimum frequency (= to get HDMI/DVI work properly). If it would not be done, the picture would be too small in X direction and the overall aspect ratio would be wrong. Unfortunately this scaling is an odd factor and not something like e.g. a factor 2 or so. There are ways to improve this (like it is done on a PC with an emu with pixel-based filters) later on...
Edit 2: I don't see the effect you show on youtube on my monitor, I'll try on a different one to check if I can see it there...
Do you use a digital (HDMI/DVI-D) or analogue (VGA/Scart/Composite) monitor input? Could be a sync issue of your monitor in this mode - the problem is (as mentioned) that it is not really VESA conform and there is no guarantee the video will work correctly on any monitor...
The only way to fix is properly (including aspec ration fixes) is to go away from a native output to a framebuffer setup, like it is done on a EMU (where the video runs on a totally different frequency/resolution and the core just "draws" the picture to an own video memory of the graphics card). This will introduce other issues like tearing, though (as you can see in fullscreen mode in this emus).
Cheers, what about the aspect ratio/scrolling thing
Wolfgang, just wondering if you missed this:
Stupid question, how do I read PM? I cannot find any link to it
By the way I have noticed that the aspect ratio in pixels is not exact so certain letters look like have they have been squashed horizontally. Also horizontal scrolling is not great because of the same issue. Happens in both DVI and VGA (on different displays).See the attached JPG, you will see how the R in "ready" looks a bit fat, and the A looks asymmetrical. The A, elsewhere, looks fine. Looking like that, it doesn't seem to be a great deal, but that is what causing scrolling to look all weird. Sorry for nitpicking
PS. This is not an issue in the Amiga core
Hmm, maybe you missed this - just go up a few posts:
http://www.fpgaarcade.com/punbb/viewtop … 4298#p4298
Yes, the C64 has a quite strange ratio which needs to be scaled to be used on a VESA compatible pixel clock with minimum frequency (= to get HDMI/DVI work properly). If it would not be done, the picture would be too small in X direction and the overall aspect ratio would be wrong. Unfortunately this scaling is an odd factor and not something like e.g. a factor 2 or so. There are ways to improve this (like it is done on a PC with an emu with pixel-based filters) later on...
Edit 2: I don't see the effect you show on youtube on my monitor, I'll try on a different one to check if I can see it there...
Do you use a digital (HDMI/DVI-D) or analogue (VGA/Scart/Composite) monitor input? Could be a sync issue of your monitor in this mode - the problem is (as mentioned) that it is not really VESA conform and there is no guarantee the video will work correctly on any monitor...The only way to fix is properly (including aspec ration fixes) is to go away from a native output to a framebuffer setup, like it is done on a EMU (where the video runs on a totally different frequency/resolution and the core just "draws" the picture to an own video memory of the graphics card). This will introduce other issues like tearing, though (as you can see in fullscreen mode in this emus).
Oops, didn't see this... so, here we go.
1. Thanks for the explanation regarding the C64 ratio. Guess will be looking for some sort of fix later on!
2. The Youtube video didn't come out very well, I will try and take a better one hoping that the artefact is more visible. I tried with both DVI->VGA and DVI->HDMI and the artefact was present on both.
3. Ugh... tearing.
No problem, I saw it. Not sure if it is really a core bug or if the video converter does not provide enough blanking time for your monitor (so it shows the end of the right line on the left). Need to find one to reproduce it before I can try some workarounds. The problem of such odd video formats (= off any standard even for these times) is that it can produce a lot of different issues on modern displays, it is always a fight to track down the root cause and not all can be fixed... :-(
Well I tried Zynaps on a 3rd display, and I got the same issue. Hmmm....
I made another video comparing both sides. If you look closely, on the left side of the copper effect there are short flickering vertical lines, on the other side it is perfect.
https://www.youtube.com/watch?v=XK1F3rbyT3k
You can see the same glitches in this youtube video which states that it's captured from a real C64:
Woah.... I'm impressed. The funny bit is that I do have a real C64C and tested Zynaps, and it didn't have any of those glitches. Not sure what to say now! Nevertheless, Chris, thank you for the headsup!
That's why I meant it is difficult to track such things down... For now I'll focus on "bigger" issues (= programs not running or with totally wrong graphics, mssing sprites, etc.) before going in a fine-tuning mode.
Edit: New version at http://www.fpgaarcade.com/punbb/viewtop … 4376#p4376
--> Next is fixing the block graphics issues the games with some graphics as reported (it seems that sometimes a wrong character set or graphics area gets selected when addresses are switched during a raster interrupt).
Awesome will test the same games I had problems before, see if these are fixed with the latest core.
One question regarding the non exact screen ratio... how come is it so hard to fix? Isn't C64 resolution a fixed one? Sorry if it is a stupid question
Old analogue standards did not explicitly define a pixel clock, so they used anything they got as long as it produced the proper +15...16kHz sync with a proper amount of video lines for a 50/60 Hz frame. Old computers didn't really care of aspect ratios as well. Furthermore, analogue monitors/transmissions did not have "hardcoded" pixel either, so this gave automatically a kind of smoothing effect.
When going to a digital format and display, this stuff matters and only limited formats are available. The C64 format is not really one of it. As said, I could switch off this "X expansion" for the DVI video mode used and all pixels (on a digital display) will look equally shaped, but then the picture will look very tall with large borders on the left and right. Luckily, the freedom on amount of lines was more restricted, so less problems with the height...
By the way: the two or three games you mentioned do still not work yet. Currently I am going through the list of games from the DTV, most of these work already - except some of the intro screens of course, which I don't really care about (yet). Oh, and of course there are still some SID issues (I think it is especially with the noise modes, these mostly sound really odd or are simply no noise sounds at all), this will be fixed by Mike.
Thanks Wolfgang, hopefully one day the display problem is fixed, if possible - means the C64 I have in my office won't be retired for the time being.
Regarding the C64 games, thanks for saving me some time, I guess these will be compatible some time in the future.
You can try the Composite or SVIDEO output of the Replay (you need to set up the 50i mode), this should already show some smoothing effect and is closer to the way the real C64 is connected. The best way to "fix" this issue and get an optimal picture is to disable DVI/HDMI completely and only use this analogue output with the correct C64 pixel clock and without any nasty (digital) video format conversion - like a real C64 does. I'll have a look to this as well. With the option for a RGB Scart cable on the Replay it would be even better than a original C64
I am actually working on the garbled text problem of Soulless. Up to now I figured out it is not a VIC problem (this was my initially thought, but this intro does not at all use raster interrupts to switch graphics modes), it uses a standard multi-colour text mode and displays (correctly) what it gets from the memory (to the end of the intro - the last part with the "eyes behind bars" scene, the text is even readable again).
So I am looking now on the CPU side for the issue. The t65 code I use still has some issues and I expect this is one of it (so fixing it might solve other issues as well). This character data is written every time a new scene is set up (this happens five times or so). As I have a working reference in the very same game as well, it helps me a lot (as I can check what the difference in the character data setup process should be). Every time I dig into the CPU stuff I wish I have already started coding it from scratch again, but then I realize starting over would be even much more work to do.
Beside that, I am also looking into the issue why noise sounds are quite often not correctly played on the SID...
Ghosts n' Goblins: Doesn't run, hangs on loading.
Soulless: Garbage on text during game intro, otherwise game plays fine.
Thunderblade: Garbage on screen, unplayable.
Wings of Fury: Didn't loadI am hoping that ironing out a glitch in a game will result that many other games will be fixed too? Or we have to go through all games one by one
Found & fixed a nasty interrupt glitch in the VIC-II code. All games above work now (and many more). There are still some minor sound issues (have not checked yet Mikes SID implementation), but all games I found and tried were playable. I checked as reference all games as they are distributed on the DTV - now they all work on the Replay core as well!
Will do some more testing and prepare a release this weekend (maybe even today) - so please stay tuned...
Edit: just released in my "pre-release" thread here...
Edit 2: let me know if there is a game not running on this latest release to have a base for further debugging (be sure it works on e.g. a real PAL C64 with a sd2iec connected using the same D64 file) and it does not use some odd copy protection or requires a NTSC C64 causing the stall.
I'm on the SID - building the test rig tomorrow....
Great. I think the issues are related to the noise generator and some require the "bad" internal DAC offset of the SID to be there (e.g. impossible mission for the speech at the beginning - currently there is nothing to hear). I did small fixes I checked in already so that some games can detect the SID, although I think this fix is still not fully correct.
I'd leave the core this way for a while - as it is working pretty well now (only very few and IMHO more irrelevant CIA issues left with the Lorenz test) - and focus on some other things - besides using it to play, of course. Just to free up my mind a little...
Yeah, like my Amiga CIA variant please
I am pretty sure that Impossible Mission and other programs that do speech are bit banged (digitized) data. I know the CIA is used for timing of these. The Covox digitizer did this for playback and that was popular with everyone, including game developers.
The volume reg was used for DAC and as wolfgang says, it works because of a DC offset.
Tested on C64 today: Bandits works perfectly on FPGA Arcade. Boulderdash (No-One's collection) works, but has sounds glitches. The sss, sss, sss of the movement of Boulderdash is not heard. Also the explosion when he dies is not heard. Something in the noise generator maybe ?
Yes, the SID noise still has some issues.
Some games use this as random generator, so that's one of the reasons some games fail or get stuck...
Also mixing of channels is quite "analogue" and not so easy/straight forward to implement on FPGA.
I did some improvements to Mikes SID code, but it is still far from being perfect...
FPGA Arcade → C64 → C64 & 1541 core status and compatibility list