6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Wed Sep 25, 2024 10:32 am

All times are UTC




Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 2:45 pm 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
For a while I've been thinking about how a 65xx IDE should look like.
I would like to start a discussion about such an environment, to see what should it contain, and what would it take to make it.
Please post ideas and comments.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 3:08 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
I'd have to start by reiterating a point Garth has made - you probably won't get a consensus and you probably won't recruit a team effort. You will probably get ideas, but for a project to happen it almost always takes a single person to get started with some code - that person defines what is in and what is out. With tools like github, you can of course have complementary forks of a project (which is more or less what we saw with 65Org16)

It helps in discussions like these to frame the project you'd like to discuss.

Should I add that it won't be productive to hear any opinions that such a project is not a good idea? If you don't like the sound of this project, please leave the thread alone. If you like, set up a blog to voice your opinions, or start a constructive thread on a project you like better.

Good luck!

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 3:17 pm 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
The ide should be more of bringing an assembler, simulator, and cc65 compiler in one package. All of the things that an proper 65xx ide needs already exists, we only need to put them in a single program.
The only tool i used is the Kowalski simulator, so i don't have much experiences with simulators and similar tools. But i could contribute with writing the ide code that bonds the elements including gui and editor. Java would be my choice, since it is cross platform.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 3:21 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
How about using Eclipse ?


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 5:16 pm 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
Like WUDSN, that might do just fine, but i have no idea how to make eclipse mods/plugins, so i can't contribute with that.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 5:21 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
I haven't used Eclipse myself, but maybe figuring out how to modify it for 6502 is easier than creating an alternative. It's at least worth some attention.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Mon Oct 01, 2012 5:32 pm 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
I since i learned Java i use Eclipse a lot. I googled about that when i saw WUDSN, but i didn't find much. Ill give it another try.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Tue Oct 02, 2012 1:01 am 
Offline

Joined: Tue Jul 24, 2012 2:27 am
Posts: 674
You should ideally make it pluggable for different specific 65xx-oriented toolchains. While I use ca65 the most, there are legitimate features that other assemblers have that change the syntax and would be nice to have IDE support through.

Eclipse might be a good starting point if you're already into Java, but I think for the specifics of what to configure for the 65xx world you'd need to create your own abstractions anyway.

_________________
WFDis Interactive 6502 Disassembler
AcheronVM: A Reconfigurable 16-bit Virtual CPU for the 6502 Microprocessor


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Tue Oct 02, 2012 7:07 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
My assembler should need minimal wrapping to call from within an Eclipse environment.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Tue Oct 02, 2012 7:35 am 
Offline
User avatar

Joined: Mon Aug 08, 2011 2:48 pm
Posts: 808
Location: Croatia
White Flame wrote:
You should ideally make it pluggable for different specific 65xx-oriented toolchains. While I use ca65 the most, there are legitimate features that other assemblers have that change the syntax and would be nice to have IDE support through.

Eclipse might be a good starting point if you're already into Java, but I think for the specifics of what to configure for the 65xx world you'd need to create your own abstractions anyway.


Agree. Another thing that would require attention, is that it should not be fixed for specific systems, like c64, or apple2, but that you can describe i a way your custom system.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Tue Oct 02, 2012 1:02 pm 
Offline

Joined: Wed Sep 19, 2012 6:19 pm
Posts: 122
Location: England
I would love a simple interface. I understand that lots of us here use Eclipse but for me it's everything but simple.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Tue Oct 02, 2012 2:29 pm 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
alkopop79 wrote:
I would love a simple interface. I understand that lots of us here use Eclipse but for me it's everything but simple.

Its really not that difficult to use. You pick it up very quickly.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Tue Oct 02, 2012 6:37 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
My 6502 IDE is NetBeans running my simulator and my assembler.

I have breakpoints in my simulator that can stop on memory and register access and change. It can also trace instructions and such, I can step etc. Most of that is just in the output window or the IDE and not in windows maintained by the simulator, it runs outside of the IDE -- but it's probably not a great leap to get it to run inside of it. These are useful, but surprisingly less than useful when debugging high level Forth code (since all of the work happens mostly in the same core runtime). Need a better Forth debugger than a 6502 debugger.

It's a hodge podge of tools, but most of the files live open in the IDE. Of course, I can also put breakpoints in the simulator itself, but I have to do that less and less (which is a good sign). It could certainly be more elegant and flow better.

I think an IDE makes little sense for real hardware unless you have actual, on board debugging and inspection resources available (is that what JTAG does?). Perhaps a better editor that's more aware of the structure of an assembly file (click on a label, jump to its source). That could be nice, but then you have to settle on an assembler.

It would probably be straightforward to convert my assembler to an ANT or MAVEN task and change the output to be most satisfactory to the IDE to be a better citizen. Emacs has a format it likes in compiler output that it automatically accepts out the gate, I could convert it to that. Then I could click on error messages in the IDE and go to the source lines easily -- "for free".

Having the editor aware of cross file symbols for the assembler would perhaps be the most useful. Find definition, show usages. But it's assembler specific since each assembler has it's own syntax.

I'm still working on adding better expressions to my assembler so that I can add macros. Then I want to run that verification test suite we have posted in the other forums to check my CPU. I kind of want to redo the assembler in general. I don't have a linker or anything like that yet, haven't really needed it.

The biggest issue was that simply my goal was to get my simulator working, and all this tooling around that I found as a distraction, so I get it to be borderline acceptable and then just leave it.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Sun Nov 18, 2012 8:32 pm 
Offline

Joined: Mon Apr 16, 2012 8:45 pm
Posts: 60
Back in the day when I did a lot of 6502 assembly programming I wanted a feature that showed branches and looping and I drew lines by hand on the printouts. Something that draws a blue line for backward branches, amber for forward branches, (perhaps also red for JMP and green for JSR ) was something I wanted then.

Specific for 6502 is the zero page and pressure here was always big; you never had enough RAM and certainly not enough room in the zero page. Result was time sharing and a high probability of bugs. My suggestion here is a tool that indicates pressure by number of places in code that writes and number of reads. Also useful is a tool to go from address to code (readers and writers). Statistics from a simulated run is even better.


Top
 Profile  
Reply with quote  
 Post subject: Re: Idea for a 65xx IDE
PostPosted: Sun Nov 18, 2012 9:11 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8517
Location: Southern California
Alienthe wrote:
Back in the day when I did a lot of 6502 assembly programming I wanted a feature that showed branches and looping and I drew lines by hand on the printouts. Something that draws a blue line for backward branches, amber for forward branches, (perhaps also red for JMP and green for JSR ) was something I wanted then.

I have, countless times, printed out confusing routines on fanfold paper to spread on out the floor and draw the arrows just as you're saying, from the various branch instructions to the labels they branch to. My ideas of structure improved dramatically in Forth, but it was only recently that I realized there's a way to do this and be able to nest structures in assembly with common assemblers. It becomes much more clear what you're doing, reduces bugs, makes the code more maintainable, gets rid of most of the local labels, and in most cases there's absolutely no penalty in program length or execution speed. I wrote about it at http://wilsonminesco.com/StructureMacros/index.html and included source code. BitWise offers the As65 assembler which has nestable structures built in also, without the user having to add macros to accomplish the purpose.

Forth tends to be its own IDE, including for portions you might want to write in assembly.

_________________
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?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: