What should the final name be?
ZiDE
 25%  [ 2 ]
z8de
 75%  [ 6 ]
Total Votes : 8

What Is It?

z8de is a standalone z80 ASM IDE for the Windows operating system. When done it will be a fully featured programming environment for programming in z80 asm for the z80 processor based calculators. Future goals may include extension to Ti-Basic, although that is doubtful.

Why?

The short response: Why Not?
The real reason, as Shaun so nicely put it on IRC:
Quote:
[20:47] <@shaun> A nice solid z80 IDE is lacking.


Info
z8de will be written in C#.

Goals

  • Open multiple files
  • Integration with DCS SDK
  • Integration with github and bitbucket (maybe??)
  • Can compile using Brass
  • Code completion with tab or other trigger key


I have just started this project on (July 22nd, 2013) and will be posting updates to this post as I make progress.

Questions, Comments and Concerns are welcome. Very Happy

And someone help me find a nicer name for the project. (Poll): (Looks like the new name is probably gonna be z8de. Thanks Cathy!)

Update 1: (July 24th, 2013)
Okay, so far I have the basic outline done in the new UI, the menu and how it looks now is finished, and you can see where the project manager and console (brass output) viewer will go. You can toggle both of the above things.

Next the thing being added is the actual text editor, the concept of having a "project" (so you can have more than one file), and finishing up the actual welcome page. I will then set up a way to have syntax highlighting for the code.

Here is a video of the update:


Okay, this is Update 2: (July 28th, 2012)

Now the IDE compiles Projects and the project viewer shows a tree view of the files in the project. The console also semi works and records errors, although they seem to be cut off, still working on the code editor part of it.

Well, the most obvious question would be "why?". Not by way of demotivating you from the project, but rather as a way for you to figure out what exactly you want your IDE to be able to do. Currently, people use things like Notepad++ or Sublime or [g]vim with the Doors CS SDK/Brass; what will you be able to offer that will make people choose your IDE over those alternatives? From a practicality point of view, what sort of experience do you have with C#, and how extensive is said experience? While I think this might be a good third or fourth project, I don't think it would make an appropriate first project for a C# newbie. Regarding your poll, I rather like "z8de", because you can pronounce it "z80".
I also believe someone else was working on a similar project that was also titled TIDE. I'd say z8de would sound appropriate.
KermMartian wrote:
Well, the most obvious question would be "why?". Not by way of demotivating you from the project, but rather as a way for you to figure out what exactly you want your IDE to be able to do. Currently, people use things like Notepad++ or Sublime or [g]vim with the Doors CS SDK/Brass; what will you be able to offer that will make people choose your IDE over those alternatives? From a practicality point of view, what sort of experience do you have with C#, and how extensive is said experience? While I think this might be a good third or fourth project, I don't think it would make an appropriate first project for a C# newbie. Regarding your poll, I rather like "z8de", because you can pronounce it "z80".


I have decent experience with C#, and I've been programming it for a while. The experience is about mid-high level. So I'm confident I can pull this off. As for what it offers, I would like to get basic stuff like the layout, and ability to use files and such, and then add in more features later on such as SDK and Brass integration.

tifreak8x wrote:
I also believe someone else was working on a similar project that was also titled TIDE. I'd say z8de would sound appropriate.


Yup, This is just for now, I'll change it in the future.
What other projects have you created in C# before, Link? I hear you on the features, but that addressed more your development plan than features you plan to include. I take the ability to edit and assemble ASM files as a given; will you have tools to help programmers handle multi-source-file projects, lots of labels/functions in projects, sprites and other data, documentation, syntax highlighting, tab completion, and so on? Also, for connecting Brass, you should look into the COM interface.
KermMartian wrote:
What other projects have you created in C# before, Link? I hear you on the features, but that addressed more your development plan than features you plan to include. I take the ability to edit and assemble ASM files as a given; will you have tools to help programmers handle multi-source-file projects, lots of labels/functions in projects, sprites and other data, documentation, syntax highlighting, tab completion, and so on? Also, for connecting Brass, you should look into the COM interface.

So far I've created a few things such as a basic web browser, some notepad style software, tic tac toe, a TCP chatting program and some other odds and ends like solving Euler code.

And yea, as for features, of course I'll have the editing and assembling ASM files, I also would like to work for multi source projects, connecting Brass (thanks for the COM idea!) syntax highlighting and included documentation. After I'm done that I'll work on the sprites, other functions and tab completion.

Edit: Since I hate the default GUI, I made/re-purposed a bit of GDI+ stuff in order to have a nicer looking GUI (Also looks like it will be called z8de). I have also made a video for the simple GUI to check it out btw, no sound though.

http://screenr.com/AACH
Looks like a good start, thanks for sharing. And thanks for clarifying your experience; it sounds like you have spent much more time playing with C# than I had thought. You don't have to have all those features I suggested, by the way. I'm just trying to get you to think about what will make your IDE particularly appealing to coders, be it a cadre of features, simplicity, or something else.
If I could also make a suggestion, you should try to keep everything so it works on Linux, too. Additionally, from some things I've been working on, having auto-completion and (this might not work too well) extending the macro system some more. Specifically, stuff like:
Code:
#define FullName(inner) GUIR_{name}_SpriteData

.dw FullName(CustomMouse)   ; => GUIR_CustomMouse_SpriteData
Also, things to deal with comments would be nice. In Emacs, I can hit the comment key ";" and it will tab it out to a certain distance, so that all the comments line up.

Though that might just be my inner Emacs fangirl speaking, I think those would be some cool features to include in any editor.
_player1537 wrote:
If I could also make a suggestion, you should try to keep everything so it works on Linux, too. Additionally, from some things I've been working on, having auto-completion and (this might not work too well) extending the macro system some more. Specifically, stuff like:
Code:
#define FullName(inner) GUIR_{name}_SpriteData

.dw FullName(CustomMouse)   ; => GUIR_CustomMouse_SpriteData
Also, things to deal with comments would be nice. In Emacs, I can hit the comment key ";" and it will tab it out to a certain distance, so that all the comments line up.

Though that might just be my inner Emacs fangirl speaking, I think those would be some cool features to include in any editor.


I honestly don't know if it would work with linux, although that would be a later port, since I may or may not have to do stuff to get it run with Mono. And that sounds cool, although It would come in quite later. And thanks Kerm!
_player1537 wrote:
and (this might not work too well) extending the macro system some more. Specifically, stuff like:
Code:
#define FullName(inner) GUIR_{name}_SpriteData

.dw FullName(CustomMouse)   ; => GUIR_CustomMouse_SpriteData
That's not particularly unusual. With a C preprocessor, that would be
Code:
#define FullName(inner) GUIR_ ## inner ## _SpriteData
Tari wrote:
_player1537 wrote:
and (this might not work too well) extending the macro system some more. Specifically, stuff like:
Code:
#define FullName(inner) GUIR_{name}_SpriteData

.dw FullName(CustomMouse)   ; => GUIR_CustomMouse_SpriteData
That's not particularly unusual. With a C preprocessor, that would be
Code:
#define FullName(inner) GUIR_ ## inner ## _SpriteData


That was the first thing I tried, but Brass didn't support the ## operator (?) for macros. It is at least somewhat useful, though, since I've found myself typing a bunch of the same thing over and over, and it would be nice to have a macro do it for me.

Edit: But I agree that for most people it won't be too useful.
Update 1: (July 24th, 2013)
Okay, so far I have the basic outline done in the new UI, the menu and how it looks now is finished, and you can see where the project manager and console (brass output) viewer will go. You can toggle both of the above things.

Next the thing being added is the actual text editor, the concept of having a "project" (so you can have more than one file), and finishing up the actual welcome page. I will then set up a way to have syntax highlighting for the code.

The original post also has a video now.
Okay, this is Update 2: (July 28th, 2012)

Now the IDE compiles Projects and the project viewer shows a tree view of the files in the project. The console also semi works and records errors, although they seem to be cut off, still working on the code editor part of it.

  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
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 vote in polls in this forum

 

Advertisement