Jofu Posted April 25, 2005 Share Posted April 25, 2005 Hello guys, I was thinking of doing some programming for the Atari 2600, and started reading a bit on the subject here and there. I've programmed various platforms, and invariably there would always be at least one (mostly) complete IDE available for it. Now, it seems there is no such thing for the 2600 (unless of course I missed it )... Quite frankly, I was surprised about that... There seems to be a fair amount of people willing to spend time working on the 2600, yet nobody spent time on development tools? By fully-featured IDE, I mean something like, say, MS Visual C++ and would contain the following capabilities (I might have missed a few fundamental things, since I'm not yet too familiar with developing on the 2600): -Emulator portion -Cycle-perfect emulation of the whole 2600 console -Cycle-perfect emulation of a TV (with ability to specify different parameters) -Ability to set breakpoints, step-over, step-in, step-out, etc. -Ability to inspect and modify hardware register values in real-time -Editor portion -Text editing -Color highlighting -Macro/preprocessing support -Usual copy/cut/paste features -Built-in help -Compiler portion -Your usual compiler features Of course, some parts (like the compiler) could really be done by calling already existing applications, like DASM, so as to avoid reinventing the wheel for no reason For those that have been actually developing games for the 2600, what do you think of the above? Do you think it's mostly fluf which wouldn't really help with development? Anyway, looking forward to your input and comments! Geoff Quote Link to comment Share on other sites More sharing options...
+batari Posted April 25, 2005 Share Posted April 25, 2005 I've programmed various platforms, and invariably there would always be at least one (mostly) complete IDE available for it. ... For those that have been actually developing games for the 2600, what do you think of the above? Do you think it's mostly fluf which wouldn't really help with development? 843410[/snapback] Are you saying that someone has put together an IDE for other classic platforms? If so, which ones? I think an IDE would be cool, but I think all anyone here needs is a debugger. The ability to set breakpoints, single-step and all that would be nice. I hear that the Stella team might integrate this into the next major release, due this summer. Let's keep our fingers crossed. Quote Link to comment Share on other sites More sharing options...
Jofu Posted April 25, 2005 Author Share Posted April 25, 2005 Are you saying that someone has put together an IDE for other classic platforms? If so, which ones? I think an IDE would be cool, but I think all anyone here needs is a debugger. The ability to set breakpoints, single-step and all that would be nice. I hear that the Stella team might integrate this into the next major release, due this summer. Let's keep our fingers crossed. 843425[/snapback] Ah sorry... I meant for newer platforms like PS1, PS2, GC, XBox, PSP, etc... I guess my question is valid for all classic consoles, but more so for the 2600, since it should be the simplest (I think!!!) console out there. A debugger would be a great step if Stella does indeed include such feature! But I was talking about a fully-featured IDE, which would support everything from writing code to debugging, because it's many times necessary/convenient to just make a quick and small change in the code, and press F5/F7 to re-run the thing, without having to toggle between 2 or 3 apps while remembing not to skip a step in the process Looks like all the parts are out there really, just not in one package. I just saw that 6502 debugger, and then there's Stella, and of course your favorite editor, etc... Geoff Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted April 25, 2005 Share Posted April 25, 2005 But I was talking about a fully-featured IDE, which would support everything from writing code to debugging, because it's many times necessary/convenient to just make a quick and small change in the code, and press F5/F7 to re-run the thing, without having to toggle between 2 or 3 apps while remembing not to skip a step in the process Looks like all the parts are out there really, just not in one package. I just saw that 6502 debugger, and then there's Stella, and of course your favorite editor, etc... Geoff I have my whole development environment integrated into Microsoft Visual Studio 2005 Beta 1, which was (is?) a free download. I edit the source, hit F7 and it assembles using DASM and if there are no errors it downloads to hardware using Krokodile Commander. Then all I have to do is power-cycle my '2600. Anyone wanting help setting up Visual Studio for Atari development, drop me a note. It's quite straightforward, just a few custom compile settings on the file, and some post-build configuration stuff. The IDE is pretty much designed for this sort of customisation. The only thing anyone really needs is a debugger. But that would spoil things, IMHO. Quote Link to comment Share on other sites More sharing options...
Jofu Posted April 25, 2005 Author Share Posted April 25, 2005 I have my whole development environment integrated into Microsoft Visual Studio 2005 Beta 1, which was (is?) a free download. I edit the source, hit F7 and it assembles using DASM and if there are no errors it downloads to hardware using Krokodile Commander. Then all I have to do is power-cycle my '2600. Anyone wanting help setting up Visual Studio for Atari development, drop me a note. It's quite straightforward, just a few custom compile settings on the file, and some post-build configuration stuff. The IDE is pretty much designed for this sort of customisation. 843479[/snapback] Ah, this is quite close to what I'm talking about The only thing anyone really needs is a debugger. But that would spoil things, IMHO. 843479[/snapback] In which way would it spoil things? Geoff Quote Link to comment Share on other sites More sharing options...
mos6507 Posted April 25, 2005 Share Posted April 25, 2005 I've been asking for a debugger for Stella for years. It's in the pipeline but I don't know if it will ever get done. It's a miracle that 2600 games get coded without debuggers. The only saving grace going that route is the small ROM sizes, but some homebrews are greater than 4K. You have to really be intimate with your code and I found I was wasting too much time in trial and error debugging to get anything done. Quote Link to comment Share on other sites More sharing options...
Ikrananka Posted April 25, 2005 Share Posted April 25, 2005 (edited) I've been looking at the following Z80 IDE as a potential for programming the ColecoVision. Seems to do most of what you're asking for but only covers the CPU. At least it clearly shows the values of the registers as the code executes. Bit off-topic as not suitable for the Atari 2600 so sorry. Edited April 25, 2005 by Ikrananka Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted April 26, 2005 Share Posted April 26, 2005 It's a miracle that 2600 games get coded without debuggers. The only saving grace going that route is the small ROM sizes, but some homebrews are greater than 4K. You have to really be intimate with your code and I found I was wasting too much time in trial and error debugging to get anything done. The only reason I got Red Box/Blue Box debugged was because three years after writing the core code I got a CC2, which meant a 15 second turnaround for code changes, rather than multiple minutes for burning chips. As for the 7800, it's capable enough that I wrote my own debugger which I talk to via an RS-232 link to the right joystick port. At just over 2K, it could run in 2600 mode, but it wouldn't be too useful. Quote Link to comment Share on other sites More sharing options...
conda Posted April 26, 2005 Share Posted April 26, 2005 I've been looking at the following Z80 IDE as a potential for programming the ColecoVision. Seems to do most of what you're asking for but only covers the CPU. At least it clearly shows the values of the registers as the code executes. Bit off-topic as not suitable for the Atari 2600 so sorry. 843618[/snapback] I clicked on that link and my proxy here at work reported this: This site is blocked under the following categories: Pornography Quote Link to comment Share on other sites More sharing options...
kisrael Posted April 27, 2005 Share Posted April 27, 2005 The only thing anyone really needs is a debugger. But that would spoil things, IMHO. You seriously think that? By lowering the bar to entry too much? I still think VCS programming will be a tremendous challenge for people who haven't spent years immersed in 6502 assembler. If you're worried that it would spoil the fun since PCs w/ emulation are more powerful than what they had back in the day...I thought that some of the big companies had hardware that could act as debuggers, allowing step by step code execution. Of course there'd be some catches, since you cant step by step an electron beam gun, but still, if you're being serious you might be sounding kind of elitest... Quote Link to comment Share on other sites More sharing options...
Jofu Posted April 27, 2005 Author Share Posted April 27, 2005 Of course there'd be some catches, since you cant step by step an electron beam gun845124[/snapback] Sure you can step by step the electron beam, if you simulate the TV in software as well! That's what I was talking about Geoff Quote Link to comment Share on other sites More sharing options...
kisrael Posted April 28, 2005 Share Posted April 28, 2005 Of course there'd be some catches, since you cant step by step an electron beam gun845124[/snapback] Sure you can step by step the electron beam, if you simulate the TV in software as well! That's what I was talking about Geoff 845143[/snapback] No, I'm talking about what tools they might have had "back in the day", well before emulators...they had some kind of logic trace debuggers I think, but would probably be limited in what they could for the actual image draw... Quote Link to comment Share on other sites More sharing options...
djmips Posted May 5, 2005 Share Posted May 5, 2005 The only thing anyone really needs is a debugger. But that would spoil things, IMHO. You seriously think that? By lowering the bar to entry too much? I still think VCS programming will be a tremendous challenge for people who haven't spent years immersed in 6502 assembler. If you're worried that it would spoil the fun since PCs w/ emulation are more powerful than what they had back in the day...I thought that some of the big companies had hardware that could act as debuggers, allowing step by step code execution. Of course there'd be some catches, since you cant step by step an electron beam gun, but still, if you're being serious you might be sounding kind of elitest... 845124[/snapback] I don't think it's elitest. Have you seen Frontier House on PBS? It's a bit like that. Building a log cabin with the tools that were available back in the frontier days for instance. You had found out that some of the big companies had hardware (back in the day) that could act as debuggers but I suspect that for most programmers, for most projects back then, coding was done without the aid of debuggers. (Well, at least I never had one. :-( Nevertheless, although I understand that a modern debugger is against the retro spirit of the hobby, I'm certainly all for having a debugger. This is because, for me, I would rather just have a finished bug free cart and not worry so much on how I created it. Over the years, I have grown accustomed to debuggers and just being able to single step my code through the more mundane game logic would be a tremendous help. I sometimes make stupid mistakes that I can't spot by staring at the code, I hate to slog through a couple of hours or even days on such pointless bugs. Quote Link to comment Share on other sites More sharing options...
dm4714 Posted May 7, 2005 Share Posted May 7, 2005 But I was talking about a fully-featured IDE, which would support everything from writing code to debugging, because it's many times necessary/convenient to just make a quick and small change in the code, and press F5/F7 to re-run the thing, without having to toggle between 2 or 3 apps while remembing not to skip a step in the process Looks like all the parts are out there really, just not in one package. I just saw that 6502 debugger, and then there's Stella, and of course your favorite editor, etc... Geoff I have my whole development environment integrated into Microsoft Visual Studio 2005 Beta 1, which was (is?) a free download. I edit the source, hit F7 and it assembles using DASM and if there are no errors it downloads to hardware using Krokodile Commander. Then all I have to do is power-cycle my '2600. Anyone wanting help setting up Visual Studio for Atari development, drop me a note. It's quite straightforward, just a few custom compile settings on the file, and some post-build configuration stuff. The IDE is pretty much designed for this sort of customisation. The only thing anyone really needs is a debugger. But that would spoil things, IMHO. 843479[/snapback] Dragonstomper -- can you post the procedure for using VS.2005 or 2003 as the IDE for Atari programming and uploading ROM image for Krokodile Cart. Thanks Quote Link to comment Share on other sites More sharing options...
Ducky01 Posted May 7, 2005 Share Posted May 7, 2005 I'd be interested in this as well... Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 7, 2005 Share Posted May 7, 2005 Well re:your Frontier House analogy....people back in the day had one thing going for them that I never will...someone paying 'em a regular salary to do the damn coding, even through the tricky kernal bits! Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted May 9, 2005 Share Posted May 9, 2005 Dragonstomper -- can you post the procedure for using VS.2005 or 2003 as the IDE for Atari programming and uploading ROM image for Krokodile Cart. 851082[/snapback] Hi. On the .asm file, click properties. Now in Configuration Properties/Custom Build Step/General set the following... Command line... ..\Tools\bin\dasm.exe "$(InputName)".asm -DCOLOUR=1 -DTIA_BASE_ADDRESS=$40 -l"$(InputName)".txt -f3 -v5 -o$(OutDir)\$(ProjectName)$(ConfigurationName).bin You would, of course, change the location of DASM and the command line switches as appropriate. This calls DASM to assemble the file and create a specially named .bin fine in the appropriate directory. I have several configurations setup (NTSC/PAL) so that by selecting the configuration, the compile creates the correct file in the correct subdiretctory for that configuration. Next, in outputs... $(OutDir)\$(InputName)$(ConfigurationName).bin Save that. That will configure actually compiling the file for you. Now click properties on the project itself. Under Configuration Properties/General, Output Directory set to $(ConfigurationName) -- this allows you to select multiple configurations as explained above. Same setting for Intermediate directory. Under Configuration Properties/Debugging... command set to ..\tools\bin\z26.exe (or wherever your z26 or emulator resides). command arguments set to the arguments for your emulator. I use -v17 -n -g14 -r60 $(ProjectName)$(ConfigurationName).bin Note how I am using the macros available to auto-configure the binary that is run, based on the configuration. Working Directory... set to ./$(OutDir) Attach... no Debugger Type... Auto Environment... Merge Environment... Yes SQL Debugging... No Now set the post-build events (I use this to auto-download to the '2600 through my Krokodile Cart command line interface). Configuration Properties/Build Events/Post-Build Event Command Line... "..\tools\bin\Krokodile Commander.exe" $(OutDir)\$(ProjectName)$(ConfigurationName).bin -id -bs=3E And that's basically it. I hit F5 to get a download to Krokodile Cart *and* an instance of Z26 to run. I hit F7 to just run on '2600. In both cases a compile is performed (if necessary) beforehand. To switch to NTSC or PAL, I select the appropriate configuration in the configuration droplists. All you need to do is create named configurations and the setup of the compiles, using the macros, should put everything in subdirectories for each. It's pretty neat once it is all working. Hope this helps. Cheers A Quote Link to comment Share on other sites More sharing options...
dm4714 Posted May 12, 2005 Share Posted May 12, 2005 Dragonstomper -- can you post the procedure for using VS.2005 or 2003 as the IDE for Atari programming and uploading ROM image for Krokodile Cart. 851082[/snapback] Hi. On the .asm file, click properties. Now in Configuration Properties/Custom Build Step/General set the following... Command line... ..\Tools\bin\dasm.exe "$(InputName)".asm -DCOLOUR=1 -DTIA_BASE_ADDRESS=$40 -l"$(InputName)".txt -f3 -v5 -o$(OutDir)\$(ProjectName)$(ConfigurationName).bin You would, of course, change the location of DASM and the command line switches as appropriate. This calls DASM to assemble the file and create a specially named .bin fine in the appropriate directory. I have several configurations setup (NTSC/PAL) so that by selecting the configuration, the compile creates the correct file in the correct subdiretctory for that configuration. Next, in outputs... $(OutDir)\$(InputName)$(ConfigurationName).bin Save that. That will configure actually compiling the file for you. Now click properties on the project itself. Under Configuration Properties/General, Output Directory set to $(ConfigurationName) -- this allows you to select multiple configurations as explained above. Same setting for Intermediate directory. Under Configuration Properties/Debugging... command set to ..\tools\bin\z26.exe (or wherever your z26 or emulator resides). command arguments set to the arguments for your emulator. I use -v17 -n -g14 -r60 $(ProjectName)$(ConfigurationName).bin Note how I am using the macros available to auto-configure the binary that is run, based on the configuration. Working Directory... set to ./$(OutDir) Attach... no Debugger Type... Auto Environment... Merge Environment... Yes SQL Debugging... No Now set the post-build events (I use this to auto-download to the '2600 through my Krokodile Cart command line interface). Configuration Properties/Build Events/Post-Build Event Command Line... "..\tools\bin\Krokodile Commander.exe" $(OutDir)\$(ProjectName)$(ConfigurationName).bin -id -bs=3E And that's basically it. I hit F5 to get a download to Krokodile Cart *and* an instance of Z26 to run. I hit F7 to just run on '2600. In both cases a compile is performed (if necessary) beforehand. To switch to NTSC or PAL, I select the appropriate configuration in the configuration droplists. All you need to do is create named configurations and the setup of the compiles, using the macros, should put everything in subdirectories for each. It's pretty neat once it is all working. Hope this helps. Cheers A 851911[/snapback] Thank you! Quote Link to comment Share on other sites More sharing options...
Tickled_Pink Posted May 22, 2005 Share Posted May 22, 2005 I have my whole development environment integrated into Microsoft Visual Studio 2005 Beta 1, which was (is?) a free download. I edit the source, hit F7 and it assembles using DASM and if there are no errors it downloads to hardware using Krokodile Commander. Then all I have to do is power-cycle my '2600. Just a pointer - The VS Betas are a free download but only for MSDN subscribers. However, you can order a free copy on CD from Microsoft. Got my copy earlier in the week - took a week or so to arrive. There are free Beta downloads (Express editions) for those wanting to try out various aspects of .NET (e.g. C# or Web Development). But I'm not sure if they'll allow you to do what Andrew's suggesting. In any case, I've found these Betas to be pretty untable and flaky. Anyway, the information and links are here. BTW: Visual Studio and the Express are now at Beta 2. Quote Link to comment Share on other sites More sharing options...
Bryan Posted May 22, 2005 Share Posted May 22, 2005 Has anyone looked at this? http://neshla.sourceforge.net/ -Bry Quote Link to comment Share on other sites More sharing options...
mos6507 Posted May 22, 2005 Share Posted May 22, 2005 Nevertheless, although I understand that a modern debugger is against the retro spirit of the hobby, I'm certainly all for having a debugger. Where do you get that impression? PCAtari had a debugger many years ago. It's just that PCAtari was written in the DOS/Win 3.1 era and it runs like crap on 2000 or XP and nobody has done the work to add a debugger to Z26 or Stella. It's not that developers haven't been asking, that's for sure. Quote Link to comment Share on other sites More sharing options...
djmips Posted May 23, 2005 Share Posted May 23, 2005 Nevertheless, although I understand that a modern debugger is against the retro spirit of the hobby, I'm certainly all for having a debugger. Where do you get that impression? PCAtari had a debugger many years ago. It's just that PCAtari was written in the DOS/Win 3.1 era and it runs like crap on 2000 or XP and nobody has done the work to add a debugger to Z26 or Stella. It's not that developers haven't been asking, that's for sure. 859906[/snapback] 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. - David Quote Link to comment Share on other sites More sharing options...
Tickled_Pink Posted May 23, 2005 Share Posted May 23, 2005 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. 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. Quote Link to comment Share on other sites More sharing options...
kisrael Posted May 23, 2005 Share Posted May 23, 2005 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. 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? Quote Link to comment Share on other sites More sharing options...
Mindfield Posted May 23, 2005 Share Posted May 23, 2005 (edited) 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. Edited May 23, 2005 by Mindfield Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.