Jump to content
IGNORED

NEED INPUT...Attention 6502 assembly programmers


peteym5

Recommended Posts

Hey everyone, I am looking develop a better way of doing 6502 assembly programming on the PC. I have used programming environments ever since I started using computers. I am particularly the Microsoft Visual Studio IDE (Integrated Design Evironments). What I am designing is coming up with an editor geared toward 6502 assembly. Have a few built in thing to give us some early warnings about problems. Split screen editing, project grouping, and auto indenting. Also have it display 6502 Instructions, Memory Locations, Comments, and Labels in different colors.

 

I have been using the Windows Text Editor and that has some serious limitations when trying to work on a large program. Would like to save, assemble, and emulator test with a single mouse click.

 

Right now I am looking for suggestions and get to know how many people would be interested in such a tool. I know it wont be limited to the Atari, but can be used for any 6502 based platform.

Link to comment
Share on other sites

I'm using EditPlus with AtAsm.

 

Complaints... the split screen is only partially useful. For some reason, the Vertical split has a shared scroll bar, making it useless for 6502. Horizontal split works great, although it would be nice to be able to have 3 or 4 splits, e.g. have one focussed around your labels, one for the part you're working on, one to just roam around.

 

Another thing is that you have to save your work before calling the Assembler. Would be nice to have a temp file arrangement where it just copied the in-progress work and used that.

 

Something like quick jump to bookmarks would be nice. And, named bookmarks rather than just numbered ones.

 

Another thing - 6502 source just gets massively long, but skinny. A cool feature would be the ability to do something like Shift-ENTER which inserts a carriage return but doesn't start a new line. Of course then we could get the problem that the file is then no longer nice plain ASCII but might need external data structures... then again, maybe a CR without LF would work ?

 

 

The thing is - if someone's going to write yet another editor/IDE, it shouldn't be tied in to a single assembler or compiler. One of the good things about EditPlus and some other editors is that they can be customised to interface with practically any compiler or assembler that you're feeding data to.

Link to comment
Share on other sites

I am looking to start with the vertical split with 2 independent scrolling windows. Since 6502 source does not normally take up more than 20 characters on each line, a vertical layout is more ideal. Unless someone uses ridiculously long labels. I know I like to see as much of my program as possible.

 

I also favor color coding because editing in black & white because quite boring. I am thinking of using a master project file that lists all the assembly modules, the assembler command line, and a tab line to quickly switch between the listings.

Link to comment
Share on other sites

One good thing about working from the command line (with EDIT.COM in this case) is that immediately after exiting the editor I just run a batch file that assembles stuff and then starts the emulator. Batch files with one-character names are nice and easy to use ;) And I use keyboard shortcuts in the editor and emu alike. Very little time is wasted between making a typo in my source and then seeing the result in the emulator ;)

Link to comment
Share on other sites

I use ConTEXT editor with Xasm. It has execute keys to call external programs so I just press F9 to call my batch file which will assemble the code I'm working on and if no error then run it in emulator immediately. So only with one keystroke from typing code to viewing it in emu. The editor captures console output so the output from xasm assembling (errors, warning, messages etc.) will appear in editor and I can double click on error line numbers and the cursor will jump right there.

Link to comment
Share on other sites

I like to Tab across after each label, so 20 characters is pretty easy to exceed.

 

It's nice to have your code lined up, rather than stepped all over the place.

These days, every byte isn't critical, so we can afford to have bulky source files that take up 50K rather than the old way of scrimping on everything including comments to keep it compact.

 

Also, I, like lots of people have a widescreen monitor, so when you consider the smallish fonts you typically use, it's not out of the question to easily have 150 characters worth of information and still have plenty of horizontal screen space left.

Link to comment
Share on other sites

Hey everyone, I am looking develop a better way of doing 6502 assembly programming on the PC. I have used programming environments ever since I started using computers. I am particularly the Microsoft Visual Studio IDE (Integrated Design Evironments). What I am designing is coming up with an editor geared toward 6502 assembly. Have a few built in thing to give us some early warnings about problems. Split screen editing, project grouping, and auto indenting. Also have it display 6502 Instructions, Memory Locations, Comments, and Labels in different colors.

 

I have been using the Windows Text Editor and that has some serious limitations when trying to work on a large program. Would like to save, assemble, and emulator test with a single mouse click.

 

Right now I am looking for suggestions and get to know how many people would be interested in such a tool. I know it wont be limited to the Atari, but can be used for any 6502 based platform.

Use the editor to end all other editors, "emacs". Comes with about almost everything you could ever want to use, including split-screen, auto-identing, coloring of labels and text. If provided by a make-file, you can run the assembler from the editor. Yes, surely such a tool is useful, but it is already available. For the assembler underneath, I can highly recommend ca65.

 

So long,

Thomas

Link to comment
Share on other sites

Use the editor to end all other editors, "emacs". Comes with about almost everything you could ever want to use, including split-screen, auto-identing, coloring of labels and text. If provided by a make-file, you can run the assembler from the editor. Yes, surely such a tool is useful, but it is already available. For the assembler underneath, I can highly recommend ca65.

 

So long,

Thomas

 

I totally agree with Thomas here, Download emacs and documentation, it will already do what you want. "Split screen editing, project grouping, and auto indenting. Also have it display 6502 Instructions, Memory Locations, Comments, and Labels in different colors."

 

Also you have a great macro language EmacsLISP that you can use to do some cool things with, for instance cycle count the 6502 instructions.

 

The other cool part of Emacs is it runs everywhere (Mac linux and Windows) so what ever you come up with will have a bigger group of users that can take advantage of your work.

 

Also I second the ca65 assembler (part of the cc65 package). this does not seem to get the recognition is deserves. But I guess this could be due to the basic documentation that comes with it and bigger learning curve compared to other assemblers out there.

Link to comment
Share on other sites

Some people *HATE* emacs.

 

The truth is, there are lots of editors and IDE's available than can be used, so unless you just feel like doing it, there may be no real pressing need to write another from scratch. Personally, I use Visual Studio or sometimes SlickEdit on top of the CC65 toolchain.

 

Now, what I think would be REALLY useful is a symbolic debugger hooked into one ( or more ) of the available emulators.

Edited by danwinslow
Link to comment
Share on other sites

I am looking to make something more geared to assembly language. I have looked at Code Genie. I already figured out some primitive text formatting using Rich Text Format and I can make to program easily save it as ASCII text back to the hard drive (removing all the RTF codes)

 

I am using Visual Basic 6 to start with, but can be easily translated to a vb.net version. It will be great to just get it to do half the things I am planning. I can probably have a working program very shortly. This is a simple task in comparison to everything else I do.

 

What is prompting me to do this is that I lost my desire to work in assembly using text editor and switching back and forth between several windows to do anything. It took me a year to do Tempest Xtreem and if I am going to do any future games, I would like to come up with something to make it less tedious.

Link to comment
Share on other sites

i would not spend too much on the editor as there are enough out there to be honest... I am using notepad++ which displays all labels for quick reference in a separate window so I can click directly on one and cursor jumps there...

 

but I know where you are coming from as all "big" IDEs are based for C,C++, .Net, Mac etc...

 

I personally never got into Visual Studio C# for xbox 360... could be that I am assembler freak or basic freak...and oldschool with my "out of the box and rapid development" approach...

 

but what is more gold imho is version control... and since I have http://www.componentsoftware.com/

running for Beyond Evil and it is exactly what I needed for 6502... as assembler one line of code could screw everything up...

 

so in an ideal world I would go for an IDE based on version control, notepad++ incl. project control (including all assets for a project)... nothing more... ;)

Link to comment
Share on other sites

i would not spend too much on the editor as there are enough out there to be honest... I am using notepad++ which displays all labels for quick reference in a separate window so I can click directly on one and cursor jumps there...

 

but I know where you are coming from as all "big" IDEs are based for C,C++, .Net, Mac etc...

 

I personally never got into Visual Studio C# for xbox 360... could be that I am assembler freak or basic freak...and oldschool with my "out of the box and rapid development" approach...

 

but what is more gold imho is version control... and since I have http://www.componentsoftware.com/

running for Beyond Evil and it is exactly what I needed for 6502... as assembler one line of code could screw everything up...

 

so in an ideal world I would go for an IDE based on version control, notepad++ incl. project control (including all assets for a project)... nothing more... ;)

I also use Notepad++, but haven't done 6502 stuff on my PC yet.

 

Stephen Anderson

Link to comment
Share on other sites

I am using free PSPad with XASM. I had to write syntax definition file for this editor by myself, but it works really good. It also captures console output as many other editors. ctrl+f9 = compile, f9 = run.

 

Shot:

excounter.png

 

I think there is no need to work on another editor. There is so many editors which provides many good functions, it's all about habbits.

 

don't waste your time by building developement environment... better focus on 6502 production ;-)

Link to comment
Share on other sites

Auch, as a long time linux geek I'm saddened to see so many heathen run the dreaded Emacs. Now I've never tried to run a split screen with this but seriously - if you're going to use a *nix proggie in windows, Gvim is all you need. Color coding for many different languages (from ASM to XML) and just like ASM was built for speeeeeeeeeeed~!

 

However I've never done assembly programming, so I could easily just be talking out my posterior ;)

Link to comment
Share on other sites

Some people *HATE* emacs.

 

The truth is, there are lots of editors and IDE's available than can be used, so unless you just feel like doing it, there may be no real pressing need to write another from scratch. Personally, I use Visual Studio or sometimes SlickEdit on top of the CC65 toolchain.

 

Now, what I think would be REALLY useful is a symbolic debugger hooked into one ( or more ) of the available emulators.

 

How could any one hate emacs? :twisted:

Seriously emacs is the most advanced text manipulation environment available to-date(not counting awk, perl etc.). I suggest it because you can write application that process information from other applications and source text so easily, once you get past the learning curve of the application. Of course this is the big down side of emacs, the learning curve; editor and programming environment. BTW I prefer/love vi to emacs, but if I wanted to interact with the text in level of say processing the content of the text file then I would go the emacs route.

 

I would have suggested Slickedit, but the cost is usually a killer for most people, at US$300 per license. However is a really great editor and just as capable as emacs, and easier to configure without having to learn some emacs lisp.

 

Maybe if totally "New" environment has to be created look at the scintilla project, this if the text editing component used in a few projects such as notepad2. At least this is good starting point without reinventing the editor wheel yet again.

 

Oh and I totally agree about the debugging, it would be great if the emulator could read a set of symbols from the program assembly process. I understand Vice for the C64 has a "ll" command for loading labels in to the emulator. These labels come from the ".lbl" files generated by cc65 tools.

Link to comment
Share on other sites

Some people *HATE* emacs.

 

How could any one hate emacs? :twisted:

I guess this is because emacs is a really nice operating system, but unfortunately it comes with an awful editor :-)

 

Personally, I prefer vim and use ATasm and makefiles under Linux for my Atari projects.

 

BTW: I just found this thread in the programming forum, using eclipse (or some other IDE) with specific plugins might also be an option for those seeking for an integrated environment.

 

so long,

 

Hias

Link to comment
Share on other sites

Auch, as a long time linux geek I'm saddened to see so many heathen run the dreaded Emacs. Now I've never tried to run a split screen with this but seriously - if you're going to use a *nix proggie in windows, Gvim is all you need. Color coding for many different languages (from ASM to XML) and just like ASM was built for speeeeeeeeeeed~!

 

However I've never done assembly programming, so I could easily just be talking out my posterior ;)

 

Werd, brutha. Emacs is teh devil.

Link to comment
Share on other sites

Auch, as a long time linux geek I'm saddened to see so many heathen run the dreaded Emacs. Now I've never tried to run a split screen with this but seriously - if you're going to use a *nix proggie in windows, Gvim is all you need. Color coding for many different languages (from ASM to XML) and just like ASM was built for speeeeeeeeeeed~!

 

While I certainly don't want to start an editor war, I wonder what people like on vi and its derivatives. I've never seen any less unintuitive and ususable user interface in any other software. While there might be reasons why emacs is not the editor of your choice, about any other editor more useable than this one, e.g. "nano", "pico" and whatever else you might pick.

 

So long, Thomas

Link to comment
Share on other sites

Hi Thomas!

 

While I certainly don't want to start an editor war, I wonder what people like on vi and its derivatives. I've never seen any less unintuitive and ususable user interface in any other software. While there might be reasons why emacs is not the editor of your choice, about any other editor more useable than this one, e.g. "nano", "pico" and whatever else you might pick.

Have a look at vim or (if you like graphical frontends and pull-down menus) gvim. vim has a lot more features and is definitely a lot more user friendly than the original vi versions. In addition to the "usual" stuff like syntax highlighting vim also supports things like function/variable/type name completion for C/C++, of course also respecting include files. "nano" and "pico" might be handy for an occasional user to edit a config file or so, but vim really has everything on board that a programmer or sysadmin needs for his work.

 

BTW: I'm also not interested in an "emacs vs. vi" flamewar. I think it depends a lot on your personal preferences if you prefer emacs or vi. Actually, most people I met so far loved one editor and hated the other one. Can't remember anyone stating that they liked (or used) both :-)

 

:wq,

 

Hias

Link to comment
Share on other sites

Hi Thomas!

 

Have a look at vim or (if you like graphical frontends and pull-down menus) gvim. vim has a lot more features and is definitely a lot more user friendly than the original vi versions. In addition to the "usual" stuff like syntax highlighting vim also supports things like function/variable/type name completion for C/C++, of course also respecting include files. "nano" and "pico" might be handy for an occasional user to edit a config file or so, but vim really has everything on board that a programmer or sysadmin needs for his work.

 

BTW: I'm also not interested in an "emacs vs. vi" flamewar. I think it depends a lot on your personal preferences if you prefer emacs or vi. Actually, most people I met so far loved one editor and hated the other one. Can't remember anyone stating that they liked (or used) both :-)

 

:wq,

 

Hias

The menu and the syntax highlighting is not the point - I can do pretty fine without that, and I'm faster with the keyboard than with the mouse in first place; the console is also fine.

 

However, I need to use this mes^H^H^H editor at times, including its derivatives vim and gvim. The major problems I face is that a) I cannot start typing right ahead, but tend to forget this at times, causing strange side effects, that is, the editor should start in the INSERT mode, and not in the COMMAND mode (after all, this is what an editor is good for), b) the visual feedback of which "mode" you are in is weak, i.e. I tend to type faster than to check the "mode", c) the editor commands are not quite to the point what I need and at times unlogical, inconsistent or nonsensical, d) the colon key needed for a lot of commands changes its position when I switch between german and english keyboards, causing a lot of unnecessary distraction. (-:

 

I would be happy with a simple editor, but all this "mode back and forth" is giving me the creeps. Its design diverts so much from any standard (avoiding to say, "reasonable") interface design that I do not see its benefits. Or, after all, there are good reasons why web-editors (like this one) use a "conventional" interface design (though, probably, I would have prefered a news group where I can pick my editor myself).

 

That said, emacs is definitely not ideal either (too complex for questionable benefits), but at least, I have been successfully able to tune it the way I like it in the last 15 years, with minor adjustments in my .emacs file.

 

So long,

Thomas

Link to comment
Share on other sites

I may decide not to develop my own editor since there appears to be several out there that already can do what I am planning. Thanks for the input guys it helped a lot. Another reason why I am abandoning is trying to get the RTF code to do exactly what I need it to do is proving to be a problem.

 

I am checking out PSPad, just want to know where can I find the XASM Atari .ini file.

Edited by peteym5
Link to comment
Share on other sites

Disregard that about finding a XASM Atari file, I manage to make a MADS assembler file for PSPad. It is a work in progress right now. I am excited to have something that can edit my assembly code with less hassle. I commonly use MADS and Atari Win+. XASM is not much different, maybe someone can add XASM assembler directives as well. I know CC65 is alittle different and probably needs to have a separate highlighter file.

MADS6502ATARI.zip

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