| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
C64 Emulator Bugs
after stumbling about a bunch of VICE bugs myself in the last couple of days i have decided to compile a list with issues current emulators have. the goals for this are
- make people aware that emulators are by far not perfect (yet?)
- make it easier for emulator authors to improve the emulators, by showing problematic programs and possibly provide simple testcases
- allow c64 coders to implement emulator detection if desired
so well, check this: http://hitmen.c02.at/files/docs/c64/c64_emulator_bugs.txt
help welcomed :)
|
|
... 240 posts hidden. Click here to view all posts.... |
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
A couple more to get rid of:
- [vice] Coop/Spench, The Sixth Sense Coop
"Not working in VICE or CCS64", crashes shortly after run in vice 1.20
A: Doesn't work on a real thing either.
- [vice] Compressor V1/AFL Compressor V1
crashes after intro (syntax error?)
A: The same error on a real thing - not an emulator issue.
- [vice 1.20] The Movie Writer V1.2 The Movie Writer V1.2
"directory routine doesn't seem to work in vice1.20"
A: Neither does it on a real C64. |
| |
iAN CooG
Registered: May 2002 Posts: 3187 |
>- [vice] Skate Crazy/Shining 8 Skate Crazy
>second part crashes in vice, works in ccs
>A: It's already fixed, works in VICE v1.21.
I noticed that *randomly works* on all 3 emulators, just wait some seconds before running and it will eventually work. It's a problem of this release only, a simple lda #$7f sta $dc0d, that SHOULD be there to properly init the irq, will fix it.
load but don't run, enter monitor
break 819
x
then after run:
> dc0d 7f
x
will work.
Part one properly sets $dc0d in the intro and seems enough.
Another one that did not work in any emu is this
Die Donnernde Kataun/Abyss
Die Donnernde Kataun
irq does not trigger correctly.
Patching it like this will do:
0873 20 D4 08 JSR $08D4
08D4 8D 1A D0 STA $D01A
08D7 8D 19 D0 STA $D019
08DA A9 1B LDA #$1B
08DC 8D 11 D0 STA $D011
08DF 60 RTS
|
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
Ah now I see that it randomly refuses to work, also in Hoxs64. Did you check whether this randomness occurs on the C64? I've already disconnected the C64 setup and don't feel like reconnecting it today. :-) |
| |
Fungus
Registered: Sep 2002 Posts: 680 |
lda #$00
sta $d019
lda #$80
sta $d012
lda #$1b
sta $d011
lda $d019
and #$01
beq *-5
such code as this will work on a real NTSC c64.
such code as this will fail on a real PAL c64 intermittently.
see Waterline by publisher Tronix (and don't ask me for link, go search gamebase yourself ya damn lazy gits)
similar strange issue as this on the Galactic Gardner, the irq setup in the bottom border happens TWICE in row (although can't seem to find a reason WHY) on a real C64, PAL or NTSC. IRQ happens ONCE only in vice. (Very annoying when trying track down such bugs.)
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
fungus: thanks but, you gotta realize that to a decent bugreport belongs a link to the specific program that causes a problem. just naming a game is NOT very useful.
anyway, i updated the list with the info posted so far -> http://hitmen.c02.at/files/docs/c64/c64_emulator_bugs.txt
keep it coming :) |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
When stating that it crashes on the real thing you should probably state which real thing you used.
There are some minor differences, the kernal revision is one example.
Some very old programs can sometimes rely on strange behaviour.
If you say something like C64C ~1989 or breadbox ~83 it will help. |
| |
iAN CooG
Registered: May 2002 Posts: 3187 |
>- [vice] Comic Art 9/Mayhem
> Comic Art 09
> Main file crashes in Vice 1.19/1.20, works in CCS64 V3.0 Beta 1.7
> A: As a matter of fact, it's CCS64 that's inaccurate in this case - the collection crashes on a real C64 in the same way as in VICE and Hoxs64.
Actually not an emu issue but it's only a fault on the cruncher used, which expects all the mem filled with zeroes(!!)
Fill the memory with zeroes yourself, or set the memory fill pattern to all zeroes and it will work everywhere. Easy to patch :)
In CCS works because the mem fill pattern is REVERSED (00 instead of ff and viceversa). Fill the mem with ff's and you'll see it failing on ccs too. |
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
So to sum it up - the crash is not an emu issue, but the fact it doesn't crash in CCS64 actually relates to an emu issue. :) It should fail, provided you don't change the memory pattern.
Quoting tlrIf you say something like C64C ~1989 or breadbox ~83 it will help.
All of the tests I've performed were carried out on the C64C with serial number 774125.
Here's some more verified entries:
- [vice 1.20] Aurora 90%/Level64 Aurora 85%-90%
"On emus, there will appear a strangely-patterned screen. Get yourself the real
thing or expect major vic-bugs after pressing run/stop."
"btw, aurora80% displays same on emu then on realthing, i just did that emucheck
for the fun of it, its temperature measuring via unused bits in $01"
A: This one's interesting. First of all, in both the 85% and the 90% versions, I've spotted no VIC bugs - neither in VICE nor in Hoxs64. Secondly, that strangely patterned screen is visible on a C64 as well, but it disappears after a while. In emus, a user interaction is required to proceed, and this seems to be the only difference. This affects CCS64, VICE, and Hoxs64. I've reported it to David Horrocks, the developer of Hoxs64.
- [vice 1.20] Locomotion +2/Hitmen Locomotion +2 [german] (works in ccs and on real c64)
A: It doesn't work in Hoxs64 either, which has been reported to the author. I can confirm it works on the C64 (at least all of the attempts to run the game were successful).
- [vice 1.20] Rick Dangerous/Myth Rick Dangerous (works in ccs and on real c64)
A: It doesn't work on the real thing, which was confirmed by j0x in the comments ("I did this because I was curious why it didn't always work under Vice - or on the real thing, for that matter"). Again, the fact it does work flawlessly in CCS64 suggests that an inaccuracy exists in this emulator.
- [vice] Demo IV Demo IV
the last part flickers
A: And so it does on the real thing, however the flickers are much less frequent and perfectly predictable. They occur 3 times per tune duration - at the very beginning, then 8 seconds into the tune, and the third one occurs when the melody sees a rapid change. In VICE, the flickers are very frequent and they cause the tune to restart at times. This part doesn't work at all in Hoxs64.
- [vice 1.20] Leftovers/Shadi Software Leftovers
"The intro part has light blue background where it should be black. (atleast in VICE)"
A: It's light blue in Hoxs64, CCS64, and on the real thing. Looks to me like a bug in the code or a bad visual taste. |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quote:- [vice 1.20] Leftovers/Shadi Software Leftovers
"The intro part has light blue background where it should be black. (atleast in VICE)"
A: It's light blue in Hoxs64, CCS64, and on the real thing. Looks to me like a bug in the code or a bad visual taste.
This is probably a kernal revision issue. One of the things that differ is the color in colorram after printing a #147 (CLR).
IIRC the different behaviours are:
- colorram set to 1 (white)
- colorram set to the contents of $d021
- colorram set to the contents of 646 (i.e cursor color)
A lot of older demos relied on the two last of these. |
| |
iAN CooG
Registered: May 2002 Posts: 3187 |
Quote: Quote:- [vice 1.20] Leftovers/Shadi Software Leftovers
"The intro part has light blue background where it should be black. (atleast in VICE)"
A: It's light blue in Hoxs64, CCS64, and on the real thing. Looks to me like a bug in the code or a bad visual taste.
This is probably a kernal revision issue. One of the things that differ is the color in colorram after printing a #147 (CLR).
IIRC the different behaviours are:
- colorram set to 1 (white)
- colorram set to the contents of $d021
- colorram set to the contents of 646 (i.e cursor color)
A lot of older demos relied on the two last of these.
Confirmed, kernal rev 2 in all 3 emulators and the part is in black |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 25 - Next |