Jump to content
IGNORED

Full-featured IDE for developing Atari 2600 games?


Jofu

Recommended Posts

Somehow I don't see what would be so incredibly useful about an IDE with builtin assembler and emulator. I mean, what would it give you that you can't have with the Visual Studio solution described by Andrew ? You don't like Visual Studio ? Use another editor. I'd suggest Emacs =)

 

You aren't happy with the existing 6502 assemblers ? Write a better one, but again, why would it need to be part of a specialized IDE ?

Edited by Tom
Link to comment
Share on other sites

I've just submitted a new project on Sourceforge for an IDE with built-in cross assembler and emulator.

 

I suppose I could just do an IDE that utilises DASM but I just fancy having a crack at writing an assembler myself.  :cool:

 

If anyone else wants to jump aboard (.NET, I'm afraid, but can use J#, C++, VB or C#) then feel free to do so.

860297[/snapback]

Are you planning on writing your own emulator?

860318[/snapback]

 

No idea at the moment. The problem is that I don't know enough about emulation at the moment beyond emulating a CPU. I would consider incorporating a version of Stella and other emulators into the project, but they would probably need some modification. :ponder: There are some features I'd like to add to any emulator added to the package.

Link to comment
Share on other sites

Somehow I don't see what would be so incredibly useful about an IDE with builtin assembler and emulator. I mean, what would it give you that you can't have with the Visual Studio solution described by Andrew ? You don't like Visual Studio ? Use another editor. I'd suggest Emacs =)

 

You aren't happy with the existing 6502 assemblers ? Write a better one, but again, why would it need to be part of a specialized IDE ?

860429[/snapback]

 

One of the reasons I like VS.NET is that everything's available at the touch of a button. It's one of the things that's put me off Java for so long.

 

I simply like fully integrated development environments. If everything that you need to develop software is available in a single package, and it works as well as other separate packages, then why use the separates? Use such a system for a time and you end up wondering how you did without it.

Link to comment
Share on other sites

I dunno, PCAEWin 2.6 runs pretty well on my system, and the debugger is pretty good.  Not to mention the emulation is pretty spot on.

 

It's highly anecdotal. I've run through two different machines, one with Win2K and one with Win2K that got upgraded to XP and neither would run PCAtariWin reliably.

Link to comment
Share on other sites

I simply like fully integrated development environments. If everything that you need to develop software is available in a single package, and it works as well as other separate packages, then why use the separates?

The thing is, more often than not the components stuffed into your typical IDE are not half as good as the dedicated separates that do only one job but well. The typical example are the builtin editors. They're far away from being as powerful as Emacs or vim. Each of them works a bit different, and I don't feel like adapting constantly to such toys, which is what they are. I rather use the same editor for everything. Same for build tools. Why would I want to find out how to tell a particular IDE that in order to build file x among other things file y must exist which is generated by running script z, if I simply can write a makefile that does the job ? Oh, I could rant on forever...

 

Use such a system for a time and you end up wondering how you did without it.

Actually it's the other way round. I wonder how I ever did with them. You know, the first thing I saw were specialized IDEs.

Link to comment
Share on other sites

I dunno, PCAEWin 2.6 runs pretty well on my system, and the debugger is pretty good.  Not to mention the emulation is pretty spot on.

 

It's highly anecdotal. I've run through two different machines, one with Win2K and one with Win2K that got upgraded to XP and neither would run PCAtariWin reliably.

860476[/snapback]

Well, since we're sharing anecdotes, PCAE runs just fine and dandy on my Win2K machine. :)

 

And the emulation is definitely NOT spot-on in some of the weirder areas, but it works well enough for probably 90% of the stuff out there.

 

And the debugger is dreamy :lust:

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 may have a steady two month block of free time to program outside of work hours over the summer (which is a big deal for a single dad like me) so I hope a debugger comes out soon otherwise I may have to finally hand Death Derby off to another developer.

Link to comment
Share on other sites

I dunno, PCAEWin 2.6 runs pretty well on my system, and the debugger is pretty good.  Not to mention the emulation is pretty spot on.

 

John did some improvements, but they've been laying dormant in an as-yet unreleased version of 2.7.  He sent me the beta recently, but he sent me the debug build which appears to have some missing link libraries, so I'm waiting for him to send me the missing files before giving it a good eval.

860344[/snapback]

Glad to hear it's not dead! The links for it have gotten so stale and broken that I thought it was lost forever.

 

It was a powerful emulator with some features that were unmatched by the other emus...but the UI was really user-hostile.

 

I did use the debugger to sucsesfully duplicate the Pterry sound from Joust, but it's also pretty tough to use...and it doesn't map memory in an intuitive way.

 

PCAEWin could be on the verge of true greatness, but it definately needs some kind of usability guy's touch...

Link to comment
Share on other sites

The thing is, more often than not the components stuffed into your typical IDE are not half as good as the dedicated separates that do only one job but well. The typical example are the builtin editors. They're far away from being as powerful as Emacs or vim. Each of them works a bit different, and I don't feel like adapting constantly to such toys, which is what they are. I rather use the same editor for everything. Same for build tools. Why would I want to find out how to tell a particular IDE that in order to build file x among other things file y must exist which is generated by running script z, if I simply can write a makefile that does the job ? Oh, I could rant on forever...

 

To me, Emacs and Vim are two reasons for HAVING specialised IDEs. I certainly don't disagree with you that standalone components will often be superior to those built into IDEs. But the reason for that, of course, is that the IDE developers tend to spend more time tweaking the IDE itself and less time working on the tools embedded in it.

 

I think this is where you and I are very different. I'm lazy. I need everything within easy reach. I don't want to be swapping between various command line programs. Just to give you an example ... I've been developing software on various platforms for almost 20 years now ( :-o ), including various flavours of assembler and C/C++ ... and I've NEVER created a makefile. I don't even know what a makefile does. Just never been something I've been interested in finding out more about.

 

For me, command line software is a thing of the past. Still use them from time to time, but only when I have little choice in the matter. It was one reason why I hated Java so much when I first used it.

Link to comment
Share on other sites

I dunno, PCAEWin 2.6 runs pretty well on my system, and the debugger is pretty good.  Not to mention the emulation is pretty spot on.

860519[/snapback]

I don't know about this. It seems that PCAE always fails to implement more obscure features ahead of time, like other emulators do.

 

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.

 

Also, PCAE is written in Delphi with inline x86 assembly, which means that porting to platforms other than x86/DOS/Windows is nearly impossible, while Z26 and especially Stella can run on multiple platforms. Plus, there's talk of an integrated debugger coming out for Stella.

Link to comment
Share on other sites

They're far away from being as powerful as Emacs or vim.

860488[/snapback]

Personally, I can't stand vim. Its UI is so counter-intuitive, probably since it was made back in a time when keyboards had 48 keys and hasn't been adequately changed since then. It bothers me is when I use a minimal UNIX-based system that only has vi/vim... I use cat >file since I can do more with this without having to read the damn man file yet again.

 

But with the editors in a IDE, they are all pretty much the same, and therefore if you know one, you know them all.

Link to comment
Share on other sites

I've always ended up on the "old school" side of things when it comes to IDEs. I would say that IDE development can be powerful, but with the possible exception of use of certain debuggers, people who do it manually tend to have a better idea of what's going on when something goes wrong...especially if the IDE-user has relied to much on wizards and what not.

 

Also, the non-IDE is more likely to be able to put together fully automated scripts for nightly runs.

Link to comment
Share on other sites

Hi there!

 

I use Textpad for development, having DASM and Z26 fully integrated into it.

 

As for a debugger, I'd be interested in what benefits everyone is expecting here?

 

I think don't having one will be the better "teacher". You'll learn so much more the hard way. The debugger just helps those who don't know what they're doing :)

 

Definitely it won't be the miracle tool for having someone getting his stuff done. Really, sorry Glenn, but the debugger argument just sounds like a lame excuse. A debugger might be a helpful tool in certain cases, but I can't believe that the success of a project will depend on it.

 

In real life, you can't go to your boss saying "I can't finish project XXX, because we don't have a Perl debugger with Trace Mode" or something like that either. Or "Hey, couldn't we buy BoundsChecker for the Visual Studio? I'd only have half the memory leaks then" ;)

 

Greetings,

Manuel

Link to comment
Share on other sites

The debugger just helps those who don't know what they're doing :)

 

I've seen that sort of people stepping through the same piece of code again and again, without getting anywhere. Quite fun to watch actually :D

Link to comment
Share on other sites

Hi there!

 

I use Textpad for development, having DASM and Z26 fully integrated into it.

 

As for a debugger, I'd be interested in what benefits everyone is expecting here?

 

I think don't having one will be the better "teacher". You'll learn so much more the hard way. The debugger just helps those who don't know what they're doing

865313[/snapback]

I agree on the learning thing... I don't think a debugger or lack of one is going to help anyone learn any quicker, in fact a debugger might hinder some beginners, because it may encourage one to hack and hack until the code works, which is not generally a good way to program.

 

But I think it will be very helpful to those who have already got their feet wet with 2600 programming, namely it may increase development speed. I have to say that I welcome the addition of the debugger in Stella 2.0!

 

Sometimes I just can't find the source of a bug by only looking at the code. Therefore I design tests to try to see what is causing the problem, usually a bug trap - an infinte loop or other condition if an invalid value is obtained, but sometimes I need to design more elaborate tests. One bug I remember was so subtle and elusive that I modified the score display routine to display memory contents to the screen so I could figure out what was happening. But once I saw the values on the screen I immediately knew the problem.

 

So yes, I can live without a debugger, and I'll still get my stuff done. But all this stuff takes time, a commodity that many of us lack. An integrated debugger would obviate the need for me to design such tests. For example, the ability to set a breakpoint and single-step through my code here would probably have allowed me to track the bugs down very quickly.

Link to comment
Share on other sites

As for a debugger, I'd be interested in what benefits everyone is expecting here?

...

The debugger just helps those who don't know what they're doing :)

865313[/snapback]

 

While in this context I don't disagree with your opinion at all, as someone who doesn't know what he's doing I can explain a benefit which would have been nice.

 

The other day I converted a simple 2 sprite demo I was making into a 2 line kernel. For a day (well, the time I had to devote to vcs programming that day) I couldn't figure out why it messed up my sprite display.

 

The problem and the solution were completely obvious. I was changing the Y vals of the sprites, whether on joystick input or automatic, by only one scanline. So on the "wrong" scanline the sprite graphics would be offset by one because the sprite drawing routine realized that we were already one scanline into that sprite's vertical space and offset accordingly.

 

This is a really obvious problem and it's almost embarrassing to admit I didn't see it immediately. But it was my first multiline kernel and I didn't.

 

I couldn't sleep the other night and at about 3:30AM I realized what was wrong. After that it took about 2 minutes to fix.

 

If I had had a debugger, however, I could have seen the obvious mistake immediately.

 

So, yeah, it would have helped someone who didn't know what he was doing. But I just started this stuff and don't think there's anything wrong with that. :)

 

I thought about using a score routine to display relevant stuff at the appropriate time to look into it but since I don't know what I'm doing I haven't yet learned how to draw scores and didn't know how. :)

 

Damn. This is completely irrelevant but I was just struck by how much debugging by printf()rocks.

Link to comment
Share on other sites

Hi there!

 

Hehe, well, but don't you think you learned a whole lot more now than when you'd have just seen your mistake in the debugger?

 

You probably read the same code passages 30-40 times, trying this, trying that and you really had to _think_ about what you were trying to do. Amazing learning process!

 

As a printf() replacement, try framing suspicous code passages with useless instructions like

 

LDA $2222

 

and then activate the trace log in Z26... ;)

 

Greetings,

Manuel

Link to comment
Share on other sites

Hehe, well, but don't you think you learned a whole lot more now than when you'd have just seen your mistake in the debugger?

Don't mean to speak for him but I wouldn't be surprised if the answer is "Nah".

As a printf() replacement, try framing suspicous code passages with useless instructions like

 

LDA $2222

 

and then activate the trace log in Z26... ;)

Who has time to do THAT during a kernal???

Link to comment
Share on other sites

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. :)

Link to comment
Share on other sites

Definitely it won't be the miracle tool for having someone getting his stuff done. Really, sorry Glenn, but the debugger argument just sounds like a lame excuse.

 

That's a low blow and an elitist statement.

 

It's like you are saying if you can't code without a debugger then you shouldn't bother?

 

Well, most 2600 development back in the day made use of all sorts of tools, logic analyzers and ROMulators with debuggers (Doug Neubauer built something special for his IBM PC to develop Solairs). Were these "crutches" or did they enable them to get more done?

 

So I don't think it's at all unreasonable to ask for a debugger.

 

I'm not trying to say that having a debugger magically makes it so I could finish the game. I could still fall into another dead-end. I'm just saying that it's my best chance of finishing the game.

Link to comment
Share on other sites

Everybody who codes for the 2600 is short on time, since everybody is doing it in their spare time. A debugger would help speed the process along, so :thumbsup: from me. Besides, a debugger already exists (PCAE) and it hasn't killed the 2600 homebrew scene or anything. Much ado about nothing, if you ask me.

Link to comment
Share on other sites

Hi there!

 

Definitely it won't be the miracle tool for having someone getting his stuff done. Really, sorry Glenn, but the debugger argument just sounds like a lame excuse.

 

That's a low blow and an elitist statement.

 

...

 

I'm not trying to say that having a debugger magically makes it so I could finish the game. I could still fall into another dead-end.

866466[/snapback]

 

Uhm... you're just reapeating what I said, but when I do it's a "low blow"?

 

Anyway, once the Stella debugger is ready I hope you're motivated enough to prove me wrong by finishing your game :)

 

Greetings,

Manuel

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...