
vedi window
double click on a "include" tries to load the denoted file in an editor tab
search and replace works
tab, shiftab works as "indent"
middle mousebutton double click on a label/macro/variable jumps to the definition of that entity
there is a "pretty print" button for 6809 sources (only)
you can define and use up to 10 bookmarks
you can configure you syntax coloring settings

Create a new project or create an empty file.
Special:
If in file system view pressing "shift"-new will create a "default" project on the current selected assembler file.

Refresh the current display tree (if you externally added files - e.g.).
Special:
Pressing "shift"- refresh will switch the tree to a filesystem view within the Vide directory.
Load a file.
Pressing shift with the button, will reload the current edited file.
Save the current file.
Pressing shift with the button, will "save as" - opens a file dialog.

Pretty print the current source (assembler only).
Pressing the button:
starts the assembler with the current active file as input (file is automatically saved). If successfull, vecxi will automatically be started.
The messages of assi can be viewed in the bottom tab called "ASM messages":

message window
Pressing the button:
starts debugging the assembler with the current active file as input (file is automatically saved). If successfull, vecxi will automatically be started.
The messages of assi can be viewed in the bottom tab called "ASM messages". A breakpoint will be set automatically to the first valid instruction of the cartridge - dissi will popup and you can debug right away.
Pressing the button:
starts the assembler with the current active file as input (file is automatically saved) and if successfull (and a vecxi instance is already running) injects the built binary file into the currently running vecxi. Vecxi is not reset while doing this, you just âchangeâ the cartridge ROM while running. You can thus experiment with changes to your bin file on the fly without losing RAM data, PC address or breakpoints.
You can enter simple "expression" and use the ask field as a small calculator. Conversion between decimal, binary and hex is also supported.
You can enter names of (Bruce Tomlin - defined) BIOS routines, and a (stay on top) window displays a small help
You can enter Assembler mnemonics, and a help for the directive will be displayed
Placing the cursor over such a "text" within the source, will do the same.
error messages are colored red
warning messages are colored blue
optimization messages are colored green
info messages are colored black
Error/Warning/Optimization messages are related to the assembled source. They allways consist of two lines of information:
Line 1: What happened?
Line 2: Where did it happen?
Doubleclicking on any of the two lines will jump to the source (will also open include files, if message is about an include).
The third tab on the bottom contains the listing output of the assembler. The Error/Warning/Optimization messages are also included in the "correct" places in the listing (although not double clickable to any effect).
VIDE uses "Syntax" programmed by (c) Stephen Ostermiller. I slightly changed some code and did a flex grammar that covers some aspects of assi. This was my first contact with flex and grammars, so the results are not 100% and probably not very efficient either.
The expressions that are possible with parenthesis and macro usage are IMHO nearly impossible to cover with a regular expression based scanner. After all, who would identify an opcode lda that is puzzled together by a macro, like:
fillregister macro reg, val
ld\1 #val
endm
fillregister a, 1 ; set a to 1
fillregister b, 2 ; set b to 2

syntax example window
Using SHIFT and CTRL (windows/linux) or CMD (apple) "1"-"0" you can define bookmarks. Using CTRL (windows/linux) or CMD (apple) "1"-"0" you can jump to defined bookmarks.
Bookmarks can be used "accross" files.
CTRL (windows/linux) or CMD (apple) "J" jumps to a line number.
CTRL (windows/linux) or CMD (apple) "R" reapplies syntax highlighting.
F5 runs the current project/file, F6 debugs the current project/file (same as the buttons).