Jump to content
IGNORED

Atari 2600 BASIC IDE


attendo

Recommended Posts

Now that you have a pretty good sprite editor built in, can you add something similar? How about a pfpixel editor too?

899243[/snapback]

Kirk has one on the bB home page.

899290[/snapback]

Thanks. If attendo can copy his sprite editor and adjust it to do the same thing, it will look better and will be more user friendly though. That thing on the site is kind of primitive and semi-crappy. Clicking little boxes on and off is much faster and easier and better for helping you get a clear picture of what you are creating.

Link to comment
Share on other sites

Now that you have a pretty good sprite editor built in, can you add something similar? How about a pfpixel editor too?

899243[/snapback]

Kirk has one on the bB home page.

899290[/snapback]

Thanks. If attendo can copy his sprite editor and adjust it to do the same thing, it will look better and will be more user friendly though. That thing on the site is kind of primitive and semi-crappy. Clicking little boxes on and off is much faster and easier and better for helping you get a clear picture of what you are creating.

http://alienbill.com/2600/playerpalnext.html was the latest version of a sprite editor, though it's stuck at like 90% complete.

 

http://alienbill.com/2600/playfieldpal.html was the older PF editor...even more in need of the refit than the player editor!

 

the pf editor was pretty quick aqnd dirty, but not too bad if you made sure to put "Insert" mode off.

Link to comment
Share on other sites

Really nice tools, all done in javascript right? Do you program for a living(your job?)

I do program for a living, but usually Perl or Java, and not Javascript per se. Though I get practice with that and other web stuff by running my own sites.

 

I do think, at least as far as being an engineer, I do have a decent feel for good UIs. I have some hints and tips for this IDE, actually, though I didn't want to be obnoxious and dump them on you all at once or anything. (Also some might be tough to implement)

 

Speaking of IDEs, I'm hoping to get from Fred or assemble myself a list of keywords, and then assemble a .syn file for Textpad so it can do color highlighting of bB code.

Link to comment
Share on other sites

  • 2 weeks later...

attendo, over time, if you get the time, I wonder if it would be possible to highlight the binary numbers that make up a sprite and then select Edit Sprite from the Tool menu and your sprite editor would pop up with the sprite in it, ready to edit?

 

After we have a built-in pfpixel editor and a search function for finding something in the code, a bunch of people should have a permanent smile on their faces.

Link to comment
Share on other sites

Yes that would be some very nice improvements!

Hope to implement them when I have some more time for it, am making very long hours at the moment with my (vacation) job :(

 

I think the convertion of binary numbers to the editor shouldn't be so hard and the playfield editor should be also ok. But I haven't had much succes creating a search function, yes the searched word will be found but to make the textedit window scroll down to that word is a bit harder, but its possible :)

 

Other things to add could be an internal help file, replace function, perhaps some shortcuts to functions, etc.

 

Also I was thinking of a quick insertion function for (long) words/functions like COLUP0, COLUBK, player0x, gosub, return, etc.

Link to comment
Share on other sites

Yes that would be some very nice improvements!

Hope to implement them when I have some more time for it, am making very long hours at the moment with my (vacation) job :(

 

I think the convertion of binary numbers to the editor shouldn't be so hard and the playfield editor should be also ok. But I haven't had much succes creating a search function, yes the searched word will be found but to make the textedit window scroll down to that word is a bit harder, but its possible :)

 

Other things to add could be an internal help file, replace function, perhaps some shortcuts to functions, etc.

 

Also I was thinking of a quick insertion function for (long) words/functions like COLUP0, COLUBK, player0x, gosub, return, etc.

906921[/snapback]

Sounds good. Since these programs are pretty small, a search is lowest on my list of importance, although it would be nice to have sooner or later. Right now if I need to find something and can't see it, I paste the code into Notepad and use its search box.

Link to comment
Share on other sites

Yes that would be some very nice improvements!

Hope to implement them when I have some more time for it, am making very long hours at the moment with my (vacation) job :(

 

I think the convertion of binary numbers to the editor shouldn't be so hard and the playfield editor should be also ok. But I haven't had much succes creating a search function, yes the searched word will be found but to make the textedit window scroll down to that word is a bit harder, but its possible :)

 

Other things to add could be an internal help file, replace function, perhaps some shortcuts to functions, etc.

 

Also I was thinking of a quick insertion function for (long) words/functions like COLUP0, COLUBK, player0x, gosub, return, etc.

906921[/snapback]

Sounds good. Since these programs are pretty small, a search is lowest on my list of importance, although it would be nice to have sooner or later. Right now if I need to find something and can't see it, I paste the code into Notepad and use its search box.

906945[/snapback]

 

Man, I use the search in kwrite all the time. (Linux, shows whitespace.) Great for learning if and where variables have been used. Also good for snapping back and forth between subroutines.

 

I don't use an IDE, but others will probably want these things as their programs grow.

Link to comment
Share on other sites

I haven't totally set it up yet, but one thing I'm going to be able to get out of using Textpad is color syntax highlighting...it's nice when all the commands (IF...THEN, GOTO etc) and special Atari variables (COLUP0) and bB vars (player1x) are colored...especially when comments are made to stand out from the actual code.

Link to comment
Share on other sites

Attendo, here's another thing to throw on the pile if it hasn't been mentioned already. After you get more time and you do some of the other cool things, maybe you could add a sprite animation editor that is kind of similar to this one:

 

http://alienbill.com/2600/playerpalnext.html

 

It wouldn't have to be too fancy, just your sprite editor, some frames in a row, and the ability to view the animation.

Link to comment
Share on other sites

  • 5 weeks later...

Ok, took a while but I found some time and finally finished the new 2600IDE V0.4.

 

I removed the compile and run in the menu and changed it to just compile. When you have a program loaded and choose compile it will be compiled and a window will popup displaying information like how many bytes of rom space there is left and possible errors. I was able to capture the output of DASM which is usefull but it seems to be impossible to capture error messages from preprocess.exe perhaps Batari could make an error.txt file (4the current compiled program) which then the IDE can read and display, what would be very cool. Anyway when that window pops up you can choose to run the compile or return to the code.

 

Updated the 8x8 sprite editor, you will now see a small preview window and you can save sprites which you use often and load them back later. This will also make it easy to exchange sprites.

 

Added a playfield editor which works very similair as the sprite editor. Note if you use many pixels the program will flicker but there are workarounds for.

 

If you want to begin a new file just choose File > new from the menu.

 

Greets.

Link to comment
Share on other sites

Ok, took a while but I found some time and finally finished the new 2600IDE V0.4.

928288[/snapback]

 

Thank you for the work you've done on it!

 

I removed the compile and run in the menu and changed it to just compile.

928288[/snapback]

 

That's probably a good idea. It sounds like you're taking away a nice feature, but in practice it's better to compile and run as separate steps.

 

When you have a program loaded and choose compile it will be compiled and a window will popup displaying information like how many bytes of rom space there is left and possible errors. I was able to capture the output of DASM which is usefull but it seems to be impossible to capture error messages from preprocess.exe perhaps Batari could make an error.txt file (4the current compiled program) which then the IDE can read and display, what would be very cool. Anyway when that window pops up you can choose to run the compile or return to the code.

928288[/snapback]

 

I've got some bad news. :( Some of the changes you made broke my "2600bB" package, because I've split most of the files into different subdirectories, like this:

 

C:\2600bB - The .exe and .bat files for bB, 2600IDE, and DASM.

C:\2600bB\Docs - The readme files, help documents, etc.

C:\2600bB\Includes - The includes (.h and .asm files) for bB and DASM.

C:\2600bB\Projects - The .bas or .26b programs, plus their .asm and .bin files.

C:\2600bB\Stella - The Stella emulator, plus all its files and subdirectories.

C:\2600bB\Tutorial - The .htm pages and other files for my tutorial.

C:\2600bB\z26 - The z26 emulator and all its files.

 

To make it work, I created a desktop shortcut to 2600IDE (for convenience), with C:\2600bB\Projects as the "start in" directory, and modified the 2600baside.bat file so it can find the .exe files and the includes. The modified .bat has to be copied into the C:\2600bB\Projects folder, since that will be the "current" directory as far as 2600IDE is concerned, and it will create a new .bat file in the current directory if a .bat doesn't already exist.

 

At least, the previous version of 2600IDE did that. The problem is that the new version (0.4) recreates the .bat every time, even if there's already one in the current directory, so my modified .bat file gets wiped out and the compile fails, since the .exe and include files can't be found. It would be great if you could put back the older behavior, where 2600IDE uses the 2600baside.bat that already exists in the current directory, and creates a new 2600baside.bat only if one isn't already there.

 

Updated the 8x8 sprite editor, you will now see a small preview window and you can save sprites which you use often and load them back later. This will also make it easy to exchange sprites.

 

Added a playfield editor which works very similair as the sprite editor. Note if you use many pixels the program will flicker but there are workarounds for.

928288[/snapback]

 

I hadn't even tried out the sprite editor before, so I tried both it and the playfield editor in 0.4. They work fine, especially with being able to preview what the sprite or playfield will look like, but there might be a way to make the playfield editor a little "smarter" about how it generates code for the playfield (i.e., so it uses the pfhline and/or pfvline commands where appropriate, instead of just the pfpixel command).

 

If you want to begin a new file just choose File > new from the menu.

 

Greets.

928288[/snapback]

 

Yes, the problem I reported about creating a new program and accidentally saving it on top of the "most recently used file" seems to be fixed; thank you! :)

 

Aside from restoring the older behavior where a new .bat file is created only if one doesn't already exist, the one set of features I'd really like to see added are "find" and "find/replace."

 

Michael Rideout

Link to comment
Share on other sites

Thanks! The new Playfield editor will help me out a lot and the small preview windows are also nice.

 

In some future version when you add a sprite animation strip, I hope you'll show the animation in the little preview window. That would be a great help when making animations.

 

Thanks for the Sprite and Playfield load and save. I'm sure I'll be using that a lot.

Link to comment
Share on other sites

...it will create a new .bat file in the current directory if a .bat doesn't already exist.

 

At least, the previous version of 2600IDE did that. The problem is that the new version (0.4) recreates the .bat every time, even if there's already one in the current directory, so my modified .bat file gets wiped out and the compile fails, since the .exe and include files can't be found. It would be great if you could put back the older behavior, where 2600IDE uses the 2600baside.bat that already exists in the current directory, and creates a new 2600baside.bat only if one isn't already there...

928592[/snapback]

I second this. This also allowed 2600IDE V0.3 to work with bB 0.35 without having to wait for V0.4 to come out.

 

When you have a program loaded and choose compile it will be compiled and a window will popup displaying information like how many bytes of rom space there is left and possible errors. I was able to capture the output of DASM which is usefull but it seems to be impossible to capture error messages from preprocess.exe perhaps Batari could make an error.txt file (4the current compiled program) which then the IDE can read and display, what would be very cool. Anyway when that window pops up you can choose to run the compile or return to the code.

928288[/snapback]

I may be able to fix this without needing to wait for the next release of bB - basically, the error output is sent to stderr, which is normally easy to capture, except in DOS. But since I used DJGPP to build bB, I might, as this includes a program called redir.exe that can capture the error output and redirect it to a file. I'm not 100% sure this will work, so I'll play around with it and see what I can do.

Link to comment
Share on other sites

...it will create a new .bat file in the current directory if a .bat doesn't already exist.

 

At least, the previous version of 2600IDE did that. The problem is that the new version (0.4) recreates the .bat every time, even if there's already one in the current directory, so my modified .bat file gets wiped out and the compile fails, since the .exe and include files can't be found. It would be great if you could put back the older behavior, where 2600IDE uses the 2600baside.bat that already exists in the current directory, and creates a new 2600baside.bat only if one isn't already there...

928592[/snapback]

I second this. This also allowed 2600IDE V0.3 to work with bB 0.35 without having to wait for V0.4 to come out.

The IDE checked everytime a compile was made if the the .bat file was present and correct by checking the filesize. The reason why I did this was because of the pause command in the 2600baside.bat in the batari_basic_alpha35.zip package which leaves the dos console window open which was annoying and people had to close it everytime. Also I would like to give the output messages in the new compilewindow. The .bat that the IDE writes doesn't contain this command.

 

Ive made an updated version (attached V0.4.1) which doesn't overwrite the .bat anymore but you can choose to do this manually by selecting action > Create default batch from the menu.

 

When you have a program loaded and choose compile it will be compiled and a window will popup displaying information like how many bytes of rom space there is left and possible errors. I was able to capture the output of DASM which is usefull but it seems to be impossible to capture error messages from preprocess.exe perhaps Batari could make an error.txt file (4the current compiled program) which then the IDE can read and display, what would be very cool. Anyway when that window pops up you can choose to run the compile or return to the code.

928288[/snapback]

I may be able to fix this without needing to wait for the next release of bB - basically, the error output is sent to stderr, which is normally easy to capture, except in DOS. But since I used DJGPP to build bB, I might, as this includes a program called redir.exe that can capture the error output and redirect it to a file. I'm not 100% sure this will work, so I'll play around with it and see what I can do.

928670[/snapback]

That would be really nice, could you PM me when thats implemented? Also could you remove the pause command in the ide batch file in the .zip package?

 

Greats from Attendo

2600IDEV04_1.zip

Link to comment
Share on other sites

Thanks! The new Playfield editor will help me out a lot and the small preview windows are also nice.

 

In some future version when you add a sprite animation strip, I hope you'll show the animation in the little preview window. That would be a great help when making animations.

 

Thanks for the Sprite and Playfield load and save. I'm sure I'll be using that a lot.

928651[/snapback]

Thanks, a sprite animator would be a nice feature, I have some ideas in my mind for that, that could be used. Think first i'll focus on a search and perhaps replace function and getting more detailed error messages in the output window.

 

Greets.

Link to comment
Share on other sites

...it will create a new .bat file in the current directory if a .bat doesn't already exist.

 

At least, the previous version of 2600IDE did that. The problem is that the new version (0.4) recreates the .bat every time, even if there's already one in the current directory, so my modified .bat file gets wiped out and the compile fails, since the .exe and include files can't be found. It would be great if you could put back the older behavior, where 2600IDE uses the 2600baside.bat that already exists in the current directory, and creates a new 2600baside.bat only if one isn't already there...

928592[/snapback]

I second this. This also allowed 2600IDE V0.3 to work with bB 0.35 without having to wait for V0.4 to come out.

The IDE checked everytime a compile was made if the the .bat file was present and correct by checking the filesize. The reason why I did this was because of the pause command in the 2600baside.bat in the batari_basic_alpha35.zip package which leaves the dos console window open which was annoying and people had to close it everytime. Also I would like to give the output messages in the new compilewindow. The .bat that the IDE writes doesn't contain this command.

 

Ive made an updated version (attached V0.4.1) which doesn't overwrite the .bat anymore but you can choose to do this manually by selecting action > Create default batch from the menu.

928796[/snapback]

 

Thanks, I just downloaded the new version, tried it out, and it works great! :)

 

When you have a program loaded and choose compile it will be compiled and a window will popup displaying information like how many bytes of rom space there is left and possible errors. I was able to capture the output of DASM which is usefull but it seems to be impossible to capture error messages from preprocess.exe perhaps Batari could make an error.txt file (4the current compiled program) which then the IDE can read and display, what would be very cool. Anyway when that window pops up you can choose to run the compile or return to the code.

928288[/snapback]

I may be able to fix this without needing to wait for the next release of bB - basically, the error output is sent to stderr, which is normally easy to capture, except in DOS. But since I used DJGPP to build bB, I might, as this includes a program called redir.exe that can capture the error output and redirect it to a file. I'm not 100% sure this will work, so I'll play around with it and see what I can do.

928670[/snapback]

That would be really nice, could you PM me when thats implemented? Also could you remove the pause command in the ide batch file in the .zip package?

 

Greats from Attendo

928796[/snapback]

 

I presume you were talking to batari about the pause command in the ide batch file in the .zip package, but I can certainly do that in the "all-in-one" 2600bB.zip that I'm putting together. I've left it in for now (while I'm still just using it myself), because I instead changed the window's properties to automatically close on exit, so it closes itself as soon as I press a key. But I've thought about taking out the pause and turning off the "close on exit" feature, so the window stays open and can be closed with the mouse.

 

Actually, pause can be useful if the compile contains so many errors that the error messages scroll off the window. I've had that happen to me once or twice, and I could see the DASM messages but not all of the bB messages. So I temporarily added a pause between each line of the batch, to be sure I could see everything. Of course, I took them out again when I no longer needed them! :)

 

Michael Rideout

Link to comment
Share on other sites

Are you able to make it so that we don't have to click on each cell in the Sprite and Playfield editors? Could you make it so as long as the mouse button is held, each cell under the mouse pointer will turn black or white based on what is already there or does the software you are using force a click?

Link to comment
Share on other sites

Do you want IDE bug reports here too? About one out of every three compiles, the little window comes up and it will not let me hit Run Compile or Done or the Close button. I have to kill the whole program the hard way and try again.

 

Hi, I noticed a bug in the IDE which is perhaps similair to what you mentioned. When you have a program loaded and do actions>compile everything is fine *But when you have saved or loaded a sprite or playfield from or in a different directory then where the ide is located the program doesn't compile correctly anymore.

 

I will try to correct this as soon possible.

Link to comment
Share on other sites

  • 2 weeks later...

I could be wrong and just making mistakes while sleepy, but it seems like if I load a program then "save as" with a different name, then just 'save' after that, it seems like the original file gets overwritten sometimes as if the last file loaded is what counts, not the last one saved.

 

Is it just my imagination or is there a save bug?

Link to comment
Share on other sites

I could be wrong and just making mistakes while sleepy, but it seems like if I load a program then "save as" with a different name, then just 'save' after that, it seems like the original file gets overwritten sometimes as if the last file loaded is what counts, not the last one saved.

 

Is it just my imagination or is there a save bug?

938812[/snapback]

Yes, I think there is, and I mentioned it before. It was partly fixed with 0.4 I think, though I've noticed it once or twice since then, don't know the circumstances that cause it for sure. Once you've experienced this a few times-- especially if you end up overwriting something that you worked long and hard on, and that's difficult or impossible to retrieve somehow (e.g., if you'd compiled it recently, you might still have the .asm file with the original bB code in it, but it's commented out)-- then you learn to be really careful about loading and saving programs.

 

I'll play around with it and see if I can document the exact circumstances that can cause it to occur, to help Jacco get it fixed.

 

Michael Rideout

Link to comment
Share on other sites

I'll play around with it and see if I can document the exact circumstances that can cause it to occur, to help Jacco get it fixed.

938850[/snapback]

Thanks. That would be very helpful. Lately I have been using Save As then reloading what I saved to protect myself from further loss until the IDE is fixed. I hope we can also get Save As fixed. Save As should always give you a conventional "are you sure" if you try to save on top of an existing file.

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