set valuetext [format" (value 0x%02X)"$::wp_last_value]
50
}
51
puts[format"VDP $last_access_type on port 0x%02X followed by a $access_type${valuetext} on port 0x%02X on address $pc and time $current_time with too few cycles in between: $cycles (< $cycle_max)"$last_access_port$port]
52
lappend address_list $pc
53
set address_list [lsort$address_list]
54
puts"Sorted list of addresses where too fast I/O is done: $address_list"
55
if{$enable_break}{
56
debug break
57
}
58
}
59
}else{
60
if{$debug}{
61
if{!$screen_enabled}{
62
set reason "screen is disabled"
63
}elseif{$vblank}{
64
set reason "in vblank"
65
}else{
66
set reason "last access was $cycles cycles ago, >= $cycle_max"
67
}
68
puts[format"VDP I/O $access_type to port 0x%02X OK on address: 0x$pc, $reason"$port]
69
}
70
}
71
set last_access_time $current_time
72
set last_access_port $port
73
set last_access_type $access_type
74
}
75
76
proctoggle_vdp_access_test{}{
77
variable is_enabled
78
variable watchpoint_write_id
79
variable watchpoint_read_id
80
variable address_list
81
variable ioports
82
83
if{!$is_enabled}{
84
set watchpoint_write_id [debug set_watchpoint write_io $ioports{}{vdp_access_test::check_time "write"}]
85
set watchpoint_read_id [debug set_watchpoint read_io $ioports{}{vdp_access_test::check_time "read"}]