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 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)
2014-06-20 17:24
Endurion

Registered: Mar 2007
Posts: 73
Media handling (attach disk/tape)
Warp mode toggling

It might help if you tell what does test programs do
2014-06-20 17:28
chatGPZ

Registered: Dec 2001
Posts: 11386
what the test programs do doesnt matter at all, as said, what i listed in the first post is sufficient for the testing stuff. all i wanted to know is other things that perhaps could be useful and fit the "everything should be triggered by writing to certain registers" idea. oh well o_O
2014-06-20 20:57
Martin Piper

Registered: Nov 2007
Posts: 722
Quote: *sigh* i give up. (try -console and -moncommands)

Except on the Windows version the console and monitor commands don't quite offer the combination of functionality that was described.

Last version I tried it with VICE 2.4:

x64.exe -console
Result: VICE Error! Cannot set cooperative level: Parameter not valid


If I use: x64.exe -moncommands monitorExec.txt
Where monitorExec.txt contains:
l "C:\work\C64\BlankProjectComp\BlankProjectComp.prg" 0
w c000
g 80d

Then VICE (the whole Windows process, not the C64) crashes. :)
2014-06-21 05:50
Testicle
Account closed

Registered: Sep 2002
Posts: 131
Quote: *sigh* i give up. (try -console and -moncommands)

You seem to have a very low frustration tolerance limit. ;-)
2014-06-21 10:23
chatGPZ

Registered: Dec 2001
Posts: 11386
not at all, i just dont plan to continue this discussion when noone bothers to even read the question.

and i dont care about people not being able to use a proper shell (nor filing a proper bug report) either :)
2014-06-21 16:08
Stone

Registered: Oct 2006
Posts: 172
@Martin: I have used VICE scripting to automate song compiling with my native tracker. I modified the compiler to jump to a certain address ($cfff) after completion. This works even with VICE 2.4 on windows.

The command line I use is something like this:

x64.exe -drive8type 1541 -drive9type 1541 -autostart autocomp.d64 -9 temp.d64 -moncommand commands.txt -warp -logfile vice.log +sound -console 

commands.txt is
break cfff
command 1 "quit"

(Sorry for staying off topic..)
2014-06-21 16:59
chatGPZ

Registered: Dec 2001
Posts: 11386
btw, that stuff isnt suited for the testsuite, because having a very simple "test cartridge" as described in the first post makes it possible to use the testsuite with another emulator with very little effort for the emulator author (i expect at least bero to jump on it as well once implemented)
2014-06-22 05:48
Martin Piper

Registered: Nov 2007
Posts: 722
Quote: @Martin: I have used VICE scripting to automate song compiling with my native tracker. I modified the compiler to jump to a certain address ($cfff) after completion. This works even with VICE 2.4 on windows.

The command line I use is something like this:

x64.exe -drive8type 1541 -drive9type 1541 -autostart autocomp.d64 -9 temp.d64 -moncommand commands.txt -warp -logfile vice.log +sound -console 

commands.txt is
break cfff
command 1 "quit"

(Sorry for staying off topic..)


Interesting. The +sound parameter allows -console to work without an error.

However there still doesn't seem to be a way to automatically save a BMP screenshot from the emulator and then quit once the breakpoint is hit.

The monitor "command" wants to use quotes and the scrsh command expects quotes so they're not compatible with each other.
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
ΛΛdZ
csabanw
Acidchild/Padua
Guests online: 98
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 Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

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