Re: [stella] Announce: Z26 on Linux!

Subject: Re: [stella] Announce: Z26 on Linux!
From: "B. Watson" <atari@xxxxxxxxxxxxxx>
Date: Fri, 16 Apr 2004 13:30:49 -0400 (EDT)

On Fri, 16 Apr 2004, Rob wrote:

> On Friday 16 April 2004 11:12, B. Watson wrote:
> > Actually, I've got an idea about debugging... why not use a
> > network protocol, and have Stella and Z26 both implement it?
> > That way, anyone could write a client, with any UI desired. It
> > would be an ASCII line-oriented protocol, like STMP or POP3,
>
> That would be AWESOME.  And if I could figure out how to write a
> more or less dasm-compatible source parser that would integrate
> with the debugger, it would be awesome-er ;)

Just use DASM itself, why not? Have your client generate a DASM
source file, replete with `processor 6502' and `include vcs.h' at
the top, with the code you want to patch the ROM with and an ORG
of $F000 or so. Then run DASM on the generated file, and read its
output.

The only thing that wouldn't work properly would be relative jumps (BNE,
etc), but you could easily alter the machine code after you read it in.

Your client could even read DASM's symbol table or listing, and include
EQU's for all the symbols in the ROM you're debugging. My old CLI-based
debugger for Stella did this (for disassembly. It didn't have an assembler
at all).

All you need is the ability to read & write files and spawn external
processes. No need for I/O redirection, even, so it should work portably
across *NIX/Windows/MacOS9 platforms.  Another thought might be to turn
DASM into a library (replace main() with a function that operates on a
linked list of strings of code, or something). Either way, the goal is
to re-use the existing code in DASM instead of trying to write your own
mostly-compatible version.

In the network protocol I'm envisioning, something like this definitely
belongs on the client side. The server just needs to support `poking'
arbitrary data into ROM. There could be a portable client library that
implements the client side of generic operations like this, so someone
writing a debugger client would just need to concentrate on his UI
instead of re-inventing low-level network stuff.

This is starting to get off-topic for [stella], so if you reply to
this, reply to the From address (me) instead of the Reply-to (the
list)... unless the moderators decide it isn't off-topic. Who *is*
in charge these day? The biglist.com page doesn't say...

--
Brian

----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


Current Thread