markus-zzz / myc64-pocket

A Commodore 64 core for the Analogue Pocket
32 stars 2 forks source link

Systematic testing #16

Open markus-zzz opened 4 months ago

markus-zzz commented 4 months ago

A systematic test suite would help smoke out current problems in a controlled environment as well as allow for regressions runs to avoid breaking existing functionality

The C64 Emulator Test Suite (v2.15) by Wolfgang Lorenz appears to be the recommended one.

https://sourceforge.net/p/vice-emu/code/HEAD/tree/testprogs/general/Lorenz-2.15/ https://github.com/libsidplayfp/VICE-testprogs.git

Currently Disk1.d64 pass (out of three disks).

When debugging a problem produce a .lst to compare execution with trace GtkWave

$ 64tass -C -T -a -q -I ./common -D TARGET=0 -i "mmu.s" -o "mmu.prg" -L mmu.prg.lst

Status

Disk1.d64

All pass

Disk2.d64

The following tests fail

Disk3.d64

Not tested yet

markus-zzz commented 4 months ago

trap7 and trap8 pass with following change

diff --git a/src/fpga/core/myc64-rtl/vicii.py b/src/fpga/core/myc64-rtl/vicii.py
index 0dd8af8..f4df0af 100644
--- a/src/fpga/core/myc64-rtl/vicii.py
+++ b/src/fpga/core/myc64-rtl/vicii.py
@@ -482,7 +482,7 @@ class VicII(Elaboratable):
     #
     # Register interface.
     #
-    tmp_bus_wen = (self.clk_1mhz_ph2_en & self.i_reg_cs & self.i_reg_we)
+    tmp_bus_wen = (self.i_reg_cs & self.i_reg_we)
     rf.genInterface(module=m,
                     bus_addr=self.i_reg_addr,
                     bus_wen=tmp_bus_wen,
pinballgithub commented 3 months ago

Dear Marcus, this is the wrong category because I have not tested systematically. However, I have made a folder with disk images that did not work (e.g. Fort Apocalypse) which now all work after your last release. The last changes were a big step. Thank you very much for your efforts, I really appreciate it.

markus-zzz commented 3 months ago

Dear Marcus, this is the wrong category because I have not tested systematically. However, I have made a folder with disk images that did not work (e.g. Fort Apocalypse) which now all work after your last release. The last changes were a big step. Thank you very much for your efforts, I really appreciate it.

Thanks, I appreciate the support and feedback. Actually, without feedback, it is a bit hard to tell how many are using this core and what parts of it. I thought I was the only one using the 1541 emulation..

Maybe we should synchronize our testing efforts? Email me directly if interested, email is in the git logs.