Re: 650x Series IDE

Programming the 6502 microprocessor and its relatives in assembly and other languages.
Post Reply
jds
Posts: 196
Joined: 10 Mar 2016

Re: 650x Series IDE

Post by jds »

The top post has been deleted, but this is what was there:
Quote:
Hello everyone,

for a project of mine I was looking arount the interwebz in search of an assembler IDE (think Eclipse or Visual Studio) for 650x processors. Since nothing I found matched my criteria I'm here to pay someone to do it for me, as the two programming langues I'm good at (Java and Cobol) aren't exactly suited for this kind of work.

The IDE should have the following features:

- Macros
- Memory Map with named/preallocated memory locations
- Named Variables
- The obvious syntax highlighting and error finding...

Compilation should be handled by some (preferably open source) third party compiler. No need to do something that already readily exists.

If you're reasonably certain you could stitch something like this together send me a pm.

Greetings,

-Giebels2609

P.S. At the end of it (if someone makes it for me) the whole thing will be published under the GPL.

P.P.S Happy Christmas and a merry new Year!
Have you looked at Michal Kowalski's assembler and simulator? http://exifpro.com/utils.html

If it is missing features that you require, the source code is available so it may be possible to add features to it rather than start from scratch.
Last edited by jds on Mon Jun 06, 2022 11:31 pm, edited 1 time in total.
DerTrueForce
Posts: 483
Joined: 04 Jun 2016
Location: Australia

Re: 650x Series IDE

Post by DerTrueForce »

What do you mean by "preallocated memory locations"?
Aside from that (and what it may imply), I think that the features you are looking for is all achievbale with current tools.

Any text editor worth your time will have syntax highlighting capability. It's just a question of acquiring, or more likely writing syntax definitions for it.
Macros come with most assemblers. "Named variables" are achievable using labels, which are also a fairly standard feature of an assembler.
Memory maps, ROM routines, hardware addresses, and the like are all easily handled by an include file.
Error detection is already partially handled. The assembler will tell you if it encounters a syntax error. I don't think that a logic error is detectable in assembly, as it is in a higher-level language. Obvious inefficiencies, such as a LDA followed by a CMP #0 can be fairly readily found using grep. There are enough of the obvious inefficencies that you would want to make a script to do it.

I think that the features you are looking for are mostly fairly easy to achieve using a text editor, a terminal, and pre-existing tools. The only exception to this is if you are looking for these "named variables" to be auto-allocated. I am not aware of a standalone tool that does this, but it is a solved problem(modern compilers do it), so it can be done.

Given that all this is possible without a dedicated IDE, I don't see that constructing one would give a significant benefit/advantage, as I've been using an editor and terminal DE for a fair while now, and it's completely functional.
I have to say I use Linux for development, mainly because I find it so much easier than on Windows.

In addition, Eclipse is written in Java. And it has a plugin system that I believe uses Java(I've never used it, so I can't say for sure).
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: 650x Series IDE

Post by GARTHWILSON »

DerTrueForce wrote:
I think that the features you are looking for are mostly fairly easy to achieve using a text editor, a terminal, and pre-existing tools. The only exception to this is if you are looking for these "named variables" to be auto-allocated. I am not aware of a standalone tool that does this
I think most assemblers do this, unless I'm not thinking of the same thing you are.  Cross-32 (C32), which I use for 65xx, uses the DFS ("DeFine Storage") directive to give the next available memory bytes to your variable, with the number of bytes you specify.  The 2500AD assembler I used in the 1980's used BLKB ("allot a BLocK of Bytes").  If the code is in ROM, which is a situation where the variable space has to be separate in RAM, I use a macro to make variables.  The macro uses an assembler variable to keep track of what the next available RAM address is. Since the variable is in the assembler itself, it doesn't take any memory or present any overhead to the target 65xx system.  You can have separate macros for ZP versus non-ZP variables.  This is different from DFB ("DeFine Bytes") or DWL ("Define Word, Leas-significant byte first") or others which take the data values from your parameter line and put them into the assembled output.  In any case, the programmer does not have to assign their addresses.  The assembler assigns them automatically.

I use the MultiEdit [1] professional programmers' text editor which has the syntax highlighting, links into various assemblers and compilers to work with them as an IDE, etc..  I use the last DOS version before they did Windows; but it still does all of the above and tons more.  A very popular professional programmers' text editor today is UltraEdit.

[1] Edit, 8/9/25:  I just found out, from the Wikipedia article that MultiEdit is defunct, due to the heart-attack death of the man who really made it go, and that even the website has been gone since Aug 2022.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
BigDumbDinosaur
Posts: 9428
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: 650x Series IDE

Post by BigDumbDinosaur »

jds wrote:
Have you looked at Michal Kowalski's assembler and simulator? http://exifpro.com/utils.html

If it is missing features that you require, the source code is available so it may be possible to add features to it rather than start from scratch.
The above link is out of date. Check here for the latest version of the Kowalski simulator.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: 650x Series IDE

Post by BigEd »

Quote:
Hello everyone,

for a project of mine I was looking arount the interwebz in search of an assembler IDE (think Eclipse or Visual Studio) for 650x processors. Since nothing I found matched my criteria I'm here to pay someone to do it for me, as the two programming langues I'm good at (Java and Cobol) aren't exactly suited for this kind of work.

The IDE should have the following features:

- Macros
- Memory Map with named/preallocated memory locations
- Named Variables
- The obvious syntax highlighting and error finding...

Compilation should be handled by some (preferably open source) third party compiler. No need to do something that already readily exists.

If you're reasonably certain you could stitch something like this together send me a pm.

Greetings,

-Giebels2609

P.S. At the end of it (if someone makes it for me) the whole thing will be published under the GPL.

P.P.S Happy Christmas and a merry new Year!
I've never really used an IDE but I understand that it's a matter of preference and habit: if you do a lot of work in an IDE, that's how you like to work. In a large project an IDE can provide useful cross-referencing capabilities so you can find the usages corresponding to a definition, or the definition corresponding to a usage.

May be of interest, ASM80.com, an in-browser IDE by Martin Malý.

See also in the reference section of this site: (which includes IDEs)

Edit: to include quote of the head post
Last edited by BigEd on Fri May 27, 2022 7:27 am, edited 1 time in total.
EdwardianDuck
Posts: 4
Joined: 04 Oct 2017

Re: 650x Series IDE

Post by EdwardianDuck »

Currently I just use Visual Studio Code with a syntax highlighting plug-in for CA65 plus either a make file or shell script for building projects. From what I remember, modifying the plug-in for another assembler's syntax didn't look that hard, it's just a matter of editing some XML or JSON formatted data (I forget which).

In the past I've used Peter Dell's WUDSN IDE, which is well respected in the Atari 8-bit community. See http://www.wudsn.com/index.php/ide. This is Eclipse based and has a good degree of integration with supported assemblers and emulators. For example, using MADS, an outline is generated from .local scopes, .procs etc. which is useful for navigating larger source files and projects. WUDSN is Atari focused, but not completely Atari specific.

Jeremy
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: 650x Series IDE

Post by drogon »

Giebels2609 wrote:
As it seems I was just looking in the wrong place...

The tools you reccomended do most of what I want. The rest will just have to be omitted.

Also saved me a lot of money (whoops)

P.S. What I meant by "named variables" was you give memory location "x" a name... Not the best wording but yeah
What's your current development environment like, and do you have a target 6502 system in-mind? The target might well dictate (to a degree) what sort of environment you use. (The key thing might be how to get your code into the target system in the first instance)

I use a somewhat old/traditional (for Unix) environment - separate editor, compiler/assembler/linker (cc65/ca65) with a Makefile to get my binary code which I can then transfer via serial line to the filing system of my own 6502 system, but if I were developing code for a BBC Micro, I'd use it's built-in assembler, or for an Apple II I might use one of it's (many!) assemblers like TED II+ and so on.

-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: 650x Series IDE

Post by GARTHWILSON »

Note that the original poster (Giebels2609) and his posts are now gone, because he posted blatant spam and also put a Viagra link in his signature line. That was the forum owner's decision, as I wasn't sure what to do because Giebels2609 did have quite a few good, on-topic posts before that, and had been a forum member for over five years. That's highly unusual. Spammers often think they have to write just one, or at most, a few, on-topic posts to get through some sort of perceived "probation period," after which they won't be watched anymore and they can do their damage; but not knowing the field, they copy others' posts in order to look legitimate. I nearly always remember seeing the post they copied though, and a few times they've even copied my own. Obviously they won't get away with it. Spammers will get thrown out on their head.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: 650x Series IDE

Post by BigEd »

Oh, that's unfortunate. I hate to see conversations decimated.

Sounds more like someone's account being taken over by a spammer, rather than a well-behaved member suddenly changing their nature.
User avatar
GARTHWILSON
Forum Moderator
Posts: 8775
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: 650x Series IDE

Post by GARTHWILSON »

I just saw the same thing, same spam, on another forum.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: 650x Series IDE

Post by BigEd »

I feel there's a confusion here between what an account does and what a person is like.

As you know, I do my share of spam-destruction, in my case over on anycpu, so I do have an idea of the territory.

A ban would prevent an account from doing any further damage, I think, and spam posts can be deleted, but I think it would be a bit more involved to remove their signature.
User avatar
Dr Jefyll
Posts: 3526
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: 650x Series IDE

Post by Dr Jefyll »

GARTHWILSON wrote:
Giebels2609 did have quite a few good, on-topic posts before that, and had been a forum member for over five years.
BigEd wrote:
Sounds more like someone's account being taken over by a spammer, rather than a well-behaved member suddenly changing their nature.
GARTHWILSON wrote:
I just saw the same thing, same spam, on another forum.
Hmm, doesn't that reinforce the idea that the person's account has been taken over by a spammer?

Still, the spammy content needs to be removed. As for trying to preserve the poster's non-spammy content, or making any other accommodation, that decision is in Mike's hands. And he and Garth do a lot already... :| (and you too, Ed, over on Anycpu)

-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
Sheep64
In Memoriam
Posts: 311
Joined: 11 Aug 2020
Location: A magnetic field

Re: 650x Series IDE

Post by Sheep64 »

GARTHWILSON on Fri 27 May 2022 wrote:
Spammers often think they have to write just one, or at most, a few, on-topic posts to get through some sort of perceived "probation period," after which they won't be watched anymore and they can do their damage; but not knowing the field, they copy others' posts in order to look legitimate.
I recall some bunkum about angel numbers where a message about astrology segued into a reference to an Atmel data-sheet. Regulars of the 6502 Forum will know that WDC data-sheets are more closely associated with astrology.

(Only joking. I quite like the WDC data-sheets.)
BigEd on Fri 27 May 2022 wrote:
I feel there's a confusion here between what an account does and what a person is like.
The historical owner of an account may not be the current owner. This may or may not be intentional. However, if an account plagiarizes from the outset then that is bad intent.

I've noticed a rising tide of spam and I believe that it has grown by approximately 1/3 over the last five years. We should count ourselves as fortunate because many websites have the problem that legitimate users are the minority. I believe this is called "The Inversion". To avert such a scenario, we have one last, desperate option which is not available in the general case. We discuss Turing complete electronic systems. Therefore, if spam gets really bad, we could instigate bytecode challenge/response running on Mike Naberezny's Py65 or physical tokens. Unfortunately, this would discourage a large proportion of newbies. However, it would definitely discourage one message "drive by spamming".
repose
Posts: 26
Joined: 20 Feb 2012
Location: America

Re: Re: 650x Series IDE

Post by repose »

I'd point out C64 Studio, which isn't currently in the 6502 wiki:
https://www.georg-rottensteiner.de/en/c64.html

I searched for an IDE myself and settled on this. I had a lot of input to fix over 50 bugs and add new features for 7.5.
Post Reply