AE.COM: A .ASM file editor. This document describes the use of Asm Editor, ver. 2.3. AE is an editor intended for creation and maintainance of assembly language source files. It is not intended as a general purpose editor nor an editor for other types of source files. LEGAL STUFF: First, AE is not in the public domain. It is freeware, which means it can be distributed freely, used freely, but not sold. This is due to Ziff's copyrights on TED, the ancestor of AE. Although TED has been very heavily modified to become AE, I just don't feel right trying to circumvent Ziff's copyright. Second, the use of this software is entirely at the user's OWN RISK. It is not guaranteed to do anything except occupy 0 or more bytes of disk space. ANY un-desired effects caused by this program, directly or indirectly, are the responsiblity of the USER, and the USER's sole recourse is to dis-continue use of the program. As this program alters data files, normal data processing techniques dictate keeping reasonable back ups, as AE.COM or AECONFIG.COM are NOT guaranteed to hold your hardware, software, or data safe from harm. In-other-words, AE.COM and AECONFIG.COM *should* perform in a manner *similar* to that set forth in this document, but there are NO GUARANTEES! USE AT YOUR OWN RISK!!! Third, I'm sick and tired of seeing software, freeware and otherwise, that says "Free for all except military" (Or government). If our US Military sees a stragic advantage in using this program (Doubtful), they are welcome to it. I even built in a configuration item for silent operation so the Navy can use this program in the submarine fleet. (Yea, right!). WordStar and WS are trademarks of WordStar International. 80286+ ONLY!!! As with the 8080 vs. Z-80 question under CP/M, there comes a time when writing to the lowest common denominator no-longer makes sense. Especially when the '286 introduced many space/time saving instructions. So this program only works on a '286 or better. HOWEVER, 8088 based XT users aren't entirely left out in the cold. Replace that useless 8088 chip with a Nec V-20 (Nec V-30 if you have an 8086). For about $10, you will pick up the ability to run this program, and any other '286 only programs that don't require protected mode features (almost all '286 only programs fall into this cataogory). PLUS you will pick up a little speed. Instead of a Norton SI of 1.0, you'll have a SI of about 1.1 or 1.2 - every bit helps. DOS 2.0 or above: The requirement of a '286 or above should lock out anyone from running DOS 1.x. However, one never knows, or a V20 upgrade could be running it. Needless to say, AE requires MS-DOS 2.0 or above (or it's equivilant), and will barf on 1.x. I don't bother checking, shouldn't have to in 1994... Features: o 80286 coded for speed/compactness. o Very compact program. o Edit files up to 64K in length. o Uses TRUE TABS for ease of use, and compact file size. o Enter key is always a cursor motion key. o Intelegent TAB key. o Emulates most applicable WordStar commands. o Uses cursor keys for DOS weenies. o User configurable initial insert state. o User configurable backspace key - distructive or non-distructive. o Smart, column oriented cursor. o Intelegent use of EOF. o Automaticly inserts semi-colon at beginning of comment field if none there. o FORM7 filter. o Automaticly appends colons on labels. o Asm oriented auto-indent. o Automaticly strips trailing spaces/tabs. o Automaticly tabs from operand field to comment field. o Automaticly and transparently saves file during keyboard in-activity o On screen status line can be turned off, if desired. o User specified default file extension. o Pleasant audible feedback can be turned off if needed. Introduction: AE.COM is an adaptation of Tom Kihlken's TED.COM. AE.COM is written by Mark D. Pickerill, a professional assembly language programmer. From the author: C and Pascal programmers have a wide array of specialized editors available to them to assist in the coding process. Assembly Language programmers have always had to make do with a general purpose text editor. It occured to me some time back, that much of the process of writing assembly language could be automated - thus the birth of AE. AE takes care of most of the mundane tasks of creating well-documented code. Keystrokes are minimized as AE anticipates what comes next, and does it for you. It can put colons on labels, make sure you go directly to the next appropiate field, insert the semicolon for you so you can immediately type your comment, and even take care of caps lock for you so you can write upper case code with lower case comments - by far the most readable, and most popular assembly language source formatting choice. AE closely follows the format and options of Irv Hoff's FORM7 assembly language source formatter program. I have used this program daily for many, many years. AE minimizes my need to use it. I searched endlessly for an existing editor to modify, as I did not want to re-invent the wheel. TED, by Tom Kihlken, fit the bill. It was small, source was included, source was reasonably well commented and structured, and most important, the source was in assembly. Please bear in mind, that while some attempt has been made towards user configurablity, this editor was created by me, for me, for my coding style. Naturally, I think my coding style is the best, but others may not agree. I comment every line, use colons after all labels (NOT allowed by MASM), etc. ******************************************************************************* If you like AE, and can use it, fine. If it is incompatable with your coding style, it is not for you. I developed my coding style over many years of writing assembly language for a living, and code this way for a reason. I like my assembly source files to be pleasing to the eye, and very well documented. Nobody's source code meets my documentation standards - including mine! AE is oriented towards a person who is used to, and prefers WordStar keystrokes. Some attempt has been made to accomodate "DOS Weenies" with F-keys, cursor arrow keys, etc., but the program remains heavily WordStar-ish. ******************************************************************************* As with all my works, AE is dedicated to my patron deity, the Goddess Athena. If you are a member of a fanatical monotheistic religion and cannot deal with this, oh well... FEATURES EXPLAINED: Auto-commenting feature: This is real time saver. If this configurable option is turned on, it automaticly inserts semi-colons as needed. It inserts them under two circumstances: 1) The TAB key is pressed, moving the cursor to the comment column specified in the program installation. (see configuration, below) At this time, a semi-colon is inserted, so the programmer can immediately type his comment. A space is automaticly placed after the semi-colon, if AE was installed to do so. AE does NOT insert a semi-colon if one already exists. This allows tabbing in full line comments without conflict. 2) The key is pressed on a line that 1) is shorter than the specified comment column, and 2) has no existing semi-colon. This is for two reasons: A) Blank lines in source code (semi-colon present for consistancy). (and I don't like semicolons at the beginning of the line for a blank line) B) The programmer isn't going to comment this line right now. The programmer may want to go back later to comment this line in which case the semi-colon is already there, or the line may stay un-commented (tsk-tsk!) but the semi-colon remains for consistancy and style. In all cases the semi-colon is inserted at the specified comment column. If the line is already longer than the specified comment column (long instructions, DB strings, etc.), no semi colon is placed. This feature is great for going back and re-formatting and adding comments to someone else's code. Load the code into AE, and hold down until the file has scrolled to the end. You now have a properly placed semicolon in all uncommented lines, vastly simplifying the commenting process. See QUIRKS, below. FORM7 Filter: If this configurable option is turned on, the code is automaticly generated as upper case labels and instructions, with Capitalized lower case comments. The first non-space character is capitalized in the comment field, then the caps lock is removed so that the remaing portion of the comment is in lower case. The programmer may use the shift keys and/or re-engage the caps lock normally as needed. switches back to upper case. This is similar to the output of Irv Hoff's FORM7 program. (Highly recommended!) The feature that strips trailing spaces and tabs (detailed below), is, strictly speaking, part of the FORM7 filter. However, AE strips off trailers regardless of whether the FORM7 filter is selected or not. Weenies that program with lower case labels and instructions (YUK!), will want this feature turned off. I have written diatribes in the past about lower case source code in general, and lower case assembly source code in particular, so I will spare the reader this... See QUIRKS, below. AUTO-COLONS: AE has the ability to automaticly place a colon after all labels. Just type the label and press either TAB or CR, and the colon is automaticly generated. MASM users may not like this feature and want it turned off as MASM dis-allows colons on labels on EQU's, etc. Or MASM users can backspace out the colon when it isn't desired, OR press the space bar after typing the label as AE won't place a colon after the label in this circumstance. See QUIRKS, below. AUTO-INDENT: AE has a primitive auto-indent feature that is suitable for ASM programming. Like many other features, it is user configurable. When on, this feature remembers the state of the previous line, and applies it to the current line. If a label or full line comment was typed in the previous line, when is pressed, it will set the cursor at the start of the current line for another label or full line comment. If the previous line has no label or full line comment, the cursor will be placed at the first tab stop on the current line. You may then type an instruction or to insert a label or full line comment. TRAILING SPACES/TABS: AE automaticly strips any and all trailing spaces or trailing tabs when is pressed on a line. This happens regardless of the cursor position on the line. This means any new lines entered into a source file by AE will not have any trailing spaces/tabs. To remove these from existing source files created by editors other than AE, either use FORM7, or, starting at the top, hold down the key until the entire file has scrolled by. This feature minimizes file size and maximizes assembler throughput. FIND/FIND NEXT: Unlike WordStar, FIND always starts at the top of the file. I always *HATED* having to do ^QR before ^QF. FIND NEXT starts from the current location. After entering the search string, FIND asks if you want the search to be case sensitive. Any key other than defaults to case insensitive. Search and Replace: This function also always starts at the top of the file. This is ALWAYS a global search and replace, the most-often-used. Search and Replace also doesn't waste your time by updating the display while doing its job - unlike WordStar which shows every single replacement done. TABs: AE uses TRUE TABs. This means 1) a single TAB replaces up to 8 spaces, and 2) TABs are the standard length of 8 characters. Non-standard tab stops, such as 4 or 10 are not supported. This is much better than a fair number of LAME editors that do not use tabs at all. Tab based source code takes up less space on disk, transmits over MODEM links faster, and most importantly ASSEMBLES FASTER!! If insert status is on, a tab is inserted. If insert status is off, the cursor is moved to the next tab stop, over any characters that are there. Just functions as a cursor move key. If insert status is off, and the next tab stop is beyond the current end of line, a tab is appended to the end of the line. This is contrary to some editors I've used that either insert a tab regardless of insert status; or, with insert off, replace the current character with a tab. This way is far more useful, especially when writing assembly code which is TAB oriented anyway. AUTO-TABS: This configurable option simplifies operation for the programmer by automaticly tabbing from the operand field to the configured comment column. Thus: LABEL: MOV AL,0FFH ; Comment ... The operand field starts with the AL,0FFH. After typing the last of this, the TAB key is pressed and the cursor moves to the configured comment column, without stopping at intermediate tab stops along the way. The semi-colon is inserted, etc, if AE is configured this way. This is automaticly turned off if the cursor is past an existing semi colon. This effectivly turns off the auto-tab feature when tabbing in a full line comment, etc. The key. This acts differently from any other editor I've ever used, and I like it this way. is always a cursor movement key, regardless of insert status. Only if the editor needs to append a new line on the end of the file does it actually do anything. This allows the key to be pressed halfway through a line, and just have it move to the beginning of the next line. If you need to insert a line in the middle of a file, or in the middle of a line, use ^N. Furthermore, can be configured to turn OFF insert. The LAME feature: The LAME feature makes AE as lame as any other editor. Newline is inserted if insert status is on. Needless to say, the neat feature of turning off insert on doesn't apply here. This feature was provided by popular request. See configuration, below. The key. I hate distructive backspaces. Therefore, backspace is just another cursor movement key. I realize a lot of people do like distructive backspaces. Therefore it can be configured as you like it. INITIAL INSERT STATUS. I think I'm the only person in the world who likes to fire up an editor with insert turned OFF. Every other editor in the world, except WS where it is configurable, comes up with insert ON. Some don't even allow you to turn insert off! Needless to say, AE comes up with insert OFF. As I'm probably the only person in the world who will like this, it is configurable. MOVING VERTICALY: A very nice feature of AE, which I've always wanted, is the way the cursor column is handled when moving verticaly. Explaining this gets a little complicated, so bear with me: Let's say the cursor is positioned at the end of a fairly long line. The up-arrow or ^E is pressed. The cursor moves up to the next line. Let's say the next line up happens to be a short line. The cursor moves to the end of the short line. So far, this is no different from any other editor that does not place trailing blanks to fill in a line. Now let's say we move up again. This next line up is even longer than the first line we started from. In this case, the cursor will be positioned *in the same column it was to start with*! WS drove me nuts when moving verticaly in the comment field of an assembly language source file. AE is much nicer. I cannot claim credit for this, it was inheirited from TED. PROCESSOR TECHNOLOGY COMPATIBILITY: AE is compatable with the Processor Technology assembler's way of allowing a * in the first location of a line to mean a full line comment, without having to use a semi-colon. Now, I doubt that anyone is using this assembler anymore (or if they are, not on a MuSh-DOS machine.), but this quirk has crept into several subsequent products, including ASM for CP/M, and the FORM7 program. Even my assembler, the 2500 A.D. assembler allows this, although it carries it a bit farther. So a * in the first column is the same as a semi-colon, and the FORM7 filter will key off of it. Just in case some flakey future version of MASM uses a * as the first character in a label to mean something special, there is a config byte to turn this off. The bottom line: You probably don't care. Leave on unless you code with a * as the first character of a LABEL. EDITING BEYOND 80 COLUMNS: AE retains the capability inherited from TED of allowing editing beyond 80 columns. Any line longer than 80 columns will have a diamond placed in the rightmost column. Using ^LEFTARROW and ^RIGHTARROW will shift the display 8 characters at a time to be able to "reach" this longer text. ASM source is seldom wider than 80 chars anyway, but the capability is there, if needed. AUTO SAVE FEATURE: AE will save your file for you automaticly (if so configured) if the file hasn't been saved since the last change, AND no keys have been pressed within the last 3 minutes. Auto-save will also save your file for you automaticly before executing the shell to MS-DOS feature. The safety reasons for this are obvious. Auto-save is transparent to the user. The file is saved to .$$$. This file is automaticly deleted when the user exits the program normally, either through save and exit, or abort. However, if normal program execution is interrupted through power failure, system crash, un-intended operation of the Big Red Switch, or other cause, the .$$$ file will still be present, and will represent the state of the edited file as of the last auto-save. This file may be re-named as needed. Auto-save will NOT kick in if the program is left waiting for user input. As in a FIND, Search and Replace, or any file operation while entering the file name. Auto-save will attempt to save even when AE was invoked with no (or an invalid) filename. In this case, it will NOT work, but the speaker is beeped once to call your attention to the attempt. STATUS LINE: The status line shows the functions of F-keys 1-10 as well as the current insert/overstrike status. This line may be turned off with the configurator program, if desired. The insert/overstrike status won't be visible with the line off, but you pick up an extra line of display. DEFAULT FILE EXTENSION: The last editor I used with a default file extension was Nevada EDIT, under CP/M, although I suspect that the MS-DOS version, Utah EDIT was the same. Regardless, I've always liked that feature and sorely missed it. With AE, it's back! A default file extension (.ASM, .A86, .68K, whatever) can be specified with the AECONFIG.COM or DEBUG. Then the editor can be invoked without having to specify a file extension - the default is used. As is usual with such things, if you want to work on a file that actually has no extension, specify it with a trailing dot, i.e. FILENAME. If this kind of feature drives you crazy, just specify a default of 3 blanks when configuring, it will effectivly turn this feature off. QUIRKS: Like any program that attempts to do your thinking for you, there are times when it isn't doing what you want it to. AE is no exception. A good deal of care has gone into the program, in an attempt to make it as un-obtrusive as possible. A balance between doing your thinking for you vs. getting in the way when you want to do something else has been struck. As mentioned before, AE assumes that you write your ASM source much like I do. It assumes that you use the TAB key to move to the next field. It assumes you press when finished typing in a new line. Most of the automatic features are keyed off of either the TAB key or , or both. Here are some of the quirks you may encounter... FORM7 filter: If there is a semi-colon inserted in a quoted string, caps lock will want to fight you. Pressing the semicolon will turn on caps lock. Then 1 or 2 characters later, it will come off. The editor will also insert the "space after semicolon" if configured this way. You'll have to go back and delete this space manualy. This is due to AE making the assumption that a semi-colon means a comment. It doesn't know about quoted strings. As semicolons aren't used too often in quoted strings, it isn't felt worth the code space to work around this problem. Code to detect all possible permutations of quoted strings with single quotes, double quotes, reverse quotes, and things like '' to actually insert the quote character into the literal string, would be big, clunky, and ugly... Personally, I can't remember the last time I had a semi-colon in a quoted string anyway. A work-around is to DB 3BH or just toggle the caps lock as needed. Auto commenting: Similar to the FORM7 quirk, if there is a semi-colon in a quoted string, the auto comment feature won't work. You will have to insert the semi-colon manualy, and handle the formatting of the comment manualy. AUTO-COLONS: Does not automaticly place a colon after the label if any key besides or TAB is pressed when typing the label. This has been left this way in order to accomodate MASM users who cannot have colons after some labels. MASM users are advised to press after a un-coloned label, or use one of the control keys. (or turn this feature off). EDITING MARKED TEXT: Not allowed. If you have a block defined, you cannot edit inside it as long as it is visably marked. Use ^KH to hide the block, edit it, then ^KH to un-hide it again. Search & Replace, since it is global, will not function if there is a defined block visable *anywhere* in the file. In a similar vein, block load from file is non-functional while the cursor is inside a marked block. Turn off, then load, or move outside the marked area. FIND, SEARCH & REPLACE: If using these functions, espcially search & replace with a large file where there will be a lot of replacements, IF POSSIBLE, use the case sensitive feature instead of the default case insensitive. The exact match routine for the case sensitive routine is MUCH faster than the "mask and compensate" that must be performed for the case insensitive search. So you may have a situation where you know the case is the same, or it's numeric data, or whatever, then you can use the case sensitive search with the same result. TRAILING SPACES/TABS: It *is* possible to enter lines with trailing spaces or trailing tabs. The way this is done is to create the trailing spaces/tabs, then instead of using , use one of the control-keys, such as up-arrow or page up, etc. NOTE TO XT USERS: Please note that if you are using an XT archetecture machine AND you have one of those clone phone keyboards with caps lock LEDs, the LED will get out of sync with the state of caps lock. XTs cannot turn this light on and off like an AT can, and as AE is constantly fiddling with the caps lock state, this light will be meaningless. You may restore the light to it's normal state by making sure it is ON before exiting AE as AE turns caps lock on when exiting. Some keyboards also allow the state of the LED to be "fixed". AT machines, of course, will not have this problem, the LED will correctly follow the caps lock state. ALL QUIRKS: Yes, it *is* possible to "fix" most of these. However, doing so would result in the editor becoming too rigid to be able to work around the automatic features, when desired. It is felt that the balance is best served this way. It goes without saying, that the way *I* code, minimizes my encountering these quirks. WORDSTAR KEYS: There are 4 catagories of WordStar emlation: Catagory 1: Absolutely, positively, *MUST* act just like WordStar. Item 2, below, and most other implemented commands fit this description. Catagory 2: Needs to be close, but need not be exact. Items 1 & 4, below, fit this description. Catagory 3: Needs to be close, but needs some kind of improvement. Items 3 (in the default configuration), and 6, fit this description. Catagory 4: Not implemented. Either non-applicable, or too complicated for the amount of times the function is required. ^KN, enter column mode, comes to mind. Nice feature when you need it, but you seldom do. Most WordStar keys are catagory 1 implementations. A few exceptions: 1) Word Left and Word Right (^A and ^F). Merely move to the previous/next tab stop. Felt to be good enough for programming. 2) To the best of my knowledge, AE handles tabs just like WS. 3) acts just like WS if AE has been configured this way. The default configuration does not. See above. 4) ^KS and ^KX. Save and resume/save and exit. Invoke just like WS, but have the added question about file name. This allows AE to be invoked without a filename or utilized in a SAVE AS: mode. 5) As stated above, an initial FIND always starts at the top of the file. Find next is just like WS. FIND only asks about case sensitivity, does not have the other WS options. 6) Depending on what version of WS you may have been using, the handling of the cursor when moving verticaly over a tab: LAB_L: MOV AH,09H ; Comment JMP SHORT SOMEWHERE ; Exit ...asuming the _ in the above label is the location of the cursor, WS 4.0, when the cursor was moved DOWN (^X), would move the cursor to the beginning of the JMP instruction, unlike WS 3.3, which would move the cursor to the beginning of the line (beginning of the TAB). The 4.0 way drove the author nuts! AE does it the 3.3 way. In fact, the 4.0 way was the beginning of the author's desire for a better editor! 7) Block marking is a catagory two implementation. Unlike WS, it doesn't matter if you use ^KB, then move up to do a ^KK. With AE, always start a block with ^KB, then move to the end, even if it is a backwards move, then define the end with ^KK. AE will swap them internaly for you. (Rather than printing a stupid error message.) ^KK *cannot* be used first. (Nothing happens) 8) ^KF doesn't run the specified program as WS does. It merely shells to DOS and you can do anything you like. 9) ^B doesn't just strip the high bit from the current line as WS does. It strips the high bit from the entire file. 10) ^P insert literal works almost like WS. The next literal keystroke is inserted into the file. However, control codes default to their IBM charcters, NOT the carret followed by letter convention of WordStar. For example, Control-A is displayed as  not as ^A. For your protection, tabs, & CR do not display at all, but perform their normal function. If you insert a ^Z into the file, AE will beep as a caution. A literal ^Z placed into the middle of a file will truncate the file at that location next time AE loads it (unless EOF checking is turned off). Not recommended, so do this at your own risk! Due to it's invisiblity, null (00) or ^@ is not allowed to be processed by this function. Some assemblers will barf on invisable stuff like this... AE keystrokes: The following is a chart of all keystrokes AE accepts. It should be noted that some commands are only present in the WordStar column. It is next to impossible to use weenie keys for everything without resorting to a menu. Most commands missing from the weenie column won't be missed by non-WordStar users anyway. (I hope). Some weenie keys may not make much sense and be hard to remember, esp. the ^F keys. Tried to make the ^F keys as intuitive as possible. Most other weenie keys should be fairly intuitive. Remember, the program *is* oriented towards folks used to WordStar (for better or worse). WordStar key DOS weenie key Action --------------------------------------------------------------------------- ^KQ F1 Abort edit ^KX F2 Save & exit ^KS ^F2 Save and resume editing ^KB F3 Begin block ^KR ^F3 Read block from disk file ^KK F4 End block ^KH ^F4 Hide/unhide block (toggle) ^KC F5 Copy block ^KW ^F5 Write block to disk file ^KV F6 Move block ^KY ^F6 Delete block ^QF F7 Find ^L ^F7 Find next ^QA F8 Search & Replace ^QI ^F8 Jump to specified line # ^QY F9 Delete to EOL ^B ^F9 Zero MSB of entire file (1) ^Y F10 Delete line ^U ^F10 Undelete line ^QB F11 * Jump to start of block ^QK F12 * Jump to end of block ^QR ^PGUP Top of file ^QC ^PGDWN End of file ^R PGUP Go up one screen ^C PGDWN Go down one screen ^QS HOME Go to beginning of line ^QD END Go to end of line ^E UPARROW Go up one line ^X DOWNARROW Go down one line ^S LEFTARROW Go left one char ^D RIGHTARROW Go right one char ^W ^UPARROW * Scroll down one line ^Z ^DNARROW * Scroll up one line ^A SHIFT-TAB Move to previous tab stop ^QE ^HOME Go to upper right of screen ^QX ^END Go to lower left of screen ^F or TAB Move to next tab stop ^V INS Toggle insert state ^G DEL Delete character under cursor ^N ^ENTER Insert line ^K0 - ^K9 Place marker 0 - 9. ^Q0 - ^Q9 Jump to marker 0 - 9 ^KP Print block if marked, whole file if no block marked. ^T Delete word right ^RIGHTARROW Shift display right 8 chars ^LEFTARROW Shift display left 8 chars ^KF Shell to DOS ^P Insert literal keystroke. * Extended keyboard only. (1) Also converts any nulls (00) bytes to SPACE so you can see them. 80H characters that convert into nulls also are re-converted to SPACE. USER CONFIGURABLE ITEMS: You can use the supplied program AECONFIG.COM to configure AE.COM. This is a simple get-the-job-done program. AECONFIG prompts include the recommended settings, following these will result in an "out of the box" copy of AE.COM. These settings are felt to be suitable for most folks. WordStar users will probably want the status line turned off as they won't be using the F-keys anyway. (Unless they want to see Insert/Overstrike status.) AECONFIG does not include settings for the backup and temp file extensions, as it is felt that most folks won't want/need to change them. The following items can be patched in the .COM file with DEBUG. All values are hex unless noted. OFFSET Default Meaning 0103 00 Inital insert status, 00=insert off, FF=insert on 0104 FF FF=non-distructive backspace, 00=distructive backspace. 0105 FF FF=Handle EOF properly. Append a single EOF when saving, stop at the first EOF when loading. 00=Do MS-DOS style EOF handling. Ignore when loading, do not append when saving. 0106 FF FF=Do backup files, 00=don't do backup files 0107 FF FF=Auto comment feature. Insert semicolons. 00=Auto comment off. 0108 FF FF=Space after auto comment semi-colon 00=No space. 0109 FF FF=FORM7 filter on. 00 = FORM7 filter off 010A FF FF for auto colons, 00 for no auto-colons. 010B FF FF for auto-tab to comment column 010C FF FF for auto indent, 00 for no auto indent 010D 00 FF to allow to generate new line with insert on. 00 for to be cursor motion only 010E FF FF for Processor Technology compatiblity. Most users can leave this on. 010F FF FF to allow to turn OFF insert. Meaningless if LAME is turned on. (010D=FF) See note (3) below. 0110 FF FF to enable 3 minute auto-save feature. 0111 FF FF to enable screen status line 0112 FF FF to enable beeps, clicks and pops. 00 for submarine (totally silent) mode. 0113 0A Color for color users. Green = 02, intense green = 0A If this byte is 00, AE will use the existing attribute. This is for folks that like to set default colors from DOS with one of the many programs available to do this. See note (2) below. 0114 20 (32 Decimal) Column comments start in for auto-comment If this byte is not a multiple of 8, AE sets this to the next lowest multiple of 8. 0115 ; (ASCII Value) Comment delimiter. Normally a semi-colon Change to meet your needs. 0116 2E DO NOT CHANGE!! (Dot for file extension) 0117-0119 ASM (ASCII values) Default file extension. 011A 00 DO NOT CHANGE!! (Termination for file extension) The following items are not in the AECONFIG.COM program, and must be patched with DEBUG if changes are desired. Most folks won't care.... 011B 2E DO NOT CHANGE!! (Dot for file extension) 011C-011E BAC (ASCII values) Backup file extension - not in AECONFIG. 011F 00 DO NOT CHANGE!! (Termination for file extension) 0120 2E DO NOT CHANGE!! (Dot for file extension) 0121-0123 $$$ (ASCII values) Temp file extension - not in AECONFIG. 0124 00 DO NOT CHANGE!! (Termination for file extension) (2) When this byte is set to 00, AE attempts to utilize the existing screen attribute as it's default. Unfortunately, this only works if the *next* screen line after the invocation line has the desired screen attribute. For example, the Norton's popular SA program clears the screen and sets the screen color of the entire screen. Running AE (configured with the color byte=00) will correctly inherit this color. However, after performing a CLS, only the "already used" portion of the screen is set to the SA attribute, the rest of the screen is B&W. Which means AE inherits the B&W attribute. Other screen setting programs may work differently. When in doubt, install AE to use an internal color choice... (3) If enabled, this feature also turns off insert on line delete as well. FUTURE VERSIONS: A future version of AE will probably be able to at least be able to edit files as large as available memory, as opposed to the current 64K limit. The current 64K limit hasn't been too much of a limitation to me, but it would be nice to be able to edit larger files. Rest assured, that an AE capable of larger files *will* require a '386 or better. "I don't do segments." Rumor has it that MS-DOS 7 will have 32 bit extensions. If this is true, I'll be using them... Virtualizing. This is the ability to buffer to disk all but the immediate portion of the file you're editing. Would be nice, but probably won't happen. The program is too hard structured for that to be an easy task. Doubtless, as I and others use the program, other enhancements will be needed. Look for new releases from time-to-time. I use this program daily, and continue to find things that aren't quite right and pop over and tweek the program a little more. THINGS YOU WON'T SEE: There are several things you won't see, either because I don't do them, or the necessary coding is beyond the scope of the project. Mouse support: Mice are great for CAD programs, draw/paint programs, etc. They don't belong in text editors, nor do they belong in operating systems... Color support: There is rudimentary color support already built into the program. I am willing to listen to suggestions on how to "improve" this. However, as I am a color refusenik, I'm not going to go overboard on this. Color monitors HURT my eyes... Tab stops other than 8: Sorry folks, tab stops are 8 characters each, always have been. I have had it suggested to me that the label field be longer, say 10 characters. First, the 8 character tab stop thing is hard coded into the program, inheirited from TED (as it should be). Second, it is a religious issue to me, I don't believe in long labels (or non-standard TAB stops). Long labels can always be placed on their own line, AE makes this very easy to do. Third, as stated at the top of the documentation, AE assumes the user codes in a similar manner to the guy who wrote it. And fourth, TRUE tabs are 8 characters. MS-DOS is the only OS I've encountered that doesn't rigidly enforce this. KUDOS: A number of folks helped test AE and pestered me with bug reports and "Requests". The person most responsible for a good BETA cycle was Larry Alm. Clarence Dyson, Bob Shepard, and Robert Cabral were also very helpful. And espcially thanx to PC Magazine/Tom Kihlken for creating TED and allowing us to have the source code. PC Magazine has published lots of useful programs over the years, most with source. Hurray for them! We'd all be poorer without them. SUPPORT: The "home" BBS for AE.COM is the Hacker Heaven BBS at (408) 375-5455. We currently support baud rates from 300 to 14.4K+v.42bis. In this day of media hype, it is necessary to point out that the word "Hacker" means computer programmer, NOT computer criminal. We do not tolerate illegal activities of any kind. OTHER PROGRAMS: The following is a list of currently supported programs written by Mark D. Pickerill, the author of AE. These may be found on the Hacker Heaven BBS, or a fine BBS near you. Most have been uploaded to EXEC-PC as well. AE: Asm Edit. A source code editor for assembly language programmers. (at last!) Supports auto-colons on labels, auto-comments, much, much more. Removes the mundane chores of creating well-documented assembly language source code. A must for any serious assembly language programmer. Distributed as AE*.ZIP where * is the version number. AE23.ZIP was the latest at this writing. UNLOAD86: This is the end-all and be-all of binary to Intel Hex conversion programs. Many options, supports fill to end of ROM, the new "Linear extended address records", more. Includes Source. Distributed as UNLD86*.ZIP where * is the version number. UNLD8616.ZIP was the latest at this writing. A couple of the initial versions were distributed as UNLOAD86.ZIP. These are severely downrev, and should be deleted. BAUDASC: Converts ASCII <---> Baudot. Allows use of the ancient Baudot 5 bit code. Includes Source. Distrubuted as BAUDASC*.ZIP where * is the version number. BAUDASC1.ZIP was the latest at this writing. CURSOR: Very tiny TSR forces your IBM PC compatable's cursor to a block at all times. Much smaller than other programs of its type. Includes source. Distributed as CURSOR*.ZIP, where * is the version number. CURSOR15.ZIP was the latest at this writing. Now optionally incorporates caps lock support similar to CAPS (Below). UNLOAD: [for CP/M]. Converts binary to Intel hex. Only supports the original phase 1 Intel hex specification. Distributed as UNLOAD*.ARK (may be .LBR some places) where * is the version number. UNLOAD23.ARK was the latest at this writing. HELLO: [for CP/M *and* MS-DOS]. Writes the string Hello. to the screen. Big deal huh? The point is the *same* physical .COM file works under *both* CP/M and MS-DOS!! Distributed as HELLO.ARK and HELLO.ZIP. Includes source. INDIO: [for CP/M] Shows how to do indirect I/O (ala Z-80) on an 8080 or 8085 processor. NO dedicated memory locations, ROMable routine. Source only. Distributed as INDIO.ARK. (or .LBR) CAPS: Old timers like me are used to command line input in UPPER case. CAPS is a tiny TSR that sets caps lock when an application exits. Most folks won't like/need this program. Distributed as CAPS*.ZIP where * is the current version number. CAPS10.ZIP was the latest at this writing. Includes source. Discontinued programs: The following programs have been written in the past. I no longer support them, most (but not all) are gone from my board, but they may still be floating around "out there". Feel free to use them if you find them, but don't ask me about them... Most were quick hacks anyway... SPLIT.ZIP: Splits a binary input file into two files, one containing the ODD bytes the other containing the EVEN bytes. Useful for programming two EPROMs on a 16 bit bus. Included source. (I think...) FIXHEX.ZIP: Used to fix certain deficient Intel hex files. Would strip off any extended address records, and ensure that a correct EOF record was on the end. Fixed the old MAC/ASM :000000 (incorrect) EOF record. FONT.ZIP: Reprogram EGA and VGA character fonts. Great for getting rid of that ugly fat exclamation point! Define your on-screen fonts any way you like. Included source. SYSTEM.ARK: [for CP/M] Allows jumping to any place in memory. Input in hex or decimal. Included source. Dead programs: The following programs have been written in the past. I no longer support them, ALL are gone from my board, but they may still be floating around "out there". I DO NOT RECOMMEND USE OF ANY OF THESE, AND REQUEST THAT IF YOU FIND THEM, YOU ASK THE SYSOP OF THE BOARD YOU DOWNLOADED THEM FROM TO DELETE THEM ASAP!! These are obsolete and no-longer of value. OLDUSER: Designed to automate the process of deleting "old" users from a Spitfire BBS system. Has long since been replaced by an official Spitfire function. Only worked with a very old versions of Spitfire. SFZIPDOR: A program designed to allow Spitfire callers the ability to extract and selectively download members of any archive format. Worked on my board, but pulled from distribution due to in-stablities of the program. Plus it won't work above 9600 baud. Don't use this program!!! A replacement is possibly in the works, either from myself or from Spitfire. MSGUNDEL: Or something like that, I no-longer remember the exact name. Program would globally un-delete any deleted messages in a Spitfire BBS system. Program is no-longer compatable with Spitfire, AND is no longer needed as Spitfire now allows the Sysop to turn off message deletion.