1 (edited by WoS 2015-02-07 19:57:36)

Topic: C64 & 1541 core status and compatibility list

Started to go from pure "coding mode" in "bug tracking mode" before I am going to check in any new sources...

Will provide here some results for games I am interested in, everyone may feel free to post any findings here as well as I am not going to try out all the stuff myself. That isn't really a lot I am asking, is it? big_smile

If not mentioned otherwise, I am using a C64/1541 with jiffy ROMs I recently bought for my Replay. SVN revision refers to loader.bin file. Newer version support GEORAM with 512kB...4MB, a few programs can use it.

The core runs in 50Hz PAL mode, interlaced or non interlaced (via HDMI, VGA 2 SCART cable, SVIDEO or Composite on a device supporting PAL - ideally a TV set or multisync monitor supporting 50Hz framerate).

1) generic tests (load as PRG or D64, see details)

SVN | details
================================================================================================================
634 | from VICE: ...\C64\autostart\defaults\test.prg: CPU and VIC register defaults ok, CIA defaults not ok yet
    | (comes from TOD registers, so maybe not important or false positives...)
----------------------------------------------------------------------------------------------------------------
634 | from VICE: ...\CIA\cia-timer\cia-timer-newcias.prg: ICRs results ok, but seem to response too fast 
    | (or CPU a little too slow?)
----------------------------------------------------------------------------------------------------------------
1028| Lorenz Test v2.15: all CPU related tests ok 
----------------------------------------------------------------------------------------------------------------
1028| 1541 testsuite v0.33: all tests OK
----------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------

2) working applications, magazines, ... (load as D64 if not mentioned otherwise):

SVN | details
================================================================================================================
634 | Jiffy DOS v6.01 - works with C64 and 1541 core, of course I bought it for the Replay :)
----------------------------------------------------------------------------------------------------------------
866 | Magic Disk 64 (not all, just tried some to load)
----------------------------------------------------------------------------------------------------------------
866 | Asterix operating system (Chris Baird)
----------------------------------------------------------------------------------------------------------------
866 | G-Pascal
----------------------------------------------------------------------------------------------------------------
900 | GEOS 64 2.0 (private version from: http://cbmfiles.com/geos/geos-13.php, 4x D64 disks)
----------------------------------------------------------------------------------------------------------------
932 | GEOS 64 2.0r (GEORAM enabled version, using 512kB GEORAM)
----------------------------------------------------------------------------------------------------------------

3) working games (load as D64 if not mentioned otherwise):

SVN | details
================================================================================================================
633 | Spy vs. Spy 1 (slight sound issues)
----------------------------------------------------------------------------------------------------------------
633 | Spy vs. Spy 2 (seems to have issues with sound)
----------------------------------------------------------------------------------------------------------------
633 | Spy vs. Spy 3
----------------------------------------------------------------------------------------------------------------
900 | Ghostbusters 1 (SID speech too quiet)
----------------------------------------------------------------------------------------------------------------
1038| Cauldron 1 (sound not fully correct)
----------------------------------------------------------------------------------------------------------------
634 | Grog's Revenge (but sound not right in game)
----------------------------------------------------------------------------------------------------------------
634 | Impossible Mission 2
----------------------------------------------------------------------------------------------------------------
1038| Commando
----------------------------------------------------------------------------------------------------------------
866 | Falcon Patrol
----------------------------------------------------------------------------------------------------------------
866 | Sanxion
----------------------------------------------------------------------------------------------------------------
866 | International Karate (playable, but still some graphics glitches to fix)
----------------------------------------------------------------------------------------------------------------
866 | Bomb Jack (sound not perfect)
----------------------------------------------------------------------------------------------------------------
866 | Bomb Jack II
----------------------------------------------------------------------------------------------------------------
866 | Donkey Kong
----------------------------------------------------------------------------------------------------------------
866 | Green Beret
----------------------------------------------------------------------------------------------------------------
900 | Alleykat
----------------------------------------------------------------------------------------------------------------
932 | Maniac Mansion GOLD [neoram] (with GEORAM 512k, SID sounds a litte strange...) 
----------------------------------------------------------------------------------------------------------------
982 | Ghost'n'Goblins (sound not perfect)
----------------------------------------------------------------------------------------------------------------
982 | Zynaps (sound not perfect)
----------------------------------------------------------------------------------------------------------------
997 | Aztec Challenge (now with correct sprite collisions)
----------------------------------------------------------------------------------------------------------------
997 | Impossible Mission 1 ("another visitor..." speech output missing, some sound issues)
----------------------------------------------------------------------------------------------------------------
997 | Raid over Moscow
----------------------------------------------------------------------------------------------------------------
997 | Elite
----------------------------------------------------------------------------------------------------------------
997 | Super Pipeline
----------------------------------------------------------------------------------------------------------------
997 | Elvira - yes, the disk-shuffling adventure ;)
----------------------------------------------------------------------------------------------------------------
1028| Bubble Bobble (some sound issues)
----------------------------------------------------------------------------------------------------------------
1082| Soulless (intro works now, including sound)
----------------------------------------------------------------------------------------------------------------
1082| Thunderblade
----------------------------------------------------------------------------------------------------------------
1082| All games from the DTV (except Marauder, which has some graphics issue but still playable)
    Alleykat    California Games    Championship Wrestling    Cyberdyne Warrior
    Cybernoid I + II    Eliminator    Exolon    Firelord    Gateway to Apshai
    Head The Ball    Impossible Mission I + II    Jumpman Junior    Maze Mania
    Mission Impossibubble    Nebulus    Netherworld    Paradroid    Pitstop I + II
    Rana Rama    Speedball    Summer Games    Super Cycle    Sword of Fargoal
    Uridium    Winter Games    Zynaps
----------------------------------------------------------------------------------------------------------------
1082| Rambo II (Ocean)
----------------------------------------------------------------------------------------------------------------
1082| Rambo III
----------------------------------------------------------------------------------------------------------------

5) not working games / applications (bad functionality or simply crashing):

SVN | details
================================================================================================================
1082| Katakis (crashes after intro screen)
----------------------------------------------------------------------------------------------------------------
1082| Slap Fight (crashes during gameplay)
----------------------------------------------------------------------------------------------------------------
/WoS

Re: C64 & 1541 core status and compatibility list

comes from TOD registers, so maybe not important

you can safely ignore TOD for the beginning, as almost nothing uses it - dont forget about it later though, almost every title that does use it relies on strange border conditions (see VICE bugtracker regarding "slurpy", for example :=))

Re: C64 & 1541 core status and compatibility list

Ah, great - I saw there is also a test you set up for it  wink

/WoS

Re: C64 & 1541 core status and compatibility list

hehe, that alarm bug is really one of the weirdest i have seen so far... must be somehow related to those two counters (grid clock counter and system clock) not being in sync. thats what my guess is anyway, i can see how that can be buggy... =P

Re: C64 & 1541 core status and compatibility list

The newest version (SVN version 866) allows many more games to play. big_smile

/WoS

Re: C64 & 1541 core status and compatibility list

I thousands of G64 files that I created from original disks using SuperCard Pro.  Let me know if you have bad images and I can get you whatever you need, and working for sure!

Re: C64 & 1541 core status and compatibility list

I tried to run edge of disgrace, the demo, it fails a second or two after the music kicks in.

Re: C64 & 1541 core status and compatibility list

Yes, could be still a timing issue somewhere, an undocumented opcode, an undocumented feature of any peripheral or whatever. Demos will be the most critical to get them working as they usually depend to have everything 100% correct sad
Games are the better way to go for now. And that's the use case for my setup - with proper joysticks, of course wink

/WoS

Re: C64 & 1541 core status and compatibility list

Wolfgang, did you look at my interrupt scroller to see why it doesn't work?

10

Re: C64 & 1541 core status and compatibility list

JimDrew wrote:

Wolfgang, did you look at my interrupt scroller to see why it doesn't work?

Not yet fixed, still working on the new c1541 core and changing from my memory-based handling to Mikes fileio library (so you can the select disk files the same way as with the amiga core, also write back to the d64 files from the core will be possible). I did an initial check-in (of the vic20+c1541) which can do a directory read already, and short files work as well, but still some issues to work out, especially when not using jiffy. But the setup will be much easier then wink

/WoS

11 (edited by spotUP 2014-11-17 01:30:16)

Re: C64 & 1541 core status and compatibility list

Will you aim to make the C64 core 100% compatible later on?
Having a C64 implemented in an FPGA that is far less compatible than the SW emulators feels.. kind of weird. hmm

Edit: Do I have to dig up more recent games that use hw tricks to get you interested? tongue

12

Re: C64 & 1541 core status and compatibility list

Yes, it is definitely the goal.  I have here a disassembled C64 + 1541 connected to a LA and a stand-alone test harness for the chips to check everything on HW level. Actually I am still looking for some special cases on the CIA, next is the VIC and so on. For the CPU I hope things will be / may be also resolved in parallel, e.g. with the Atari core - so I avoid parallel development here.

It won't happen all at once, so I want to have intermediate steps with a growing list of working programs - otherwise it will get frustrating if there is nothing to play with in between. Functional demos will be then the cherry on the cake big_smile

Furthermore fixing some glitches of "working" programs is sometimes also simpler than fixing issues causing a complete crash (first usually already gives some clues where an issue might be, latter usually require a lot of initial debugging to find the cause/location where a program starts to get lost - if you don't have sources or details on the code this can be quite painful, as there is no easy way of debugging as with SW based emulators - and even there I can imagine it is by far not easy all the times).

/WoS

13

Re: C64 & 1541 core status and compatibility list

hehe indeed... if locating the source for the problem is painful, then actually debugging the emulation to the point that you can fix it is pretty terrible =P

Re: C64 & 1541 core status and compatibility list

Maybe the crashing code can be monitored in an emulator to find clues? Your plan sounds like a good one wolfie!

15

Re: C64 & 1541 core status and compatibility list

I use a logic analyzer on the real C64 (or 1541, ...) and trace the CPU running some code. It has a quite big memory for this. Then I do the same code on the Replay and trace the execution as well. Finally I check for significant differences to track down the issue.

Yes I could also use an emulator for generating such traces I compare with runs on Replay, but this would be only half fun for me  tongue

/WoS

16 (edited by Everblue 2014-12-16 14:35:41)

Re: C64 & 1541 core status and compatibility list

Tried Soulless - works great!

Update: There is a bit of junk on screen on a splash screen before the game starts loading. Looks like corrupt scrolling text.

ɃºïȠǥ!

Re: C64 & 1541 core status and compatibility list

Thunderblade - screen garbage, then crashed.

ɃºïȠǥ!

Re: C64 & 1541 core status and compatibility list

Wolfgang, I am testing some C64 games and most have issues - garbage on screen, games not loading, etc. Is it worth continue testing right now, or there are some things you would like to implement first?

ɃºïȠǥ!

19

Re: C64 & 1541 core status and compatibility list

Depends on what games you play. Most of the games I play are working quite well, just didn't update the list here yet... wink

There are some fixes on its way and it is a continuous process here and there (especially over christmas I'll have some time to work on it), it is nothing which will be solved on a weekend or so. I know some issues on the core where it does not 100% behave like the real thing, but nothing really significant is missing (all functions are implemented so far). Btw: I do check games  first on an emu to be sure it is not a bad image, I already had a few issues due to this...

/WoS

Re: C64 & 1541 core status and compatibility list

Ok will test the games I tested so far on an emulator (and have issue), and then see what happens on the FPGA core. If you want I will be able to provide the .D64 files too.

ɃºïȠǥ!

21

Re: C64 & 1541 core status and compatibility list

Great, I can focus on checking games you want to play first. As said, games are usually less critical to fix then demos (they usually do not depend so strictly on a perfect timing and here are usually the issues)...

/WoS

Re: C64 & 1541 core status and compatibility list

Ok here we go, we start slowly. In the linked file you will find the following games that have some issue or another, mostly game breaking things. I have tested these on an emulator and found that they work just fine.

http://everblue.synology.me:5000/fbsharing/d5qByYC1

Games:

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

Zynaps: On the game title screen, on the left hand of the multi coloured bars (copper effect?), there seem to be some graphical glitches. Other than that game runs fine.

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

ɃºïȠǥ!

23

Re: C64 & 1541 core status and compatibility list

Hmmm, what version of the core do you use? I'd need the SVN version number or is it the released one from the forum? Especially ghost'n'goblins works nicely, I am playing it a lot. Could be that something went wrong with the new 1541 setup or so, I made here quite some changes lately. I will also check what version I have here and if I updated everything on SVN already.

/WoS

Re: C64 & 1541 core status and compatibility list

I do not have SVN access - I got it straight from the forum. Maybe I don't have the latest version? If that is the case, and you can send it to me, I would appreciate it.

ɃºïȠǥ!

25

Re: C64 & 1541 core status and compatibility list

The released version should be fine with g'n'g, nevertheless I did some further fixed on the 6510 (undoc opcodes). Can be found here: http://www.fpgaarcade.com/punbb/viewtop … 4283#p4283

/WoS