Jump to content
IGNORED

Full-featured IDE for developing Atari 2600 games?


Jofu

Recommended Posts

In particular, Z26 and Stella both implement a more accurate 6502 core, in that the authors thought ahead and implemented illegal opcodes that have never been used in any homebrew, and further implement obscure features of the 6502 like dummy writes and dummy fetches even though no homebrew yet relies on these (except mine!)  It seems that the PCAE author instead waits to see what new homebrews do and fixes PCAE after the fact, if at all.

AFAIK PCAE hasn't been developed further for years now. The illegal opcode support wasn't implemented into Stella until v1.3. And obscure features are probably implemented as soon as the emulator developers know about them. Not before.

 

Nobody is a visionary. :)

866338[/snapback]

I guess you would know about illegal opcodes... Being probably the first to use them.

 

But I think that Kroko was the first to suggest exploiting the dummy fetches, and I was the first to try it out on emulators, and I found that the support was already written into Z26 and Stella, but not PCAE. Though it might not have been in either emulator the last time PCAE was updated.

Link to comment
Share on other sites

I'm confident that we'll have a debugger in the next major release of Stella and the debugger will be built in. I've spoken to the current maintainer and he's also posted about the subject. Meanwhile, I am also working on a debugger myself and hopefully some of my work may become part of the Stella debugger.

I'm only now seeing this thread and responding to it. I'm the current maintainer you speak of, and yes, there will be an integrated debugger in the next release of Stella. We hope to have the 2.0 release ready for August/September, but a beta version may be available to certain developers before that.

 

From my POV, the hardest part with integrating a debugger was that we needed an internal GUI. We now have that, borrowed from the ScummVM project.

 

The second part is the debugger backend. There was actually one written for Stella 1.1, almost 3 years ago. Now it's being converted to C++ and tied into the GUI debugger console.

 

The first version of the debugger probably won't contain everything that everyone wants, but it should be enough to do the basics. Stuff like changing RAM, setting breakpoints, stepping and tracing code, etc. Future features will include ROM disassembly and loading symbols/comments from a symbols file, and possibly integrating DASM and allowing code to be changed on-the-fly and immediately running in the emulation.

 

I'm attaching a screenshot of the current debugging console from the CVS code. This interface will probably change slightly. Also, please no requests at this time. I've got a list as long as my arm (literally) of debugger features, so it's likely I already know what you want.

 

Steve

post-1512-1118271128_thumb.png

Link to comment
Share on other sites

Cool!

 

Not so much a unique request, but the symbols table / listfile thing would be pretty crucial...one of those things thats relatively easy for a computer to do but a pain in the ass for a human...

871229[/snapback]

We'll probably have the disassembly show the opcodes in assembler (vs. in machine language) for the next release. What I was referring to was the ability to load in the output from DASM and have the disassembly show your comments, user-defined labels, etc. This one may not make it into the next release, but you can be sure that it'll be implemented eventually.

 

Also, the debugger backend just got tied to the GUI frontend last night, but only 'quit' is implemented right now. I'm attaching a screenshot ...

 

Steve

post-1512-1118326266_thumb.png

Link to comment
Share on other sites

Also, please no requests at this time.  I've got a list as long as my arm (literally) of debugger features, so it's likely I already know what you want.

 

Make that debugger scriptable (embed Lua, Tcl or whatever) and let people implement their own features.

Sorry, but I had to :)

 

Seriously, say your debugger core written in C/C++ provides a number of simple functions to the embedded scripting language, for instance: read byte from ram, write byte to ram, send text to debugger console.

This would allow users to do all kinds of complex stuff, such as memory dumps* or comparisons of whole memory ranges.

 

Btw, I'm just throwing around ideas here. I don't expect you to make a scriptable debugger just because I think it would be useful.

 

*)Even to a file, if the embedded language is able to do file I/O by itself.

Edited by Tom
Link to comment
Share on other sites

Just a quick update on the debugger status in Stella. Things are proceeding nicely, and I'm attaching a few snapshots from the current CVS code:

 

The console prompt showing some of the available commands (after typing help)

 

post-1512-1118872901_thumb.png

 

And the new cheat option. I initially searched all of RAM (128 bytes), returned to the game and lost a life, then came back and entered '-1'. In this case, it meant find all RAM locations that have decreased by 1. It found the specified address, which is the one used for lives. Double-clicking on that entry allows you to enter another value!

 

post-1512-1118872910_thumb.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...