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!

ɃºïȠǥ!

27

Re: C64 & 1541 core status and compatibility list

Yes, I suppose several glitches are based on a single issue, but I am sure there is more than one issue to fix wink

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).

/WoS

28 (edited by Everblue 2014-12-21 10:22:00)

Re: C64 & 1541 core status and compatibility list

Stupid question, how do I read PM? I cannot find any link to it smile

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 smile

PS. This is not an issue in the Amiga core

Post's attachments

v64.jpg
v64.jpg 39.69 kb, 4 downloads since 2014-12-21 

You don't have the permssions to download the attachments of this post.
ɃºïȠǥ!

29 (edited by WoS 2014-12-21 11:29:07)

Re: C64 & 1541 core status and compatibility list

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).

/WoS

Re: C64 & 1541 core status and compatibility list

Cheers, what about the aspect ratio/scrolling thing smile

ɃºïȠǥ!

Re: C64 & 1541 core status and compatibility list

Wolfgang, just wondering if you missed this:

Everblue wrote:

Stupid question, how do I read PM? I cannot find any link to it smile
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 smile

PS. This is not an issue in the Amiga core

ɃºïȠǥ!

32

Re: C64 & 1541 core status and compatibility list

Hmm, maybe you missed this - just go up a few posts:    wink
http://www.fpgaarcade.com/punbb/viewtop … 4298#p4298

/WoS

Re: C64 & 1541 core status and compatibility list

wolfgang wrote:

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.

ɃºïȠǥ!

34

Re: C64 & 1541 core status and compatibility list

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...  :-(

/WoS

35 (edited by Everblue 2014-12-26 15:48:45)

Re: C64 & 1541 core status and compatibility list

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

ɃºïȠǥ!

Re: C64 & 1541 core status and compatibility list

You can see the same glitches in this youtube video which states that it's captured from a real C64:

https://www.youtube.com/watch?v=nDq0rSXAr8Q

37 (edited by Everblue 2014-12-26 19:23:50)

Re: C64 & 1541 core status and compatibility list

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!

ɃºïȠǥ!

38 (edited by WoS 2014-12-27 23:29:56)

Re: C64 & 1541 core status and compatibility list

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).

/WoS

Re: C64 & 1541 core status and compatibility list

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 smile

ɃºïȠǥ!

40

Re: C64 & 1541 core status and compatibility list

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.

/WoS

Re: C64 & 1541 core status and compatibility list

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.

ɃºïȠǥ!

42

Re: C64 & 1541 core status and compatibility list

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. big_smile    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  wink

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. big_smile

Beside that, I am also looking into the issue why noise sounds are quite often not correctly played on the SID...

/WoS

43 (edited by WoS 2015-02-08 09:20:28)

Re: C64 & 1541 core status and compatibility list

Everblue wrote:

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 load

I 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 tongue

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!  big_smile  big_smile

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.

/WoS

Re: C64 & 1541 core status and compatibility list

I'm on the SID - building the test rig tomorrow....

45

Re: C64 & 1541 core status and compatibility list

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... wink

/WoS

Re: C64 & 1541 core status and compatibility list

Yeah, like my Amiga CIA variant please wink

Re: C64 & 1541 core status and compatibility list

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.

48

Re: C64 & 1541 core status and compatibility list

The volume reg was used for DAC and as wolfgang says, it works because of a DC offset.

Re: C64 & 1541 core status and compatibility list

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 ?

50

Re: C64 & 1541 core status and compatibility list

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...

/WoS