Friday, August 12, 2011

Next Feature: Interfacing coming soon

The project coordinator in our college approved our project to be continued in the final year. Initially the project guide was reluctant, but when we told her about the new features and cool stuff, she agreed. The project coordinator also took interest in Virtual 8085 and gave it a green flag, to be developed further in our final year.

So what are we guys going to do this year?
We have got some good ideas for Virtual 8085. Currently it does not support the full instruction of Intel 8085, so first and foremost thing we will do is to make sure that it supports all the instructions. The most exciting feature we are going to add is INTERFACING. Yes, you will be able to interface virtual devices to Virtual 8085.

Stay tuned! (Athough this may take time, we are still in design phase)

Monday, April 4, 2011

100 V8085's already downloaded, did you download your copy?

One Hundred copies of Virtual 8085 have been downloaded since its release till today. This is such a proud moment for all the group members. Thank you to all people behind Virtual 8085 who have helped in development, mental inspiration, or any other areas.

Virtual 8085 is going to be developed even further and hopefully will come out of beta after this summer. :)

Do let us know what do you think of Virtual 8085.

Thursday, March 17, 2011

50 downloads complete

Yes! Virtual 8085 has today crossed the mark of 50 downloads. Aiming for 100 now...

Download Virtual 8085

Wednesday, March 2, 2011

The download goes live...

Yes, Virtual 8085's beta version is now available for download.

Over to the Download Page

Note that Virtual 8085 needs .net framework as a pre-requisite. If your computer does not have .net fx then you should install it before installing Virtual 8085. If your computer runs Windows Vista or higher, then .net fx is already installed.

Do provide us your feedback of using Virtual 8085. Error reports can be sent to me at : gaurav.bhorkar[@]gmail.com or you can post them in comments too.

Thank you and have a nice day!

Monday, February 28, 2011

How did I implement Syntax Highlighting?

If an IDE does not have the feature like Syntax Highlighting in its code editor, then in my opinion it is worthless using it. Syntax highlighting is a cool feature. It makes the code look cleaner, understandable, and easier to debug. Thats why even text books have now started printing highlighted code instead to the old black and white tradition. Virtual 8085 supports very basic syntax highlighting of 8085 assembly language code.

In this first version of V8085, only the mnemonics and comments are highlighted, not the operands. The most important ingredient in syntax highlighting is a TextBox which offers colouring of text (A RichTextBox). What I did is to monitor the current line the user is editing. Then find a match for a mnemonic in that line. If a mnemonic is found, then select that mnemonic and set its colour. But before selecting that part of line (mnemonic) we have to first save the previous selection made by the user (otherwise the previously selected text will be lost), then do our task, and restore the previous selection. Seems easy, right. It is!

For matching a particular string inside a string and get its position, we made the use of Regular Expression. The RegEx class in .NET provides functions for regular expressions. We have to match a Mnemonic inside the line which the user is currently editing. I saved all the mnemonics in a static string and used it as a match pattern for RegEx. For comments, I used the match string [^; ! ;] which means that any string that starts with a semicolon (;). When you match the pattern string with a particular string, then it gives you the index and length our your match. Thus using these two parameters you can easily select the text in Rich text box and colour it.

(Click to view code snippet)
The source code editor of V8085 showing syntax highlighting of code and intelligent help

Thus that was about syntax highlighting in Virtual 8085. Have a nice day!

Tuesday, January 18, 2011

Intelligent help in Virtual 8085

The intellisense feature of the Visual Studio IDE from Microsoft is one of the most talked feature that ensures easy and faster development of programs. When we gave an introductory presentation last Saturday, one of our college teachers suggested to include such feature in Virtual 8085. In my opinion, it is quite a difficult task to achieve. First of all, we have to scan whatever the user has entered, and then look up the instruction's help and load it. After about a day's work I gained some success regarding this.
(Intelligent Help showing help for the current line being edited)

I did not scan the whole text the user had input through the text box. What I did was just to scan the line the user is editing. When the line is scanned, we have to split it into three parts viz. Label, Mnemonic, Operands. If you know, an assembly language instruction may contain a label, a mnemonic, and operands. Now when the line is split into components, only the Mnemonic is of interest to us right now, because the help we will provide is only related to the mnemonic. We have another rich text box to show the help. We have to load the help file (.rtf) of that mnemonic into the rich text box. The name of the help file is the same as the mnemonic, like if the mnemonic is MOV then its help file would be MOV.rtf.

This made my task easy, I just had to load the file whose name is [MNEMONIC].rtf, if the file is not found then just clear the rich text box.
(Intelligent help code)
At some other time I will explain thoroughly how I achieved this.

Sunday, January 16, 2011

Project Introduction

Hi!

Virtual 8085 is a small project which aims to provide students and teachers a software which would behave the same as Intel 8085 microprocessor. It means that you could run all your programs written in the 8085 assembly language on Virtual 8085. As the name suggests, Virtual 8085 simulates the real 8085 microprocessor IC. Plus Virtual 8085 will have IDE like features of providing help for specific instruction, a step by step execution environment, and loads of features. Thus it will lead to a comprehensive learning of the 8085 assembly language, which of course forms the basis of learning assembly language programming. Virtual 8085 is basically an interpreter which interprets programs written in the 8085 assembly language.

And the most exciting thing about the project is that, after it gets completed we will be publishing as a free and open source software.

This project is just in its concepts, the actual development has just begun. The language of development is VB.NET. We are a group of five people creating this software as a college mini project. Last Saturday, we gave an introductory presentation to the Department of Computer Science and Engineering, Priyadarshini Institute of Engineering and Technology (our college).

The main purpose of this blog is to make people aware about the development of our project, I guess our posts may help many people. I am embedding the slideshow of the presentation we gave last saturday,