Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > VICE debug interface
2014-06-19 15:03
chatGPZ

Registered: Dec 2001
Posts: 11386
VICE debug interface

i want to add some simple mechanisms to VICE that will help with automatic regression testing (there are over 800 test programs now, running them all manually takes several hours) - this stuff might be interesting for coders writing c64 software as well, so before i start i am looking for some more ideas on what might be useful.... the whole thing would be implemented as either a cartridge or some special i/o device, so basically everything should be triggered by writing to certain registers. the minimal functionality i came up with looks like:
- exit vice with exit code (to signal the test suite success or error)
- print a string to console (with some kind of "printf" like functionality, so you can print contents of registers/memory easily)

what else may be useful?
 
... 32 posts hidden. Click here to view all posts....
 
2014-06-20 10:03
Oswald

Registered: Apr 2002
Posts: 5094
its been a long time since I didnt understand an english sentence, so thank you for that :)
2014-06-20 10:16
Krill

Registered: Apr 2002
Posts: 2980
It's been a long time since my contributions to VICE, so my info may be a bit outdated. I just meant that when debugging a virtual machine, you're dealing with two code levels, the code running inside the VM and the actual VM code. Breakpoints can be set in either of them, but i'm not sure if you can currently run some code inside the VM to comfortably break into a debugger for the VM code itself.

With "comfortably" i mean not simply setting a breakpoint on some VM code which would trap into the debugger whenever passing it, but trigger that breakpoint from guest code running inside the VM depending on guest program state. Effectively, that would just require a special op-code or accessing a special IO register.

But i guess with the focus on regression testing, this is really not required.
2014-06-20 10:26
chatGPZ

Registered: Dec 2001
Posts: 11386
WAT

please forget "VM" and try again =)
2014-06-20 10:26
Krill

Registered: Apr 2002
Posts: 2980
Hmm, still off-topic, but generally a "hypervisor call" capability would be nice. Pass a string to VICE which would then be parsed and executed by VICE itself or some external means, with the result being passed back to the program running inside VICE.
2014-06-20 10:28
Krill

Registered: Apr 2002
Posts: 2980
Quote: WAT

please forget "VM" and try again =)


Note sure what you mean. VM in this case is VICE, as an emulator implements a virtual machine.
2014-06-20 10:40
chatGPZ

Registered: Dec 2001
Posts: 11386
i know that. however what you wrote requires interaction with not only the vice code, but also with whatever debugger is attached to it - thats completely beyond the scope of the original question, and probably not even possible in any practical way. remember this is a portable real world program that runs on dozens completely different environments, with completely different capabilities and architectures =P
2014-06-20 11:37
Oswald

Registered: Apr 2002
Posts: 5094
thanks I got it :)
2014-06-20 14:42
Flavioweb

Registered: Nov 2011
Posts: 463
What about a "redirect to console" to redirect monitor output that can be saved directly to a file?
Can be useful to save to file the output of trace command or similar things...
2014-06-20 14:54
Martin Piper

Registered: Nov 2007
Posts: 722
Headless mode with simple scripting.
So Vice would run without window at maximum warp in command line only mode.
It would run a simple script saying something like:
Load xxx.prg
Run for xxxx cycles
Or run until watch or break
Report memory at xxxx to yyyy to stout
Write C64 screen to file xxxx.bmp

This would let you run automated tests and capture test evidence for analysis.
2014-06-20 15:45
chatGPZ

Registered: Dec 2001
Posts: 11386
*sigh* i give up. (try -console and -moncommands)
Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Guests online: 97
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Graphicians
1 Mirage  (9.8)
2 Archmage  (9.7)
3 Pal  (9.6)
4 Carrion  (9.6)
5 Sulevi  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.058 sec.