| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
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 |
Quote:TRC+TBI Intro 10 doesn't seem to work on any emulator.
Hoxs64 displays it correctly now, the intro works in v1.0.5.0+. |
| |
Rubi Account closed
Registered: Apr 2002 Posts: 48 |
Quote: @rubi: ahh yeah ok, nice to know. How is a DMA VICII presented when it's executed in the middle of an RMW-opcode?
See this example (rasterline 59 pixel 5 in my testprog with maincpu clock 8868578 on the first instruction):
.08C1 059 005 8868578 EE 21 D0 INC $D021 A=$08 X=$11 Y=$01 SP=$E6
*** DMA VICII 8868584 43
.08C4 059 054 8868627 EE 21 D0 INC $D021 A=$08 X=$11 Y=$01 SP=$E6
The first inc instructions is executed completely, then the DMA stops the CPU for three cycles (next opcode inc starts with reading bus access) plus 40 DMA cycles so the DMA takes 43 cycles from the CPU.
Now see another example (rasterline 67):
.08C4 067 001 8869078 EE 21 D0 INC $D021 A=$08 X=$1C Y=$01 SP=$E6
.08C7 067 007 8869084 EE 21 D0 INC $D021 A=$08 X=$1C Y=$01 SP=$E6
*** DMA VICII 8869088 41
.08CA 067 054 8869131 EE 21 D0 INC $D021 A=$08 X=$1C Y=$01 SP=$E6
.08CD 067 060 8869137 EE 21 D0 INC $D021 A=$08 X=$1C Y=$01 SP=$E6
Here the INC writes to the bus when the DMA starts pulling BA on low, so the DMA stops the CPU after this instruction and the DMA takes 41 cycles from the CPU.
As you can see there's no easy way to see if an instruction is completely executed before the DMA or not.
Reading the debug will be even harder with sprite DMA (there's no clock output for sprite DMA right now) with some sprites disabled leaving cycles for the CPU but not enough for a complete instruction. See this example:
.08CD 105 051 79868994 EE 21 D0 INC $D021 A=$08 X=$50 Y=$01 SP=$E6
SDMA 1
SDMA 3
SDMA 5
SDMA 7
*** DMA VICII 79868999 16
.08D0 106 010 79869016 EE 21 D0 INC $D021 A=$08 X=$50 Y=$01 SP=$E6
|
| |
Ed
Registered: May 2004 Posts: 173 |
I've noticed a small but quite disturbing bug that comes with the Vice 1.22 and the Viceplus emulator.
When adjusting the volume (to for instance a low-setting) and entering full-screen mode and then re-entering the windows-mode, the volume-setting is set back to full.
I have not tested whether or not this depends on the main volume setting on windows, nevertheless it is disturbing.
Other than that, an ok feature which every emulator should have incorporated!
|
| |
Pouso-G Account closed
Registered: Aug 2005 Posts: 5 |
I have this volume problem also. And there is still the prob with the True Drive Emulation when loading PRGs... |
| |
Rubi Account closed
Registered: Apr 2002 Posts: 48 |
Quote: I have this volume problem also. And there is still the prob with the True Drive Emulation when loading PRGs...
The volume problem will be fixed next release.
What exactly do you mean by "prob with the True Drive Emulation when loading PRGs"? |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
Quote: The volume problem will be fixed next release.
What exactly do you mean by "prob with the True Drive Emulation when loading PRGs"?
x64 -truedrive -autostart foo.prg launches with true drive emu disabled. It's disabled to load the prg "fast", but it doesn't re-enable like it does if you autostart a d64.
|
| |
Rubi Account closed
Registered: Apr 2002 Posts: 48 |
Quote: x64 -truedrive -autostart foo.prg launches with true drive emu disabled. It's disabled to load the prg "fast", but it doesn't re-enable like it does if you autostart a d64.
Well, VICE handles a prg file as a single file on a disk that is represented by the directory of your host system (see "peripheral settings").
LOAD"$",8
LIST
shows the content of the host directory you are attached to. There is no "true drive emulation" for a disk represented by a directory. And how shall VICE know that you need TDE after you have loaded a prg from the directory. Is is more likely that you want to access another prg in the same directory, so VICE stays on the directory. So I really wouldn't call this a bug. |
| |
Pouso-G Account closed
Registered: Aug 2005 Posts: 5 |
Quote: Also that friggin' annoying bug that un-toggles True Drive Emulation everytime I load a .prg really pisses me off too.
Not a real emulation issue but it's out of my system now :)
I think it would be easier to link that option in the "open file" window as a check box. so you don't have to start a program twice, cause of switching off itself... just an idea i got... |
| |
iAN CooG
Registered: May 2002 Posts: 3195 |
[vice] Charlatan/Beyond Force
Charlatan
1st part doesn't work well in Vice 1.22, works in hoxs 1.0.5.x and ccs 2.0/3.4 |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote: Well, VICE handles a prg file as a single file on a disk that is represented by the directory of your host system (see "peripheral settings").
LOAD"$",8
LIST
shows the content of the host directory you are attached to. There is no "true drive emulation" for a disk represented by a directory. And how shall VICE know that you need TDE after you have loaded a prg from the directory. Is is more likely that you want to access another prg in the same directory, so VICE stays on the directory. So I really wouldn't call this a bug.
i would, if i tell vice to use truedrive emu on commandline, i expect it to use it. end of story. the current behaviour might be acceptable when you DONT explicitly state that truedrive emu should be used, but if you do it isnt.
the same is true for d64 files. whatever nonsense makes vice toggle truedrive emu off/on - it should be possible to disable this.
oh and last not least. when i attach a d81, i want to use 1581 emulation, not 1541 =D |
Previous - 1 | ... | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 - Next |