YACE64 Logo

The Commodore 64 Emulator with the extra dimension

Home Introduction Features Screenshots Download Links Help About
Commodore 64


The VIC II debugger lets you analyse what the 6569/6572 is doing at which 6510 CPU cycle. You can smoothly zoom in to see more detail - down to the executed CPU assembler commands.

Further more you can set breakpoint at any rasterline and single step through the running program.

Select the view from the View menu
Menu for VIC Debugger


The VIC debugger lets you set breakpoints for individual rasterlines by checking the checkbox at the start of each line. Use left mouse button to select a rasterline and a cycle. Use the right mouse button to toggle a marker.

When the debugger reaches the end of the frame, the data and a screenshot will automtically saved into your "Documents/YACE" folder under the name VIC.bmp and VIC.csv.

You can open the VIC.csv file with a program like excel. The columns are separated with semicolons.

Each cells contain the following informations:

See the complete list below.


Double click left mousebutton to toggle a mark for rasterline and cycle
Click right mousebutton to toggle a breakpoint for a rasterline
Shift + left mousebutton and move up/down to zoom in/out
Left mousebutton and move to move view when zoomed in

To pause, step and continue running use the control menu.


The first zoomlevel shows the read color and pixel informations:
VIC debugger

The next zoomlevel also shows the "bad lines" and the ready states:
VIC debugger

The third zoomlevel shows the VICs memory access cycles, IRQs, adress changes and much more (see details below):
VIC debugger

The forth and fifth zoomlevel adds more details to the memory access cycles and the executed 6510 CPU assembler code:
VIC debugger


 M+  Videomode changed (0..7)
 MX  CPU Memory configuration changed
 X+/-  CPU Ready set/cleared
 B+/-  Badline condition set/cleared
 V+/-  Verticalborder Flipflop set/cleared
H+/-  Horizontalborder Flipflop set/cleared
 R>  Rasterline IRQ set/released
 R+  Rasterline IRQ position set
 D+/-  Display enable/disable (setting the register)
 S&  Baseaddress of screen-memory changed
 B&  Baseaddress of bitmap-memory changed
 C&  Baseaddress of char-memory changed
 G$  G-access (access to bitmaps graphics)
 C$  C-access (access to color memory)
 c$  C-idle-access
 RC0  Rowcounter reset
 S>  Sprite/Sprite collision IRQ set/released
 B>  Sprite/Background collision IRQ set/released
 @P  Sprite P-access (Access the sprite data pointer)
 @S  Sprite S-access
 @+/-  Sprite DMA on/off