vice-emu-commit Mailing List for VICE (Page 20)
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
(38) |
May
(60) |
Jun
(122) |
Jul
(148) |
Aug
(178) |
Sep
(151) |
Oct
(131) |
Nov
(208) |
Dec
(129) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(193) |
Feb
(209) |
Mar
(221) |
Apr
(243) |
May
(165) |
Jun
(168) |
Jul
(198) |
Aug
(161) |
Sep
(103) |
Oct
(98) |
Nov
(168) |
Dec
(99) |
| 2010 |
Jan
(263) |
Feb
(156) |
Mar
(57) |
Apr
(93) |
May
(85) |
Jun
(124) |
Jul
(57) |
Aug
(58) |
Sep
(113) |
Oct
(148) |
Nov
(114) |
Dec
(193) |
| 2011 |
Jan
(200) |
Feb
(207) |
Mar
(91) |
Apr
(91) |
May
(142) |
Jun
(104) |
Jul
(115) |
Aug
(137) |
Sep
(266) |
Oct
(91) |
Nov
(85) |
Dec
(186) |
| 2012 |
Jan
(98) |
Feb
(146) |
Mar
(160) |
Apr
(99) |
May
(59) |
Jun
(257) |
Jul
(84) |
Aug
(103) |
Sep
(169) |
Oct
(206) |
Nov
(90) |
Dec
(296) |
| 2013 |
Jan
(294) |
Feb
(130) |
Mar
(36) |
Apr
(14) |
May
(51) |
Jun
(74) |
Jul
(180) |
Aug
(85) |
Sep
(26) |
Oct
(45) |
Nov
(29) |
Dec
(21) |
| 2014 |
Jan
(56) |
Feb
(40) |
Mar
(57) |
Apr
(30) |
May
(31) |
Jun
(11) |
Jul
(107) |
Aug
(135) |
Sep
(142) |
Oct
(195) |
Nov
(139) |
Dec
(133) |
| 2015 |
Jan
(293) |
Feb
(161) |
Mar
(146) |
Apr
(85) |
May
(139) |
Jun
(51) |
Jul
(21) |
Aug
(24) |
Sep
(29) |
Oct
(136) |
Nov
(212) |
Dec
(118) |
| 2016 |
Jan
(119) |
Feb
(165) |
Mar
(229) |
Apr
(219) |
May
(134) |
Jun
(119) |
Jul
(134) |
Aug
(236) |
Sep
(203) |
Oct
(215) |
Nov
(300) |
Dec
(140) |
| 2017 |
Jan
(188) |
Feb
(20) |
Mar
(147) |
Apr
(198) |
May
(26) |
Jun
(21) |
Jul
(67) |
Aug
(219) |
Sep
(209) |
Oct
(194) |
Nov
(144) |
Dec
(99) |
| 2018 |
Jan
(139) |
Feb
(122) |
Mar
(116) |
Apr
(85) |
May
(232) |
Jun
(181) |
Jul
(190) |
Aug
(105) |
Sep
(92) |
Oct
(178) |
Nov
(105) |
Dec
(86) |
| 2019 |
Jan
(119) |
Feb
(79) |
Mar
(74) |
Apr
(117) |
May
(115) |
Jun
(307) |
Jul
(107) |
Aug
(131) |
Sep
(103) |
Oct
(60) |
Nov
(118) |
Dec
(70) |
| 2020 |
Jan
(114) |
Feb
(103) |
Mar
(77) |
Apr
(121) |
May
(193) |
Jun
(110) |
Jul
(214) |
Aug
(210) |
Sep
(179) |
Oct
(260) |
Nov
(237) |
Dec
(334) |
| 2021 |
Jan
(163) |
Feb
(186) |
Mar
(58) |
Apr
(81) |
May
(108) |
Jun
(175) |
Jul
(154) |
Aug
(180) |
Sep
(217) |
Oct
(204) |
Nov
(232) |
Dec
(190) |
| 2022 |
Jan
(253) |
Feb
(134) |
Mar
(229) |
Apr
(190) |
May
(125) |
Jun
(70) |
Jul
(8) |
Aug
(22) |
Sep
(19) |
Oct
(33) |
Nov
(94) |
Dec
(164) |
| 2023 |
Jan
(158) |
Feb
(366) |
Mar
(272) |
Apr
(109) |
May
(198) |
Jun
(226) |
Jul
(200) |
Aug
(94) |
Sep
(108) |
Oct
(62) |
Nov
(175) |
Dec
(116) |
| 2024 |
Jan
(35) |
Feb
(40) |
Mar
(51) |
Apr
(89) |
May
(24) |
Jun
(26) |
Jul
(53) |
Aug
(71) |
Sep
(23) |
Oct
(11) |
Nov
(22) |
Dec
(58) |
| 2025 |
Jan
(26) |
Feb
(40) |
Mar
(107) |
Apr
(39) |
May
(35) |
Jun
(20) |
Jul
(11) |
Aug
(24) |
Sep
(35) |
Oct
(28) |
Nov
|
Dec
|
|
From: <gp...@us...> - 2024-09-05 00:13:16
|
Revision: 45330
http://sourceforge.net/p/vice-emu/code/45330
Author: gpz
Date: 2024-09-05 00:13:14 +0000 (Thu, 05 Sep 2024)
Log Message:
-----------
forgot a comment :)
Modified Paths:
--------------
testprogs/testbench/virtualc64-hooks.sh
Modified: testprogs/testbench/virtualc64-hooks.sh
===================================================================
--- testprogs/testbench/virtualc64-hooks.sh 2024-09-05 00:06:33 UTC (rev 45329)
+++ testprogs/testbench/virtualc64-hooks.sh 2024-09-05 00:13:14 UTC (rev 45330)
@@ -39,6 +39,7 @@
#VIRTUALC64OPTSSCREENSHOT+=" -minimized"
#VIRTUALC64OPTSSCREENSHOT+=" -console"
+# TODO: adjust these two offsets here and below in the virtualc64_run_screenshot function
# X and Y offsets for saved screenshots. when saving a screenshot in the
# computers reset/startup screen, the offset gives the top left pixel of the
# top left character on screen.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-09-05 00:06:35
|
Revision: 45329
http://sourceforge.net/p/vice-emu/code/45329
Author: gpz
Date: 2024-09-05 00:06:33 +0000 (Thu, 05 Sep 2024)
Log Message:
-----------
some virtualc64 related updates, still untested :)
Modified Paths:
--------------
testprogs/testbench/Makefile
testprogs/testbench/virtualc64-hooks.sh
testprogs/testbench/virtualc64-testlist.txt
Modified: testprogs/testbench/Makefile
===================================================================
--- testprogs/testbench/Makefile 2024-09-04 00:21:14 UTC (rev 45328)
+++ testprogs/testbench/Makefile 2024-09-05 00:06:33 UTC (rev 45329)
@@ -574,6 +574,10 @@
>> kernal64scpu64-testlist.txt
# TODO
+# NOT supported:
+# plus6k, plus256k
+# ramcart128k, dqbb, isepic
+# reu1m, reu4m, reu8m, reu16m
virtualc64-testlist.txt: c64-testlist.in Makefile
echo "# this is a generated file, do not edit." > virtualc64-testlist.txt
cat c64-testlist.in \
@@ -580,24 +584,15 @@
| grep -v ",vicii-ntsc" \
| grep -v ",vicii-ntscold" \
| grep -v ",vicii-drean" \
- | grep -v ",sid-old" \
- | grep -v ",reu128k" \
- | grep -v ",reu256k" \
| grep -v ",reu1m" \
- | grep -v ",reu2m" \
| grep -v ",reu4m" \
| grep -v ",reu8m" \
| grep -v ",reu16m" \
- | grep -v ",geo512k" \
| grep -v ",plus60k" \
| grep -v ",plus256k" \
| grep -v ",isepic" \
| grep -v ",dqbb" \
| grep -v ",ramcart128k" \
- | grep -v "C64/carts/nordicpower" \
- | grep -v "C64/carts/pagefox" \
- | grep -v "mountcrt:nrdummy.crt" \
- | grep -v "mountcrt:npdummy.crt" \
>> virtualc64-testlist.txt
kernal64cbm2-testlist.txt: cbm610-testlist.in Makefile
Modified: testprogs/testbench/virtualc64-hooks.sh
===================================================================
--- testprogs/testbench/virtualc64-hooks.sh 2024-09-04 00:21:14 UTC (rev 45328)
+++ testprogs/testbench/virtualc64-hooks.sh 2024-09-05 00:06:33 UTC (rev 45329)
@@ -1,20 +1,22 @@
-VIRTUALC64OPTS+=" -default"
-VIRTUALC64OPTS+=" -model c64c"
+VIRTUALC64OPTS+=" -\"c64 defaults\""
+#VIRTUALC64OPTS+=" -model c64c"
#VIRTUALC64OPTS+=" -model c64 -ntsc "
-VIRTUALC64OPTS+=" -VICIIfilter 0"
-VIRTUALC64OPTS+=" -VICIIextpal"
-VIRTUALC64OPTS+=" -VICIIpalette pepto-pal.vpl"
-VIRTUALC64OPTS+=" -VICIIextpal"
-VIRTUALC64OPTS+=" -VICIIsaturation 1000"
-VIRTUALC64OPTS+=" -VICIIbrightness 1000"
-VIRTUALC64OPTS+=" -VICIIcontrast 1000"
-VIRTUALC64OPTS+=" -VICIIgamma 1000"
-VIRTUALC64OPTS+=" -VICIItint 1000"
-VIRTUALC64OPTS+=" -warp"
-#VIRTUALC64OPTS+=" -console"
-VIRTUALC64OPTS+=" -debugcart"
-VIRTUALC64OPTS+=" -jamaction 1"
+# TODO set up non filtered, non scaled output with a standard palette known by cmpscreens
+#VIRTUALC64OPTS+=" -VICIIfilter 0"
+#VIRTUALC64OPTS+=" -VICIIextpal"
+#VIRTUALC64OPTS+=" -VICIIpalette pepto-pal.vpl"
+#VIRTUALC64OPTS+=" -VICIIextpal"
+#VIRTUALC64OPTS+=" -VICIIsaturation 1000"
+#VIRTUALC64OPTS+=" -VICIIbrightness 1000"
+#VIRTUALC64OPTS+=" -VICIIcontrast 1000"
+#VIRTUALC64OPTS+=" -VICIIgamma 1000"
+#VIRTUALC64OPTS+=" -VICIItint 1000"
+VIRTUALC64OPTS+=" -\"c64 set WARP_MODE WARP_ALWAYS\""
+# also "expansion set DEBUGCART true" ?
+VIRTUALC64OPTS+=" -\"regression set DEBUGCART true\""
+VIRTUALC64OPTS+=" -\"screenshot set path \"\"\""
+#VIRTUALC64OPTS+=" -jamaction 1"
#VIRTUALC64OPTS+=" -raminitstartvalue 255 -raminitvalueinvert 4"
#VIRTUALC64OPTS+=" -autostartprgmode 1"
@@ -27,13 +29,15 @@
#VIRTUALC64OPTS+=" -raminitstartrandom 0"
#VIRTUALC64OPTS+=" -raminitrepeatrandom 0"
#VIRTUALC64OPTS+=" -raminitrandomchance 1"
-VIRTUALC64OPTS+=" -drive8extend 0"
-VIRTUALC64OPTS+=" +easyflashcrtwrite"
+# TODO: disable extending of disk images
+#VIRTUALC64OPTS+=" -drive8extend 0"
+# TODO: disable writing to Easyflash
+#VIRTUALC64OPTS+=" +easyflashcrtwrite"
# extra options for the different ways tests can be run
-VIRTUALC64OPTSEXITCODE+=" -console"
+#VIRTUALC64OPTSEXITCODE+=" -console"
#VIRTUALC64OPTSSCREENSHOT+=" -minimized"
-VIRTUALC64OPTSSCREENSHOT+=" -console"
+#VIRTUALC64OPTSSCREENSHOT+=" -console"
# X and Y offsets for saved screenshots. when saving a screenshot in the
# computers reset/startup screen, the offset gives the top left pixel of the
@@ -62,26 +66,26 @@
exitoptions=""
;;
"vicii-pal")
- exitoptions="-pal"
+ exitoptions="-\"c64 init PAL\""
testprogvideotype="PAL"
;;
"vicii-ntsc")
- exitoptions="-ntsc -power60"
+ exitoptions="-\"c64 init NTSC\" -\"power set POWER_GRID STABLE_60HZ\""
testprogvideotype="NTSC"
;;
"vicii-ntscold")
- exitoptions="-ntscold -power60"
+ exitoptions="-\"c64 init NTSC_OLD\" -\"power set POWER_GRID STABLE_60HZ\""
testprogvideotype="NTSCOLD"
;;
"vicii-old")
if [ x"$testprogvideotype"x == x"PAL"x ]; then
# "old" PAL
- exitoptions="-VICIImodel 6569"
+ exitoptions="-\"vic set REVISION PAL_6569_R1\""
testprogvideosubtype="6569"
fi
if [ x"$testprogvideotype"x == x"NTSC"x ]; then
# "old" NTSC
- exitoptions="-VICIImodel 6567"
+ exitoptions="-\"vic set REVISION NTSC_6567\""
testprogvideosubtype="6567"
fi
;;
@@ -88,110 +92,115 @@
"vicii-new")
if [ x"$testprogvideotype"x == x"PAL"x ]; then
# "new" PAL
- exitoptions="-VICIImodel 8565"
+ exitoptions="-\"vic set REVISION PAL_8565\""
testprogvideosubtype="8565"
fi
if [ x"$testprogvideotype"x == x"NTSC"x ]; then
# "new" NTSC
- exitoptions="-VICIImodel 8562"
+ exitoptions="-\"vic set REVISION NTSC_8562\""
testprogvideosubtype="8562"
fi
;;
"cia-old")
- exitoptions="-ciamodel 0"
+ exitoptions="-\"cia1 set REVISION MOS_6526\" -\"cia2 set REVISION MOS_6526\""
new_cia_enabled=0
;;
"cia-new")
- exitoptions="-ciamodel 1"
+ exitoptions="-\"cia1 set REVISION MOS_8521\" -\"cia2 set REVISION MOS_8521\""
new_cia_enabled=1
;;
"sid-old")
- exitoptions="-sidenginemodel 256"
+ exitoptions="-\"sid set REVISION MOS_6581\""
new_sid_enabled=0
;;
"sid-new")
- exitoptions="-sidenginemodel 257"
+ exitoptions="-\"sid set REVISION MOS_8580\""
new_sid_enabled=1
;;
"reu128k")
- exitoptions="-reu -reusize 128"
+ exitoptions="-\"expansion attach reu 128\""
reu_enabled=1
;;
"reu256k")
- exitoptions="-reu -reusize 256"
+ exitoptions="-\"expansion attach reu 256\""
reu_enabled=1
;;
"reu512k")
- exitoptions="-reu -reusize 512"
+ exitoptions="-\"expansion attach reu 512\""
reu_enabled=1
;;
- "reu1m")
- exitoptions="-reu -reusize 1024"
- reu_enabled=1
- ;;
+# "reu1m")
+# exitoptions="-\"expansion attach reu 1024\""
+# reu_enabled=1
+# ;;
"reu2m")
- exitoptions="-reu -reusize 2048"
+ exitoptions="-\"expansion attach reu 2048\""
reu_enabled=1
;;
- "reu4m")
- exitoptions="-reu -reusize 4096"
- reu_enabled=1
- ;;
- "reu8m")
- exitoptions="-reu -reusize 8192"
- reu_enabled=1
- ;;
- "reu16m")
- exitoptions="-reu -reusize 16384"
- reu_enabled=1
- ;;
+# "reu4m")
+# exitoptions="-\"expansion attach reu 4096\""
+# reu_enabled=1
+# ;;
+# "reu8m")
+# exitoptions="-\"expansion attach reu 8192\""
+# reu_enabled=1
+# ;;
+# "reu16m")
+# exitoptions="-\"expansion attach reu 16384\""
+# reu_enabled=1
+# ;;
"geo512k")
- exitoptions="-georam -georamsize 512"
+ exitoptions="-\"expansion attach georam 512\""
georam_enabled=1
;;
- "plus60k")
- exitoptions="-memoryexphack 2"
- plus60k_enabled=1
- ;;
- "plus256k")
- exitoptions="-memoryexphack 3"
- plus256k_enabled=1
- ;;
- "dqbb")
- exitoptions="-dqbb"
- dqbb_enabled=1
- ;;
- "ramcart128k")
- exitoptions="-ramcart -ramcartsize 128"
- ramcart_enabled=1
- ;;
- "isepic")
- exitoptions="-isepicswitch -isepic"
- isepic_enabled=1
- ;;
+# "plus60k")
+# exitoptions="-memoryexphack 2"
+# plus60k_enabled=1
+# ;;
+# "plus256k")
+# exitoptions="-memoryexphack 3"
+# plus256k_enabled=1
+# ;;
+# "dqbb")
+# exitoptions="-dqbb"
+# dqbb_enabled=1
+# ;;
+# "ramcart128k")
+# exitoptions="-ramcart -ramcartsize 128"
+# ramcart_enabled=1
+# ;;
+# "isepic")
+# exitoptions="-isepicswitch -isepic"
+# isepic_enabled=1
+# ;;
*)
exitoptions=""
if [ "${1:0:9}" == "mountd64:" ]; then
+# TODO: attach d64 to drive 8
exitoptions="-8 $2/${1:9}"
mounted_d64="${1:9}"
echo -ne "(disk:${1:9}) "
fi
if [ "${1:0:9}" == "mountd71:" ]; then
+# TODO: switch drive 8 to 1571, attach d64 to drive 8
exitoptions="-drive8type 1571 -8 $2/${1:9}"
mounted_d64="${1:9}"
echo -ne "(disk:${1:9}) "
fi
if [ "${1:0:9}" == "mountg64:" ]; then
+# TODO: attach g64 to drive 8
exitoptions="-8 $2/${1:9}"
mounted_g64="${1:9}"
echo -ne "(disk:${1:9}) "
fi
if [ "${1:0:9}" == "mountp64:" ]; then
+# TODO: attach p64 to drive 8
exitoptions="-8 $2/${1:9}"
mounted_p64="${1:9}"
echo -ne "(disk:${1:9}) "
fi
if [ "${1:0:9}" == "mountcrt:" ]; then
+# TODO: attach cartridge (.crt)
exitoptions="-cartcrt $2/${1:9}"
mounted_crt="${1:9}"
echo -ne "(cartridge:${1:9}) "
@@ -208,31 +217,31 @@
exitoptions=""
case "$1" in
"PAL")
- exitoptions="-pal"
+ exitoptions="-\"c64 init PAL\""
;;
"NTSC")
- exitoptions="-ntsc"
+ exitoptions="-\"c64 init NTSC\""
;;
"NTSCOLD")
- exitoptions="-ntscold"
+ exitoptions="-\"c64 init NTSC_OLD\""
;;
"6569") # "old" PAL
- exitoptions="-VICIImodel 6569"
+ exitoptions="-\"vic set REVISION PAL_6569_R1\""
;;
"8565") # "new" PAL
- exitoptions="-VICIImodel 8565"
+ exitoptions="-\"vic set REVISION PAL_8565\""
;;
"6567") # "old" NTSC
- exitoptions="-VICIImodel 6567"
+ exitoptions="-\"vic set REVISION NTSC_6567\""
;;
"8562") # "new" NTSC
- exitoptions="-VICIImodel 8562"
+ exitoptions="-\"vic set REVISION NTSC_8562\""
;;
"6526") # "old" CIA
- exitoptions="-ciamodel 0"
+ exitoptions="-\"cia1 set REVISION MOS_6526\" -\"cia2 set REVISION MOS_6526\""
;;
"6526A") # "new" CIA
- exitoptions="-ciamodel 1"
+ exitoptions="-\"cia1 set REVISION MOS_8521\" -\"cia2 set REVISION MOS_8521\""
;;
esac
}
@@ -266,11 +275,13 @@
mkdir -p "$1"/".testbench"
rm -f "$1"/.testbench/"$screenshottest"-virtualc64.png
if [ $verbose == "1" ]; then
- echo $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-limitcycles" "$3" "-exitscreenshot" "$1"/.testbench/"$screenshottest"-virtualc64.png "$4"
- $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-limitcycles" "$3" "-exitscreenshot" "$1"/.testbench/"$screenshottest"-virtualc64.png "$4" 2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
+ echo $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-\"regression set WATCHDOG\"" "$3" "-\"screenshot save\"" "$1"/.testbench/"$screenshottest"-virtualc64.raw "-\"regression run\"" "$4"
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-\"regression set WATCHDOG\"" "$3" "-\"screenshot save\"" "$1"/.testbench/"$screenshottest"-virtualc64.raw "-\"regression run\"" "$4"
+#2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
exitcode=${PIPESTATUS[0]}
else
- $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-limitcycles" "$3" "-exitscreenshot" "$1"/.testbench/"$screenshottest"-virtualc64.png "$4" 1> /dev/null 2> /dev/null
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-\"regression set WATCHDOG\"" "$3" "-\"screenshot save\"" "$1"/.testbench/"$screenshottest"-virtualc64.raw "-\"regression run\"" "$4"
+#1> /dev/null 2> /dev/null
exitcode=$?
fi
@@ -314,7 +325,8 @@
VIRTUALC64SXO=32
VIRTUALC64SYO=23
fi
-
+# TODO: convert raw texture to png. make sure both pal/ntsc work here!
+ magick -depth 8 -size 716x285 rgb:"$1"/.testbench/"$screenshottest"-virtualc64.raw "$1"/.testbench/"$screenshottest"-virtualc64.png
# echo ./cmpscreens "$refscreenshotname" "$VIRTUALC64REFSXO" "$VIRTUALC64REFSYO" "$1"/.testbench/"$screenshottest"-virtualc64.png "$VIRTUALC64SXO" "$VIRTUALC64SYO"
./cmpscreens "$refscreenshotname" "$VIRTUALC64REFSXO" "$VIRTUALC64REFSYO" "$1"/.testbench/"$screenshottest"-virtualc64.png "$VIRTUALC64SXO" "$VIRTUALC64SYO"
exitcode=$?
@@ -340,11 +352,13 @@
function virtualc64_run_exitcode
{
if [ $verbose == "1" ]; then
- echo $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4"
- $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
+ echo $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-\"regression set WATCHDOG\"" "$3" "-\"regression run\"" "$4"
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-\"regression set WATCHDOG\"" "$3" "-\"regression run\"" "$4"
+#2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
exitcode=${PIPESTATUS[0]}
else
- $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 1> /dev/null 2> /dev/null
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-\"regression set WATCHDOG\"" "$3" "-\"regression run\"" "$4"
+#1> /dev/null 2> /dev/null
exitcode=$?
fi
if [ $verbose == "1" ]; then
Modified: testprogs/testbench/virtualc64-testlist.txt
===================================================================
--- testprogs/testbench/virtualc64-testlist.txt 2024-09-04 00:21:14 UTC (rev 45328)
+++ testprogs/testbench/virtualc64-testlist.txt 2024-09-05 00:06:33 UTC (rev 45329)
@@ -955,7 +955,9 @@
../SID/bitfade/,test1osc3.prg,analyzer,0
../SID/busvalue/,busvalue.prg,exitcode,5500000
../SID/detect/,detect.prg,interactive,0,comment:see automatic variants
+../SID/detect/,detect-1-old.prg,exitcode,6400000,sid-old
../SID/detect/,detect-1-new.prg,exitcode,6400000,sid-new
+../SID/detect/,detect-2-old.prg,exitcode,5600000,sid-old
../SID/detect/,detect-2-new.prg,exitcode,5600000,sid-new
../SID/detectmirrors/,main.prg,interactive,0
../SID/env_test/,env_test_ra_0000.prg,exitcode,9000000
@@ -975,6 +977,8 @@
#../SID/noise
../SID/noiselfsrinit/,simple.prg,exitcode,7000000,sid-new
../SID/noiselfsrinit/,scan.prg,exitcode,16000000,sid-new
+../SID/noiselfsrinit/,simple.prg,exitcode,7000000,sid-old
+../SID/noiselfsrinit/,scan.prg,exitcode,16000000,sid-old
../SID/noisewriteback/,noisewriteback.prg,interactive,0
#TODO: remove?
#../SID/noisewriteback/,noise_writeback_with_test_bit1.prg,exitcode,100000000
@@ -981,20 +985,97 @@
#../SID/noisewriteback/,noise_writeback_with_test_bit2.prg,exitcode,100000000
#../SID/noisewriteback/,noise_writeback_with_test_bit.prg,exitcode,100000000
#../SID/noisewriteback/,noise_writeback_check_8_to_8_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_8_to_8_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_8_to_9_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_8_to_9_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_8_to_C_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_8_to_C_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_9_to_8_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_9_to_8_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_9_to_9_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_9_to_9_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_9_to_A_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_9_to_A_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_A_to_8_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_A_to_8_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_A_to_9_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_A_to_9_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_A_to_A_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_A_to_A_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_C_to_C_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_C_to_C_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_D_to_E_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_D_to_E_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_E_to_B_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_E_to_B_old.prg,exitcode,100000000,sid-old
#../SID/noisewriteback/,noise_writeback_check_E_to_D_new.prg,exitcode,100000000,sid-new
+#../SID/noisewriteback/,noise_writeback_check_E_to_D_old.prg,exitcode,100000000,sid-old
+../SID/noisewriteback/,noise_writeback_test1-old.prg,exitcode,25000000,sid-old
../SID/noisewriteback/,noise_writeback_test1-new.prg,exitcode,25000000,sid-new
+../SID/noisewriteback/,noise_writeback_test2-old.prg,exitcode,25000000,sid-old
../SID/noisewriteback/,noise_writeback_test2-new.prg,exitcode,25000000,sid-new
+../SID/wb_testsuite/,noise_writeback_check_8_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_8_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_9_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_A_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_B_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_C_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_D_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_E_to_F_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_8_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_9_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_A_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_B_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_C_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_D_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_E_old.prg,exitcode,100000000,sid-old
+../SID/wb_testsuite/,noise_writeback_check_F_to_F_old.prg,exitcode,100000000,sid-old
../SID/wb_testsuite/,noise_writeback_check_8_to_8_new.prg,exitcode,100000000,sid-new
../SID/wb_testsuite/,noise_writeback_check_8_to_9_new.prg,exitcode,100000000,sid-new
../SID/wb_testsuite/,noise_writeback_check_8_to_A_new.prg,exitcode,100000000,sid-new
@@ -1043,11 +1124,15 @@
../SID/wb_testsuite/,noise_writeback_check_F_to_D_new.prg,exitcode,100000000,sid-new
../SID/wb_testsuite/,noise_writeback_check_F_to_E_new.prg,exitcode,100000000,sid-new
../SID/wb_testsuite/,noise_writeback_check_F_to_F_new.prg,exitcode,100000000,sid-new
+../SID/osc3-wave0/,osc3-wave0.prg,exitcode,15000000,sid-old
# needs significantly longer timeout to error out (instead of timeout) in z64k
../SID/osc3-wave0/,osc3-wave0-new.prg,exitcode,38000000,sid-new
../SID/osc_topbit/,osc_topbit_test_noise_new.prg,exitcode,15000000,sid-new
+../SID/osc_topbit/,osc_topbit_test_noise_old.prg,exitcode,15000000,sid-old
../SID/osc_topbit/,osc_topbit_test_pulse_new.prg,exitcode,15000000,sid-new
+../SID/osc_topbit/,osc_topbit_test_pulse_old.prg,exitcode,15000000,sid-old
../SID/osc_topbit/,osc_topbit_test_triangle_new.prg,exitcode,15000000,sid-new
+../SID/osc_topbit/,osc_topbit_test_triangle_old.prg,exitcode,15000000,sid-old
../SID/oscinit/,oscinit.prg,exitcode,5200000
../SID/oscinit/,noiseinit.prg,exitcode,5200000
../SID/oscinit/,allinit.prg,exitcode,5500000
@@ -1062,7 +1147,9 @@
../SID/resid-test/,envtime.prg,exitcode,21000000
../SID/resid-test/,extfilt.prg,analyzer,0
../SID/resid-test/,noisetest.prg,exitcode,46000000
+../SID/resid-test/,oscsample0-6581.prg,exitcode,130000000,sid-old
../SID/resid-test/,oscsample0-8580.prg,exitcode,130000000,sid-new
+../SID/resid-test/,oscsample1-6581.prg,exitcode,130000000,sid-old
../SID/resid-test/,oscsample1-8580.prg,exitcode,130000000,sid-new
../SID/resid-test/,sweep-kern.prg,analyzer,0
../SID/resid-test/,sweep-orig.prg,analyzer,0
@@ -1075,11 +1162,16 @@
#TODO:
#../SID/waveforms/,waveforms-6581.prg
#../SID/waveforms/,waveforms-8580.prg
+../SID/waveforms/,waveforms-10-6581.prg,exitcode,53000000,sid-old
+../SID/waveforms/,waveforms-20-6581.prg,exitcode,54000000,sid-old
+../SID/waveforms/,waveforms-40-6581.prg,exitcode,53000000,sid-old
+../SID/waveforms/,waveforms-80-6581.prg,exitcode,200000000,sid-old
../SID/waveforms/,waveforms-10-8580.prg,exitcode,53000000,sid-new
../SID/waveforms/,waveforms-20-8580.prg,exitcode,53000000,sid-new
../SID/waveforms/,waveforms-40-8580.prg,exitcode,53000000,sid-new
../SID/waveforms/,waveforms-80-8580.prg,exitcode,200000000,sid-new
../SID/writedelay/,writedelay.prg,exitcode,5500000
+../SID/wf12nsr/,wf12nsr.prg,exitcode,150000000,sid-old
../SID/wf12nsr/,wf12nsr-8580.prg,exitcode,150000000,sid-new
################################################################################
# Cartridges
@@ -1093,11 +1185,21 @@
../C64/carts/aracidtest/,test-ariotest1-ar.prg,exitcode,10000000,mountcrt:ardummy.crt
../C64/carts/aracidtest/,test-ariotest2-ar.prg,exitcode,10000000,mountcrt:ardummy.crt
../C64/carts/aracidtest/,test-arramtest2-ar.prg,exitcode,11000000,mountcrt:ardummy.crt
+../C64/carts/aracidtest/,test-ramdetect-ar.prg,exitcode,10000000,mountcrt:npdummy.crt
+../C64/carts/aracidtest/,test-ramsizedetect-ar.prg,exitcode,11000000,mountcrt:npdummy.crt
+../C64/carts/aracidtest/,test-ariotest1-ar.prg,exitcode,10000000,mountcrt:npdummy.crt
+../C64/carts/aracidtest/,test-ariotest2-ar.prg,exitcode,10000000,mountcrt:npdummy.crt
+../C64/carts/aracidtest/,test-arramtest2-ar.prg,exitcode,11000000,mountcrt:npdummy.crt
../C64/carts/aracidtest/,test-ramdetect.prg,exitcode,10000000,mountcrt:rrdummy.crt
../C64/carts/aracidtest/,test-ramsizedetect.prg,exitcode,11000000,mountcrt:rrdummy.crt
../C64/carts/aracidtest/,test-ariotest1.prg,exitcode,10000000,mountcrt:rrdummy.crt
../C64/carts/aracidtest/,test-ariotest2.prg,exitcode,10000000,mountcrt:rrdummy.crt
../C64/carts/aracidtest/,test-arramtest2.prg,exitcode,11000000,mountcrt:rrdummy.crt
+../C64/carts/aracidtest/,test-ramdetect.prg,exitcode,10000000,mountcrt:nrdummy.crt
+../C64/carts/aracidtest/,test-ramsizedetect.prg,exitcode,11000000,mountcrt:nrdummy.crt
+../C64/carts/aracidtest/,test-ariotest1.prg,exitcode,10000000,mountcrt:nrdummy.crt
+../C64/carts/aracidtest/,test-ariotest2.prg,exitcode,10000000,mountcrt:nrdummy.crt
+../C64/carts/aracidtest/,test-arramtest2-nr.prg,exitcode,11000000,mountcrt:nrdummy.crt
#TODO:
#../C64/carts/,exos.prg
../C64/carts/,mmcrplugin.prg,analyzer,0
@@ -1109,9 +1211,31 @@
../C64/carts/,,exitcode,100000,reu512k,mountcrt:rr-reu.crt
#TODO: make this automatic
../C64/carts/ocean,,interactive,0,mountcrt:ocean.crt
+../C64/carts/pagefox,,exitcode,100000,mountcrt:writeram-8000.crt
+../C64/carts/pagefox,,exitcode,100000,mountcrt:writeram-a000.crt
+../C64/carts/pagefox,,exitcode,500000,mountcrt:godot.crt
../C64/carts/ef-test/,,exitcode,500000,mountcrt:ef_test.crt
../C64/carts/ef-eapi/,,exitcode,4000000,mountcrt:test-eapi.crt
../C64/carts/rr-freeze/,,analyzer,0,mountcrt:rr-freeze.crt
+../C64/carts/nordicpower/,,exitcode,100000,mountcrt:artest.crt
+../C64/carts/nordicpower/,,exitcode,100000,mountcrt:nptest.crt
+../C64/carts/nordicpower/,,exitcode,100000,mountcrt:rrtest.crt
+../C64/carts/nordicpower/,,exitcode,100000,mountcrt:rr2test.crt
+../C64/carts/nordicpower/,,exitcode,100000,mountcrt:nrtest.crt
+../C64/carts/nordicpower/,,exitcode,100000,mountcrt:nr2test.crt
+../C64/carts/nordicpower/,,exitcode,1000000,mountcrt:arramwrite.crt
+../C64/carts/nordicpower/,,exitcode,1000000,mountcrt:npramwrite.crt
+../C64/carts/nordicpower/,,exitcode,1000000,mountcrt:rrramwrite.crt
+../C64/carts/nordicpower/,,exitcode,1000000,mountcrt:rr2ramwrite.crt
+../C64/carts/nordicpower/,,exitcode,1000000,mountcrt:nrramwrite.crt
+../C64/carts/nordicpower/,,exitcode,1000000,mountcrt:nr2ramwrite.crt
+../C64/carts/nordicpower/,arramwrite.prg,exitcode,10000000,mountcrt:ardummy.crt
+../C64/carts/nordicpower/,safearramwrite.prg,exitcode,10000000,mountcrt:ardummy.crt
+../C64/carts/nordicpower/,npramwrite.prg,exitcode,10000000,mountcrt:npdummy.crt
+../C64/carts/nordicpower/,rrramwrite.prg,exitcode,10000000,mountcrt:rrdummy.crt
+../C64/carts/nordicpower/,rr2ramwrite.prg,exitcode,10000000,mountcrt:rrdummy.crt
+../C64/carts/nordicpower/,nrramwrite.prg,exitcode,10000000,mountcrt:nrdummy.crt
+../C64/carts/nordicpower/,nr2ramwrite.prg,exitcode,10000000,mountcrt:nrdummy.crt
../C64/carts/retroreplay/,allowbank0.prg,exitcode,10000000,mountcrt:rrdummy.crt
../C64/carts/retroreplay/,allowbank1.prg,exitcode,10000000,mountcrt:rrdummy.crt
../C64/carts/retroreplay/,writeonce.prg,exitcode,10000000,mountcrt:rrdummy.crt
@@ -1150,8 +1274,21 @@
../REU/colorram/,dmacolortest.prg,interactive,0
../REU/cpuport/,cpuport.prg,exitcode,1000000000,reu512k
../REU/detectsize/,detectreu.prg,exitcode,10000000,reu512k
+../REU/floatingbus/,floating.prg,exitcode,14000000,reu256k
+../REU/floatingbus/,floating-a.prg,exitcode,14000000,reu256k
+../REU/floatingbus/,floating-b.prg,exitcode,14000000,reu256k
+../REU/floatingbus/,floating2.prg,exitcode,20000000,reu256k,expect:timeout
+../REU/floatingbus/,floating3a.prg,exitcode,15000000,reu256k
+../REU/floatingbus/,floating3b.prg,exitcode,1500000000,reu256k
+../REU/floatingbus/,floating4a.prg,exitcode,65000000,reu256k
+../REU/floatingbus/,floating4b.prg,exitcode,65000000,reu256k
+../REU/floatingbus/,floating4c.prg,exitcode,95000000,reu256k
+../REU/floatingbus/,floating4d.prg,exitcode,95000000,reu256k
../REU/ioglitch/,ioglitch.prg,exitcode,1000000000,reu512k
+../REU/mirrors/,mirrors128k.prg,exitcode,20000000,reu128k
+../REU/mirrors/,mirrors256k.prg,exitcode,20000000,reu256k
../REU/mirrors/,mirrors512k.prg,exitcode,20000000,reu512k
+../REU/mirrors/,mirrors2m.prg,exitcode,20000000,reu2m
../REU/misc/,bitfill-auto.prg,exitcode,100000000,reu512k
../REU/misc/,twoblocks-auto.prg,exitcode,100000000,reu512k
../REU/misc/,twoblocks-ff00-auto.prg,exitcode,100000000,reu512k
@@ -1174,7 +1311,10 @@
../REU/QuickReuTest-1.1.1/,quickreu-test8.prg,exitcode,42000000,reu512k,comment:use 512k REU when running this test
../REU/QuickReuTest-1.1.1/,quickreu-test8-timing.prg,exitcode,42000000,reu512k,comment:use 512k REU when running this test
../REU/ramlink/,reuverify.prg,analyzer,0
+../REU/ramlink/,reuverify128k.prg,exitcode,7000000,reu128k
+../REU/ramlink/,reuverify256k.prg,exitcode,7000000,reu256k
../REU/ramlink/,reuverify512k.prg,exitcode,7000000,reu512k
+../REU/ramlink/,reuverify2m.prg,exitcode,7000000,reu2m
../REU/raminitpattern/,powerup.prg,analyzer,0
../REU/reudetect/,reudetect.prg,exitcode,100000000,reu512k,comment:load the "blu.reu" file first
../REU/reutiming/,reutiming.prg,exitcode,100000000,reu512k
@@ -1238,6 +1378,11 @@
################################################################################
# GEO-RAM
################################################################################
+../GEO-RAM/,georam64.prg,exitcode,80000000,geo512k
+../GEO-RAM/,georamtest.prg,interactive,0,geo512k,comment:see automatic variants
+../GEO-RAM/,georamtest-auto.prg,exitcode,80000000,geo512k
+../GEO-RAM/,newtest.prg,interactive,0,geo512k,comment:see automatic variants
+../GEO-RAM/,newtest-auto.prg,exitcode,80000000,geo512k
################################################################################
# plus60k
################################################################################
@@ -1344,6 +1489,7 @@
#../RS232/,test1.prg
#../RTC/,ds12c887.prg
#../MIDI/,midi-out-irq-test.prg
+../memory-expansions/,c64-georam-emd.prg,exitcode,570000000,geo512k
../memory-expansions/,c64-reu-emd.prg,exitcode,535000000,reu512k
../memory-expansions/,c64-ram-emd.prg,exitcode,29000000
#../cp-clockf83/cp-clockf83.d64
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-09-04 00:21:17
|
Revision: 45328
http://sourceforge.net/p/vice-emu/code/45328
Author: gpz
Date: 2024-09-04 00:21:14 +0000 (Wed, 04 Sep 2024)
Log Message:
-----------
prepared some things for adding support for virtualc64 - command line options in the hooks script still need to be fixed
Modified Paths:
--------------
testprogs/testbench/Makefile
testprogs/testbench/Makefile.config.example
testprogs/testbench/testbench.sh
Added Paths:
-----------
testprogs/testbench/virtualc64-hooks.sh
testprogs/testbench/virtualc64-testlist.txt
Modified: testprogs/testbench/Makefile
===================================================================
--- testprogs/testbench/Makefile 2024-09-02 23:28:41 UTC (rev 45327)
+++ testprogs/testbench/Makefile 2024-09-04 00:21:14 UTC (rev 45328)
@@ -72,6 +72,10 @@
CHAM20LAST=20201130
+# TODO
+VIRTUALC64LAST=20241010
+VIRTUALC64LASTSTRING="unknown"
+
include Makefile.config
.SILENT:
@@ -173,7 +177,8 @@
kernal64c128c128-testlist.txt \
kernal64scpu64-testlist.txt \
kernal64cbm2-testlist.txt \
- kernal64vic20-testlist.txt
+ kernal64vic20-testlist.txt \
+ virtualc64-testlist.txt
testlist: $(TESTLISTS)
@@ -568,6 +573,33 @@
| grep -v "mountcrt:ultimax-vic-rr.crt" \
>> kernal64scpu64-testlist.txt
+# TODO
+virtualc64-testlist.txt: c64-testlist.in Makefile
+ echo "# this is a generated file, do not edit." > virtualc64-testlist.txt
+ cat c64-testlist.in \
+ | grep -v ",vicii-ntsc" \
+ | grep -v ",vicii-ntscold" \
+ | grep -v ",vicii-drean" \
+ | grep -v ",sid-old" \
+ | grep -v ",reu128k" \
+ | grep -v ",reu256k" \
+ | grep -v ",reu1m" \
+ | grep -v ",reu2m" \
+ | grep -v ",reu4m" \
+ | grep -v ",reu8m" \
+ | grep -v ",reu16m" \
+ | grep -v ",geo512k" \
+ | grep -v ",plus60k" \
+ | grep -v ",plus256k" \
+ | grep -v ",isepic" \
+ | grep -v ",dqbb" \
+ | grep -v ",ramcart128k" \
+ | grep -v "C64/carts/nordicpower" \
+ | grep -v "C64/carts/pagefox" \
+ | grep -v "mountcrt:nrdummy.crt" \
+ | grep -v "mountcrt:npdummy.crt" \
+ >> virtualc64-testlist.txt
+
kernal64cbm2-testlist.txt: cbm610-testlist.in Makefile
echo "# this is a generated file, do not edit." > kernal64cbm2-testlist.txt
cat cbm610-testlist.in >> kernal64cbm2-testlist.txt
@@ -722,6 +754,9 @@
# EMUDIR="$(KERNAL64DIR)" ./testbench.sh kernal64vic20 --verbose
EMUDIR="$(KERNAL64DIR)" ./testbench.sh kernal64vic20 --resume
+testvirtualc64: prereq
+ EMUDIR="$(VIRTUALC64DIR)" ./testbench.sh virtualc64
+
##############################################################################
prereq-chameleon: chameleon-helper.prg chameleon-crtoff.prg chameleon-videomode.prg \
Modified: testprogs/testbench/Makefile.config.example
===================================================================
--- testprogs/testbench/Makefile.config.example 2024-09-02 23:28:41 UTC (rev 45327)
+++ testprogs/testbench/Makefile.config.example 2024-09-04 00:21:14 UTC (rev 45328)
@@ -32,5 +32,8 @@
# should point to the directory containing kernal64
KERNAL64DIR="~/c64stuff/kernal64/"
+# should point to the directory containing virtualc64
+VIRTUALC64DIR="~/c64stuff/virtualc64/"
+
# the IP used for the U64 remote interface
U64IP="192.168.100.210"
Modified: testprogs/testbench/testbench.sh
===================================================================
--- testprogs/testbench/testbench.sh 2024-09-02 23:28:41 UTC (rev 45327)
+++ testprogs/testbench/testbench.sh 2024-09-04 00:21:14 UTC (rev 45328)
@@ -51,6 +51,7 @@
source "./kernal64scpu64-hooks.sh"
source "./kernal64cbm2-hooks.sh"
source "./kernal64vic20-hooks.sh"
+source "./virtualc64-hooks.sh"
###############################################################################
@@ -106,6 +107,9 @@
kernal64c128c128)
target="$1"
;;
+ virtualc64)
+ target="$1"
+ ;;
# C128 targets
x128)
target="$1"
@@ -672,7 +676,7 @@
echo $NAME" - run test programs."
echo "usage: "$NAME" [target] <filter> <options>"
echo " targets: x64, x64sc, x128c64, x128, xscpu64, x64dtv, xpet, xcbm2, xcbm5x0, xvic, xplus4, vsid,"
- echo " hoxs64, micro64, emu64, yace, z64kc64, z64kc128, z64kc128c64, z64kvic20, denise, kernal64c64, kernal64c64c128, kernal64c128c128, kernal64scpu64, kernal64cbm2, kernal64vic20,"
+ echo " hoxs64, micro64, emu64, yace, z64kc64, z64kc128, z64kc128c64, z64kvic20, denise, kernal64c64, kernal64c64c128, kernal64c128c128, kernal64scpu64, kernal64cbm2, kernal64vic20, virtualc64,"
echo " chameleon, u64, cham20, c64rmk2"
echo " <filter> is a substring of the path of tests to restrict to"
echo " --help show this help"
Added: testprogs/testbench/virtualc64-hooks.sh
===================================================================
--- testprogs/testbench/virtualc64-hooks.sh (rev 0)
+++ testprogs/testbench/virtualc64-hooks.sh 2024-09-04 00:21:14 UTC (rev 45328)
@@ -0,0 +1,353 @@
+
+VIRTUALC64OPTS+=" -default"
+VIRTUALC64OPTS+=" -model c64c"
+#VIRTUALC64OPTS+=" -model c64 -ntsc "
+VIRTUALC64OPTS+=" -VICIIfilter 0"
+VIRTUALC64OPTS+=" -VICIIextpal"
+VIRTUALC64OPTS+=" -VICIIpalette pepto-pal.vpl"
+VIRTUALC64OPTS+=" -VICIIextpal"
+VIRTUALC64OPTS+=" -VICIIsaturation 1000"
+VIRTUALC64OPTS+=" -VICIIbrightness 1000"
+VIRTUALC64OPTS+=" -VICIIcontrast 1000"
+VIRTUALC64OPTS+=" -VICIIgamma 1000"
+VIRTUALC64OPTS+=" -VICIItint 1000"
+VIRTUALC64OPTS+=" -warp"
+#VIRTUALC64OPTS+=" -console"
+VIRTUALC64OPTS+=" -debugcart"
+VIRTUALC64OPTS+=" -jamaction 1"
+#VIRTUALC64OPTS+=" -raminitstartvalue 255 -raminitvalueinvert 4"
+
+#VIRTUALC64OPTS+=" -autostartprgmode 1"
+
+#VIRTUALC64OPTS+=" -raminitstartvalue 0"
+#VIRTUALC64OPTS+=" -raminitvalueinvert 8"
+#VIRTUALC64OPTS+=" -raminitpatterninvert 0"
+#VIRTUALC64OPTS+=" -raminitvalueoffset 0"
+#VIRTUALC64OPTS+=" -raminitpatterninvertvalue 0"
+#VIRTUALC64OPTS+=" -raminitstartrandom 0"
+#VIRTUALC64OPTS+=" -raminitrepeatrandom 0"
+#VIRTUALC64OPTS+=" -raminitrandomchance 1"
+VIRTUALC64OPTS+=" -drive8extend 0"
+VIRTUALC64OPTS+=" +easyflashcrtwrite"
+
+# extra options for the different ways tests can be run
+VIRTUALC64OPTSEXITCODE+=" -console"
+#VIRTUALC64OPTSSCREENSHOT+=" -minimized"
+VIRTUALC64OPTSSCREENSHOT+=" -console"
+
+# X and Y offsets for saved screenshots. when saving a screenshot in the
+# computers reset/startup screen, the offset gives the top left pixel of the
+# top left character on screen.
+VIRTUALC64SXO=32
+VIRTUALC64SYO=35
+
+VIRTUALC64REFSXO=32
+VIRTUALC64REFSYO=35
+
+function virtualc64_check_environment
+{
+ VIRTUALC64="$EMUDIR"virtualc64
+
+ emu_default_videosubtype="8565"
+}
+
+# $1 option
+# $2 test path
+function virtualc64_get_options
+{
+# echo virtualc64_get_options "$1" "$2"
+ exitoptions=""
+ case "$1" in
+ "default")
+ exitoptions=""
+ ;;
+ "vicii-pal")
+ exitoptions="-pal"
+ testprogvideotype="PAL"
+ ;;
+ "vicii-ntsc")
+ exitoptions="-ntsc -power60"
+ testprogvideotype="NTSC"
+ ;;
+ "vicii-ntscold")
+ exitoptions="-ntscold -power60"
+ testprogvideotype="NTSCOLD"
+ ;;
+ "vicii-old")
+ if [ x"$testprogvideotype"x == x"PAL"x ]; then
+ # "old" PAL
+ exitoptions="-VICIImodel 6569"
+ testprogvideosubtype="6569"
+ fi
+ if [ x"$testprogvideotype"x == x"NTSC"x ]; then
+ # "old" NTSC
+ exitoptions="-VICIImodel 6567"
+ testprogvideosubtype="6567"
+ fi
+ ;;
+ "vicii-new")
+ if [ x"$testprogvideotype"x == x"PAL"x ]; then
+ # "new" PAL
+ exitoptions="-VICIImodel 8565"
+ testprogvideosubtype="8565"
+ fi
+ if [ x"$testprogvideotype"x == x"NTSC"x ]; then
+ # "new" NTSC
+ exitoptions="-VICIImodel 8562"
+ testprogvideosubtype="8562"
+ fi
+ ;;
+ "cia-old")
+ exitoptions="-ciamodel 0"
+ new_cia_enabled=0
+ ;;
+ "cia-new")
+ exitoptions="-ciamodel 1"
+ new_cia_enabled=1
+ ;;
+ "sid-old")
+ exitoptions="-sidenginemodel 256"
+ new_sid_enabled=0
+ ;;
+ "sid-new")
+ exitoptions="-sidenginemodel 257"
+ new_sid_enabled=1
+ ;;
+ "reu128k")
+ exitoptions="-reu -reusize 128"
+ reu_enabled=1
+ ;;
+ "reu256k")
+ exitoptions="-reu -reusize 256"
+ reu_enabled=1
+ ;;
+ "reu512k")
+ exitoptions="-reu -reusize 512"
+ reu_enabled=1
+ ;;
+ "reu1m")
+ exitoptions="-reu -reusize 1024"
+ reu_enabled=1
+ ;;
+ "reu2m")
+ exitoptions="-reu -reusize 2048"
+ reu_enabled=1
+ ;;
+ "reu4m")
+ exitoptions="-reu -reusize 4096"
+ reu_enabled=1
+ ;;
+ "reu8m")
+ exitoptions="-reu -reusize 8192"
+ reu_enabled=1
+ ;;
+ "reu16m")
+ exitoptions="-reu -reusize 16384"
+ reu_enabled=1
+ ;;
+ "geo512k")
+ exitoptions="-georam -georamsize 512"
+ georam_enabled=1
+ ;;
+ "plus60k")
+ exitoptions="-memoryexphack 2"
+ plus60k_enabled=1
+ ;;
+ "plus256k")
+ exitoptions="-memoryexphack 3"
+ plus256k_enabled=1
+ ;;
+ "dqbb")
+ exitoptions="-dqbb"
+ dqbb_enabled=1
+ ;;
+ "ramcart128k")
+ exitoptions="-ramcart -ramcartsize 128"
+ ramcart_enabled=1
+ ;;
+ "isepic")
+ exitoptions="-isepicswitch -isepic"
+ isepic_enabled=1
+ ;;
+ *)
+ exitoptions=""
+ if [ "${1:0:9}" == "mountd64:" ]; then
+ exitoptions="-8 $2/${1:9}"
+ mounted_d64="${1:9}"
+ echo -ne "(disk:${1:9}) "
+ fi
+ if [ "${1:0:9}" == "mountd71:" ]; then
+ exitoptions="-drive8type 1571 -8 $2/${1:9}"
+ mounted_d64="${1:9}"
+ echo -ne "(disk:${1:9}) "
+ fi
+ if [ "${1:0:9}" == "mountg64:" ]; then
+ exitoptions="-8 $2/${1:9}"
+ mounted_g64="${1:9}"
+ echo -ne "(disk:${1:9}) "
+ fi
+ if [ "${1:0:9}" == "mountp64:" ]; then
+ exitoptions="-8 $2/${1:9}"
+ mounted_p64="${1:9}"
+ echo -ne "(disk:${1:9}) "
+ fi
+ if [ "${1:0:9}" == "mountcrt:" ]; then
+ exitoptions="-cartcrt $2/${1:9}"
+ mounted_crt="${1:9}"
+ echo -ne "(cartridge:${1:9}) "
+ fi
+ ;;
+ esac
+}
+
+# $1 option
+# $2 test path
+function virtualc64_get_cmdline_options
+{
+# echo virtualc64_get_cmdline_options "$1" "$2"
+ exitoptions=""
+ case "$1" in
+ "PAL")
+ exitoptions="-pal"
+ ;;
+ "NTSC")
+ exitoptions="-ntsc"
+ ;;
+ "NTSCOLD")
+ exitoptions="-ntscold"
+ ;;
+ "6569") # "old" PAL
+ exitoptions="-VICIImodel 6569"
+ ;;
+ "8565") # "new" PAL
+ exitoptions="-VICIImodel 8565"
+ ;;
+ "6567") # "old" NTSC
+ exitoptions="-VICIImodel 6567"
+ ;;
+ "8562") # "new" NTSC
+ exitoptions="-VICIImodel 8562"
+ ;;
+ "6526") # "old" CIA
+ exitoptions="-ciamodel 0"
+ ;;
+ "6526A") # "new" CIA
+ exitoptions="-ciamodel 1"
+ ;;
+ esac
+}
+
+# called once before any tests run
+function virtualc64_prepare
+{
+ true
+}
+
+################################################################################
+# reset
+# run test program
+# exit when write to $d7ff occurs - the value written determines success (=$00) or fail (=$ff)
+# exit after $timeout cycles (exitcode=$01)
+# save a screenshot at exit - success or failure is determined by comparing screenshots
+
+# $1 test path
+# $2 test program name
+# $3 timeout cycles
+# $4 test full path+name (may be empty)
+# $5- extra options for the emulator
+function virtualc64_run_screenshot
+{
+ if [ "$2" == "" ] ; then
+ screenshottest="$mounted_crt"
+ else
+ screenshottest="$2"
+ fi
+
+ mkdir -p "$1"/".testbench"
+ rm -f "$1"/.testbench/"$screenshottest"-virtualc64.png
+ if [ $verbose == "1" ]; then
+ echo $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-limitcycles" "$3" "-exitscreenshot" "$1"/.testbench/"$screenshottest"-virtualc64.png "$4"
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-limitcycles" "$3" "-exitscreenshot" "$1"/.testbench/"$screenshottest"-virtualc64.png "$4" 2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
+ exitcode=${PIPESTATUS[0]}
+ else
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSSCREENSHOT ${@:5} "-limitcycles" "$3" "-exitscreenshot" "$1"/.testbench/"$screenshottest"-virtualc64.png "$4" 1> /dev/null 2> /dev/null
+ exitcode=$?
+ fi
+
+ if [ $verbose == "1" ]; then
+ echo $VIRTUALC64 "exited with: " $exitcode
+ fi
+
+ if [ $exitcode -ne 0 ]
+ then
+ if [ $exitcode -ne 1 ]
+ then
+ if [ $exitcode -ne 255 ]
+ then
+ echo -ne "\nerror: call to $VIRTUALC64 failed.\n"
+ exit -1
+ fi
+ fi
+ fi
+
+ if [ $exitcode -eq 0 ] || [ $exitcode -eq 255 ]
+ then
+ if [ -f "$refscreenshotname" ]
+ then
+
+ # defaults for PAL
+ VIRTUALC64REFSXO=32
+ VIRTUALC64REFSYO=35
+ VIRTUALC64SXO=32
+ VIRTUALC64SYO=35
+
+# echo [ refscreenshotvideotype:"${refscreenshotvideotype}" videotype:"${videotype}" testprogvideomode:"${testprogvideomode}"]
+
+ if [ "${refscreenshotvideotype}" == "NTSC" ]; then
+ VIRTUALC64REFSXO=32
+ VIRTUALC64REFSYO=23
+ fi
+
+ # when either the testbench was run with --ntsc, or the test is ntsc-specific,
+ # then we need the offsets on the NTSC screenshot
+ if [ "${videotype}" == "NTSC" ] || [ "${testprogvideotype}" == "NTSC" ]; then
+ VIRTUALC64SXO=32
+ VIRTUALC64SYO=23
+ fi
+
+ # echo ./cmpscreens "$refscreenshotname" "$VIRTUALC64REFSXO" "$VIRTUALC64REFSYO" "$1"/.testbench/"$screenshottest"-virtualc64.png "$VIRTUALC64SXO" "$VIRTUALC64SYO"
+ ./cmpscreens "$refscreenshotname" "$VIRTUALC64REFSXO" "$VIRTUALC64REFSYO" "$1"/.testbench/"$screenshottest"-virtualc64.png "$VIRTUALC64SXO" "$VIRTUALC64SYO"
+ exitcode=$?
+ else
+ echo -ne "reference screenshot missing - "
+ exitcode=255
+ fi
+ fi
+
+}
+
+################################################################################
+# reset
+# run test program
+# exit when write to $d7ff occurs - the value written determines success (=$00) or fail (=$ff)
+# exit after $timeout cycles (exitcode=$01)
+
+# $1 test path
+# $2 test program name
+# $3 timeout cycles
+# $4 test full path+name (may be empty)
+# $5- extra options for the emulator
+function virtualc64_run_exitcode
+{
+ if [ $verbose == "1" ]; then
+ echo $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4"
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
+ exitcode=${PIPESTATUS[0]}
+ else
+ $VIRTUALC64 $VIRTUALC64OPTS $VIRTUALC64OPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 1> /dev/null 2> /dev/null
+ exitcode=$?
+ fi
+ if [ $verbose == "1" ]; then
+ echo $VIRTUALC64 "exited with: " $exitcode
+ fi
+}
Property changes on: testprogs/testbench/virtualc64-hooks.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: testprogs/testbench/virtualc64-testlist.txt
===================================================================
--- testprogs/testbench/virtualc64-testlist.txt (rev 0)
+++ testprogs/testbench/virtualc64-testlist.txt 2024-09-04 00:21:14 UTC (rev 45328)
@@ -0,0 +1,1349 @@
+# this is a generated file, do not edit.
+################################################################################
+# C64 related tests
+# total runtime (chameleon): 341 minutes and 14 seconds
+# (z64kc128c64): 128 minutes and 48 seconds
+# (micro64): 88 minutes and 46 seconds
+# (x64sc) 61 minutes and 26 seconds
+# (emu64): 44 minutes and 37 seconds
+# (hoxs64): 29 minutes and 46 seconds
+################################################################################
+################################################################################
+# selftest
+################################################################################
+./selftest/,c64-pass.prg,exitcode,10000000
+./selftest/,c64-fail.prg,exitcode,10000000,expect:error
+./selftest/,c64-pass.prg,screenshot,10000000
+./selftest/,c64-fail.prg,screenshot,10000000,expect:error
+./selftest/,,exitcode,10000000,mountcrt:c64-pass.crt
+./selftest/,,exitcode,10000000,mountcrt:c64-fail.crt,expect:error
+./selftest/,,screenshot,10000000,mountcrt:c64-pass.crt
+./selftest/,,screenshot,10000000,mountcrt:c64-fail.crt,expect:error
+################################################################################
+# general
+################################################################################
+../C64/raminitpattern/,cyberloadtest.prg,exitcode,6000000
+../C64/raminitpattern/,darkstarbbstest.prg,exitcode,8000000
+../C64/raminitpattern/,pattern00ff.prg,analyzer,0
+../C64/raminitpattern/,platoontest.prg,exitcode,8000000
+../C64/raminitpattern/,typicaltest.prg,exitcode,8000000
+../C64/autostart/basic/,basictest.prg,exitcode,9000000
+../C64/autostart/basic/,printpoint.prg,exitcode,10000000
+../C64/autostart/basic/,printpoint2.prg,exitcode,10000000
+#FIXME: test.prg fails when not loaded by LOAD"TEST",8
+../C64/autostart/defaults/,test.prg,exitcode,50000000,comment:load the test using "TEST" as filename
+../C64/autostart/defaults/,test.prg,exitcode,50000000,mountd64:test.d64,comment:load the test using "TEST" as filename
+../C64/autostart/random/,raster.prg,interactive,0,comment: should show different numbers on repeated runs
+../C64/bankio/,bankio.prg,exitcode,10000000
+../C64/openio/,dadb.prg,interactive,0
+../C64/openio/,de00all.prg,interactive,0
+../C64/openio/,de00int.prg,interactive,0
+../C64/openio/,trivial.prg,interactive,0
+../C64/openio/,gauntlet.prg,exitcode,8000000
+../crtemulation/paltest/,paltest.prg,interactive,0
+../crtemulation/,emusuxX0r-crest.prg,interactive,0
+../general/banking00/,banking00.prg,exitcode,10000000
+################################################################################
+# Lorenz Suite
+#
+# ../general/ runtime: 9 minutes and 49 seconds (x64sc)
+# ../general/ runtime: 83 minutes and 5 seconds (chameleon)
+################################################################################
+# Lorenz-Suite Disk1:
+../general/Lorenz-2.15/src/,start.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldab.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldaz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldazx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldaa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldaax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldaay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldaix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldaiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,staz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,stazx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,staa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,staax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,staay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,staix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,staiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldxb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldxz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldxzy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldxa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldxay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,stxz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,stxzy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,stxa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldyb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldyz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldyzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldya.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,ldyax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,styz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,styzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,stya.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,taxn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,tayn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,txan.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,tyan.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,tsxn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,txsn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,phan.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,plan.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,phpn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,plpn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,inxn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,inyn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dexn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,deyn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,incz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,inczx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,inca.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,incax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,decz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,deczx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,deca.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,decax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asln.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,aslz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,aslzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asla.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,aslax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsrn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsrz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsrzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsra.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsrax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,roln.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rolz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rolzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rola.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rolax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rorn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rorz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rorzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rora.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rorax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,andb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,andz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,andzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,anda.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,andax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,anday.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,andix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,andiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,orab.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,oraz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,orazx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,oraa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,oraax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,oraay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,oraix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,oraiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eorb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eorz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eorzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eora.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eorax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eoray.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eorix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,eoriy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,clcn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,secn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cldn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,sedn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,clin.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,sein.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,clvn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,adcb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,adcz.prg,exitcode,30500000
+../general/Lorenz-2.15/src/,adczx.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,adca.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,adcax.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,adcay.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,adcix.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,adciy.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,sbcb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,sbcz.prg,exitcode,31000000
+../general/Lorenz-2.15/src/,sbczx.prg,exitcode,31000000
+../general/Lorenz-2.15/src/,sbca.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,sbcax.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,sbcay.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,sbcix.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,sbciy.prg,exitcode,40000000
+../general/Lorenz-2.15/src/,cmpb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cmpiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cpxb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cpxz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cpxa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cpyb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cpyz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,cpya.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bitz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bita.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,brkn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rtin.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,jsrw.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rtsn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,jmpw.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,jmpi.prg,exitcode,30000000
+# Lorenz-Suite Disk2:
+../general/Lorenz-2.15/src/,beqr.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bner.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bmir.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bplr.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bcsr.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bccr.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bvsr.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,bvcr.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,nopn.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,nopb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,nopz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,nopzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,nopa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,nopax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asoz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asozx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asoa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asoax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asoay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asoix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,asoiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlaz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlazx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlaa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlaax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlaay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlaix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rlaiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsez.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsezx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lsea.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lseax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lseay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lseix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,lseiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rraz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rrazx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rraa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rraax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rraay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rraix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,rraiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcmz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcmzx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcma.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcmax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcmay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcmix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,dcmiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,insz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,inszx.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,insa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,insax.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,insay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,insix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,insiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,laxz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,laxzy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,laxa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,laxay.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,laxix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,laxiy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,axsz.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,axszy.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,axsa.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,axsix.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,alrb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,arrb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,aneb.prg,exitcode,102000000
+../general/Lorenz-2.15/src/,lxab.prg,exitcode,101000000
+../general/Lorenz-2.15/src/,sbxb.prg,exitcode,80000000
+../general/Lorenz-2.15/src/,shaay.prg,exitcode,133000000
+../general/Lorenz-2.15/src/,shaiy.prg,exitcode,133000000
+../general/Lorenz-2.15/src/,shxay.prg,exitcode,125000000
+../general/Lorenz-2.15/src/,shyax.prg,exitcode,125000000
+../general/Lorenz-2.15/src/,shsay.prg,exitcode,133000000
+../general/Lorenz-2.15/src/,ancb.prg,exitcode,80000000
+../general/Lorenz-2.15/src/,lasay.prg,exitcode,125000000
+../general/Lorenz-2.15/src/,sbcb-eb.prg,exitcode,30000000
+../general/Lorenz-2.15/src/,trap1.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap2.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap3.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap4.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap5.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap6.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap7.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap8.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap9.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap10.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap11.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap12.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap13.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap14.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap15.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap1ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap2ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap3ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap4ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap5ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap6ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap7ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap8ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap9ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap10ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap11ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap12ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap13ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap14ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap15ane.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap1lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap2lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap3lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap4lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap5lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap6lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap7lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap8lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap9lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap10lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap11lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap12lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap13lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap14lxa.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,trap15lxa.prg,exitcode,20000000
+#FIXME: port trap16/17 to NTSC/NTSCOLD
+../general/Lorenz-2.15/src/,trap16.prg,exitcode,21000000,vicii-pal
+../general/Lorenz-2.15/src/,trap17.prg,exitcode,20000000,vicii-pal
+../general/Lorenz-2.15/src/,branchwrap.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,mmufetch.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,mmu.prg,exitcode,35000000
+../general/Lorenz-2.15/src/,cpuport.prg,exitcode,20000000
+../general/Lorenz-2.15/src/,cputiming.prg,exitcode,20000000
+# Lorenz-Suite Disk3 (old CIA):
+../general/Lorenz-2.15/src/,irq.prg,exitcode,26000000,cia-old
+../general/Lorenz-2.15/src/,nmi.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia1tab.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,icr01.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,imr.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-old
+../general/Lorenz-2.15/src/,cia1ta.prg,exitcode,190000000,cia-old
+../general/Lorenz-2.15/src/,cia1tb.prg,exitcode,80000000,cia-old
+../general/Lorenz-2.15/src/,cia2ta.prg,exitcode,75000000,cia-old
+../general/Lorenz-2.15/src/,cia2tb.prg,exitcode,75000000,cia-old
+# Lorenz-Suite Disk3 (new CIA):
+../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
+../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
+../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
+../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
+../general/Lorenz-2.15/src/,cia2tbnew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
+################################################################################
+../general/ram0001/,quicktest.prg,interactive,0
+../general/ram0001/,test1.prg,exitcode,10000000
+../general/fuxxortest,test-fuxxored.prg,exitcode,14000000
+../general/fuxxortest,ef1-nmi.prg,exitcode,7000000
+../general/fuxxortest,ef2-inst1.prg,exitcode,8000000
+../general/fuxxortest,ef2-inst2.prg,exitcode,9000000
+../general/fuxxortest,ef2-inst3.prg,exitcode,8000000
+../general/fuxxortest,ef2-inst4a.prg,exitcode,8300000
+../general/fuxxortest,ef2-inst4b.prg,exitcode,8000000
+../general/fuxxortest,ef2-inst4c.prg,exitcode,8000000
+################################################################################
+# CPU 6510
+################################################################################
+../CPU/64doc/,dadc.prg,exitcode,29000000
+../CPU/64doc/,dincsbc-deccmp.prg,exitcode,26000000
+../CPU/64doc/,dincsbc.prg,exitcode,26000000
+../CPU/64doc/,droradc.prg,exitcode,30000000
+../CPU/64doc/,dsbc-cmp-flags.prg,exitcode,22000000
+../CPU/64doc/,dsbc.prg,exitcode,26000000
+../CPU/64doc/,sbx-c100.prg,exitcode,14000000
+# FIXME: these run VERY long. we need a 64bit timeout
+#../CPU/64doc/,sbx.prg,exitcode,2300000000
+#../CPU/64doc/,vsbx.prg,exitcode,3800000000
+../CPU/Acid800/,cpu_decimal.prg,exitcode,22000000
+../CPU/Acid800/,cpu_flags.prg,exitcode,22000000
+../CPU/Acid800/,cpu_illegal.prg,exitcode,41000000
+../CPU/Acid800/,cpu_insn.prg,exitcode,35000000
+../CPU/Acid800/,cpu_timing.prg,exitcode,22000000,vicii-pal
+../CPU/Acid800/,cpu_bugs.prg,exitcode,25000000
+../CPU/Acid800/,cpu_clisei.prg,exitcode,23000000
+../CPU/ane/,ane.prg,exitcode,70000000,vicii-pal
+../CPU/ane/,ane-none.prg,exitcode,70000000,vicii-pal
+../CPU/ane/,ane-border.prg,exitcode,70000000,vicii-pal
+../CPU/ane-lax/,ane-lax.prg,analyzer,0
+../CPU/asap/,cpu_ane.prg,exitcode,18000000
+../CPU/asap/,cpu_anx.prg,exitcode,18000000
+../CPU/asap/,cpu_decimal.prg,exitcode,160000000
+../CPU/asap/,cpu_las.prg,exitcode,10000000
+../CPU/asap/,cpu_shx.prg,exitcode,40000000
+../CPU/bclark/,decimalmode.prg,exitcode,65000000
+../CPU/cpujam/,cpujam02.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam12.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam22.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam32.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam42.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam52.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam62.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam72.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujam92.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujamb2.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujamd2.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,cpujamf2.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,nojam.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,jamirq.prg,exitcode,5500000,expect:timeout
+../CPU/cpujam/,jamnmi.prg,exitcode,5500000,expect:timeout
+../CPU/cpuport/,bitfade.prg,analyzer,0
+../CPU/cpuport/,delaytime.prg,analyzer,0
+../CPU/cpuport/,test1.prg,exitcode,5500000
+../CPU/cpuport/,,exitcode,100000,mountcrt:initvalue.crt
+../CPU/decimalmode/,scanner.prg,exitcode,750000000
+../CPU/decimalmode/,adc00.prg,exitcode,550000000
+../CPU/decimalmode/,adc01.prg,exitcode,550000000
+../CPU/decimalmode/,adc02.prg,exitcode,550000000
+../CPU/decimalmode/,adc10.prg,exitcode,550000000
+../CPU/decimalmode/,adc11.prg,exitcode,550000000
+../CPU/decimalmode/,adc12.prg,exitcode,550000000
+../CPU/decimalmode/,sbc00.prg,exitcode,550000000
+../CPU/decimalmode/,sbc01.prg,exitcode,550000000
+../CPU/decimalmode/,sbc02.prg,exitcode,550000000
+../CPU/decimalmode/,sbc10.prg,exitcode,550000000
+../CPU/decimalmode/,sbc11.prg,exitcode,550000000
+../CPU/decimalmode/,sbc12.prg,exitcode,550000000
+../CPU/decimalmode/,arr00.prg,exitcode,550000000
+../CPU/decimalmode/,arr01.prg,exitcode,550000000
+../CPU/decimalmode/,arr02.prg,exitcode,550000000
+../CPU/decimalmode/,arr10.prg,exitcode,550000000
+../CPU/decimalmode/,arr11.prg,exitcode,550000000
+../CPU/decimalmode/,arr12.prg,exitcode,550000000
+../CPU/decimalmode/,sbcEB00.prg,exitcode,550000000
+../CPU/decimalmode/,sbcEB01.prg,exitcode,550000000
+../CPU/decimalmode/,sbcEB02.prg,exitcode,550000000
+../CPU/decimalmode/,sbcEB10.prg,exitcode,550000000
+../CPU/decimalmode/,sbcEB11.prg,exitcode,550000000
+../CPU/decimalmode/,sbcEB12.prg,exitcode,550000000
+../CPU/decimalmode/,isc00.prg,exitcode,550000000
+../CPU/decimalmode/,isc01.prg,exitcode,550000000
+../CPU/decimalmode/,isc02.prg,exitcode,550000000
+../CPU/decimalmode/,isc03.prg,exitcode,550000000
+../CPU/decimalmode/,isc10.prg,exitcode,550000000
+../CPU/decimalmode/,isc11.prg,exitcode,550000000
+../CPU/decimalmode/,isc12.prg,exitcode,550000000
+../CPU/decimalmode/,isc13.prg,exitcode,550000000
+../CPU/decimalmode/,rra00.prg,exitcode,550000000
+../CPU/decimalmode/,rra01.prg,exitcode,550000000
+../CPU/decimalmode/,rra02.prg,exitcode,550000000
+../CPU/decimalmode/,rra03.prg,exitcode,550000000
+../CPU/decimalmode/,rra10.prg,exitcode,550000000
+../CPU/decimalmode/,rra11.prg,exitcode,550000000
+../CPU/decimalmode/,rra12.prg,exitcode,550000000
+../CPU/decimalmode/,rra13.prg,exitcode,550000000
+../CPU/hmc6502/,AllSuiteA.prg,exitcode,45000000
+../CPU/kdormann/,6502_functional_test.prg,exitcode,180000000
+../CPU/lax/,lax.prg,exitcode,70000000,vicii-pal
+../CPU/lax/,lax-none.prg,exitcode,70000000,vicii-pal
+../CPU/lax/,lax-border.prg,exitcode,70000000,vicii-pal
+#FIXME: make NTSC fixes
+../CPU/sha/,shaabsy1.prg,exitcode,6000000
+../CPU/sha/,shaabsy2.prg,exitcode,7000000,vicii-pal
+../CPU/sha/,shaabsy3.prg,exitcode,18000000,vicii-pal
+../CPU/sha/,shaabsy4.prg,exitcode,7000000,vicii-pal
+../CPU/sha/,shaabsy5.prg,exitcode,7000000,vicii-pal
+../CPU/sha/,shazpy1.prg,exitcode,5500000
+../CPU/sha/,shazpy2.prg,exitcode,6600000,vicii-pal
+../CPU/sha/,shazpy3.prg,exitcode,20000000,vicii-pal
+../CPU/sha/,shazpy4.prg,exitcode,7000000,vicii-pal
+../CPU/sha/,shazpy5.prg,exitcode,7000000,vicii-pal
+../CPU/shs/,shsabsy1.prg,exitcode,5500000
+../CPU/shs/,shsabsy2.prg,exitcode,7000000,vicii-pal
+../CPU/shs/,shsabsy3.prg,exitcode,20000000,vicii-pal
+../CPU/shs/,shsabsy4.prg,exitcode,7300000,vicii-pal
+../CPU/shs/,shsabsy5.prg,exitcode,7200000,vicii-pal
+#FIXME: make NTSC fixes
+../CPU/shxy/,shx-t2.prg,interactive,0,vicii-pal
+../CPU/shxy/,shx-test.prg,exitcode,170000000,vicii-pal
+../CPU/shxy/,shxy1.prg,exitcode,8000000
+../CPU/shxy/,shxy2.prg,exitcode,20000000,vicii-pal
+../CPU/shxy/,shxy3.prg,exitcode,20000000
+../CPU/shxy/,shxy4.prg,exitcode,20000000
+../CPU/shxy/,shxy5.prg,exitcode,7000000,vicii-pal
+../CPU/shxy/,shyx1.prg,exitcode,9000000
+../CPU/shxy/,shyx2.prg,exitcode,20000000,vicii-pal
+../CPU/shxy/,shyx3.prg,exitcode,20000000
+../CPU/shxy/,shyx4.prg,exitcode,20000000
+../CPU/shxy/,shyx5.prg,exitcode,7000000,vicii-pal
+../CPU/jsrselfmod/,jsr.prg,exitcode,7000000
+../CPU/cputest/,start-c64.prg,analyzer,0,mountd64:cputest-c64.d64
+################################################################################
+# Interrupts
+#
+# ../interrupts/ runtime 89 minutes and 27 seconds (chameleon)
+################################################################################
+../interrupts/branchquirk/,branchquirk-new.prg,exitcode,15000000,cia-new
+../interrupts/branchquirk/,branchquirk-old.prg,exitcode,15000000,cia-old
+../interrupts/branchquirk/,branchquirk-nminew.prg,exitcode,15000000,cia-new
+../interrupts/branchquirk/,branchquirk-nmiold.prg,exitcode,15000000,cia-old
+../interrupts/cia-int/,cia-int-irq-new.prg,exitcode,10000000,cia-new
+../interrupts/cia-int/,cia-int-irq.prg,exitcode,10000000,cia-old
+../interrupts/cia-int/,cia-int-nmi-new.prg,exitcode,10000000,cia-new
+../interrupts/cia-int/,cia-int-nmi.prg,exitcode,10000000,cia-old
+../interrupts/irq-ackn-bug/,cia1new.prg,exitcode,10000000,cia-new
+../interrupts/irq-ackn-bug/,cia1.prg,exitcode,10000000,cia-old
+../interrupts/irq-ackn-bug/,cia2new.prg,exitcode,10000000,cia-new
+../interrupts/irq-ackn-bug/,cia2.prg,exitcode,10000000,cia-old
+#FIXME: fix tests for NTSC/NTSCOLD
+../interrupts/irq-ackn-bug/,irq-ackn_after_cli2.prg,interactive,0,vicii-pal,comment:non deterministic test which has to be judged by eye comparison
+../interrupts/irq-ackn-bug/,irq-ackn_after_cli.prg,interactive,0,vicii-pal,comment:non deterministic test which has to be judged by eye comparison
+#FIXME: fix tests for NTSC/NTSCOLD
+../interrupts/irq-ackn-bug/,irq-ack-vicii.prg,exitcode,10000000,vicii-pal
+#FIXME: fix tests for NTSC/NTSCOLD
+#FIXME: how to run all of these tests for both cia-old and cia-new?
+../interrupts/irqdma/,nmitest6b.prg,exitcode,450000000,vicii-pal,cia-old
+../interrupts/irqdma/,nmitest6b.prg,exitcode,450000000,vicii-pal,cia-new
+../interrupts/irqdma/,nmitest6.prg,exitcode,450000000,vicii-pal,cia-old
+../interrupts/irqdma/,nmitest6.prg,exitcode,450000000,vicii-pal,cia-new
+../interrupts/irqdma/,test1b.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test1.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test2b.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test2.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test3b.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test3.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test4b.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test4.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test5b.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test5.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test6b.prg,exitcode,450000000,vicii-pal,cia-old
+../interrupts/irqdma/,test6b.prg,exitcode,450000000,vicii-pal,cia-new
+../interrupts/irqdma/,test6.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test7b.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdma/,test7.prg,exitcode,450000000,vicii-pal
+../interrupts/irqdummy/,irqdummy.prg,exitcode,9000000
+../interrupts/irqnmi/,irqnmi-new.prg,exitcode,20000000,cia-new
+../interrupts/irqnmi/,irqnmi-old.prg,exitcode,20000000,cia-old
+../interrupts/irqnoack/,ackcia.prg,exitcode,7000000
+../interrupts/irqnoack/,ackcia2.prg,exitcode,7000000
+../interrupts/irqnoack/,ackcia3.prg,exitcode,7000000
+../interrupts/irqnoack/,ackraster.prg,exitcode,7000000,expect:timeout
+../interrupts/nmitest/,nmitest.prg,interactive,0,comment:repeatedly press RESTORE
+../interrupts/nmitest/,nmitest2.prg,interactive,0,comment:repeatedly press RESTORE
+################################################################################
+# CIA 6526
+#
+# ../CIA/ runtime 2 minutes and 26 seconds (x64sc)
+# ../CIA/ runtime 15 minutes and 23 seconds (chameleon)
+################################################################################
+../CIA/CIA-AcountsB/,cia-b-counts-a.prg,exitcode,100000000,vicii-pal
+../CIA/CIA-AcountsB/,cmp-b-counts-a-old.prg,exitcode,100000000,cia-old,vicii-pal
+../CIA/CIA-AcountsB/,cmp-b-counts-a-new.prg,exitcode,100000000,cia-new,vicii-pal
+#FIXME: fix the following three tests also for NTSCOLD
+../CIA/cia-timer/,cia-timer-oldcias.prg,exitcode,200000000,cia-old
+../CIA/cia-timer/,cia-timer-newcias.prg,exitcode,200000000,cia-new
+../CIA/ciaports/,ciaports.prg,interactive,0,comment:various Keys must be pressed and results compared manually
+../CIA/ciaports/,ghosting.prg,interactive,0,comment:various Keys must be pressed and results compared manually
+../CIA/ciavarious/,cia1.prg,exitcode,10000000
+../CIA/ciavarious/,cia2.prg,exitcode,20000000
+../CIA/ciavarious/,cia3.prg,exitcode,10000000,cia-old
+../CIA/ciavarious/,cia3a.prg,exitcode,10000000,cia-old
+../CIA/ciavarious/,cia4.prg,exitcode,20000000,cia-old
+../CIA/ciavarious/,cia5.prg,exitcode,20000000
+../CIA/ciavarious/,cia6.prg,exitcode,20000000
+../CIA/ciavarious/,cia7.prg,exitcode,10000000
+../CIA/ciavarious/,cia8.prg,exitcode,10000000,cia-old
+../CIA/ciavarious/,cia9.prg,exitcode,10000000
+../CIA/ciavarious/,cia10.prg,exitcode,10000000
+../CIA/ciavarious/,cia11.prg,exitcode,10000000
+../CIA/ciavarious/,cia12.prg,exitcode,10000000
+../CIA/ciavarious/,cia13.prg,exitcode,10000000
+../CIA/ciavarious/,cia14.prg,exitcode,10000000
+../CIA/ciavarious/,cia15.prg,exitcode,160000000
+../CIA/ciavarious/,cia3new.prg,exitcode,10000000,cia-new
+../CIA/ciavarious/,cia3anew.prg,exitcode,10000000,cia-new
+../CIA/ciavarious/,cia4new.prg,exitcode,20000000,cia-new
+../CIA/ciavarious/,cia8new.prg,exitcode,10000000,cia-new
+../CIA/dd0drw/,dd0drw.prg,exitcode,6000000
+../CIA/dd0dtest/,dd0dtest.prg,exitcode,100000000,cia-old
+../CIA/dd0dtest/,dd0dtest.prg,exitcode,100000000,cia-new
+../CIA/mirrors/,ciamirrors.prg,exitcode,9000000
+../CIA/irqdelay/,irqdelay.prg,exitcode,7000000,cia-old
+../CIA/irqdelay/,irqdelay-new.prg,exitcode,7000000,cia-new
+../CIA/irqdelay/,irqdelay-oneshot.prg,exitcode,7000000,cia-old
+../CIA/irqdelay/,irqdelay-oneshot-new.prg,exitcode,7000000,cia-new
+../CIA/irqdelay/,irqdelay2.prg,exitcode,9000000,cia-old
+../CIA/irqdelay/,irqdelay2-new.prg,exitcode,9000000,cia-new
+../CIA/irqdelay/,irqdelay-cia1-4-new.prg,exitcode,10000000,cia-new
+../CIA/irqdelay/,irqdelay-cia1-4-old.prg,exitcode,10000000,cia-old
+../CIA/irqdelay/,irqdelay-cia1-oneshot-4-new.prg,exitcode,10000000,cia-new
+../CIA/irqdelay/,irqdelay-cia1-oneshot-4-old.prg,exitcode,10000000,cia-old
+../CIA/irqdelay/,irqdelay-cia1-oneshot.prg,exitcode,10000000
+../CIA/irqdelay/,irqdelay-cia1.prg,exitcode,10000000
+../CIA/irqdelay/,irqdelay-cia2-4.prg,exitcode,10000000
+../CIA/irqdelay/,irqdelay-cia2-oneshot-4.prg,exitcode,10000000
+../CIA/irqdelay/,irqdelay-cia2-oneshot.prg,exitcode,10000000
+../CIA/irqdelay/,irqdelay-cia2.prg,exitcode,10000000
+../CIA/pb6pb7/,main.prg,exitcode,7000000
+../CIA/reload0/,reload0a.prg,exitcode,20000000
+../CIA/reload0/,reload0b.prg,exitcode,20000000
+../CIA/shiftregister/,cia-icr-test2-continues.prg,exitcode,10000000
+../CIA/shiftregister/,cia-icr-test2-oneshot.prg,exitcode,10000000
+../CIA/shiftregister/,cia-icr-test-continues-new.prg,exitcode,10000000,cia-new
+../CIA/shiftregister/,cia-icr-test-continues-old.prg,exitcode,10000000,cia-old
+../CIA/shiftregister/,cia-icr-test-oneshot-new.prg,exitcode,10000000,cia-new
+../CIA/shiftregister/,cia-icr-test-oneshot-old.prg,exitcode,10000000,cia-old
+../CIA/shiftregister/,cia-sdr-load.prg,exitcode,7000000
+../CIA/shiftregister/,cia-sdr-init.prg,exitcode,7000000
+../CIA/shiftregister/,cia-sdr-delay.prg,exitcode,7000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-0_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-0.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-1_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-19.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-39.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-3.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-0_7f.prg,exitcode,121000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-0.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-1_7f.prg,exitcode,121000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-19.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-39.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-3.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4485-4_7f.prg,exitcode,121000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-4_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-0.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-0_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-19.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-1_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-3.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-39.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia1-sdr-icr-generic-4_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-0_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-0.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-1_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-19.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-39.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-3.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-0_7f.prg,exitcode,121000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-0.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-1_7f.prg,exitcode,121000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-19.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-39.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-3.prg,exitcode,16000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4485-4_7f.prg,exitcode,121000000,cia-old,comment:CIA timestamp 4485 only
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-4_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-0.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-0_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-19.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-1_7f.prg,exitcode,121000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-3.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-39.prg,exitcode,16000000
+../CIA/shiftregister/cia-sdr-icr/,cia2-sdr-icr-generic-4_7f.prg,exitcode,121000000
+../CIA/shiftregister/,cia-sp-test-continues-new.prg,exitcode,50000000,cia-new
+../CIA/shiftregister/,cia-sp-test-continues-old.prg,exitcode,50000000,cia-old
+../CIA/shiftregister/,cia-sp-test-oneshot-new.prg,exitcode,50000000,cia-new
+../CIA/shiftregister/,cia-sp-test-oneshot-old.prg,exitcode,50000000,cia-old
+../CIA/timerbasics/,test_new.prg,exitcode,100000000,cia-new
+../CIA/timerbasics/,test.prg,exitcode,100000000,cia-old
+../CIA/timerbasics/,timer_new.prg,exitcode,100000000,cia-new
+../CIA/timerbasics/,timer.prg,exitcode,100000000,cia-old
+../CIA/timerbasics/,timer_test1_new.prg,exitcode,100000000,cia-new
+../CIA/timerbasics/,timer_test1.prg,exitcode,100000000,cia-old
+../CIA/tod/,0alarm.prg,exitcode,100000000
+../CIA/tod/,1alarm.prg,exitcode,100000000
+../CIA/tod/,4todcia1.prg,exitcode,100000000
+../CIA/tod/,4tod.prg,exitcode,100000000
+../CIA/tod/,5tod.prg,exitcode,100000000
+../CIA/tod/,6tod.prg,exitcode,100000000
+../CIA/tod/,alarm-cond2.prg,exitcode,10000000
+../CIA/tod/,alarm-cond.prg,exitcode,10000000
+../CIA/tod/,alarm.prg,exitcode,10000000
+../CIA/tod/,fix-hour.prg,exitcode,100000000
+../CIA/tod/,fix-min.prg,exitcode,100000000
+../CIA/tod/,fix-sec.prg,exitcode,100000000
+../CIA/tod/,fix-tsec.prg,exitcode,100000000
+../CIA/tod/,frogger.prg,exitcode,100000000
+../CIA/tod/,hammerfist0.prg,exitcode,10000000
+../CIA/tod/,hammerfist1.prg,exitcode,10000000
+../CIA/tod/,hour-test.prg,exitcode,100000000
+../CIA/tod/,hzsync0.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,hzsync1.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,hzsync2.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,hzsync3.prg,exitcode,100000000,vicii-pal,comment:not 100% stable - rerun on failure
+../CIA/tod/,hzsync4.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,hzsync5.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,hzsync6.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,powerup.prg,exitcode,100000000
+../CIA/tod/,read-latch.prg,exitcode,100000000,vicii-pal
+../CIA/tod/,stability.prg,exitcode,40000000,vicii-pal
+../CIA/tod/,write-stop.prg,exitcode,100000000
+../CIA/tod/,ampmtest.prg,exitcode,10000000
+../CIA/transactor/,ciatest64.prg,interactive,0
+################################################################################
+# VICII
+################################################################################
+#FIXME: fix for NTSC
+../VICII/banking/,banking.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-250.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-251.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-252.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-bm-idle.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-bm-ysh2.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-bm-ysh.prg,screenshot,10000000,vicii-pal
+../VICII/border/,border-mcbm.prg,screenshot,10000000,vicii-pal
+../VICII/border/,hvborder1.prg,screenshot,11000000,vicii-pal
+../VICII/border/,hvborder2.prg,screenshot,11000000,vicii-pal
+../VICII/border/,vborder.prg,interactive,0,vicii-pal,comment:see automatic variants
+../VICII/border/,vborder-32-08.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder-32-09.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder-33-08.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder-33-09.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder2.prg,interactive,0,vicii-pal,comment:see automatic variants
+../VICII/border/,vborder2-21.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder2-22.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder2-35.prg,screenshot,12000000,vicii-pal
+../VICII/border/,vborder2-36.prg,screenshot,12000000,vicii-pal
+../VICII...
[truncated message content] |
|
From: <gp...@us...> - 2024-09-02 23:28:43
|
Revision: 45327
http://sourceforge.net/p/vice-emu/code/45327
Author: gpz
Date: 2024-09-02 23:28:41 +0000 (Mon, 02 Sep 2024)
Log Message:
-----------
add missing keybscan.asm file, add readme
Modified Paths:
--------------
testprogs/REU/spriteba/Makefile
testprogs/REU/spriteba/spriteba.asm
testprogs/REU/spriteba/spriteba.d64
testprogs/REU/spriteba/spriteba.prg
Added Paths:
-----------
testprogs/REU/spriteba/keybscan.asm
testprogs/REU/spriteba/readme.txt
Modified: testprogs/REU/spriteba/Makefile
===================================================================
--- testprogs/REU/spriteba/Makefile 2024-08-31 20:19:41 UTC (rev 45326)
+++ testprogs/REU/spriteba/Makefile 2024-09-02 23:28:41 UTC (rev 45327)
@@ -3,7 +3,7 @@
progs: spriteba.prg
-spriteba.prg: spriteba.asm
+spriteba.prg: spriteba.asm keybscan.asm
acme -f cbm -o spriteba.prg spriteba.asm
disk: progs
Added: testprogs/REU/spriteba/keybscan.asm
===================================================================
--- testprogs/REU/spriteba/keybscan.asm (rev 0)
+++ testprogs/REU/spriteba/keybscan.asm 2024-09-02 23:28:41 UTC (rev 45327)
@@ -0,0 +1,65 @@
+minikey:
+ lda #$0
+ sta $dd03 ; port b ddr (input)
+ lda #$ff
+ sta $dd02 ; port a ddr (output)
+
+ lda #$00
+ sta $dc00 ; port a
+ lda $dc01 ; port b
+ cmp #$ff
+ beq nokey
+ ; got column
+ tay
+
+ lda #$7f
+ sta nokey2+1
+ ldx #8
+nokey2:
+ lda #0
+ sta $dc00 ; port a
+
+ sec
+ ror nokey2+1
+ dex
+ bmi nokey
+
+ lda $dc01 ; port b
+ cmp #$ff
+ beq nokey2
+
+ ; got row in X
+ txa
+ ora columntab,y
+; sta $d021
+
+ sec
+ rts
+
+nokey:
+ clc
+ rts
+
+columntab:
+ !for count, 0, 256 {
+ !if count = ($ff-$80) {
+ !byte $70
+ } else if count = ($ff-$40) {
+ !byte $60
+ } else if count = ($ff-$20) {
+ !byte $50
+ } else if count = ($ff-$10) {
+ !byte $40
+ } else if count = ($ff-$08) {
+ !byte $30
+ } else if count = ($ff-$04) {
+ !byte $20
+ } else if count = ($ff-$02) {
+ !byte $10
+ } else if count = ($ff-$01) {
+ !byte $00
+ } else {
+ !byte $ff
+ }
+ }
+
Added: testprogs/REU/spriteba/readme.txt
===================================================================
--- testprogs/REU/spriteba/readme.txt (rev 0)
+++ testprogs/REU/spriteba/readme.txt 2024-09-02 23:28:41 UTC (rev 45327)
@@ -0,0 +1,10 @@
+
+This program lets you observe (somewhat) how sprite-dma affects REU transfers.
+
+The program first stabilizes the irq, then produces some color bars by writing
+to $d020 by CPU, and finally starts one long REU transfer that writes a color
+pattern to $d020.
+
+The color bars at the top should all be aligned, this shows the timing is stable
+
+Press 1...8 to enable/disable sprites 1...8
Modified: testprogs/REU/spriteba/spriteba.asm
===================================================================
--- testprogs/REU/spriteba/spriteba.asm 2024-08-31 20:19:41 UTC (rev 45326)
+++ testprogs/REU/spriteba/spriteba.asm 2024-09-02 23:28:41 UTC (rev 45327)
@@ -270,19 +270,6 @@
pla
rti
-buffer:
- !for i, 10 {
- !byte 0,0,0,0,0,0,0
- !byte 1,1,1,1,1,1
- !byte 2,2,2,2,2,2
- !byte 0, 0,1,2,3,4,5
- !byte 6,7,8,9,10,11
- !byte 12,13,14,15,0
- !byte 6,6,6,6,6,6
- !byte 7,7,7,7,7,7
- !byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0
- }
-
!align 255,0
; the lightpen is usually connected to pin 6 of joystick port 1, which is the
@@ -377,4 +364,24 @@
rts
-!src "keybscan.asm"
+ !src "keybscan.asm"
+
+buffer:
+ !for i, 10 {
+ !byte 0,0,0,0,0,0,0
+ !byte 1,1,1,1,1,1
+ !byte 2,2,2,2,2,2
+ !byte 0, 0,1,2,3,4,5
+ !byte 6,7,8,9,10,11
+ !byte 12,13,14,15,0
+ !byte 6,6,6,6,6,6
+ !byte 7,7,7,7,7,7
+ !byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ }
+ !for i, ((63 * 200) - 620) / 16 {
+ !byte $0f, $0e, $0d, $0c
+ !byte $0b, $0a, $09, $08
+ !byte $07, $06, $05, $04
+ !byte $03, $02, $01, $00
+ }
+
Modified: testprogs/REU/spriteba/spriteba.d64
===================================================================
(Binary files differ)
Modified: testprogs/REU/spriteba/spriteba.prg
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-31 20:19:43
|
Revision: 45326
http://sourceforge.net/p/vice-emu/code/45326
Author: gpz
Date: 2024-08-31 20:19:41 +0000 (Sat, 31 Aug 2024)
Log Message:
-----------
free dqbb RAM at shutdown
Modified Paths:
--------------
trunk/vice/src/c64/cart/c64carthooks.c
trunk/vice/src/c64/cart/dqbb.c
trunk/vice/src/c64/cart/dqbb.h
Modified: trunk/vice/src/c64/cart/c64carthooks.c
===================================================================
--- trunk/vice/src/c64/cart/c64carthooks.c 2024-08-31 19:36:24 UTC (rev 45325)
+++ trunk/vice/src/c64/cart/c64carthooks.c 2024-08-31 20:19:41 UTC (rev 45326)
@@ -1994,6 +1994,7 @@
/* "Main Slot" */
/* "Slot 1" */
+ dqbb_shutdown();
/* "IO Slot" */
}
Modified: trunk/vice/src/c64/cart/dqbb.c
===================================================================
--- trunk/vice/src/c64/cart/dqbb.c 2024-08-31 19:36:24 UTC (rev 45325)
+++ trunk/vice/src/c64/cart/dqbb.c 2024-08-31 20:19:41 UTC (rev 45326)
@@ -254,6 +254,13 @@
}
}
+void dqbb_shutdown(void)
+{
+ if (dqbb_ram) {
+ lib_free(dqbb_ram);
+ }
+}
+
static int dqbb_activate(void)
{
DBG(("dqbb_activate"));
Modified: trunk/vice/src/c64/cart/dqbb.h
===================================================================
--- trunk/vice/src/c64/cart/dqbb.h 2024-08-31 19:36:24 UTC (rev 45325)
+++ trunk/vice/src/c64/cart/dqbb.h 2024-08-31 20:19:41 UTC (rev 45326)
@@ -43,6 +43,7 @@
int dqbb_resources_init(void);
void dqbb_resources_shutdown(void);
int dqbb_cmdline_options_init(void);
+
void dqbb_reset(void);
void dqbb_detach(void);
void dqbb_init_config(void);
@@ -65,6 +66,7 @@
int dqbb_bin_save(const char *filename);
int dqbb_flush_image(void);
void dqbb_powerup(void);
+void dqbb_shutdown(void);
struct snapshot_s;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-31 19:36:27
|
Revision: 45325
http://sourceforge.net/p/vice-emu/code/45325
Author: gpz
Date: 2024-08-31 19:36:24 +0000 (Sat, 31 Aug 2024)
Log Message:
-----------
bits 12-15 should return 0s, not 1s. checked with trapthem pad on real c64. fixes bug #2064
Modified Paths:
--------------
trunk/vice/src/joyport/ninja_snespad.c
trunk/vice/src/joyport/trapthem_snespad.c
trunk/vice/src/userport/userport_petscii_snespad.c
Modified: trunk/vice/src/joyport/ninja_snespad.c
===================================================================
--- trunk/vice/src/joyport/ninja_snespad.c 2024-08-31 18:34:54 UTC (rev 45324)
+++ trunk/vice/src/joyport/ninja_snespad.c 2024-08-31 19:36:24 UTC (rev 45325)
@@ -178,11 +178,11 @@
case SNESPAD_BIT_13_1:
case SNESPAD_BIT_14_1:
case SNESPAD_BIT_15_1:
- /* part of the snes sequence, but unused, return 1 on each line */
- retval = 7;
+ /* part of the snes sequence, but unused, return 0 on each line */
+ retval = 0;
break;
case SNESPAD_EOS:
- retval = 0;
+ retval = 7;
break;
default:
retval = 1;
Modified: trunk/vice/src/joyport/trapthem_snespad.c
===================================================================
--- trunk/vice/src/joyport/trapthem_snespad.c 2024-08-31 18:34:54 UTC (rev 45324)
+++ trunk/vice/src/joyport/trapthem_snespad.c 2024-08-31 19:36:24 UTC (rev 45325)
@@ -132,10 +132,11 @@
case SNESPAD_BIT_13_1:
case SNESPAD_BIT_14_1:
case SNESPAD_BIT_15_1:
- retval = 4;
+ /* part of the snes sequence, but unused, return 0 on each line */
+ retval = 0;
break;
case SNESPAD_EOS:
- retval = 0;
+ retval = 4;
break;
default:
retval = 1;
Modified: trunk/vice/src/userport/userport_petscii_snespad.c
===================================================================
--- trunk/vice/src/userport/userport_petscii_snespad.c 2024-08-31 18:34:54 UTC (rev 45324)
+++ trunk/vice/src/userport/userport_petscii_snespad.c 2024-08-31 19:36:24 UTC (rev 45325)
@@ -213,7 +213,8 @@
case SNESPAD_BIT_13_1:
case SNESPAD_BIT_14_1:
case SNESPAD_BIT_15_1:
- retval = 1;
+ /* part of the snes sequence, but unused, return 0 on each line */
+ retval = 0;
break;
case SNESPAD_EOS:
retval = 1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-31 18:34:57
|
Revision: 45324
http://sourceforge.net/p/vice-emu/code/45324
Author: gpz
Date: 2024-08-31 18:34:54 +0000 (Sat, 31 Aug 2024)
Log Message:
-----------
shift SNES data on clock rising edge, not falling edge. fixes bug #2053
Modified Paths:
--------------
trunk/vice/src/joyport/ninja_snespad.c
trunk/vice/src/joyport/trapthem_snespad.c
trunk/vice/src/userport/userport_petscii_snespad.c
Modified: trunk/vice/src/joyport/ninja_snespad.c
===================================================================
--- trunk/vice/src/joyport/ninja_snespad.c 2024-08-30 00:41:05 UTC (rev 45323)
+++ trunk/vice/src/joyport/ninja_snespad.c 2024-08-31 18:34:54 UTC (rev 45324)
@@ -201,7 +201,8 @@
counter = 0;
}
- if (clock_line && !new_clock) {
+ /* The CD4021 shift register used in SNES controllers shifts on the rising edge */
+ if (!clock_line && new_clock) {
/* clock line asserted, increment the counter if we are not at the end of the sequence */
if (counter != SNESPAD_EOS) {
counter++;
Modified: trunk/vice/src/joyport/trapthem_snespad.c
===================================================================
--- trunk/vice/src/joyport/trapthem_snespad.c 2024-08-30 00:41:05 UTC (rev 45323)
+++ trunk/vice/src/joyport/trapthem_snespad.c 2024-08-31 18:34:54 UTC (rev 45324)
@@ -153,7 +153,8 @@
counter[port] = 0;
}
- if (clock_line[port] && !new_clock) {
+ /* The CD4021 shift register used in SNES controllers shifts on the rising edge */
+ if (!clock_line[port] && new_clock) {
if (counter[port] != SNESPAD_EOS) {
counter[port]++;
}
Modified: trunk/vice/src/userport/userport_petscii_snespad.c
===================================================================
--- trunk/vice/src/userport/userport_petscii_snespad.c 2024-08-30 00:41:05 UTC (rev 45323)
+++ trunk/vice/src/userport/userport_petscii_snespad.c 2024-08-31 18:34:54 UTC (rev 45324)
@@ -156,7 +156,8 @@
counter = 0;
}
- if (clock_line && !new_clock) {
+ /* The CD4021 shift register used in SNES controllers shifts on the rising edge */
+ if (!clock_line && new_clock) {
if (counter != SNESPAD_EOS) {
counter++;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-30 00:41:07
|
Revision: 45323
http://sourceforge.net/p/vice-emu/code/45323
Author: gpz
Date: 2024-08-30 00:41:05 +0000 (Fri, 30 Aug 2024)
Log Message:
-----------
extended DQBB support, support 16-256k RAM, support C128 mode. Needs some testing :)
Modified Paths:
--------------
trunk/vice/doc/vice.texi
trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c
trunk/vice/src/arch/sdl/menu_c64cart.c
trunk/vice/src/c128/cart/c128cart.c
trunk/vice/src/c64/c64cart.h
trunk/vice/src/c64/cart/c64cartsystem.h
trunk/vice/src/c64/cart/dqbb.c
trunk/vice/src/c64/cart/dqbb.h
Modified: trunk/vice/doc/vice.texi
===================================================================
--- trunk/vice/doc/vice.texi 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/doc/vice.texi 2024-08-30 00:41:05 UTC (rev 45323)
@@ -10149,6 +10149,14 @@
@item DQBB
Boolean specifying whether the Double Quick Brown Box should be emulated or not.
+@vindex DQBBSize
+@item DQBBSize
+Integer specifying the RAM size (16, 32, 64, 128, 256kiB).
+
+@vindex DQBBMode
+@item DQBBMode
+Boolean specifying the position of the slide/mode switch (0: C128, 1: C64).
+
@vindex DQBBfilename
@item DQBBfilename
String specifying the filename of the DQBB RAM image.
@@ -10680,6 +10688,14 @@
Enable/disable Double Quick Brown Box
(@code{DQBB=1}, @code{DQBB=0}).
+@findex -dqbbsize
+@item -dqbbsize <size>
+Specify the RAM size (16, 32, 64, 128, 256kiB) (@code{DQBBsize}).
+
+@findex -dqbbmode
+@item -dqbbmode <mode>
+Specify the position of the slide/mode switch (@code{DQBBmode=0}: C128, @code{DQBBmode=1}: C64).
+
@findex -dqbbimage
@item -dqbbimage <name>
Specify Double Quick Brown Box filename
Modified: trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c 2024-08-30 00:41:05 UTC (rev 45323)
@@ -35,11 +35,39 @@
#include <gtk/gtk.h>
#include "cartridge.h"
+#include "c64cart.h"
#include "vice_gtk3.h"
#include "settings_dqbb.h"
+/** \brief List of supported RAM sizes */
+static int ram_sizes[] = { 16, 32, 64, 128, 256, -1 };
+/** \brief List of supported modes */
+static int dqbb_modes[] = { DQBB_MODE_C64, DQBB_MODE_C128, -1 };
+
+/** \brief Create radio button group to determine DQBB RAM size
+ *
+ * \return GtkGrid
+ */
+static GtkWidget *create_dqbb_size_widget(void)
+{
+ return ram_size_radiogroup_new("DQBBsize",
+ CARTRIDGE_NAME_DQBB " Size",
+ ram_sizes);
+}
+
+/** \brief Create radio button group to determine DQBB mode
+ *
+ * \return GtkGrid
+ */
+static GtkWidget *create_dqbb_mode_widget(void)
+{
+ return ram_size_radiogroup_new("DQBBmode",
+ CARTRIDGE_NAME_DQBB " Mode",
+ dqbb_modes);
+}
+
/** \brief Create widget to load/save Double Quick Brown Box image file
*
* \return GtkGrid
@@ -73,6 +101,8 @@
GtkWidget *grid;
GtkWidget *dqbb_enable_widget; /* dqbb_enable shadows */
GtkWidget *dqbb_image;
+ GtkWidget *dqbb_size;
+ GtkWidget *dqbb_mode;
grid = vice_gtk3_grid_new_spaced(8, 8);
@@ -81,8 +111,13 @@
gtk_grid_attach(GTK_GRID(grid), dqbb_enable_widget, 0, 0, 1, 1);
dqbb_image = create_dqbb_image_widget();
+ dqbb_size = create_dqbb_size_widget();
+ dqbb_mode = create_dqbb_mode_widget();
+
gtk_widget_set_margin_top(dqbb_image, 8);
gtk_grid_attach(GTK_GRID(grid), dqbb_image, 0, 1, 1, 1);
+ gtk_grid_attach(GTK_GRID(grid), dqbb_size, 0, 2, 1, 1);
+ gtk_grid_attach(GTK_GRID(grid), dqbb_mode, 1, 2, 1, 1);
gtk_widget_show_all(grid);
return grid;
Modified: trunk/vice/src/arch/sdl/menu_c64cart.c
===================================================================
--- trunk/vice/src/arch/sdl/menu_c64cart.c 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/arch/sdl/menu_c64cart.c 2024-08-30 00:41:05 UTC (rev 45323)
@@ -564,11 +564,13 @@
/* Double Quick Brown Box */
UI_MENU_DEFINE_TOGGLE(DQBB)
+UI_MENU_DEFINE_RADIO(DQBBMode)
+UI_MENU_DEFINE_RADIO(DQBBSize)
UI_MENU_DEFINE_FILE_STRING(DQBBfilename)
UI_MENU_DEFINE_TOGGLE(DQBBImageWrite)
-#define DQBB_OFFSET_FLUSH 5
-#define DQBB_OFFSET_SAVE 6
+#define DQBB_OFFSET_FLUSH 16
+#define DQBB_OFFSET_SAVE 17
static ui_menu_entry_t dqbb_cart_menu[] = {
{ .string = "Enable " CARTRIDGE_NAME_DQBB,
@@ -577,6 +579,47 @@
},
SDL_MENU_ITEM_SEPARATOR,
+ SDL_MENU_ITEM_TITLE("Mode"),
+ { .string = "C64",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBMode_callback,
+ .data = (ui_callback_data_t)DQBB_MODE_C64
+ },
+ { .string = "C128",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBMode_callback,
+ .data = (ui_callback_data_t)DQBB_MODE_C128
+ },
+ SDL_MENU_ITEM_SEPARATOR,
+
+ SDL_MENU_ITEM_TITLE("Memory size"),
+ { .string = "16KiB",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBSize_callback,
+ .data = (ui_callback_data_t)16
+ },
+ { .string = "32KiB",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBSize_callback,
+ .data = (ui_callback_data_t)32
+ },
+ { .string = "64KiB",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBSize_callback,
+ .data = (ui_callback_data_t)64
+ },
+ { .string = "128KiB",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBSize_callback,
+ .data = (ui_callback_data_t)128
+ },
+ { .string = "256KiB",
+ .type = MENU_ENTRY_RESOURCE_RADIO,
+ .callback = radio_DQBBSize_callback,
+ .data = (ui_callback_data_t)256
+ },
+ SDL_MENU_ITEM_SEPARATOR,
+
SDL_MENU_ITEM_TITLE("RAM image"),
{ .string = "Image file",
.type = MENU_ENTRY_DIALOG,
@@ -587,16 +630,17 @@
.type = MENU_ENTRY_RESOURCE_TOGGLE,
.callback = toggle_DQBBImageWrite_callback
},
- { .string = "Save image now", /* 5 */
+ { .string = "Save image now", /* 16 */
.type = MENU_ENTRY_OTHER,
.callback = c64_cart_flush_callback,
.data = (ui_callback_data_t)CARTRIDGE_DQBB
},
- { .string = "Save image as", /* 6 */
+ { .string = "Save image as", /* 17 */
.type = MENU_ENTRY_OTHER,
.callback = c64_cart_save_callback,
.data = (ui_callback_data_t)CARTRIDGE_DQBB
},
+
SDL_MENU_LIST_END
};
Modified: trunk/vice/src/c128/cart/c128cart.c
===================================================================
--- trunk/vice/src/c128/cart/c128cart.c 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/c128/cart/c128cart.c 2024-08-30 00:41:05 UTC (rev 45323)
@@ -690,7 +690,7 @@
ext_function_rom_bank = value;
}
-/* ROML and ROMH reads at the cartridge port */
+/* ROML ($8000-$BFFF) and ROMH ($C000-$FFFF) reads at the cartridge port */
uint8_t external_function_rom_read(uint16_t addr)
{
int type = cart_getid_slot0();
@@ -702,7 +702,18 @@
vicii.last_cpu_val = val;
return vicii.last_cpu_val;
}
+ break;
}
+ /* slot 1 */
+ type = cart_getid_slot1();
+ switch(type) {
+ case CARTRIDGE_DQBB:
+ if (dqbb_c128_read(addr, &val) == CART_READ_VALID) {
+ vicii.last_cpu_val = val;
+ return vicii.last_cpu_val;
+ }
+ break;
+ }
/* then do slotmain */
type = cartridge_get_id(0);
switch(type) {
@@ -734,7 +745,7 @@
return vicii.last_cpu_val;
}
-/* ROML and ROMH peeks at the cartridge port */
+/* ROML ($8000-$BFFF) and ROMH ($C000-$FFFF) peeks at the cartridge port */
uint8_t external_function_rom_peek(uint16_t addr)
{
int type = cart_getid_slot0();
@@ -746,7 +757,18 @@
if (c128ramlink_roml_read(addr, &val)) {
return val;
}
+ break;
}
+ /* slot 1 */
+ type = cart_getid_slot1();
+ switch(type) {
+ case CARTRIDGE_DQBB:
+ if (dqbb_c128_read(addr, &val) == CART_READ_VALID) {
+ vicii.last_cpu_val = val;
+ return vicii.last_cpu_val;
+ }
+ break;
+ }
/* then do slotmain */
type = cartridge_get_id(0);
switch(type) {
@@ -779,11 +801,25 @@
return val;
}
-/* ROML and ROMH stores at the cartridge port */
+/* ROML ($8000-$BFFF) and ROMH ($C000-$FFFF) stores at the cartridge port */
void external_function_rom_store(uint16_t addr, uint8_t value)
{
- int type = cartridge_get_id(0);
+ int type;
+
+ /* slot 1 */
+ type = cart_getid_slot1();
switch(type) {
+ case CARTRIDGE_DQBB:
+ if (dqbb_c128_store(addr, value)) {
+ vicii.last_cpu_val = value;
+ return; /* FIXME: is this correct, ie does the write to DQBB go to C128 RAM? */
+ }
+ break;
+ }
+
+ /* main slot */
+ type = cartridge_get_id(0);
+ switch(type) {
case CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128):
c128gmod2_roml_store(addr, value);
break;
Modified: trunk/vice/src/c64/c64cart.h
===================================================================
--- trunk/vice/src/c64/c64cart.h 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/c64/c64cart.h 2024-08-30 00:41:05 UTC (rev 45323)
@@ -79,10 +79,11 @@
/* expose public API symbols for those headers that provide them */
#define CARTRIDGE_INCLUDE_PUBLIC_API
+#include "cart/dqbb.h" /* needed for x128 */
#include "cart/expert.h" /* provide defines for ExpertCartridgeMode resource */
#include "cart/retroreplay.h" /* provide defines for RRrevision resource */
#include "cart/mmc64.h" /* provide defines for MMC64_sd_type and MMC64_revision resources */
-#include "cart/mmcreplay.h" /* provide defines for MMCRSDType resource */
+#include "cart/mmcreplay.h" /* needed for x128, provide defines for MMCRSDType resource */
#ifdef HAVE_RAWNET
#include "cart/ethernetcart.h" /* provide defines for ETHERNETCARTMode resource */
#endif
Modified: trunk/vice/src/c64/cart/c64cartsystem.h
===================================================================
--- trunk/vice/src/c64/cart/c64cartsystem.h 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/c64/cart/c64cartsystem.h 2024-08-30 00:41:05 UTC (rev 45323)
@@ -87,13 +87,13 @@
/* from c64cartmem.c */
void cart_reset_memptr(void);
-/* mode_phiN bit 0,1 control exrom/game */
+/* mode_phiN bit 0 controls !GAME, bit 1 controls !EXROM */
-/* FIXME: EXROM is inverted in these constants, while GAME is not */
-#define CMODE_8KGAME 0
-#define CMODE_16KGAME 1
-#define CMODE_RAM 2
-#define CMODE_ULTIMAX 3
+/* FIXME: !GAME is inverted in these constants, while !EXROM is not */
+#define CMODE_8KGAME 0 /* !EXROM: 0 !GAME: 1 */
+#define CMODE_16KGAME 1 /* !EXROM: 0 !GAME: 0 */
+#define CMODE_RAM 2 /* !EXROM: 1 !GAME: 1 */
+#define CMODE_ULTIMAX 3 /* !EXROM: 1 !GAME: 0 */
const char *cart_config_string(uint8_t mode); /* convert above mode into human readable string */
Modified: trunk/vice/src/c64/cart/dqbb.c
===================================================================
--- trunk/vice/src/c64/cart/dqbb.c 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/c64/cart/dqbb.c 2024-08-30 00:41:05 UTC (rev 45323)
@@ -53,28 +53,47 @@
#undef CARTRIDGE_INCLUDE_PRIVATE_API
/*
- "Double Quick Brown box"
+ (Double) Quick Brown Box
- - 16k RAM
+ There have been 3 incarnations of this cartridge, and each was available in
+ various versions with different amount of memory:
- The Double Quick Brown box is a banked memory system.
- It uses a register at $de00 to control the areas used, the
- read/write / read-only state and on/off of the cart.
+ 1st: "QBB" (Quick Brown Box) - C64 only, 8kb in the smallest variant
+ 2nd: "QBB-B" adds battery backup
+ 3rd: "DQBB" (Double Quick Brown Box) - adds C128 support, 16kb
- This is done as follows:
+ The last incarnation has a switch to enable either C64 or C128 mode (see below)
- bit 2: 1 = $A000-$BFFF mapped in, 0 = $A000-$BFFF not mapped in.
+ Write-Only register at $de00:
+
+ bit 2: controls the /GAME line:
+ 1 = $A000-$BFFF mapped in (/GAME low)
+ 0 = $A000-$BFFF not mapped in (/GAME high)
bit 4: 1 = read/write, 0 = read-only.
- bit 7: 1 = cart off, 0 = cart on.
+ bit 6: controls the /EXROM line: (*)
+ 1 = /EXROM low
+ 0 = /EXROM low
+ bit 7: 1 = cart off, 0 = cart on. (register remains active)
- The register is write-only. Attempting to read it will
- only return random values.
+ (*) The switch holds /EXROM low when in C64 position, so this bit can be
+ used to force the C128 into C64, when the switch is in C128 position.
+ The remaining 4 bits are used for banking, consequently the largest available
+ variant had 256k RAM. Which variants actually existed for real remains unknown,
+ ads frequently mention all possible (16/32/64/128/256k) variants however.
+
+ C128 mode (DQBB only):
+
+ - ROM mapped to $8000-BFFF
+
+ A hardware RESET or power up clears all bits, so in C64 mode it will always
+ start with 8k mapped.
+
The current emulation has the register mirrorred through the
range of $de00-$deff
*/
-/* #define DBGDQBB */
+#define DBGDQBB
#ifdef DBGDQBB
#define DBG(x) log_printf x
@@ -85,9 +104,11 @@
static log_t dqbb_log = LOG_DEFAULT; /*!< the log output for the dqbb_log */
/* DQBB register bits */
-static int dqbb_a000_mapped;
+static int dqbb_game;
static int dqbb_readwrite;
static int dqbb_off;
+static int dqbb_exrom;
+static int dqbb_bank;
/* DQBB image. */
static uint8_t *dqbb_ram = NULL;
@@ -102,8 +123,13 @@
/* Filename of the DQBB image. */
static char *dqbb_filename = NULL;
-#define DQBB_RAM_SIZE 0x4000
+#define DQBB_RAM_SIZE (0x400 * 256) /* max. size */
+static int dqbb_size; /* actual size */
+static int dqbb_bank_mask;
+
+static int dqbb_mode_switch; /* 0: C128, 1: C64 */
+
static int reg_value = 0;
static int dqbb_write_image = 0;
@@ -146,26 +172,41 @@
static void dqbb_change_config(void)
{
+ int mode = CMODE_RAM;
+
if (dqbb_enabled) {
- if (dqbb_off) {
- cart_config_changed_slot1(2, 2, CMODE_READ);
- } else {
- if (dqbb_a000_mapped) {
- cart_config_changed_slot1(1, 1, CMODE_READ);
+ if (!dqbb_off) {
+ /* The mode switch pulls exrom when in C64 position */
+ if (dqbb_mode_switch || dqbb_exrom) {
+ if (dqbb_game) {
+ mode = CMODE_16KGAME;
+ } else {
+ mode = CMODE_8KGAME;
+ }
} else {
- cart_config_changed_slot1(0, 0, CMODE_READ);
+ if (dqbb_game) {
+ /* switch is in C128 position, and /GAME bit is set */
+ mode = CMODE_ULTIMAX;
+ }
}
}
- } else {
- cart_config_changed_slot1(2, 2, CMODE_READ);
}
+
+ cart_config_changed_slot1(mode, mode, CMODE_READ);
+ DBG(("dqbb_change_config: 0x%02x (%s) mode:%d enable:%d off:%d game:%d exrom:%d",
+ mode, cart_config_string(mode), dqbb_mode_switch, dqbb_enabled, dqbb_off, dqbb_game, dqbb_exrom));
}
static void dqbb_io1_store(uint16_t addr, uint8_t byte)
{
- dqbb_a000_mapped = (byte & 4) >> 2;
- dqbb_readwrite = (byte & 0x10) >> 4;
- dqbb_off = (byte & 0x80) >> 7;
+ dqbb_game = (byte >> 2) & 1;
+ dqbb_readwrite = (byte >> 4) & 1;
+ dqbb_exrom = (byte >> 6) & 1;
+ dqbb_off = (byte >> 7) & 1;
+ dqbb_bank = (byte & 3) | ((byte >> 1) & 4) | ((byte >> 2) & 8);
+ dqbb_bank &= dqbb_bank_mask;
+ DBG(("dqbb_io1_store reg: 0x%02x enabled:%d r/w:%d bank:%d game:%d exrom:%d",
+ byte, dqbb_off, dqbb_readwrite, dqbb_bank, dqbb_game, dqbb_exrom));
dqbb_change_config();
reg_value = byte;
}
@@ -180,6 +221,7 @@
mon_out("$A000-$BFFF RAM: %s, cart status: %s\n",
(reg_value & 4) ? "mapped in" : "not mapped in",
(reg_value & 0x80) ? ((reg_value & 0x10) ? "read/write" : "read-only") : "disabled");
+ mon_out("current bank: %d of %d\n", dqbb_bank, dqbb_size / 16);
return 0;
}
@@ -224,10 +266,10 @@
}
if (!util_check_null_string(dqbb_filename)) {
- if (util_file_load(dqbb_filename, dqbb_ram, DQBB_RAM_SIZE, UTIL_FILE_LOAD_RAW) < 0) {
+ if (util_file_load(dqbb_filename, dqbb_ram, dqbb_size * 0x400, UTIL_FILE_LOAD_RAW) < 0) {
/* only create a new file if no file exists, so we dont accidently overwrite any files */
if (!util_file_exists(dqbb_filename)) {
- if (util_file_save(dqbb_filename, dqbb_ram, DQBB_RAM_SIZE) < 0) {
+ if (util_file_save(dqbb_filename, dqbb_ram, dqbb_size * 0x400) < 0) {
return -1;
}
log_message(dqbb_log, "created '%s'", dqbb_filename);
@@ -241,6 +283,7 @@
static int dqbb_deactivate(void)
{
+ DBG(("dqbb_deactivate"));
if (dqbb_ram == NULL) {
return 0;
}
@@ -247,7 +290,7 @@
if (!util_check_null_string(dqbb_filename)) {
if (dqbb_write_image) {
- if (util_file_save(dqbb_filename, dqbb_ram, DQBB_RAM_SIZE) < 0) {
+ if (util_file_save(dqbb_filename, dqbb_ram, dqbb_size * 0x400) < 0) {
return -1;
}
}
@@ -321,6 +364,36 @@
return 0;
}
+static int set_dqbb_size(int val, void *param)
+{
+ if (val != dqbb_size) {
+ if ((val == 16) ||
+ (val == 32) ||
+ (val == 64) ||
+ (val == 128) ||
+ (val == 256)) {
+ dqbb_deactivate();
+ dqbb_size = val;
+ dqbb_bank_mask = (val == 0) ? 0 : (val / 16) - 1;
+ dqbb_activate();
+ DBG(("set_dqbb_size size: %d mask: 0x%02x", dqbb_size, dqbb_bank_mask));
+ } else {
+ return -1;
+ }
+ }
+ return 0;
+}
+
+static int set_dqbb_mode(int val, void *param)
+{
+ dqbb_mode_switch = (val == 0) ? DQBB_MODE_C128 : DQBB_MODE_C64;
+ DBG(("set_dqbb_mode: %s", dqbb_mode_switch == DQBB_MODE_C64 ? "C64" : "C128"));
+ if (dqbb_enabled) {
+ dqbb_change_config();
+ }
+ return 0;
+}
+
/* ---------------------------------------------------------------------*/
static const resource_string_t resources_string[] = {
@@ -330,8 +403,12 @@
};
static const resource_int_t resources_int[] = {
- { "DQBB", 0, RES_EVENT_STRICT, (resource_value_t)0,
+ { "DQBB", 0, RES_EVENT_STRICT, NULL,
&dqbb_enabled, set_dqbb_enabled, NULL },
+ { "DQBBSize", 16, RES_EVENT_STRICT, NULL,
+ &dqbb_size, set_dqbb_size, NULL },
+ { "DQBBMode", DQBB_MODE_C64, RES_EVENT_STRICT, NULL,
+ &dqbb_mode_switch, set_dqbb_mode, NULL },
{ "DQBBImageWrite", 0, RES_EVENT_NO, NULL,
&dqbb_write_image, set_dqbb_image_write, NULL },
RESOURCE_INT_LIST_END
@@ -362,6 +439,12 @@
{ "+dqbb", SET_RESOURCE, CMDLINE_ATTRIB_NONE,
NULL, NULL, "DQBB", (resource_value_t)0,
NULL, "Disable Double Quick Brown Box" },
+ { "-dqbbsize", SET_RESOURCE, CMDLINE_ATTRIB_NEED_ARGS,
+ NULL, NULL, "DQBBSize", NULL,
+ "<Size>", "Set Double Quick Brown Box RAM size (16/32/64/128/256kiB)" },
+ { "-dqbbmode", SET_RESOURCE, CMDLINE_ATTRIB_NEED_ARGS,
+ NULL, NULL, "DQBBMode", NULL,
+ "<Mode>", "Set Double Quick Brown Box mode switch (0: C128, 1:C64)" },
{ "-dqbbimage", SET_RESOURCE, CMDLINE_ATTRIB_NEED_ARGS,
NULL, NULL, "DQBBfilename", NULL,
"<Name>", "Specify Double Quick Brown Box filename" },
@@ -388,9 +471,12 @@
void dqbb_reset(void)
{
- dqbb_a000_mapped = 0;
+ dqbb_game = 0;
dqbb_readwrite = 0;
dqbb_off = 0;
+ dqbb_bank = 0;
+ dqbb_exrom = 0;
+
if (dqbb_enabled) {
dqbb_change_config();
}
@@ -398,6 +484,8 @@
void dqbb_mmu_translate(unsigned int addr, uint8_t **base, int *start, int *limit)
{
+ /* FIXME: this doesn't incorporate the banking, nor C128 */
+#if 0
switch (addr & 0xf000) {
case 0xb000:
case 0xa000:
@@ -410,6 +498,7 @@
default:
break;
}
+#endif
*base = NULL;
*start = 0;
*limit = 0;
@@ -458,7 +547,7 @@
int dqbb_bin_attach(const char *filename, uint8_t *rawcart)
{
- if (util_file_load(filename, rawcart, DQBB_RAM_SIZE, UTIL_FILE_LOAD_RAW) < 0) {
+ if (util_file_load(filename, rawcart, dqbb_size * 0x400, UTIL_FILE_LOAD_RAW) < 0) {
return -1;
}
util_string_set(&dqbb_filename, filename);
@@ -475,7 +564,7 @@
return -1;
}
- if (util_file_save(filename, dqbb_ram, DQBB_RAM_SIZE) < 0) {
+ if (util_file_save(filename, dqbb_ram, dqbb_size * 0x400) < 0) {
return -1;
}
return 0;
@@ -490,13 +579,13 @@
uint8_t dqbb_roml_read(uint16_t addr)
{
- return dqbb_ram[addr & 0x1fff];
+ return dqbb_ram[(addr & 0x1fff) + (dqbb_bank * 0x4000)];
}
void dqbb_roml_store(uint16_t addr, uint8_t byte)
{
if (dqbb_readwrite) {
- dqbb_ram[addr & 0x1fff] = byte;
+ dqbb_ram[(addr & 0x1fff) + (dqbb_bank * 0x4000)] = byte;
}
mem_store_without_romlh(addr, byte);
}
@@ -503,13 +592,13 @@
uint8_t dqbb_romh_read(uint16_t addr)
{
- return dqbb_ram[(addr & 0x1fff) + 0x2000];
+ return dqbb_ram[(addr & 0x1fff) + 0x2000 + (dqbb_bank * 0x4000)];
}
void dqbb_romh_store(uint16_t addr, uint8_t byte)
{
if (dqbb_readwrite) {
- dqbb_ram[(addr & 0x1fff) + 0x2000] = byte;
+ dqbb_ram[(addr & 0x1fff) + 0x2000 + (dqbb_bank * 0x4000)] = byte;
}
mem_store_without_romlh(addr, byte);
}
@@ -517,15 +606,39 @@
int dqbb_peek_mem(uint16_t addr, uint8_t *value)
{
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
- *value = dqbb_ram[addr & 0x1fff];
+ *value = dqbb_ram[(addr & 0x1fff) + (dqbb_bank * 0x4000)];
return CART_READ_VALID;
} else if ((addr >= 0xa000) && (addr <= 0xbfff)) {
- *value = dqbb_ram[(addr & 0x1fff) + 0x2000];
+ *value = dqbb_ram[(addr & 0x1fff) + 0x2000 + (dqbb_bank * 0x4000)];
return CART_READ_VALID;
}
return CART_READ_THROUGH;
}
+
+/* ------------------------------------------------------------------------- */
+
+/* In C128 mode the RAM is mapped to $8000-$BFFF */
+int dqbb_c128_read(uint16_t addr, uint8_t *value)
+{
+ if ((addr >= 0x8000) && (addr <= 0xbfff)) {
+ *value = dqbb_ram[(addr & 0x3fff) + (dqbb_bank * 0x4000)];
+ return CART_READ_VALID; /* read was valid */
+ }
+ return CART_READ_THROUGH;
+}
+
+int dqbb_c128_store(uint16_t addr, uint8_t value)
+{
+ if ((addr >= 0x8000) && (addr <= 0xbfff)) {
+ if (dqbb_readwrite) {
+ dqbb_ram[(addr & 0x3fff) + (dqbb_bank * 0x4000)] = value;
+ }
+ return 1; /* write was valid */
+ }
+ return 0; /* write was invalid */
+}
+
/* ---------------------------------------------------------------------*/
/* CARTDQBB snapshot module format:
@@ -534,15 +647,18 @@
--------------------------------
BYTE | enabled | cartridge enabled flag
BYTE | read write | read/write flag
- BYTE | a000 map | $A000 mapped flag
+ BYTE | a000 map | $A000 mapped flag (GAME line)
BYTE | off | dqbb off flag
BYTE | register | register
- ARRAY | RAM | 16768 BYTES of RAM data
+ BYTE | exrom | state of EXROM line
+ BYTE | size | RAM size in kb
+ BYTE | bank | selected ram bank
+ ARRAY | RAM | <size> BYTES of RAM data
*/
static const char snap_module_name[] = "CARTDQBB";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 0
+#define SNAP_MINOR 1
int dqbb_snapshot_write_module(snapshot_t *s)
{
@@ -557,10 +673,14 @@
if (0
|| (SMW_B(m, (uint8_t)dqbb_enabled) < 0)
|| (SMW_B(m, (uint8_t)dqbb_readwrite) < 0)
- || (SMW_B(m, (uint8_t)dqbb_a000_mapped) < 0)
+ || (SMW_B(m, (uint8_t)dqbb_game) < 0)
|| (SMW_B(m, (uint8_t)dqbb_off) < 0)
|| (SMW_B(m, (uint8_t)reg_value) < 0)
- || (SMW_BA(m, dqbb_ram, DQBB_RAM_SIZE) < 0)) {
+ || (SMW_B(m, (uint8_t)dqbb_exrom) < 0)
+ || (SMW_B(m, (uint8_t)dqbb_size) < 0)
+ || (SMW_B(m, (uint8_t)dqbb_bank) < 0)
+ || (SMW_B(m, (uint8_t)dqbb_mode_switch) < 0)
+ || (SMW_BA(m, dqbb_ram, dqbb_size * 0x400) < 0)) {
snapshot_module_close(m);
return -1;
}
@@ -591,10 +711,14 @@
if (0
|| (SMR_B_INT(m, &dqbb_enabled) < 0)
|| (SMR_B_INT(m, &dqbb_readwrite) < 0)
- || (SMR_B_INT(m, &dqbb_a000_mapped) < 0)
+ || (SMR_B_INT(m, &dqbb_game) < 0)
|| (SMR_B_INT(m, &dqbb_off) < 0)
|| (SMR_B_INT(m, ®_value) < 0)
- || (SMR_BA(m, dqbb_ram, DQBB_RAM_SIZE) < 0)) {
+ || (SMR_B_INT(m, &dqbb_exrom) < 0)
+ || (SMR_B_INT(m, &dqbb_size) < 0)
+ || (SMR_B_INT(m, &dqbb_bank) < 0)
+ || (SMR_B_INT(m, &dqbb_mode_switch) < 0)
+ || (SMR_BA(m, dqbb_ram, dqbb_size * 0x400) < 0)) {
snapshot_module_close(m);
lib_free(dqbb_ram);
dqbb_ram = NULL;
Modified: trunk/vice/src/c64/cart/dqbb.h
===================================================================
--- trunk/vice/src/c64/cart/dqbb.h 2024-08-28 17:48:38 UTC (rev 45322)
+++ trunk/vice/src/c64/cart/dqbb.h 2024-08-30 00:41:05 UTC (rev 45323)
@@ -35,6 +35,9 @@
#include "types.h"
+#define DQBB_MODE_C64 1
+#define DQBB_MODE_C128 0
+
int dqbb_cart_enabled(void);
int dqbb_resources_init(void);
@@ -54,6 +57,9 @@
int dqbb_peek_mem(uint16_t addr, uint8_t *value);
void dqbb_mmu_translate(unsigned int addr, uint8_t **base, int *start, int *limit);
+int dqbb_c128_read(uint16_t addr, uint8_t *value);
+int dqbb_c128_store(uint16_t addr, uint8_t value);
+
const char *dqbb_get_file_name(void);
int dqbb_bin_attach(const char *filename, uint8_t *rawcart);
int dqbb_bin_save(const char *filename);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-28 17:48:40
|
Revision: 45322
http://sourceforge.net/p/vice-emu/code/45322
Author: gpz
Date: 2024-08-28 17:48:38 +0000 (Wed, 28 Aug 2024)
Log Message:
-----------
some more half baked tests :)
Modified Paths:
--------------
testprogs/Monitor/testbench/Makefile
testprogs/Monitor/testbench/readme.txt
Added Paths:
-----------
testprogs/Monitor/testbench/bug1984-2.mon
testprogs/Monitor/testbench/bug1984.mon
Modified: testprogs/Monitor/testbench/Makefile
===================================================================
--- testprogs/Monitor/testbench/Makefile 2024-08-27 22:04:33 UTC (rev 45321)
+++ testprogs/Monitor/testbench/Makefile 2024-08-28 17:48:38 UTC (rev 45322)
@@ -19,6 +19,8 @@
bug942.log \
bug1488.log \
bug1836.log \
+ bug1984.log \
+ bug1984-2.log \
bug2024.log \
bug2025.log \
bug2025-2.log \
Added: testprogs/Monitor/testbench/bug1984-2.mon
===================================================================
--- testprogs/Monitor/testbench/bug1984-2.mon (rev 0)
+++ testprogs/Monitor/testbench/bug1984-2.mon 2024-08-28 17:48:38 UTC (rev 45322)
@@ -0,0 +1,25 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/1984/
+;
+; the trace information/output is out of order
+logname "bug1984-2.log"
+log on
+
+a $c000
+jsr $c004
+rts
+lda #$00
+rts
+
+trace load c002
+break c000
+
+keybuf sys49152\n
+x
+;g $c000
+
+z
+z
+z
+z
+
+q
Added: testprogs/Monitor/testbench/bug1984.mon
===================================================================
--- testprogs/Monitor/testbench/bug1984.mon (rev 0)
+++ testprogs/Monitor/testbench/bug1984.mon 2024-08-28 17:48:38 UTC (rev 45322)
@@ -0,0 +1,40 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/1984/
+;
+; the trace information/output is out of order
+logname "bug1984.log"
+log on
+
+a $c000
+jsr $c004
+rts
+lda #$00
+rts
+
+trace exec c000 c007
+trace load c002
+break c003
+
+keybuf sys49152\n
+x
+;g $c000
+
+q
+
+; Note the "Trace load c002" comes AFTER "Trace exec c004", and the trace load
+; also seems to have the wrong stopwatch value.
+
+;TRACE: 1 C:$c000-$c007 (Trace exec)
+;TRACE: 2 C:$c002 (Trace load)
+;UNTIL: 3 C:$c003 (Stop on exec)
+;#1 (Trace exec c000) 233/$0e9, 54/$36
+;.C:c000 20 04 C0 JSR $C004 - A:00 X:00 Y:00 SP:f7 ..-..... 21911517
+;#1 (Trace exec c004) 233/$0e9, 60/$3c
+;.C:c004 A9 00 LDA #$00 - A:00 X:00 Y:00 SP:f5 ..-..... 21911523
+;#2 (Trace load c002) 233/$0e9, 60/$3c
+;.C:c000 20 04 C0 JSR $C004 - A:00 X:00 Y:00 SP:f5 ..-..... 21911523
+;#1 (Trace exec c006) 233/$0e9, 62/$3e
+;.C:c006 60 RTS - A:00 X:00 Y:00 SP:f5 ..-...Z. 21911525
+;#1 (Trace exec c003) 234/$0ea, 5/$05
+;.C:c003 60 RTS - A:00 X:00 Y:00 SP:f7 ..-...Z. 21911531
+;#3 (Stop on exec c003) 234/$0ea, 5/$05
+;.C:c003 60 RTS - A:00 X:00 Y:00 SP:f7 ..-...Z. 21911531
Modified: testprogs/Monitor/testbench/readme.txt
===================================================================
--- testprogs/Monitor/testbench/readme.txt 2024-08-27 22:04:33 UTC (rev 45321)
+++ testprogs/Monitor/testbench/readme.txt 2024-08-28 17:48:38 UTC (rev 45322)
@@ -10,6 +10,8 @@
- results are not logged except on screen
- it will always run all tests, even if they fail (at some point, when all tests
are working, we want the testbench to fail by itself if any test fails)
+- perhaps we should make a "todo" directory that contains all tests that are
+ expected to fail, because of known bugs
- many more tests are needed
@@ -25,12 +27,6 @@
custom assembly code.
-To add a new test:
-
-- in Makefile add "foo.log" to the RESULTS0 list
-- if the test uses an external .asm file, add "foo.prg" to the PROGS list
-
-
configure the Makefile:
- at the top set EMU to the x64sc you want to test
@@ -42,6 +38,18 @@
(you will need a bash-shell and *nix like environment, msys on windows should work)
+
+you can run individual tests manually without the help of the scripts like this:
+
+x64sc -default -moncommands foo.mon
+
+
+To add a new test:
+
+- in Makefile add "foo.log" to the RESULTS0 list
+- if the test uses an external .asm file, add "foo.prg" to the PROGS list
+
+
-------------------------------------------------------------------------------
The individual tests:
-------------------------------------------------------------------------------
@@ -77,6 +85,14 @@
TODO!
-------------------------------------------------------------------------------
+bug2024.mon
+
+attempt at making a test from the original bug report. however, since this is
+not stable, it can not work
+
+https://sourceforge.net/p/vice-emu/bugs/2024/
+
+
goonbreak.mon
goonbreak-2.mon
@@ -89,19 +105,19 @@
#2024 - it works in 3.8)
-bug2024.mon
-
-attempt at making a test from the original bug report. however, since this is
-not stable, it can not work
-
-https://sourceforge.net/p/vice-emu/bugs/2024/
-
-
bug1488.log
bug1836.log
-the parser has problems recognizing a hex number that is not prefixed by $ -
+The parser has problems recognizing a hex number that is not prefixed by $ -
which these tests demonstrate
https://sourceforge.net/p/vice-emu/bugs/1488/
https://sourceforge.net/p/vice-emu/bugs/1836/
+
+
+bug1984.log
+bug1984-2.log
+
+The trace output is out of order
+
+https://sourceforge.net/p/vice-emu/bugs/1984/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-27 22:04:37
|
Revision: 45321
http://sourceforge.net/p/vice-emu/code/45321
Author: gpz
Date: 2024-08-27 22:04:33 +0000 (Tue, 27 Aug 2024)
Log Message:
-----------
when using fsdevice, make the first 'line number' in the directory 1 instead of 0. this is the partition number on cmd devices, and apparently the c64os setup chokes on it being 0
Modified Paths:
--------------
trunk/vice/src/fsdevice/fsdevice-open.c
Modified: trunk/vice/src/fsdevice/fsdevice-open.c
===================================================================
--- trunk/vice/src/fsdevice/fsdevice-open.c 2024-08-26 23:52:30 UTC (rev 45320)
+++ trunk/vice/src/fsdevice/fsdevice-open.c 2024-08-27 22:04:33 UTC (rev 45321)
@@ -158,19 +158,20 @@
}
strcpy(bufinfo[secondary].dir, cmd_parse->parsecmd);
/*
- * Start Address, Line Link and Line number 0
+ * Start Address, Line Link and Line number 1 (=partition 1)
*/
p = bufinfo[secondary].name;
-
+ /* start address = 0x0401 */
*p++ = 1;
*p++ = 4;
-
+ /* who knows why this is 0x0101 ? */
*p++ = 1;
*p++ = 1;
-
+ /* CMD puts the partition number here, it shouldn't be 0 (like on 1541) so
+ programs that expect a CMD device are happy with it */
+ *p++ = 1;
*p++ = 0;
- *p++ = 0;
*p++ = (uint8_t)0x12; /* Reverse on */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-26 23:52:33
|
Revision: 45320
http://sourceforge.net/p/vice-emu/code/45320
Author: gpz
Date: 2024-08-26 23:52:30 +0000 (Mon, 26 Aug 2024)
Log Message:
-----------
fix some timeouts
Modified Paths:
--------------
testprogs/testbench/c64-testlist.in
testprogs/testbench/c64rmk2-testlist.txt
testprogs/testbench/chameleon-testlist.txt
testprogs/testbench/denise-testlist.txt
testprogs/testbench/hoxs64-testlist.txt
testprogs/testbench/kernal64c128c64-testlist.txt
testprogs/testbench/kernal64c64-testlist.txt
testprogs/testbench/micro64-testlist.txt
testprogs/testbench/selftest/pet-fail.prg
testprogs/testbench/selftest/pet-pass.d82
testprogs/testbench/selftest/pet-pass.prg
testprogs/testbench/selftest/pet.asm
testprogs/testbench/x128c64-testlist.txt
testprogs/testbench/x64-testlist.txt
testprogs/testbench/x64sc-testlist.txt
testprogs/testbench/xpet-hooks.sh
testprogs/testbench/z64kc128c64-testlist.txt
testprogs/testbench/z64kc64-testlist.txt
Modified: testprogs/testbench/c64-testlist.in
===================================================================
--- testprogs/testbench/c64-testlist.in 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/c64-testlist.in 2024-08-26 23:52:30 UTC (rev 45320)
@@ -349,20 +349,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/c64rmk2-testlist.txt
===================================================================
--- testprogs/testbench/c64rmk2-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/c64rmk2-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -341,20 +341,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/chameleon-testlist.txt
===================================================================
--- testprogs/testbench/chameleon-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/chameleon-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/denise-testlist.txt
===================================================================
--- testprogs/testbench/denise-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/denise-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/hoxs64-testlist.txt
===================================================================
--- testprogs/testbench/hoxs64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/hoxs64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/kernal64c128c64-testlist.txt
===================================================================
--- testprogs/testbench/kernal64c128c64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/kernal64c128c64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/kernal64c64-testlist.txt
===================================================================
--- testprogs/testbench/kernal64c64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/kernal64c64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/micro64-testlist.txt
===================================================================
--- testprogs/testbench/micro64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/micro64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/selftest/pet-fail.prg
===================================================================
(Binary files differ)
Modified: testprogs/testbench/selftest/pet-pass.d82
===================================================================
(Binary files differ)
Modified: testprogs/testbench/selftest/pet-pass.prg
===================================================================
(Binary files differ)
Modified: testprogs/testbench/selftest/pet.asm
===================================================================
--- testprogs/testbench/selftest/pet.asm 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/selftest/pet.asm 2024-08-26 23:52:30 UTC (rev 45320)
@@ -66,6 +66,7 @@
ldx #0
-
jsr waitframe2
+ jsr waitframe2
dex
bne -
waitframe2:
Modified: testprogs/testbench/x128c64-testlist.txt
===================================================================
--- testprogs/testbench/x128c64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/x128c64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/x64-testlist.txt
===================================================================
--- testprogs/testbench/x64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/x64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/x64sc-testlist.txt
===================================================================
--- testprogs/testbench/x64sc-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/x64sc-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/xpet-hooks.sh
===================================================================
--- testprogs/testbench/xpet-hooks.sh 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/xpet-hooks.sh 2024-08-26 23:52:30 UTC (rev 45320)
@@ -149,6 +149,10 @@
then
./cmpscreens "$refscreenshotname" "$XPETREFSXO" "$XPETREFSYO" "$1"/.testbench/"$screenshottest"-xpet.png "$XPETSXO" "$XPETSYO"
exitcode=$?
+ if [ $verbose == "1" ] && [ $exitcode -ne 0 ]; then
+ echo -ne "screenshot does not match - "
+# exit -1
+ fi
else
echo -ne "reference screenshot missing - "
exitcode=255
@@ -171,8 +175,13 @@
{
if [ $verbose == "1" ]; then
echo $XPET $XPETOPTS $XPETOPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4"
+ $XPET $XPETOPTS $XPETOPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 2> /dev/null | grep "cycles elapsed" | tr '\n' ' '
+ exitcode=${PIPESTATUS[0]}
+ else
+ $XPET $XPETOPTS $XPETOPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 1> /dev/null 2> /dev/null
+ exitcode=$?
fi
- $XPET $XPETOPTS $XPETOPTSEXITCODE ${@:5} "-limitcycles" "$3" "$4" 1> /dev/null 2> /dev/null
- exitcode=$?
-# echo "exited with: " $exitcode
+ if [ $verbose == "1" ]; then
+ echo $XPET "exited with: " $exitcode
+ fi
}
Modified: testprogs/testbench/z64kc128c64-testlist.txt
===================================================================
--- testprogs/testbench/z64kc128c64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/z64kc128c64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
Modified: testprogs/testbench/z64kc64-testlist.txt
===================================================================
--- testprogs/testbench/z64kc64-testlist.txt 2024-08-26 21:01:36 UTC (rev 45319)
+++ testprogs/testbench/z64kc64-testlist.txt 2024-08-26 23:52:30 UTC (rev 45320)
@@ -350,20 +350,20 @@
# Lorenz-Suite Disk3 (new CIA):
../general/Lorenz-2.15/src/,irqnew.prg,exitcode,26000000,cia-new
../general/Lorenz-2.15/src/,nminew.prg,exitcode,20000000,cia-new
-../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,loadth.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cnto2.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,icr01new.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,imrnew.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,flipos.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,oneshot.prg,exitcode,10000000,cia-new
-../general/Lorenz-2.15/src/,cntdef.prg,exitcode,10000000,cia-new
+../general/Lorenz-2.15/src/,cia1tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2tb123.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb6.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia2pb7.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cia1tabnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,loadth.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cnto2.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,icr01new.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,imrnew.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,flipos.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,oneshot.prg,exitcode,20000000,cia-new
+../general/Lorenz-2.15/src/,cntdef.prg,exitcode,20000000,cia-new
../general/Lorenz-2.15/src/,cia1tanew.prg,exitcode,190000000,cia-new
../general/Lorenz-2.15/src/,cia1tbnew.prg,exitcode,80000000,cia-new
../general/Lorenz-2.15/src/,cia2tanew.prg,exitcode,75000000,cia-new,comment:TODO - incomplete
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-26 21:01:39
|
Revision: 45319
http://sourceforge.net/p/vice-emu/code/45319
Author: gpz
Date: 2024-08-26 21:01:36 +0000 (Mon, 26 Aug 2024)
Log Message:
-----------
disable screen while testing to prevent occasional false negatives
Modified Paths:
--------------
testprogs/CPU/Acid800/common.s
testprogs/CPU/Acid800/cpu_bugs.prg
testprogs/CPU/Acid800/cpu_clisei.prg
testprogs/CPU/Acid800/cpu_decimal.prg
testprogs/CPU/Acid800/cpu_flags.prg
testprogs/CPU/Acid800/cpu_illegal.prg
testprogs/CPU/Acid800/cpu_insn.prg
testprogs/CPU/Acid800/cpu_timing.prg
testprogs/CPU/Acid800/cpu_timing_ntsc.prg
Modified: testprogs/CPU/Acid800/common.s
===================================================================
--- testprogs/CPU/Acid800/common.s 2024-08-26 17:22:13 UTC (rev 45318)
+++ testprogs/CPU/Acid800/common.s 2024-08-26 21:01:36 UTC (rev 45319)
@@ -117,6 +117,8 @@
sta $d020
lda #$00
sta $d7ff
+ lda #$1b
+ sta $d011
jmp *
_fail
sta videoram+(24*40)+0
@@ -124,6 +126,8 @@
sta $d020
lda #$ff
sta $d7ff
+ lda #$1b
+ sta $d011
jmp *
_testFailed2
@@ -177,6 +181,10 @@
rts
_screenOff:
+ lda #$0b
+ sta $d011
+ jsr _waitVCount
+ jsr _waitVCount
rts
_interruptsOff:
@@ -291,4 +299,4 @@
rts
inc $d020
- jmp * -3
\ No newline at end of file
+ jmp * -3
Modified: testprogs/CPU/Acid800/cpu_bugs.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_clisei.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_decimal.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_flags.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_illegal.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_insn.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_timing.prg
===================================================================
(Binary files differ)
Modified: testprogs/CPU/Acid800/cpu_timing_ntsc.prg
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-26 17:22:16
|
Revision: 45318
http://sourceforge.net/p/vice-emu/code/45318
Author: gpz
Date: 2024-08-26 17:22:13 +0000 (Mon, 26 Aug 2024)
Log Message:
-----------
add some asserts, patch by Leandro Nini
Modified Paths:
--------------
trunk/vice/src/resid/filter8580new.cc
trunk/vice/src/resid/filter8580new.h
trunk/vice/src/resid/sid.cc
Modified: trunk/vice/src/resid/filter8580new.cc
===================================================================
--- trunk/vice/src/resid/filter8580new.cc 2024-08-25 21:32:34 UTC (rev 45317)
+++ trunk/vice/src/resid/filter8580new.cc 2024-08-26 17:22:13 UTC (rev 45318)
@@ -28,7 +28,6 @@
#include "dac.h"
#include "spline.h"
#include <math.h>
-#include <cassert>
namespace reSID
{
Modified: trunk/vice/src/resid/filter8580new.h
===================================================================
--- trunk/vice/src/resid/filter8580new.h 2024-08-25 21:32:34 UTC (rev 45317)
+++ trunk/vice/src/resid/filter8580new.h 2024-08-26 17:22:13 UTC (rev 45318)
@@ -22,6 +22,8 @@
#include "resid-config.h"
+#include <cassert>
+
namespace reSID
{
@@ -744,14 +746,17 @@
// MOS 6581.
Vlp = solve_integrate_6581(1, Vbp, Vlp_x, Vlp_vc, f);
Vbp = solve_integrate_6581(1, Vhp, Vbp_x, Vbp_vc, f);
- Vhp = f.summer[offset + f.resonance[res][Vbp] + Vlp + Vi];
}
else {
// MOS 8580.
Vlp = solve_integrate_8580(1, Vbp, Vlp_x, Vlp_vc, f);
Vbp = solve_integrate_8580(1, Vhp, Vbp_x, Vbp_vc, f);
- Vhp = f.summer[offset + f.resonance[res][Vbp] + Vlp + Vi];
}
+
+ assert((Vbp >= 0) && (Vbp < (1 << 16)));
+ const int idx = offset + f.resonance[res][Vbp] + Vlp + Vi;
+ assert((idx >= 0) && (idx < summer_offset<5>::value));
+ Vhp = f.summer[idx];
}
// ----------------------------------------------------------------------------
@@ -859,7 +864,10 @@
// Calculate filter outputs.
Vlp = solve_integrate_6581(delta_t_flt, Vbp, Vlp_x, Vlp_vc, f);
Vbp = solve_integrate_6581(delta_t_flt, Vhp, Vbp_x, Vbp_vc, f);
- Vhp = f.summer[offset + f.resonance[res][Vbp] + Vlp + Vi];
+ assert((Vbp >= 0) && (Vbp < (1 << 16)));
+ const int idx = offset + f.resonance[res][Vbp] + Vlp + Vi;
+ assert((idx >= 0) && (idx < summer_offset<5>::value));
+ Vhp = f.summer[idx];
delta_t -= delta_t_flt;
}
@@ -874,7 +882,10 @@
// Calculate filter outputs.
Vlp = solve_integrate_8580(delta_t_flt, Vbp, Vlp_x, Vlp_vc, f);
Vbp = solve_integrate_8580(delta_t_flt, Vhp, Vbp_x, Vbp_vc, f);
- Vhp = f.summer[offset + f.resonance[res][Vbp] + Vlp + Vi];
+ assert((Vbp >= 0) && (Vbp < (1 << 16)));
+ const int idx = offset + f.resonance[res][Vbp] + Vlp + Vi;
+ assert((idx >= 0) && (idx < summer_offset<5>::value));
+ Vhp = f.summer[idx];
delta_t -= delta_t_flt;
}
@@ -1449,7 +1460,11 @@
}
// Sum the inputs in the mixer and run the mixer output through the gain.
- return (short)(f.gain[vol][f.mixer[offset + Vi]] - (1 << 15));
+ const int idx1 = offset + Vi;
+ assert((idx1 >= 0) && (idx1 < mixer_offset<8>::value));
+ const int idx2 = f.mixer[idx1];
+ assert((idx2 >= 0) && (idx2 < (1 << 16)));
+ return (short)(f.gain[vol][idx2] - (1 << 15));
}
@@ -1819,7 +1834,9 @@
*/
// vx = g(vc)
- vx = mf.opamp_rev[(vc >> 15) + (1 << 15)];
+ const int idx = (vc >> 15) + (1 << 15);
+ assert((idx >= 0) && (idx < (1 << 16)));
+ vx = mf.opamp_rev[idx];
// Return vo.
return vx + (vc >> 14);
@@ -1863,7 +1880,9 @@
vc -= n_I_rfc*dt;
// vx = g(vc)
- vx = mf.opamp_rev[(vc >> 15) + (1 << 15)];
+ const int idx = (vc >> 15) + (1 << 15);
+ assert((idx >= 0) && (idx < (1 << 16)));
+ vx = mf.opamp_rev[idx];
// Return vo.
return vx + (vc >> 14);
Modified: trunk/vice/src/resid/sid.cc
===================================================================
--- trunk/vice/src/resid/sid.cc 2024-08-25 21:32:34 UTC (rev 45317)
+++ trunk/vice/src/resid/sid.cc 2024-08-26 17:22:13 UTC (rev 45318)
@@ -26,6 +26,7 @@
#include "sid.h"
#include <cmath>
+#include <cassert>
#include <iostream>
#include <fstream>
@@ -672,6 +673,9 @@
int fir_N_new = int(N*f_cycles_per_sample) + 1;
fir_N_new |= 1;
+ // Check whether the sample ring buffer would overflow.
+ assert(fir_N_new < RINGSIZE);
+
// We clamp the filter table resolution to 2^n, making the fixed point
// sample_offset a whole multiple of the filter table resolution.
int res = method == SAMPLE_RESAMPLE ?
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-25 21:32:37
|
Revision: 45317
http://sourceforge.net/p/vice-emu/code/45317
Author: gpz
Date: 2024-08-25 21:32:34 +0000 (Sun, 25 Aug 2024)
Log Message:
-----------
fix a warning, add some machinery to define NDEBUG for standard builds in resid. patch by Leandro Nini
Modified Paths:
--------------
trunk/vice/src/resid/Makefile.am
trunk/vice/src/resid/configure.in
trunk/vice/src/resid/filter8580new.cc
Modified: trunk/vice/src/resid/Makefile.am
===================================================================
--- trunk/vice/src/resid/Makefile.am 2024-08-24 22:00:28 UTC (rev 45316)
+++ trunk/vice/src/resid/Makefile.am 2024-08-25 21:32:34 UTC (rev 45317)
@@ -2,13 +2,8 @@
AR = @AR@
-AM_CFLAGS = @VICE_CFLAGS@
+AM_CPPFLAGS = @RESID_CPPFLAGS@
-AM_LDFLAGS = @VICE_LDFLAGS@
-
-
-#AM_CXXFLAGS = @VICE_CXXFLAGS@
-
noinst_LIBRARIES = libresid.a
if NEW_8580_FILTER
Modified: trunk/vice/src/resid/configure.in
===================================================================
--- trunk/vice/src/resid/configure.in 2024-08-24 22:00:28 UTC (rev 45316)
+++ trunk/vice/src/resid/configure.in 2024-08-25 21:32:34 UTC (rev 45317)
@@ -29,6 +29,16 @@
AC_CANONICAL_HOST
+AC_MSG_CHECKING([for debugging])
+AC_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug], [whether to enable asserts (default is no)])],
+ [], [enable_debug=no])
+
+AS_IF([test "x$enable_debug" = "xno"],
+ [AC_MSG_RESULT([build without asserts]); RESID_CPPFLAGS="-DNDEBUG"],
+ [AC_MSG_RESULT([build with asserts]); RESID_CPPFLAGS=""]
+)
+AC_SUBST(RESID_CPPFLAGS)
+
dnl Enable inlining.
AC_ARG_ENABLE([inline],
[AC_HELP_STRING([--enable-inline],
Modified: trunk/vice/src/resid/filter8580new.cc
===================================================================
--- trunk/vice/src/resid/filter8580new.cc 2024-08-24 22:00:28 UTC (rev 45316)
+++ trunk/vice/src/resid/filter8580new.cc 2024-08-25 21:32:34 UTC (rev 45317)
@@ -28,6 +28,7 @@
#include "dac.h"
#include "spline.h"
#include <math.h>
+#include <cassert>
namespace reSID
{
@@ -300,6 +301,8 @@
// double_point scaled_voltage[fi.opamp_voltage_size];
double_point scaled_voltage[50];
+ assert((fi.opamp_voltage_size > 0) && (fi.opamp_voltage_size < 50));
+
for (int i = 0; i < fi.opamp_voltage_size; i++) {
// The target output range is 16 bits, in order to fit in an unsigned
// short.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-24 22:00:30
|
Revision: 45316
http://sourceforge.net/p/vice-emu/code/45316
Author: gpz
Date: 2024-08-24 22:00:28 +0000 (Sat, 24 Aug 2024)
Log Message:
-----------
fix DAC addresses to make stereo replay work correctly
Modified Paths:
--------------
trunk/vice/src/userport/userport_digimax.c
Modified: trunk/vice/src/userport/userport_digimax.c
===================================================================
--- trunk/vice/src/userport/userport_digimax.c 2024-08-19 22:43:01 UTC (rev 45315)
+++ trunk/vice/src/userport/userport_digimax.c 2024-08-24 22:00:28 UTC (rev 45316)
@@ -105,15 +105,22 @@
digimax_sound_chip_offset = sound_chip_register(&digimax_sound_chip);
}
+/*
+ PA2 low, /PA3 low: DAC #0 (left)
+ PA2 high, /PA3 low: DAC #1 (right)
+ PA2 low, /PA3 high: DAC #2 (left)
+ PA2 high, /PA3 high: DAC #3 (right).
+*/
+
static void userport_digimax_store_pa2(uint8_t value)
{
- userport_digimax_address &= 2;
+ userport_digimax_address &= ~1;
userport_digimax_address |= (value & 1);
}
static void userport_digimax_store_pa3(uint8_t value)
{
- userport_digimax_address &= 1;
+ userport_digimax_address &= ~2;
userport_digimax_address |= ((value & 1) << 1);
}
@@ -123,17 +130,17 @@
switch (userport_digimax_address) {
case 0x0:
- addr = 2;
+ addr = 1;
break;
- case 0x4:
+ case 0x1:
+ addr = 0;
+ break;
+ case 0x2:
addr = 3;
break;
- case 0x8:
- addr = 0;
+ case 0x3:
+ addr = 2;
break;
- case 0xc:
- addr = 1;
- break;
}
digimax_sound_data[addr] = value;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-19 22:43:03
|
Revision: 45315
http://sourceforge.net/p/vice-emu/code/45315
Author: gpz
Date: 2024-08-19 22:43:01 +0000 (Mon, 19 Aug 2024)
Log Message:
-----------
fix deprecated-enum-float-conversion warnings, patch by Leandro Nini
Modified Paths:
--------------
trunk/vice/src/resid/sid.cc
Modified: trunk/vice/src/resid/sid.cc
===================================================================
--- trunk/vice/src/resid/sid.cc 2024-08-19 22:07:28 UTC (rev 45314)
+++ trunk/vice/src/resid/sid.cc 2024-08-19 22:43:01 UTC (rev 45315)
@@ -588,7 +588,7 @@
if (method == SAMPLE_RESAMPLE || method == SAMPLE_RESAMPLE_FASTMEM)
{
// Check whether the sample ring buffer would overfill.
- if (FIR_N*clock_freq/sample_freq >= RINGSIZE) {
+ if (static_cast<int>(static_cast<double>(FIR_N)*clock_freq/sample_freq) >= RINGSIZE) {
return false;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-19 22:07:30
|
Revision: 45314
http://sourceforge.net/p/vice-emu/code/45314
Author: gpz
Date: 2024-08-19 22:07:28 +0000 (Mon, 19 Aug 2024)
Log Message:
-----------
When writing .tap values, add the remainder of the current value to the next, so overall tap length will be correct.
Modified Paths:
--------------
trunk/vice/src/datasette/datasette.c
Modified: trunk/vice/src/datasette/datasette.c
===================================================================
--- trunk/vice/src/datasette/datasette.c 2024-08-18 17:28:12 UTC (rev 45313)
+++ trunk/vice/src/datasette/datasette.c 2024-08-19 22:07:28 UTC (rev 45314)
@@ -1205,16 +1205,21 @@
/* C16 TAPs use half the machine clock as base cycle */
if (machine_class == VICE_MACHINE_PLUS4) {
+ /* FIXME: we might also need to compensate for the remainder of this / 2 */
write_time = write_time / 2;
}
if (write_time < (CLOCK)7) {
+ /* make sure the remainder does not get lost */
+ last_write_clk[port] -= (write_time % (CLOCK)8);
return;
}
if (write_time < (CLOCK)(255 * 8 + 7)) {
/* this is a normal short/one byte gap */
- write_gap = (uint8_t)(write_time / (CLOCK)8);
+ write_gap = (write_time / (CLOCK)8);
+ /* make sure the remainder does not get lost */
+ last_write_clk[port] -= (write_time % (CLOCK)8);
if (fwrite(&write_gap, 1, 1, current_image[port]->fd) < 1) {
log_error(datasette_log, "datasette bit_write failed (stopping tape).");
datasette_control(port, DATASETTE_CONTROL_STOP);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-18 17:28:16
|
Revision: 45313
http://sourceforge.net/p/vice-emu/code/45313
Author: gpz
Date: 2024-08-18 17:28:12 +0000 (Sun, 18 Aug 2024)
Log Message:
-----------
save 'jammed' status into snapshot for each cpu, fixes bug #1770
Modified Paths:
--------------
trunk/vice/src/6510core.c
trunk/vice/src/6510dtvcore.c
trunk/vice/src/drive/drivecpu.c
trunk/vice/src/drive/drivetypes.h
trunk/vice/src/interrupt.h
trunk/vice/src/mainc64cpu.c
trunk/vice/src/maincpu.c
trunk/vice/src/mainviccpu.c
Modified: trunk/vice/src/6510core.c
===================================================================
--- trunk/vice/src/6510core.c 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/6510core.c 2024-08-18 17:28:12 UTC (rev 45313)
@@ -489,7 +489,7 @@
interrupt_ack_reset(CPU_INT_STATUS); \
bank_start = bank_limit = 0; /* prevent caching */ \
LOCAL_SET_INTERRUPT(1); \
- cpu_is_jammed = 0; \
+ CPU_IS_JAMMED = 0; \
DMA_ON_RESET; \
addr = LOAD_ADDR(0xfffc); \
CHECK_PROFILE_INTERRUPT(addr, 0xfffc); \
@@ -1236,7 +1236,7 @@
uint32_t trap_result; \
EXPORT_REGISTERS(); \
if (!ROM_TRAP_ALLOWED() || (trap_result = ROM_TRAP_HANDLER()) == (uint32_t)-1) { \
- cpu_is_jammed = 1; \
+ CPU_IS_JAMMED = 1; \
REWIND_FETCH_OPCODE(CLK); \
JAM(); \
} else { \
@@ -2269,7 +2269,11 @@
/* Here, the CPU is emulated. */
{
+#ifndef CPU_IS_JAMMED
static int cpu_is_jammed = 0;
+#define CPU_IS_JAMMED cpu_is_jammed
+#warning "CPU_IS_JAMMED not defined, using default (internal)"
+#endif
unsigned int tmpa; /* needed for some of the opcode macros */
#if !defined(DRIVE_CPU)
CLOCK profiling_clock_start;
@@ -2290,11 +2294,11 @@
/* HACK: when the CPU is jammed, no interrupts are served, the only way
to recover is reset. so we clear the interrupt flags and force
acknowledging them here in this case. */
- if (cpu_is_jammed) {
+ if (CPU_IS_JAMMED) {
interrupt_ack_irq(CPU_INT_STATUS);
CPU_INT_STATUS->global_pending_int &= ~(IK_IRQ | IK_NMI);
if (CPU_INT_STATUS->global_pending_int & IK_RESET) {
- cpu_is_jammed = 0;
+ CPU_IS_JAMMED = 0;
}
}
@@ -2440,7 +2444,7 @@
case 0x32: /* JAM */
case 0x42: /* JAM */
#endif
- cpu_is_jammed = 1;
+ CPU_IS_JAMMED = 1;
REWIND_FETCH_OPCODE(CLK);
JAM();
break;
Modified: trunk/vice/src/6510dtvcore.c
===================================================================
--- trunk/vice/src/6510dtvcore.c 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/6510dtvcore.c 2024-08-18 17:28:12 UTC (rev 45313)
@@ -417,7 +417,7 @@
addr |= (LOAD(0xfffd) << 8); \
bank_start = bank_limit = 0; /* prevent caching */ \
LOCAL_SET_INTERRUPT(1); \
- cpu_is_jammed = 0; \
+ CPU_IS_JAMMED = 0; \
CHECK_PROFILE_INTERRUPT(addr, 0xfffc); \
JUMP(addr); \
DMA_ON_RESET; \
@@ -1016,7 +1016,7 @@
uint32_t trap_result; \
EXPORT_REGISTERS(); \
if (!ROM_TRAP_ALLOWED() || (trap_result = ROM_TRAP_HANDLER()) == (uint32_t)-1) { \
- cpu_is_jammed = 1; \
+ CPU_IS_JAMMED = 1; \
REWIND_FETCH_OPCODE(CLK); \
JAM(); \
} else { \
@@ -1700,7 +1700,11 @@
/* Here, the CPU is emulated. */
{
+#ifndef CPU_IS_JAMMED
static int cpu_is_jammed = 0;
+#define CPU_IS_JAMMED cpu_is_jammed
+#warning "CPU_IS_JAMMED not defined, using default (internal)"
+#endif
#if !defined(DRIVE_CPU)
CLOCK profiling_clock_start;
@@ -1718,11 +1722,11 @@
/* HACK: when the CPU is jammed, no interrupts are served, the only way
to recover is reset. so we clear the interrupt flags and force
acknowledging them here in this case. */
- if (cpu_is_jammed) {
+ if (CPU_IS_JAMMED) {
interrupt_ack_irq(CPU_INT_STATUS);
CPU_INT_STATUS->global_pending_int &= ~(IK_IRQ | IK_NMI);
if (CPU_INT_STATUS->global_pending_int & IK_RESET) {
- cpu_is_jammed = 0;
+ CPU_IS_JAMMED = 0;
}
}
@@ -1729,9 +1733,9 @@
{
enum cpu_int pending_interrupt;
- if (!(CPU_INT_STATUS->global_pending_int & IK_IRQ)
- && (CPU_INT_STATUS->global_pending_int & IK_IRQPEND)
- && CPU_INT_STATUS->irq_pending_clk <= CLK) {
+ if (!(CPU_INT_STATUS->global_pending_int & IK_IRQ) &&
+ (CPU_INT_STATUS->global_pending_int & IK_IRQPEND) &&
+ (CPU_INT_STATUS->irq_pending_clk <= CLK)) {
interrupt_ack_irq(CPU_INT_STATUS);
}
@@ -1740,10 +1744,9 @@
#if !defined(DRIVE_CPU)
profiling_clock_start = CLK;
#endif
-
DO_INTERRUPT(pending_interrupt);
- if (!(CPU_INT_STATUS->global_pending_int & IK_IRQ)
- && CPU_INT_STATUS->global_pending_int & IK_IRQPEND) {
+ if (!(CPU_INT_STATUS->global_pending_int & IK_IRQ) &&
+ CPU_INT_STATUS->global_pending_int & IK_IRQPEND) {
CPU_INT_STATUS->global_pending_int &= ~IK_IRQPEND;
}
while (CLK >= alarm_context_next_pending_clk(ALARM_CONTEXT)) {
@@ -1832,7 +1835,7 @@
case 0x32: /* JAM */
case 0x42: /* JAM */
#endif
- cpu_is_jammed = 1;
+ CPU_IS_JAMMED = 1;
REWIND_FETCH_OPCODE(CLK);
JAM();
break;
Modified: trunk/vice/src/drive/drivecpu.c
===================================================================
--- trunk/vice/src/drive/drivecpu.c 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/drive/drivecpu.c 2024-08-18 17:28:12 UTC (rev 45313)
@@ -392,6 +392,10 @@
/* Run drive CPU emulation until the stop_clk clock has been reached. */
while (*drv->clk_ptr < cpu->stop_clk) {
/* Include the 6502/6510 CPU emulation core. */
+#define CPU_LOG_ID (drv->log)
+/* #define ANE_LOG_LEVEL ane_log_level */
+/* #define LXA_LOG_LEVEL lxa_log_level */
+#define CPU_IS_JAMMED cpu->is_jammed
#define CLK (*(drv->clk_ptr))
#define RMW_FLAG (cpu->rmw_flag)
Modified: trunk/vice/src/drive/drivetypes.h
===================================================================
--- trunk/vice/src/drive/drivetypes.h 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/drive/drivetypes.h 2024-08-18 17:28:12 UTC (rev 45313)
@@ -93,6 +93,9 @@
/* Address of the last executed opcode. This is used by watchpoints. */
unsigned int last_opcode_addr;
+ /* jam flag */
+ int is_jammed;
+
/* Public copy of the registers. */
mos6510_regs_t cpu_regs;
R65C02_regs_t cpu_R65C02_regs;
Modified: trunk/vice/src/interrupt.h
===================================================================
--- trunk/vice/src/interrupt.h 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/interrupt.h 2024-08-18 17:28:12 UTC (rev 45313)
@@ -142,7 +142,7 @@
unsigned int int_num,
int value, CLOCK cpu_clk)
{
- if (cs == NULL || int_num >= cs->num_ints) {
+ if ((cs == NULL) || (int_num >= cs->num_ints)) {
return;
}
@@ -183,7 +183,7 @@
if (cs->nirq > 0) {
cs->pending_int[int_num] =
(cs->pending_int[int_num] & (unsigned int)~IK_IRQ);
- if (--cs->nirq == 0) {
+ if ((--cs->nirq) == 0) {
cs->global_pending_int =
(cs->global_pending_int & (unsigned int)~IK_IRQ);
cs->irq_pending_clk = cpu_clk + 3;
@@ -249,6 +249,11 @@
}
}
+/* FIXME: update the acia code and get rid of this
+ src/plus4/plus4acia.c:72
+ src/c64/cart/c64acia1.c:85
+ */
+#if 1
/* Change the interrupt line state: this can be used to change both NMI
and IRQ lines. It is slower than `interrupt_set_nmi()' and
`interrupt_set_irq()', but is left for backward compatibility (it works
@@ -259,6 +264,7 @@
interrupt_set_nmi(cs, (unsigned int)int_num, (int)(value & IK_NMI), cpu_clk);
interrupt_set_irq(cs, (unsigned int)int_num, (int)(value & IK_IRQ), cpu_clk);
}
+#endif
/* ------------------------------------------------------------------------- */
@@ -274,6 +280,7 @@
}
}
+/* clear IK_IRQPEND bit and set irq_pending_clk to CLOCK_MAX */
inline static void interrupt_ack_irq(interrupt_cpu_status_t *cs)
{
cs->global_pending_int =
@@ -337,9 +344,10 @@
#define maincpu_set_int(int_num, value) \
interrupt_set_int(maincpu_int_status, (int_num), (value), maincpu_clk)
-
+#if 0
#define maincpu_set_int_clk(int_num, value, clk) \
interrupt_set_int(maincpu_int_status, (int_num), (value), (clk))
+#endif
#define maincpu_trigger_reset() \
interrupt_trigger_reset(maincpu_int_status, maincpu_clk)
Modified: trunk/vice/src/mainc64cpu.c
===================================================================
--- trunk/vice/src/mainc64cpu.c 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/mainc64cpu.c 2024-08-18 17:28:12 UTC (rev 45313)
@@ -512,10 +512,12 @@
the values copied into this struct. */
mos6510_regs_t maincpu_regs;
+static int maincpu_jammed = 0;
+
/* ------------------------------------------------------------------------- */
-int ane_log_level = 0; /* 0: none, 1: unstable only 2: all */
-int lxa_log_level = 0; /* 0: none, 1: unstable only 2: all */
+static int ane_log_level = 0; /* 0: none, 1: unstable only 2: all */
+static int lxa_log_level = 0; /* 0: none, 1: unstable only 2: all */
static int set_ane_log_level(int val, void *param)
{
@@ -756,6 +758,7 @@
#define CPU_LOG_ID maincpu_log
#define ANE_LOG_LEVEL ane_log_level
#define LXA_LOG_LEVEL lxa_log_level
+#define CPU_IS_JAMMED maincpu_jammed
#define CLK maincpu_clk
#define RMW_FLAG maincpu_rmw_flag
#define LAST_OPCODE_INFO last_opcode_info
@@ -879,7 +882,7 @@
static char snap_module_name[] = "MAINCPU";
#define SNAP_MAJOR 1
-#define SNAP_MINOR 3
+#define SNAP_MINOR 4
int maincpu_snapshot_write_module(snapshot_t *s)
{
@@ -902,6 +905,7 @@
|| SMW_DW(m, (uint32_t)last_opcode_info) < 0
|| SMW_DW(m, (uint32_t)ane_log_level) < 0
|| SMW_DW(m, (uint32_t)lxa_log_level) < 0
+ || SMW_DW(m, (uint32_t)maincpu_jammed) < 0
|| SMW_DW(m, (uint32_t)maincpu_ba_low_flags) < 0) {
goto fail;
}
@@ -950,6 +954,7 @@
|| SMR_DW_UINT(m, &last_opcode_info) < 0
|| SMR_DW_INT(m, &ane_log_level) < 0
|| SMR_DW_INT(m, &lxa_log_level) < 0
+ || SMR_DW_INT(m, &maincpu_jammed) < 0
|| SMR_DW_INT(m, &maincpu_ba_low_flags) < 0) {
goto fail;
}
Modified: trunk/vice/src/maincpu.c
===================================================================
--- trunk/vice/src/maincpu.c 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/maincpu.c 2024-08-18 17:28:12 UTC (rev 45313)
@@ -292,10 +292,12 @@
mos6510_regs_t maincpu_regs;
#endif
+static int maincpu_jammed = 0;
+
/* ------------------------------------------------------------------------- */
-int ane_log_level = 0; /* 0: none, 1: unstable only 2: all */
-int lxa_log_level = 0; /* 0: none, 1: unstable only 2: all */
+static int ane_log_level = 0; /* 0: none, 1: unstable only 2: all */
+static int lxa_log_level = 0; /* 0: none, 1: unstable only 2: all */
static int set_ane_log_level(int val, void *param)
{
@@ -583,6 +585,7 @@
#define CPU_LOG_ID maincpu_log
#define ANE_LOG_LEVEL ane_log_level
#define LXA_LOG_LEVEL lxa_log_level
+#define CPU_IS_JAMMED maincpu_jammed
#define CLK maincpu_clk
#define RMW_FLAG maincpu_rmw_flag
#define LAST_OPCODE_INFO last_opcode_info
Modified: trunk/vice/src/mainviccpu.c
===================================================================
--- trunk/vice/src/mainviccpu.c 2024-08-18 15:03:27 UTC (rev 45312)
+++ trunk/vice/src/mainviccpu.c 2024-08-18 17:28:12 UTC (rev 45313)
@@ -339,10 +339,12 @@
the values copied into this struct. */
mos6510_regs_t maincpu_regs;
+static int maincpu_jammed = 0;
+
/* ------------------------------------------------------------------------- */
-int ane_log_level = 0; /* 0: none, 1: unstable only 2: all */
-int lxa_log_level = 0; /* 0: none, 1: unstable only 2: all */
+static int ane_log_level = 0; /* 0: none, 1: unstable only 2: all */
+static int lxa_log_level = 0; /* 0: none, 1: unstable only 2: all */
static int set_ane_log_level(int val, void *param)
{
@@ -583,6 +585,7 @@
#define CPU_LOG_ID maincpu_log
#define ANE_LOG_LEVEL ane_log_level
#define LXA_LOG_LEVEL lxa_log_level
+#define CPU_IS_JAMMED maincpu_jammed
#define CLK maincpu_clk
#define RMW_FLAG maincpu_rmw_flag
#define LAST_OPCODE_INFO last_opcode_info
@@ -706,7 +709,7 @@
static char snap_module_name[] = "MAINCPU";
#define SNAP_MAJOR 1
-#define SNAP_MINOR 3
+#define SNAP_MINOR 4
int maincpu_snapshot_write_module(snapshot_t *s)
{
@@ -728,7 +731,8 @@
|| SMW_B(m, (uint8_t)MOS6510_REGS_GET_STATUS(&maincpu_regs)) < 0
|| SMW_DW(m, (uint32_t)last_opcode_info) < 0
|| SMW_DW(m, (uint32_t)ane_log_level) < 0
- || SMW_DW(m, (uint32_t)lxa_log_level) < 0) {
+ || SMW_DW(m, (uint32_t)lxa_log_level) < 0
+ || SMW_DW(m, (uint32_t)maincpu_jammed) < 0) {
goto fail;
}
@@ -775,7 +779,8 @@
|| SMR_B(m, &status) < 0
|| SMR_DW_UINT(m, &last_opcode_info) < 0
|| SMR_DW_INT(m, &ane_log_level) < 0
- || SMR_DW_INT(m, &lxa_log_level) < 0) {
+ || SMR_DW_INT(m, &lxa_log_level) < 0
+ || SMR_DW_INT(m, &maincpu_jammed) < 0) {
goto fail;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-18 15:03:29
|
Revision: 45312
http://sourceforge.net/p/vice-emu/code/45312
Author: gpz
Date: 2024-08-18 15:03:27 +0000 (Sun, 18 Aug 2024)
Log Message:
-----------
ignore debug cart when writing/reading snapshots. fixes bug #2057
Modified Paths:
--------------
trunk/vice/src/c64/cart/c64carthooks.c
Modified: trunk/vice/src/c64/cart/c64carthooks.c
===================================================================
--- trunk/vice/src/c64/cart/c64carthooks.c 2024-08-17 18:34:43 UTC (rev 45311)
+++ trunk/vice/src/c64/cart/c64carthooks.c 2024-08-18 15:03:27 UTC (rev 45312)
@@ -3243,6 +3243,11 @@
} else {
switch (cart_ids[i]) {
+ /* "Debug" */
+ case CARTRIDGE_DEBUGCART:
+ /* do nothing */
+ break;
+
/* "Slot 0" */
case CARTRIDGE_CPM:
if (cpmcart_snapshot_write_module(s) < 0) {
@@ -3832,6 +3837,11 @@
} else {
switch (cart_ids[i]) {
+ /* "Debug" */
+ case CARTRIDGE_DEBUGCART:
+ /* do nothing */
+ break;
+
/* "Slot 0" */
case CARTRIDGE_CPM:
if (cpmcart_snapshot_read_module(s) < 0) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-17 18:34:45
|
Revision: 45311
http://sourceforge.net/p/vice-emu/code/45311
Author: gpz
Date: 2024-08-17 18:34:43 +0000 (Sat, 17 Aug 2024)
Log Message:
-----------
only execute the bt command for the computer memspace, output a warning for the others
Modified Paths:
--------------
trunk/vice/src/monitor/monitor.c
Modified: trunk/vice/src/monitor/monitor.c
===================================================================
--- trunk/vice/src/monitor/monitor.c 2024-08-17 17:17:38 UTC (rev 45310)
+++ trunk/vice/src/monitor/monitor.c 2024-08-17 18:34:43 UTC (rev 45311)
@@ -1164,6 +1164,16 @@
extern uint16_t callstack_memory_bank_config[];
extern uint8_t callstack_sp[];
extern unsigned callstack_size;
+ /* FIXME: memspace should be passed as an argument to this function */
+ MEMSPACE mem = default_memspace;
+ if (mem == e_default_space) {
+ mem = default_memspace;
+ }
+ /* FIXME: only computer memspace can work right now */
+ if (mem != e_comp_space) {
+ mon_out("Sorry, backtrace is only implemented for computer memspace.\n");
+ return;
+ }
pc = (monitor_cpu_for_memspace[default_memspace]->mon_register_get_val)(default_memspace, e_PC);
sp = (monitor_cpu_for_memspace[default_memspace]->mon_register_get_val)(default_memspace, e_SP);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rh...@us...> - 2024-08-17 17:17:40
|
Revision: 45310
http://sourceforge.net/p/vice-emu/code/45310
Author: rhialto
Date: 2024-08-17 17:17:38 +0000 (Sat, 17 Aug 2024)
Log Message:
-----------
This should fix bug #2052.
Only when the first IRQ source becomes active, the CPU sees the
IRQ input line go active; on additional ones, no change is visible.
So most of the actions that are done should only be done when the first
IRQ source becomes active, and not on additional ones.
Modified Paths:
--------------
trunk/vice/src/interrupt.h
Modified: trunk/vice/src/interrupt.h
===================================================================
--- trunk/vice/src/interrupt.h 2024-08-17 16:52:15 UTC (rev 45309)
+++ trunk/vice/src/interrupt.h 2024-08-17 17:17:38 UTC (rev 45310)
@@ -148,28 +148,35 @@
if (value) { /* Trigger the IRQ. */
if (!(cs->pending_int[int_num] & IK_IRQ)) {
- cs->nirq++;
- cs->global_pending_int = (cs->global_pending_int | (unsigned int)(IK_IRQ | IK_IRQPEND));
- cs->pending_int[int_num] = (cs->pending_int[int_num] | (unsigned int)IK_IRQ);
+ cs->pending_int[int_num] |= (unsigned int)IK_IRQ;
- cs->irq_pending_clk = CLOCK_MAX;
+ /*
+ * Only when the first IRQ source becomes active, the CPU sees the
+ * IRQ input line go active; on additional ones, no change is visible.
+ */
+ if (cs->nirq == 0) {
+ cs->global_pending_int |= (unsigned int)(IK_IRQ | IK_IRQPEND);
- /* This makes sure that IRQ delay is correctly emulated when
- cycles are stolen from the CPU. */
+ cs->irq_pending_clk = CLOCK_MAX;
+
+ /* This makes sure that IRQ delay is correctly emulated when
+ cycles are stolen from the CPU. */
#ifdef DEBUG
- if (debug.maincpu_traceflg) {
- log_debug(LOG_DEFAULT, "ICLK=%lu last_stolen_cycle=%lu",
- (unsigned long)cpu_clk,
- (unsigned long)(cs->last_stolen_cycles_clk));
- }
+ if (debug.maincpu_traceflg) {
+ log_debug(LOG_DEFAULT, "ICLK=%lu last_stolen_cycle=%lu",
+ (unsigned long)cpu_clk,
+ (unsigned long)(cs->last_stolen_cycles_clk));
+ }
#endif
- cs->irq_delay_cycles = 0;
+ cs->irq_delay_cycles = 0;
- if (cs->last_stolen_cycles_clk <= cpu_clk) {
- cs->irq_clk = cpu_clk;
- } else {
- interrupt_fixup_int_clk(cs, cpu_clk, &(cs->irq_clk));
+ if (cs->last_stolen_cycles_clk <= cpu_clk) {
+ cs->irq_clk = cpu_clk;
+ } else {
+ interrupt_fixup_int_clk(cs, cpu_clk, &(cs->irq_clk));
+ }
}
+ cs->nirq++;
}
} else { /* Remove the IRQ condition. */
if (cs->pending_int[int_num] & IK_IRQ) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-17 16:52:19
|
Revision: 45309
http://sourceforge.net/p/vice-emu/code/45309
Author: gpz
Date: 2024-08-17 16:52:15 +0000 (Sat, 17 Aug 2024)
Log Message:
-----------
fix nextdisk logic, patch by Uffe Jakobsen
Modified Paths:
--------------
testprogs/general/Lorenz-2.15/Disk2plus4.d64
testprogs/general/Lorenz-2.15/Disk3DTV.d64
testprogs/general/Lorenz-2.15/Disk3plus4.d64
testprogs/general/Lorenz-2.15/Disk4DTV.d64
testprogs/general/Lorenz-2.15/Disk4plus4.d64
testprogs/general/Lorenz-2.15/src/Disk2plus4.d64
testprogs/general/Lorenz-2.15/src/Disk3DTV.d64
testprogs/general/Lorenz-2.15/src/Disk3plus4.d64
testprogs/general/Lorenz-2.15/src/Disk4DTV.d64
testprogs/general/Lorenz-2.15/src/Disk4plus4.d64
testprogs/general/Lorenz-2.15/src/Makefile
testprogs/general/Lorenz-2.15/src/Makefile.dtv
testprogs/general/Lorenz-2.15/src/Makefile.plus4
testprogs/general/Lorenz-2.15/src/nextdisk.s
testprogs/general/Lorenz-2.15/src/nextdisk2-plus4.prg
Modified: testprogs/general/Lorenz-2.15/Disk2plus4.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/Disk3DTV.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/Disk3plus4.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/Disk4DTV.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/Disk4plus4.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/src/Disk2plus4.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/src/Disk3DTV.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/src/Disk3plus4.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/src/Disk4DTV.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/src/Disk4plus4.d64
===================================================================
(Binary files differ)
Modified: testprogs/general/Lorenz-2.15/src/Makefile
===================================================================
--- testprogs/general/Lorenz-2.15/src/Makefile 2024-08-16 22:48:30 UTC (rev 45308)
+++ testprogs/general/Lorenz-2.15/src/Makefile 2024-08-17 16:52:15 UTC (rev 45309)
@@ -158,7 +158,7 @@
jmpw.prg \
jmpi.prg
-DISK1NEXT = beqr.prg
+DISK1NEXT_PRG = beqr.prg
DISK2PROGS = \
beqr.prg \
@@ -364,7 +364,7 @@
cpuport128.prg \
cputiming.prg
-DISK2NEXT = irq.prg
+DISK2NEXT_PRG = irq.prg
DISK3PROGSOLD = \
irq.prg \
@@ -411,7 +411,7 @@
cia2tanew.prg \
cia2tbnew.prg
-DISK3NEXT = aneb.prg
+DISK3NEXT_PRG = aneb.prg
DISK4PROGS = \
aneb.prg \
@@ -471,6 +471,10 @@
ASFLAGS=-C -T -a -q -I ./common -D TARGET=0
+DISK1NEXT = $(DISK1NEXT_PRG:.prg=)
+DISK2NEXT = $(DISK2NEXT_PRG:.prg=)
+DISK3NEXT = $(DISK3NEXT_PRG:.prg=)
+
all: $(ALLPROGS) $(ALLDISKS) $(ALLPROGS128) $(ALLDISKS128)
cpuport.prg: cpuport.s $(COMMONSRC)
@@ -621,11 +625,11 @@
64tass $(ASFLAGS) -D NEWCIA=1 -i cia2tb.s -o cia2tbnew.prg
nextdisk1.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=1 -i nextdisk.s -o nextdisk1.prg
+ 64tass $(ASFLAGS) -D NEXT=1 -D NEXTNAME=\"$(DISK1NEXT)\" -i nextdisk.s -o nextdisk1.prg
nextdisk2.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=2 -i nextdisk.s -o nextdisk2.prg
+ 64tass $(ASFLAGS) -D NEXT=2 -D NEXTNAME=\"$(DISK2NEXT)\" -i nextdisk.s -o nextdisk2.prg
nextdisk3.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=3 -i nextdisk.s -o nextdisk3.prg
+ 64tass $(ASFLAGS) -D NEXT=3 -D NEXTNAME=\"$(DISK3NEXT)\" -i nextdisk.s -o nextdisk3.prg
%.prg : %.s $(COMMONSRC)
64tass $(ASFLAGS) -i "$*.s" -o "$*.prg"
@@ -635,22 +639,25 @@
for I in $(basename $(DISK1PROGS)); do \
c1541 Disk1.d64 -write "$$I.prg" "$$I" > /dev/null; \
done
- c1541 Disk1.d64 -write "nextdisk1.prg" "$(basename $(DISK1NEXT))" > /dev/null
+ c1541 Disk1.d64 -write "nextdisk1.prg" "$(DISK1NEXT)" > /dev/null
# c1541 Disk1.d64 -list
+
Disk2.d64: $(DISK2PROGS) nextdisk2.prg
c1541 -format "test suite 2.15+,#2" d64 Disk2.d64 > /dev/null
for I in $(basename $(DISK2PROGS)); do \
c1541 Disk2.d64 -write "$$I.prg" "$$I" > /dev/null; \
done
- c1541 Disk2.d64 -write "nextdisk2.prg" "$(basename $(DISK2NEXT))" > /dev/null
+ c1541 Disk2.d64 -write "nextdisk2.prg" "$(DISK2NEXT)" > /dev/null
# c1541 Disk2.d64 -list
+
Disk3.d64: $(DISK3PROGSOLD) nextdisk3.prg
c1541 -format "test suite 2.15+,#3" d64 Disk3.d64 > /dev/null
for I in $(basename $(DISK3PROGSOLD)); do \
c1541 Disk3.d64 -write "$$I.prg" "$$I" > /dev/null; \
done
- c1541 Disk3.d64 -write "nextdisk3.prg" "$(basename $(DISK3NEXT))" > /dev/null
+ c1541 Disk3.d64 -write "nextdisk3.prg" "$(DISK3NEXT)" > /dev/null
# c1541 Disk3.d64 -list
+
Disk4.d64: $(DISK4PROGS)
c1541 -format "test suite 2.15+,#4" d64 Disk4.d64 > /dev/null
for I in $(basename $(DISK4PROGS)); do \
@@ -657,13 +664,15 @@
c1541 Disk4.d64 -write "$$I.prg" "$$I" > /dev/null; \
done
# c1541 Disk4.d64 -list
+
Disk3new.d64: $(DISK3PROGSNEW) nextdisk3.prg
c1541 -format "test suite 2.15+,#3" d64 Disk3new.d64 > /dev/null
for I in $(basename $(DISK3PROGSNEW)); do \
c1541 Disk3new.d64 -write "$$I.prg" $$(echo "$$I" | sed -e 's:new$$::') > /dev/null; \
done
- c1541 Disk3new.d64 -write "nextdisk3.prg" "$(basename $(DISK3NEXT))" > /dev/null
+ c1541 Disk3new.d64 -write "nextdisk3.prg" "$(DISK3NEXT)" > /dev/null
# c1541 Disk3new.d64 -list
+
Lorenz.d81: $(ALLPROGSOLD)
c1541 -format "test suite 2.15+,#1" d81 Lorenz.d81 > /dev/null
for I in $(basename $(ALLPROGSOLD)); do \
@@ -670,6 +679,7 @@
c1541 Lorenz.d81 -write "$$I.prg" "$$I" > /dev/null; \
done
# c1541 Lorenz.d81 -list
+
Lorenznew.d81: $(ALLPROGSNEW)
c1541 -format "test suite 2.15+,#1" d81 Lorenznew.d81 > /dev/null
for I in $(basename $(ALLPROGSNEW)); do \
@@ -682,7 +692,7 @@
for I in $(basename $(DISK2PROGS128)); do \
c1541 Disk2c128.d64 -write "$$I.prg" $$(echo "$$I" | sed -e 's:128$$::') > /dev/null; \
done
- c1541 Disk2c128.d64 -write "nextdisk2.prg" "$(basename $(DISK2NEXT))" > /dev/null
+ c1541 Disk2c128.d64 -write "nextdisk2.prg" "$(DISK2NEXT)" > /dev/null
# c1541 Disk2c128.d64 -list
clean:
Modified: testprogs/general/Lorenz-2.15/src/Makefile.dtv
===================================================================
--- testprogs/general/Lorenz-2.15/src/Makefile.dtv 2024-08-16 22:48:30 UTC (rev 45308)
+++ testprogs/general/Lorenz-2.15/src/Makefile.dtv 2024-08-17 16:52:15 UTC (rev 45309)
@@ -158,7 +158,7 @@
jmpw-dtv.prg \
jmpi-dtv.prg
-DISK1NEXT = beqr-dtv.prg
+DISK1NEXT_PRG = beqr-dtv.prg
DISK2PROGS = \
beqr-dtv.prg \
@@ -261,9 +261,9 @@
cpuport-dtv.prg \
cputiming-dtv.prg
-DISK2NEXT = irq-dtv.prg
+DISK2NEXT_PRG = irq-dtv.prg
-DISK3PROGSOLD = \
+DISK3PROGS = \
irq-dtv.prg \
nmi-dtv.prg \
cia1tb123-dtv.prg \
@@ -286,7 +286,7 @@
cia2ta-dtv.prg \
cia2tb-dtv.prg
-DISK3NEXT = aneb-dtv.prg
+DISK3NEXT_PRG = aneb-dtv.prg
DISK4PROGS = \
aneb-dtv.prg \
@@ -332,13 +332,17 @@
\
template-dtv.prg
-ALLPROGSOLD = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGSOLD) # $(DISK4PROGS)
+ALLPROGSOLD = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGS) # $(DISK4PROGS)
-ALLPROGS = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGSOLD) $(DISK4PROGS)
+ALLPROGS = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGS) $(DISK4PROGS)
ALLDISKS = Disk1DTV.d64 Disk2DTV.d64 Disk3DTV.d64 Disk4DTV.d64 LorenzDTV.d81
ASFLAGS=--m65dtv02 -C -T -a -q -I ./common -D TARGET=5
+DISK1NEXT = $(DISK1NEXT_PRG:-dtv.prg=)
+DISK2NEXT = $(DISK2NEXT_PRG:-dtv.prg=)
+DISK3NEXT = $(DISK3NEXT_PRG:-dtv.prg=)
+
all: $(ALLPROGS) $(ALLDISKS)
cpuport-dtv.prg: cpuport.s $(COMMONSRC)
@@ -471,11 +475,11 @@
64tass $(ASFLAGS) -D NEWCIA=0 -i cia2tb.s -o cia2tb-dtv.prg
nextdisk1-dtv.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=1 -i nextdisk.s -o nextdisk1-dtv.prg
+ 64tass $(ASFLAGS) -D NEXT=1 -D NEXTNAME=\"$(DISK1NEXT)\" -i nextdisk.s -o nextdisk1-dtv.prg
nextdisk2-dtv.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=2 -i nextdisk.s -o nextdisk2-dtv.prg
+ 64tass $(ASFLAGS) -D NEXT=2 -D NEXTNAME=\"$(DISK2NEXT)\" -i nextdisk.s -o nextdisk2-dtv.prg
nextdisk3-dtv.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=3 -i nextdisk.s -o nextdisk3-dtv.prg
+ 64tass $(ASFLAGS) -D NEXT=3 -D NEXTNAME=\"$(DISK3NEXT)\" -i nextdisk.s -o nextdisk3-dtv.prg
%-dtv.prg : %.s $(COMMONSRC)
64tass $(ASFLAGS) -i "$*.s" -o "$*-dtv.prg"
@@ -485,28 +489,32 @@
for I in $(basename $(DISK1PROGS)); do \
c1541 Disk1DTV.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-dtv::g') > /dev/null; \
done
- c1541 Disk1DTV.d64 -write "nextdisk1-dtv.prg" $$(echo "$(basename $(DISK1NEXT))" | sed 's:-dtv::g') > /dev/null
+ c1541 Disk1DTV.d64 -write "nextdisk1-dtv.prg" $$(echo "$(DISK1NEXT)" | sed 's:-dtv::g') > /dev/null
# c1541 Disk1DTV.d64 -list
+
Disk2DTV.d64: $(DISK2PROGS) nextdisk2-dtv.prg
c1541 -format "test suite 2.15+,#2" d64 Disk2DTV.d64 > /dev/null
for I in $(basename $(DISK2PROGS)); do \
c1541 Disk2DTV.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-dtv::g') > /dev/null; \
done
- c1541 Disk2DTV.d64 -write "nextdisk2-dtv.prg" $$(echo "$(basename $(DISK2NEXT))" | sed 's:-dtv::g') > /dev/null
+ c1541 Disk2DTV.d64 -write "nextdisk2-dtv.prg" $$(echo "$(DISK2NEXT)" | sed 's:-dtv::g') > /dev/null
# c1541 Disk2DTV.d64 -list
-Disk3DTV.d64: $(DISK3PROGSOLD) nextdisk3-dtv.prg
+
+Disk3DTV.d64: $(DISK3PROGS) nextdisk3-dtv.prg
c1541 -format "test suite 2.15+,#3" d64 Disk3DTV.d64 > /dev/null
- for I in $(basename $(DISK3PROGSOLD)); do \
+ for I in $(basename $(DISK3PROGS)); do \
c1541 Disk3DTV.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-dtv::g') > /dev/null; \
done
- c1541 Disk3DTV.d64 -write "nextdisk3-dtv.prg" "$(basename $(DISK3NEXT))" > /dev/null
+ c1541 Disk3DTV.d64 -write "nextdisk3-dtv.prg" $$(echo "$(DISK3NEXT)" | sed 's:-dtv::g') > /dev/null
# c1541 Disk3DTV.d64 -list
-Disk4DTV.d64: $(DISK4PROGSOLD)
+
+Disk4DTV.d64: $(DISK4PROGS)
c1541 -format "test suite 2.15+,#4" d64 Disk4DTV.d64 > /dev/null
- for I in $(basename $(DISK4PROGSOLD)); do \
+ for I in $(basename $(DISK4PROGS)); do \
c1541 Disk4DTV.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-dtv::g') > /dev/null; \
done
# c1541 Disk4DTV.d64 -list
+
LorenzDTV.d81: $(ALLPROGSOLD)
c1541 -format "test suite 2.15+,#1" d81 LorenzDTV.d81 > /dev/null
for I in $(basename $(ALLPROGSOLD)); do \
Modified: testprogs/general/Lorenz-2.15/src/Makefile.plus4
===================================================================
--- testprogs/general/Lorenz-2.15/src/Makefile.plus4 2024-08-16 22:48:30 UTC (rev 45308)
+++ testprogs/general/Lorenz-2.15/src/Makefile.plus4 2024-08-17 16:52:15 UTC (rev 45309)
@@ -158,7 +158,7 @@
jmpw-plus4.prg \
jmpi-plus4.prg
-DISK1NEXT = beqr-plus4.prg
+DISK1NEXT_PRG = beqr-plus4.prg
DISK2PROGS = \
beqr-plus4.prg \
@@ -259,14 +259,16 @@
mmufetch-plus4.prg \
mmu-plus4.prg
-DISK2NEXT = cpuport-plus4.prg
+DISK2NEXT_PRG = cpuport-plus4.prg
-DISK3PROGSOLD = \
+DISK3PROGS = \
cpuport-plus4.prg \
cputiming-plus4.prg \
irq-plus4.prg \
nmi-plus4.prg
+DISK3NEXT_PRG = aneb-plus4.prg
+
DISK4PROGS = \
aneb-plus4.prg \
lxab-plus4.prg \
@@ -311,13 +313,15 @@
\
template-plus4.prg
-ALLPROGSOLD = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGSOLD) # $(DISK4PROGS)
-
-ALLPROGS = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGSOLD) $(DISK4PROGS)
+ALLPROGS = $(DISK1PROGS) $(DISK2PROGS) $(DISK3PROGS) $(DISK4PROGS)
ALLDISKS = Disk1plus4.d64 Disk2plus4.d64 Disk3plus4.d64 Disk4plus4.d64 LorenzPlus4.d81
ASFLAGS=-C -T -a -q -I ./common -D TARGET=4
+DISK1NEXT = $(DISK1NEXT_PRG:-plus4.prg=)
+DISK2NEXT = $(DISK2NEXT_PRG:-plus4.prg=)
+DISK3NEXT = $(DISK3NEXT_PRG:-plus4.prg=)
+
all: $(ALLPROGS) $(ALLDISKS)
cpuport-plus4.prg: cpuport.s $(COMMONSRC)
@@ -450,11 +454,11 @@
64tass $(ASFLAGS) -D NEWCIA=0 -i cia2tb.s -o cia2tb-plus4.prg
nextdisk1-plus4.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=1 -i nextdisk.s -o nextdisk1-plus4.prg
+ 64tass $(ASFLAGS) -D NEXT=1 -D NEXTNAME=\"$(DISK1NEXT)\" -i nextdisk.s -o nextdisk1-plus4.prg
nextdisk2-plus4.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=2 -i nextdisk.s -o nextdisk2-plus4.prg
+ 64tass $(ASFLAGS) -D NEXT=2 -D NEXTNAME=\"$(DISK2NEXT)\" -i nextdisk.s -o nextdisk2-plus4.prg
nextdisk3-plus4.prg: nextdisk.s $(COMMONSRC)
- 64tass $(ASFLAGS) -D NEXT=3 -i nextdisk.s -o nextdisk3-plus4.prg
+ 64tass $(ASFLAGS) -D NEXT=3 -D NEXTNAME=\"$(DISK3NEXT)\" -i nextdisk.s -o nextdisk3-plus4.prg
%-plus4.prg : %.s $(COMMONSRC)
64tass $(ASFLAGS) -i "$*.s" -o "$*-plus4.prg"
@@ -464,31 +468,35 @@
for I in $(basename $(DISK1PROGS)); do \
c1541 Disk1plus4.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-plus4::g') > /dev/null; \
done
- c1541 Disk1plus4.d64 -write "nextdisk1-plus4.prg" $$(echo "$(basename $(DISK1NEXT))" | sed 's:-plus4::g') > /dev/null
+ c1541 Disk1plus4.d64 -write "nextdisk1-plus4.prg" $$(echo "$(DISK1NEXT)" | sed 's:-plus4::g') > /dev/null
# c1541 Disk1plus4.d64 -list
+
Disk2plus4.d64: $(DISK2PROGS) nextdisk2-plus4.prg
c1541 -format "test suite 2.15+,#2" d64 Disk2plus4.d64 > /dev/null
for I in $(basename $(DISK2PROGS)); do \
c1541 Disk2plus4.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-plus4::g') > /dev/null; \
done
- c1541 Disk2plus4.d64 -write "nextdisk2-plus4.prg" $$(echo "$(basename $(DISK2NEXT))" | sed 's:-plus4::g') > /dev/null
+ c1541 Disk2plus4.d64 -write "nextdisk2-plus4.prg" $$(echo "$(DISK2NEXT)" | sed 's:-plus4::g') > /dev/null
# c1541 Disk2plus4.d64 -list
-Disk3plus4.d64: $(DISK3PROGSOLD) nextdisk3-plus4.prg
+
+Disk3plus4.d64: $(DISK3PROGS) nextdisk3-plus4.prg
c1541 -format "test suite 2.15+,#3" d64 Disk3plus4.d64 > /dev/null
- for I in $(basename $(DISK3PROGSOLD)); do \
+ for I in $(basename $(DISK3PROGS)); do \
c1541 Disk3plus4.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-plus4::g') > /dev/null; \
done
- c1541 Disk3plus4.d64 -write "nextdisk3-plus4.prg" "$(basename $(DISK3NEXT))" > /dev/null
+ c1541 Disk3plus4.d64 -write "nextdisk3-plus4.prg" $$(echo "$(DISK3NEXT)" | sed 's:-plus4::g') > /dev/null
# c1541 Disk3plus4.d64 -list
-Disk4plus4.d64: $(DISK4PROGSOLD)
+
+Disk4plus4.d64: $(DISK4PROGS)
c1541 -format "test suite 2.15+,#4" d64 Disk4plus4.d64 > /dev/null
- for I in $(basename $(DISK3PROGSOLD)); do \
+ for I in $(basename $(DISK4PROGS)); do \
c1541 Disk4plus4.d64 -write "$$I.prg" $$(echo "$$I" | sed 's:-plus4::g') > /dev/null; \
done
# c1541 Disk4plus4.d64 -list
-LorenzPlus4.d81: $(ALLPROGSOLD)
+
+LorenzPlus4.d81: $(ALLPROGS)
c1541 -format "test suite 2.15+,#1" d81 LorenzPlus4.d81 > /dev/null
- for I in $(basename $(ALLPROGSOLD)); do \
+ for I in $(basename $(ALLPROGS)); do \
c1541 LorenzPlus4.d81 -write "$$I.prg" $$(echo "$$I" | sed 's:-plus4::g') > /dev/null; \
done
# c1541 LorenzPlus4.d81 -list
Modified: testprogs/general/Lorenz-2.15/src/nextdisk.s
===================================================================
--- testprogs/general/Lorenz-2.15/src/nextdisk.s 2024-08-16 22:48:30 UTC (rev 45308)
+++ testprogs/general/Lorenz-2.15/src/nextdisk.s 2024-08-17 16:52:15 UTC (rev 45309)
@@ -6,17 +6,11 @@
.include "common.asm"
;------------------------------------------------------------------------------
+
thisname .null "nextdisk" ; name of this test
nextname ; name of next test, "-" means no more tests
-.ifeq NEXT - 1
- .null "beqr"
-.endif
-.ifeq NEXT - 2
- .null "irq"
-.endif
-.ifeq NEXT - 3
- .null "aneb"
-.endif
+ .null NEXTNAME
+
;-------------------------------------------------------------------------------
main:
Modified: testprogs/general/Lorenz-2.15/src/nextdisk2-plus4.prg
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-16 22:48:36
|
Revision: 45308
http://sourceforge.net/p/vice-emu/code/45308
Author: gpz
Date: 2024-08-16 22:48:30 +0000 (Fri, 16 Aug 2024)
Log Message:
-----------
fix readme, fix Makefile
Modified Paths:
--------------
testprogs/interrupts/irqnoack/Makefile
testprogs/interrupts/irqnoack/readme.txt
Modified: testprogs/interrupts/irqnoack/Makefile
===================================================================
--- testprogs/interrupts/irqnoack/Makefile 2024-08-16 22:45:36 UTC (rev 45307)
+++ testprogs/interrupts/irqnoack/Makefile 2024-08-16 22:48:30 UTC (rev 45308)
@@ -1,11 +1,17 @@
-all: ackcia.prg ackraster.prg
+all: ackcia.prg ackcia2.prg ackcia3.prg ackraster.prg
ackcia.prg: ackcia.s
acme -f cbm -o ackcia.prg ackcia.s
+ackcia2.prg: ackcia2.s
+ acme -f cbm -o ackcia2.prg ackcia2.s
+ackcia3.prg: ackcia3.s
+ acme -f cbm -o ackcia3.prg ackcia3.s
ackraster.prg: ackraster.s
acme -f cbm -o ackraster.prg ackraster.s
clean:
$(RM) ackcia.prg
+ $(RM) ackcia2.prg
+ $(RM) ackcia3.prg
$(RM) ackraster.prg
Modified: testprogs/interrupts/irqnoack/readme.txt
===================================================================
--- testprogs/interrupts/irqnoack/readme.txt 2024-08-16 22:45:36 UTC (rev 45307)
+++ testprogs/interrupts/irqnoack/readme.txt 2024-08-16 22:48:30 UTC (rev 45308)
@@ -5,6 +5,15 @@
Sets up a raster interrupt and a CIA1 Timer interrupt. The Raster interrupt is
never acknowledged, so it will immediately trigger again after the RTI.
+ackcia2.prg:
+
+like ackcia.prg, but will use PLP; STA; SEI; <failure> instead of RTI
+
+ackcia3.prg:
+
+like ackcia.prg, but will use CLI; SEI; <failure> instead of RTI
+
+
ackraster.prg:
Sets up a raster interrupt and a CIA1 Timer interrupt. The Timer interrupt is
never acknowledged, so it will immediately trigger again after the RTI.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-16 22:45:38
|
Revision: 45307
http://sourceforge.net/p/vice-emu/code/45307
Author: gpz
Date: 2024-08-16 22:45:36 +0000 (Fri, 16 Aug 2024)
Log Message:
-----------
a first attempt at making a test bench for the monitor. feel invited to provide more tests :)
Modified Paths:
--------------
testprogs/Monitor/Makefile
Added Paths:
-----------
testprogs/Monitor/testbench/
testprogs/Monitor/testbench/Makefile
testprogs/Monitor/testbench/bug1488.mon
testprogs/Monitor/testbench/bug1488.ref
testprogs/Monitor/testbench/bug1836.mon
testprogs/Monitor/testbench/bug1836.ref
testprogs/Monitor/testbench/bug2024.asm
testprogs/Monitor/testbench/bug2024.mon
testprogs/Monitor/testbench/bug2024.prg
testprogs/Monitor/testbench/bug2025-2.mon
testprogs/Monitor/testbench/bug2025-2.ref
testprogs/Monitor/testbench/bug2025-2b.mon
testprogs/Monitor/testbench/bug2025-2b.ref
testprogs/Monitor/testbench/bug2025.mon
testprogs/Monitor/testbench/bug2025.ref
testprogs/Monitor/testbench/bug942.mon
testprogs/Monitor/testbench/bug942.ref
testprogs/Monitor/testbench/cmplogs.sh
testprogs/Monitor/testbench/goonbreak-2.mon
testprogs/Monitor/testbench/goonbreak-2.ref
testprogs/Monitor/testbench/goonbreak.mon
testprogs/Monitor/testbench/goonbreak.ref
testprogs/Monitor/testbench/radix-binary.mon
testprogs/Monitor/testbench/radix-binary.ref
testprogs/Monitor/testbench/readme.txt
Modified: testprogs/Monitor/Makefile
===================================================================
--- testprogs/Monitor/Makefile 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/Makefile 2024-08-16 22:45:36 UTC (rev 45307)
@@ -3,10 +3,13 @@
MAKE=make --no-print-dir
-all: test6502 test6809 test65816 testR65C02 testz80
+all: testbench test6502 test6809 test65816 testR65C02 testz80
-.PHONY: test6502 test6809 test65816 testR65C02 testz80
+.PHONY: testbench test6502 test6809 test65816 testR65C02 testz80
+testbench:
+ @$(MAKE) -C testbench
+
test6502:
@$(MAKE) -C 6502
# FIXME: make this one automatic
@@ -28,6 +31,7 @@
clean:
+ @$(MAKE) -C testbench clean
@$(MAKE) -C 6502 clean
@$(MAKE) -C dummytest clean
@$(MAKE) -C 6809 clean
Index: testprogs/Monitor/testbench
===================================================================
--- testprogs/Monitor/testbench 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/testbench 2024-08-16 22:45:36 UTC (rev 45307)
Property changes on: testprogs/Monitor/testbench
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+*.log
Added: testprogs/Monitor/testbench/Makefile
===================================================================
--- testprogs/Monitor/testbench/Makefile (rev 0)
+++ testprogs/Monitor/testbench/Makefile 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,52 @@
+
+EMU=../../../trunk/vice/src/x64sc
+EMUOPT=-default -warp -silent -minimized -console -initbreak ready
+
+#EMU=WINEDEBUG=-all wine /home/groepaz/Desktop/vice/vice-oldversions/SDL2VICE-3.8-win64/x64sc.exe
+#EMUOPT=-default -warp -silent -minimized -initbreak ready
+
+NULLDIRECT=1> /dev/null 2> /dev/null
+
+.SILENT:
+
+PROGS=\
+ bug2024.prg
+
+RESULTS0=\
+ goonbreak.log \
+ goonbreak-2.log \
+ radix-binary.log \
+ bug942.log \
+ bug1488.log \
+ bug1836.log \
+ bug2024.log \
+ bug2025.log \
+ bug2025-2.log \
+ bug2025-2b.log
+
+all: helper tests
+
+%.prg: %.asm
+ acme -f cbm -o $*.prg $*.asm
+
+%.log: %.mon
+# echo "----------------------------------------"
+ $(RM) $*.log
+ $(EMU) $(EMUOPT) -moncommands $*.mon $(NULLDIRECT)
+# echo "$*.log:"
+# cat $*.log
+ -./cmplogs.sh $*.log $*.ref
+
+helper: $(PROGS)
+# echo "----------------------------------------"
+# echo "helper .prg ready."
+
+tests: helper $(RESULTS0)
+# echo "----------------------------------------"
+# echo "tests ready."
+
+clean:
+ $(RM) $(RESULTS0)
+ $(RM) $(PROGS)
+ $(RM) *.log.tmp
+ $(RM) *.ref.tmp
Added: testprogs/Monitor/testbench/bug1488.mon
===================================================================
--- testprogs/Monitor/testbench/bug1488.mon (rev 0)
+++ testprogs/Monitor/testbench/bug1488.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,28 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/1488/
+;
+; a hex number that contains only letters is not recognized as such, and will
+; produce an error
+logname "bug1488.log"
+log on
+
+> 0400 a
+> 0400 b
+> 0400 c
+> 0400 d
+> 0400 e
+> 0400 f
+
+> 0400 A
+> 0400 B
+;ERROR -- Wrong syntax:
+; > 0400 B
+; ^
+> 0400 C
+> 0400 D
+;ERROR -- Wrong syntax:
+; > 0400 D
+; ^
+> 0400 E
+> 0400 F
+
+q
Added: testprogs/Monitor/testbench/bug1488.ref
===================================================================
Added: testprogs/Monitor/testbench/bug1836.mon
===================================================================
--- testprogs/Monitor/testbench/bug1836.mon (rev 0)
+++ testprogs/Monitor/testbench/bug1836.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,25 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/1836/
+;
+; a hex number that contains only letters is not recognized as such, and will
+; produce an error
+logname "bug1836.log"
+log on
+
+a 1000 stx f100
+stx fa00
+stx fb00
+stx fc00
+stx fd00
+stx fe00
+stx ff00
+stx ffa0
+stx fff0
+stx fffa
+;ERROR -- Wrong syntax:
+; stx fffa
+; ^
+a 101b stx fffa
+;ERROR -- Unexpected token:
+; a 101b stx fffa
+; ^
+q
Added: testprogs/Monitor/testbench/bug1836.ref
===================================================================
Added: testprogs/Monitor/testbench/bug2024.asm
===================================================================
--- testprogs/Monitor/testbench/bug2024.asm (rev 0)
+++ testprogs/Monitor/testbench/bug2024.asm 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,50 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2024/
+rasterline = $fe
+
+ * = $1000
+
+start: sei
+
+ lda #$35
+ sta $01
+
+ bit $D012 ; wait for rasterline $100, before proceeding
+ bpl *-3
+
+ ; Setup a raster-interrupt
+ sei
+ lda #<irq
+ sta $fffe
+ lda #>irq
+ sta $ffff
+ ; select IRQ events (VIC: raster, CIA1: none)
+ lda #%00000001 ; VIC: raster-event
+ sta $d01a
+ lda #%00011111 ; CIA1: none
+ sta $dc0d
+ ; select rasterline in for the raster-event ($D012[w] and bit 7 of $D011[w])
+ lda #<rasterline
+ sta $d012
+ lda $d011
+ !if (rasterline >= $100) {ora #%10000000} else {and #%01111111}
+ sta $d011
+
+ ; ack any pending VIC and CIA1 events just in case
+ bit $dc0d
+ lda #%00001111
+ sta $d019
+ cli
+
+break: jmp *
+
+irq: eor #0 ; just to do something to make the interrupt-code easy to spot in the CPU-history
+ inc $d020
+ inc $d021
+ inc $d019
+endIrq: rti
+
+otherCode: ; This is where we "g XXXX" to
+ inc bugDetect
+ jmp break
+
+bugDetect: !byte 0 ; Should stay 0 until AFTER the first interrupt. If it is 1 inside the first interrupt, we're doomed. (It actually becomes 2)
Added: testprogs/Monitor/testbench/bug2024.mon
===================================================================
--- testprogs/Monitor/testbench/bug2024.mon (rev 0)
+++ testprogs/Monitor/testbench/bug2024.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,26 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2024/
+logname "bug2024.log"
+log on
+
+l "bug2024.prg" 0
+
+delete
+; runUntil("start", "break")
+break exec 1035
+g 1000
+delete 1
+; waitRasterline(0xFE)
+break exec 0000 FFFF if RL == $fe
+x
+delete 1
+; printMemory(0xD019, 0xD019)
+m D019 D019
+; print which cycle we've breaked after
+r
+; runUntil("otherCode", "break")
+break exec 1035
+g 1044
+delete 1
+; printCpuHistory()
+cpuhistory 20
+q
Added: testprogs/Monitor/testbench/bug2024.prg
===================================================================
(Binary files differ)
Index: testprogs/Monitor/testbench/bug2024.prg
===================================================================
--- testprogs/Monitor/testbench/bug2024.prg 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/testbench/bug2024.prg 2024-08-16 22:45:36 UTC (rev 45307)
Property changes on: testprogs/Monitor/testbench/bug2024.prg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: testprogs/Monitor/testbench/bug2025-2.mon
===================================================================
--- testprogs/Monitor/testbench/bug2025-2.mon (rev 0)
+++ testprogs/Monitor/testbench/bug2025-2.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,28 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2025/
+;
+; https://sourceforge.net/p/vice-emu/bugs/2025/#b4d6
+;
+; the instruction on that the breakpoint hit is/was repeated
+; (bug exists in 3.8, fixed in trunk)
+logname "bug2025-2.log"
+log on
+
+;break $e5ca
+;reset
+;x
+
+a $1000
+inc $1006
+jmp $1003
+brk
+
+break $1003
+
+; if we directly jump to the code (g) here, the bug occurs
+;keybuf sys4096\n
+;x
+g 1000
+
+chis 1
+m 1006 1006
+q
Added: testprogs/Monitor/testbench/bug2025-2.ref
===================================================================
(Binary files differ)
Index: testprogs/Monitor/testbench/bug2025-2.ref
===================================================================
--- testprogs/Monitor/testbench/bug2025-2.ref 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/testbench/bug2025-2.ref 2024-08-16 22:45:36 UTC (rev 45307)
Property changes on: testprogs/Monitor/testbench/bug2025-2.ref
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: testprogs/Monitor/testbench/bug2025-2b.mon
===================================================================
--- testprogs/Monitor/testbench/bug2025-2b.mon (rev 0)
+++ testprogs/Monitor/testbench/bug2025-2b.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,28 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2025/
+;
+; https://sourceforge.net/p/vice-emu/bugs/2025/#b4d6
+;
+; the instruction on that the breakpoint hit is/was repeated
+; (bug exists in 3.8, fixed in trunk)
+logname "bug2025-2b.log"
+log on
+
+;break $e5ca
+;reset
+;x
+
+a $1000
+inc $1006
+jmp $1003
+brk
+
+break $1003
+
+; if we leave the monitor (x) and re-enter it by the breakpoint, the bug goes away
+keybuf sys4096\n
+x
+;g 1000
+
+chis 1
+m 1006 1006
+q
Added: testprogs/Monitor/testbench/bug2025-2b.ref
===================================================================
(Binary files differ)
Index: testprogs/Monitor/testbench/bug2025-2b.ref
===================================================================
--- testprogs/Monitor/testbench/bug2025-2b.ref 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/testbench/bug2025-2b.ref 2024-08-16 22:45:36 UTC (rev 45307)
Property changes on: testprogs/Monitor/testbench/bug2025-2b.ref
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: testprogs/Monitor/testbench/bug2025.mon
===================================================================
--- testprogs/Monitor/testbench/bug2025.mon (rev 0)
+++ testprogs/Monitor/testbench/bug2025.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,32 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2025/
+logname "bug2025.log"
+log on
+
+;break $a7ae
+;x
+
+a $1000
+ldx #0
+ldy #0
+inx
+iny
+nop
+jmp $1007
+
+break $1005
+break $1007
+
+keybuf sys4096\n
+x
+
+r a = 1
+chis 6
+x
+
+r a = 2
+chis 6
+x
+
+r a = 3
+chis 6
+q
Added: testprogs/Monitor/testbench/bug2025.ref
===================================================================
--- testprogs/Monitor/testbench/bug2025.ref (rev 0)
+++ testprogs/Monitor/testbench/bug2025.ref 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,26 @@
+BREAK: 1 C:$1005 (Stop on exec)
+BREAK: 2 C:$1007 (Stop on exec)
+#1 (Stop on exec 1005) 285/$11d, 19/$13
+.C:1005 C8 INY - A:00 X:01 Y:00 SP:f7 ..-..... 2160478
+.C:e140 AC 0E 03 LDY $030E A:00 X:00 Y:00 SP:f6 ..-...Z. 2160459
+.C:e143 28 PLP A:00 X:00 Y:00 SP:f6 ..-...Z. 2160463
+.C:e144 6C 14 00 JMP ($0014) A:00 X:00 Y:00 SP:f7 ..-..... 2160467
+.C:1000 A2 00 LDX #$00 A:00 X:00 Y:00 SP:f7 ..-..... 2160472
+.C:1002 A0 00 LDY #$00 A:00 X:00 Y:00 SP:f7 ..-...Z. 2160474
+.C:1004 E8 INX A:00 X:00 Y:00 SP:f7 ..-...Z. 2160476
+#2 (Stop on exec 1007) 285/$11d, 23/$17
+.C:1007 4C 07 10 JMP $1007 - A:01 X:01 Y:01 SP:f7 ..-..... 2160482
+.C:e144 6C 14 00 JMP ($0014) A:00 X:00 Y:00 SP:f7 ..-..... 2160467
+.C:1000 A2 00 LDX #$00 A:00 X:00 Y:00 SP:f7 ..-..... 2160472
+.C:1002 A0 00 LDY #$00 A:00 X:00 Y:00 SP:f7 ..-...Z. 2160474
+.C:1004 E8 INX A:00 X:00 Y:00 SP:f7 ..-...Z. 2160476
+.C:1005 C8 INY A:01 X:01 Y:00 SP:f7 ..-..... 2160478
+.C:1006 EA NOP A:01 X:01 Y:01 SP:f7 ..-..... 2160480
+#2 (Stop on exec 1007) 285/$11d, 26/$1a
+.C:1007 4C 07 10 JMP $1007 - A:02 X:01 Y:01 SP:f7 ..-..... 2160485
+.C:1000 A2 00 LDX #$00 A:00 X:00 Y:00 SP:f7 ..-..... 2160472
+.C:1002 A0 00 LDY #$00 A:00 X:00 Y:00 SP:f7 ..-...Z. 2160474
+.C:1004 E8 INX A:00 X:00 Y:00 SP:f7 ..-...Z. 2160476
+.C:1005 C8 INY A:01 X:01 Y:00 SP:f7 ..-..... 2160478
+.C:1006 EA NOP A:01 X:01 Y:01 SP:f7 ..-..... 2160480
+.C:1007 4C 07 10 JMP $1007 A:02 X:01 Y:01 SP:f7 ..-..... 2160482
Added: testprogs/Monitor/testbench/bug942.mon
===================================================================
--- testprogs/Monitor/testbench/bug942.mon (rev 0)
+++ testprogs/Monitor/testbench/bug942.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,24 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/942/
+logname "bug942.log"
+log on
+
+a $1000
+sei
+inc $100a
+lda $100a
+jmp $1001
+brk
+
+watch $100a
+sw reset
+
+keybuf sys4096\n
+x
+;g $1000
+
+; first trigger
+x
+; second trigger
+x
+; third trigger
+q
Added: testprogs/Monitor/testbench/bug942.ref
===================================================================
--- testprogs/Monitor/testbench/bug942.ref (rev 0)
+++ testprogs/Monitor/testbench/bug942.ref 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,8 @@
+WATCH: 1 C:$100a (Stop on load store)
+Stopwatch reset to 0.
+#1 (Stop on load 100a) 296/$128, 55/$37
+.C:1001 EE 0A 10 INC $100A - A:00 X:00 Y:00 SP:f7 N.-..I.. 18701
+#1 (Stop on store 100a) 296/$128, 55/$37
+.C:1001 EE 0A 10 INC $100A - A:00 X:00 Y:00 SP:f7 N.-..I.. 18701
+#1 (Stop on load 100a) 296/$128, 59/$3b
+.C:1004 AD 0A 10 LDA $100A - A:EB X:00 Y:00 SP:f7 N.-..I.. 18705
Added: testprogs/Monitor/testbench/cmplogs.sh
===================================================================
--- testprogs/Monitor/testbench/cmplogs.sh (rev 0)
+++ testprogs/Monitor/testbench/cmplogs.sh 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,51 @@
+#! /bin/bash
+
+RED="\e[91;40m"
+GREEN="\e[92;40m"
+YELLOW="\e[93;40m"
+MAGENTA="\e[95;40m"
+OFF="\e[0m"
+
+
+if [ ! -f "$2" ]; then
+ echo -e $MAGENTA"Warning:"$OFF "no reference file given" for $1
+ exit 0;
+fi
+
+if [ ! -f "$1" ]; then
+ echo -e $RED"Error:"$OFF "no file given at all"
+ exit -1;
+fi
+
+echo -ne "comparing $1 and $2... "
+
+cat $1 | \
+ sed -e 's:\(^#[0-9]* (.*)\).*:\1:g' | \
+ sed -e 's:[0-9]*$::g' | \
+ sed -e 's:\(^>[C8].*\) [[:print:]]*$:\1:g' | \
+ sed -e 's:[^[:print:]]: :g' | \
+ sed -e 's: : :g' | \
+ sed -e 's: *$::g' \
+ > $1.tmp
+
+cat $2 | \
+ sed -e 's:\(^#[0-9]* (.*)\).*:\1:g' | \
+ sed -e 's:[0-9]*$::g' | \
+ sed -e 's:\(^>[C8].*\) [[:print:]]*$:\1:g' | \
+ sed -e 's:[^[:print:]]: :g' | \
+ sed -e 's: : :g' | \
+ sed -e 's: *$::g' \
+ > $2.tmp
+
+diff -q $1.tmp $2.tmp > /dev/null
+if [ $? -eq 1 ]; then
+ echo -e "[" $RED"Error"$OFF "]"
+ diff $1.tmp $2.tmp
+else
+ echo -e "[" $GREEN"OK"$OFF "]"
+fi
+
+rm -f $1.tmp
+rm -f $2.tmp
+
+exit 0;
Property changes on: testprogs/Monitor/testbench/cmplogs.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: testprogs/Monitor/testbench/goonbreak-2.mon
===================================================================
--- testprogs/Monitor/testbench/goonbreak-2.mon (rev 0)
+++ testprogs/Monitor/testbench/goonbreak-2.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,27 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2024/
+logname "goonbreak-2.log"
+log on
+a c000
+inc $c006
+jmp $c000
+brk
+
+break exec $c000
+keybuf sys49152\n
+x
+
+; first trigger, c006 should be 0
+m c006 c006
+
+z
+m c006 c006
+
+;chis 2
+q
+
+;chis 2
+;q
+; we should NOT see something like this:
+;.C:c000 EE 20 D0 INC $1006 A:00 X:00 Y:0a SP:f3 ..-...Z. 5336228
+;.C:c003 4C 00 C0 JMP $1000 A:00 X:00 Y:0a SP:f3 N.-..... 5336234
+
Added: testprogs/Monitor/testbench/goonbreak-2.ref
===================================================================
(Binary files differ)
Index: testprogs/Monitor/testbench/goonbreak-2.ref
===================================================================
--- testprogs/Monitor/testbench/goonbreak-2.ref 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/testbench/goonbreak-2.ref 2024-08-16 22:45:36 UTC (rev 45307)
Property changes on: testprogs/Monitor/testbench/goonbreak-2.ref
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: testprogs/Monitor/testbench/goonbreak.mon
===================================================================
--- testprogs/Monitor/testbench/goonbreak.mon (rev 0)
+++ testprogs/Monitor/testbench/goonbreak.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,26 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/2024/
+logname "goonbreak.log"
+log on
+a c000
+inc $c006
+jmp $c000
+brk
+
+break exec $c000
+g $c000
+
+; first trigger, c006 should be 0
+m c006 c006
+
+z
+m c006 c006
+
+;chis 2
+q
+
+;chis 2
+;q
+; we should NOT see something like this:
+;.C:c000 EE 20 D0 INC $1006 A:00 X:00 Y:0a SP:f3 ..-...Z. 5336228
+;.C:c003 4C 00 C0 JMP $1000 A:00 X:00 Y:0a SP:f3 N.-..... 5336234
+
Added: testprogs/Monitor/testbench/goonbreak.ref
===================================================================
(Binary files differ)
Index: testprogs/Monitor/testbench/goonbreak.ref
===================================================================
--- testprogs/Monitor/testbench/goonbreak.ref 2024-08-16 12:16:20 UTC (rev 45306)
+++ testprogs/Monitor/testbench/goonbreak.ref 2024-08-16 22:45:36 UTC (rev 45307)
Property changes on: testprogs/Monitor/testbench/goonbreak.ref
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: testprogs/Monitor/testbench/radix-binary.mon
===================================================================
--- testprogs/Monitor/testbench/radix-binary.mon (rev 0)
+++ testprogs/Monitor/testbench/radix-binary.mon 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,17 @@
+; related to https://sourceforge.net/p/vice-emu/bugs/1488/
+;
+; binary number without % prefix is/was incorrectly recognized as octal
+
+logname "radix-binary.log"
+log on
+
+radix B
+radix
+
+m 0000010000000000 0000010000000001
+m 1000010000000000 1000010000000001
+
+m %0000010000000000 %0000010000000001
+m %1000010000000000 %1000010000000001
+
+q
Added: testprogs/Monitor/testbench/radix-binary.ref
===================================================================
--- testprogs/Monitor/testbench/radix-binary.ref (rev 0)
+++ testprogs/Monitor/testbench/radix-binary.ref 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,5 @@
+Default radix is Binary
+>C:0400 00100000 00100000
+>C:8400 00000000 00000000
+>C:0400 00100000 00100000
+>C:8400 00000000 00000000
Added: testprogs/Monitor/testbench/readme.txt
===================================================================
--- testprogs/Monitor/testbench/readme.txt (rev 0)
+++ testprogs/Monitor/testbench/readme.txt 2024-08-16 22:45:36 UTC (rev 45307)
@@ -0,0 +1,107 @@
+VICE Monitor testbench
+-------------------------------------------------------------------------------
+
+This directory contains a collection of monitor command files, plus a makefile
+and helper script(s) to run those command files, and compare the result against
+a given reference.
+
+WIP WIP WIP - this is very much work in progress, in particular:
+
+- results are not logged except on screen
+- it will always run all tests, even if they fail (at some point, when all tests
+ are working, we want the testbench to fail by itself if any test fails)
+- many more tests are needed
+
+
+Each tests consists of:
+
+foo.mon the monitor command file (note: this file is expected to open
+ a monitor logfile "foo.log")
+foo.ref expected "correct" reference output
+foo.asm optional: an external .asm snippet (ACME) which the test can
+ use.
+
+note: have a look at eg bug2025*.mon on how to open a logfile, or how to execute
+custom assembly code.
+
+
+To add a new test:
+
+- in Makefile add "foo.log" to the RESULTS0 list
+- if the test uses an external .asm file, add "foo.prg" to the PROGS list
+
+
+configure the Makefile:
+
+- at the top set EMU to the x64sc you want to test
+
+
+run the tests:
+
+$ make clean all
+
+(you will need a bash-shell and *nix like environment, msys on windows should work)
+
+-------------------------------------------------------------------------------
+The individual tests:
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+
+bug942.mon
+
+https://sourceforge.net/p/vice-emu/bugs/942/
+
+-------------------------------------------------------------------------------
+
+bug2025-2.mon
+bug2025-2b.mon
+
+the instruction on that a breakpoint hit is/was repeated
+
+(bug exists in 3.8, fixed in trunk)
+
+https://sourceforge.net/p/vice-emu/bugs/2025/
+
+-------------------------------------------------------------------------------
+
+radix-binary.mom
+
+binary number without % prefix is/was incorrectly recognized as octal
+
+(fixed in r42582)
+
+https://sourceforge.net/p/vice-emu/bugs/1488/
+
+-------------------------------------------------------------------------------
+TODO!
+-------------------------------------------------------------------------------
+
+goonbreak.mon
+goonbreak-2.mon
+
+When jumping to an instruction, that triggers a breakpoint, with "g" in the
+monitor, this would currently NOT trigger the breakpoint (and re-enter the
+monitor) the first time that instruction is executed, but only on the second
+time!
+
+(goonbreak-2.mon failing is a regression caused by the fixes done for #2025,
+#2024 - it works in 3.8)
+
+
+bug2024.mon
+
+attempt at making a test from the original bug report. however, since this is
+not stable, it can not work
+
+https://sourceforge.net/p/vice-emu/bugs/2024/
+
+
+bug1488.log
+bug1836.log
+
+the parser has problems recognizing a hex number that is not prefixed by $ -
+which these tests demonstrate
+
+https://sourceforge.net/p/vice-emu/bugs/1488/
+https://sourceforge.net/p/vice-emu/bugs/1836/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2024-08-16 12:16:22
|
Revision: 45306
http://sourceforge.net/p/vice-emu/code/45306
Author: gpz
Date: 2024-08-16 12:16:20 +0000 (Fri, 16 Aug 2024)
Log Message:
-----------
don't crash when no image is mounted
Modified Paths:
--------------
trunk/vice/src/c1541.c
Modified: trunk/vice/src/c1541.c
===================================================================
--- trunk/vice/src/c1541.c 2024-08-14 15:44:32 UTC (rev 45305)
+++ trunk/vice/src/c1541.c 2024-08-16 12:16:20 UTC (rev 45306)
@@ -3287,7 +3287,7 @@
vdrive = drives[dnr];
format_name = image_format_name(vdrive->image_format);
- if (format_name == NULL) {
+ if ((format_name == NULL) || (vdrive->image == NULL)) {
return FD_NOTREADY; /* not quite a proper error code, but it was already
here in the code */
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|