Revision: 45710
http://sourceforge.net/p/vice-emu/code/45710
Author: gpz
Date: 2025-06-30 22:43:43 +0000 (Mon, 30 Jun 2025)
Log Message:
-----------
test related to #2148
Modified Paths:
--------------
testprogs/testbench/dtv-testlist.in
testprogs/testbench/x64dtv-testlist.txt
Added Paths:
-----------
testprogs/DTV/dummy/
testprogs/DTV/dummy/Makefile
testprogs/DTV/dummy/incbank.asm
testprogs/DTV/dummy/incbank.prg
Added: testprogs/DTV/dummy/Makefile
===================================================================
--- testprogs/DTV/dummy/Makefile (rev 0)
+++ testprogs/DTV/dummy/Makefile 2025-06-30 22:43:43 UTC (rev 45710)
@@ -0,0 +1,8 @@
+
+all: incbank.prg
+
+incbank.prg: incbank.asm
+ acme -f cbm -o incbank.prg incbank.asm
+
+clean:
+ $(RM) incbank.prg
Added: testprogs/DTV/dummy/incbank.asm
===================================================================
--- testprogs/DTV/dummy/incbank.asm (rev 0)
+++ testprogs/DTV/dummy/incbank.asm 2025-06-30 22:43:43 UTC (rev 45710)
@@ -0,0 +1,80 @@
+
+; #2148 Wrong Bank for RMW Instructions in C64DTV
+
+ !to "bug.prg",cbm
+ !cpu c64dtv2
+ * = $0801
+
+ !by $0b,$08,$00,$00,$9e,$32,$30,$36,$31,$00,$00,$00
+
+ sei
+ ;copy "code4000" to bank 1
+ ldx #$00
+- lda code4000,x
+ sta $4000,x
+ inx
+ bne -
+ jmp $4000
+
+testcode:
+ ldy #$ff
+ sty $0800
+
+ ;here is the bug:
+ ;inc first write (Value $ff) goes into wrong bank (bank 0)!!!
+
+ inc $0800
+ rts
+
+code4000:
+!pseudopc $4000 {
+ ;copy code to bank 1
+
+ ldx #$00
+- lda $0800,x
+ sta $4100,x
+ inx
+ bne -
+
+ ;switch bank 0 to segment $7f
+ sac #$cc
+ lda #$7f
+ sac #$00
+
+ ;copy back the code, but now in the segment at $7f
+- lda $4100,x
+ sta $0800,x
+ inx
+ bne -
+
+ ;call the test code in bank $7f
+ jsr testcode
+
+ ;set segment 0 to bank 0
+ sac #$cc
+ lda #$00
+ sac #$00
+
+ ;check if bank 0 was modified -> error
+ ldx #5
+ ldy #$00 ;success
+
+ lda $0800
+ beq no_error
+ ldx #10
+ ldy #$ff ; failure
+no_error:
+ stx $d020
+ sty $d7ff
+ rts
+}
+
+
+
+
+
+
+
+
+
+
Added: testprogs/DTV/dummy/incbank.prg
===================================================================
(Binary files differ)
Index: testprogs/DTV/dummy/incbank.prg
===================================================================
--- testprogs/DTV/dummy/incbank.prg 2025-06-30 22:07:34 UTC (rev 45709)
+++ testprogs/DTV/dummy/incbank.prg 2025-06-30 22:43:43 UTC (rev 45710)
Property changes on: testprogs/DTV/dummy/incbank.prg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/x-commodore-exec
\ No newline at end of property
Modified: testprogs/testbench/dtv-testlist.in
===================================================================
--- testprogs/testbench/dtv-testlist.in 2025-06-30 22:07:34 UTC (rev 45709)
+++ testprogs/testbench/dtv-testlist.in 2025-06-30 22:43:43 UTC (rev 45710)
@@ -17,6 +17,7 @@
../DTV/dmablit/,dmatest.prg,interactive,0
#TODO:
#../DTV/dmatime,dmatime.prg,exitcode
+../DTV/dummy/,incbank.prg,exitcode,30000000
../DTV/fulltime/,fulltime.prg,interactive,0
../DTV/fulltime/,fulltime_dtv.prg,interactive,0
#TODO:
Modified: testprogs/testbench/x64dtv-testlist.txt
===================================================================
--- testprogs/testbench/x64dtv-testlist.txt 2025-06-30 22:07:34 UTC (rev 45709)
+++ testprogs/testbench/x64dtv-testlist.txt 2025-06-30 22:43:43 UTC (rev 45710)
@@ -18,6 +18,7 @@
../DTV/dmablit/,dmatest.prg,interactive,0
#TODO:
#../DTV/dmatime,dmatime.prg,exitcode
+../DTV/dummy/,incbank.prg,exitcode,30000000
../DTV/fulltime/,fulltime.prg,interactive,0
../DTV/fulltime/,fulltime_dtv.prg,interactive,0
#TODO:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|