home *** CD-ROM | disk | FTP | other *** search
-
- ░░░░░▌ ░░░░░▌ ░░░░░░▌ ░░░░░░▌ ░░░░░░▌ ░░▌ ░▌ ░░░░▌ ░▌
- ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░░░▌ ░▌ ░▌ ░▌ ░▌
- ░░░░░▌ ░░░░░▌ ░░░░░░▌ ░░░░░░▌ ░▌ ░▌ ░▌░░▌░▌ ░░░░░░▌ ░▌
- ░▌ ░▌ ░▌░░▌ ░▌ ░▌ ░▌ ░▌░░▌░▌ ░▌ ░▌ ░▌
- ░▌ ░▌ ░▌ ░░▌ ░▌ ░▌ ░▌ ░▌ ░░░▌ ░▌ ░▌ ░▌
- ░▌ ░░░░░▌ ░▌ ░░▌ ░░░░░░▌ ░░░░░░▌ ░▌ ░░▌ ░▌ ░▌ ░░░░░▌
- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
-
- ░░░░░▌ ░░░░░▌ ░░░░░░▌ ░░░░░░▌ ░░░░░░▌ ░░░░░░▌
- ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌
- ░░░░░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░░░░░░▌
- ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌░░▌
- ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░▌ ░░▌
- ░░░░░▌ ░░░░░▌ ░░░░░░▌ ░▌ ░░░░░░▌ ░▌ ░░▌
- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
-
- Note: This the text file DGEDIT.DOC. Press [Esc] to exit editor.
-
- 1. Introduction
-
- 2. Getting Started.
-
- 3. Function Keys.
-
- 4. Program Description.
-
- 5. Applications.
-
- 6. Restrictions & Limitations.
-
- 7. Registration.
-
- 8. Bug Fixes & Improvements.
-
- 9. Program Source Code.
-
-
-
- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
- ▌ Personal Editor Ver 1.00 ▐
- ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- Introduction
- «≈≈≈≈≈≈≈≈≈≈»
-
- This program was written mainly as an exercise in Assembly Language
- programming. As such it is lacking in certain areas which might have been
- improved should more thought have been applied to what the program was going
- to evolve into at the outset. However, as a text processor the program is
- quit adequate and its simplicity can be an advantage. It is ideal for writing
- programs where as products such as wordstar are slow and unweildy and offer
- many more facilities than the average programmer would ever want to use. Also
- the compressed 'EXE' file is very small and can be included on any diskette
- without a great loss in disk space.
- One of it's best features is it's easy to learn command windows. Nearly
- all of the editors features can be accessed by first pressing a function key
- and then selecting the appropriate function from those selected with the up
- and down cursor keys. Once the option is selected that you wish to perform you
- need only press enter to select it. Once a window has been called up there are
- two ways to cancel it without selecting a function, firstly you can select the
- last option, which is always called cancel, or secondly you can press the
- escape key. In fact you need only press this escape key in many situations and
- whatever you are doing will be terminated.
-
- Getting Started
- «≈≈≈≈≈≈≈≈≈≈≈≈≈»
-
- To start the editor you need only type the program name followed by <ENTER>.
- You will then be presented with the initial logo screen. To proceed you need
- only press any key and the screen will be cleared and you will be asked for
- the name of the file that you wish to edit.
- There is another quicker method of editing a file however and that is
- done by specifying its filename on the same command line when invoking the
- program.
- The editor has the ability to edit up to five files simutaneously and if
- you want to edit more than one file you can specify all the filenames when
- you invoke the program.
-
- Examples :-
-
- (1) DG<cr>
- (2) DG MYFILE.TXT<cr>
- (3) DG MYFILE1.TXT MYFILE2.TXT MYFILE3.TXT MYFILE4.TXT MYFILE5.TXT<cr>
-
-
- Function Keys
- «≈≈≈≈≈≈≈≈≈≈≈»
-
- F1 - Displays a help screen which gives you a breif summary of all of the
- editors function key assignments along with the editors software version
- number. If you press the F1 key whilst there is a Window on screen a
- small pop-up help message will be displayed which will give you a better
- idea of what the various menu functions do.
-
- F2 - This provides you with a quick method of jumping to either the top or the
- bottom of the current file.
-
- F3 - This will display the File Menu, from which you can perform many file/disk
- orientated operations follows :-
-
- i) New - this function will always abandon whatever file is currently in
- memory and ask you for a new file specification.
-
- ii) Save - this will save you current document to disk using the filename
- displayed on the status line at the bottom of the screen.
- Should the current document not have a filename you will be
- prompted for it before the program will save the document.
-
- iii) Exit - this is a combination of the above to functions. The program
- will save the current document, clear it from memory and ask
- you for a new file specification.
-
- iv) Rename - this allows you to change the name of the document you are
- currently working on. Note that this will only affect
- subsequent save opterations and will not rename any files on
- the disk.
-
- v) Finish - this allows you to save the current document and quit the
- editor in one operation. You will be prompted for a filename
- should the document not have one already.
-
- vi) DIR - this will give you a list of the files in your current
- directory. Note that only files with normal attributes
- will be displayed. Should there be more files in the
- directory than can be displayed on one screen then a
- prompt '<-More->' will appear at the bottom of the screen
- and will wait for you to press a key before continuing.
- Once all the files have been displayed, the prompt
- '<-No More->' will appear before the screen is cleared.
-
- vii) CHDIR/MKDIR/RMDIR - allow you to perform the standard directory
- functions as per the normal dos commands.
-
- viii) ERASE - is the equaivalent of the dos ERASE/DEL function with
- the only difference being that this function does not
- allow you to perform global *.*/*.bas etc type deletions.
-
- ix) RENAME - will let you rename a file on the disk and should not be
- confused with the 'Rename' function above which merely
- renames the document in memory.
-
- x) ?.? - is a facility that has been provided so that you can select
- any file type when performing a directory search with the DIR
- function. It will present you with a menu of pre-selected
- standard extensions for you to use or you can select '?.?'
- again if you wish to use a different file specification.
-
- xi) - is a quick way of deleting from disk the filename that you are
- currently viewing.
-
- xii) Switch - is a function which allows you to select another
- file/session. You can edit up to 5 files simultaneously, each of
- which can be up to 61k bytes. There is two other methods that you
- can use to switch between files. Either you can type ALT+F to pull
- down the file selector menu or just type ALT+S to automatically
- switch though them in sequence.
-
-
-
- F4 - This option will give you a graphical representation of how much of the
- available memory your current document is using. On all IBM machines this
- will be represented by a white bar on the screen. On the Hitachi MBE-16002
- however the bar will change color as it progresses along the screen. It
- will change colour at 50k and 60k to give you a more easily recognisable
- warning of when you are getting towards the memory limitations. You should
- take great care once your file has exceeded 60k as it is possible that you
- could start to loose the end of your document if you start adding text
- at the begining of it. As yet the program will not provide you of any
- warning once this starts to occur, although you will be notified if you
- attempt to load a file which is too big. In this situation the editor
- will load as much as it can, and then print a warning message to the
- effect 'FILE TRUNCATED'. You will require a graphics adapter and suitable
- screen to be able to use this function.
-
- F5 - This is here to give you a quick impression of what your document looks
- like. It is most useful for viewing documents where you want to get an
- idea of what the format is like before printing. You can also examine
- program files quickly to see if they contain any screens. Each vertical
- row of text displays 200 lines of your document. This function also
- requires the use of a graphics adapter/screen.
-
- F6 - This key is used in conjunction with the F7 key and it's function is to
- enter any ASCII character including those which would normally have a
- special meaning to the editor such as the ESC key. You can also use this
- key for drawing diagrams by assigning it one of the ASCII line characters.
- To assign a character to this key you must first press the F7 key. You
- can select any character you wish from the display generated by the
- ASCII Select function. The only character that I suggest that you avoid
- using is the END OF FILE character/marker which is character 26 or the
- Arror symbol (the one pointing right). Shame, I know but there you go.
- The only other characters that have any special meaning to the editor
- are character 13 & 10 which are Carriage Return and Line Feed respectively.
- Even these chacaters may be enetered freely as they only take on any
- special meaning to the editor when they appear together like <CR><LF>.
- Should you enter these two characters together the next time the screen
- is completely redrawn the line will no longer display these characters but
- appear to be split. This is exactly what the split line function does.
-
- F7 - This function displays a series of miscellaneous options which in general
- allow you to access more easily the extended character set which you would
- normally find more difficult to generate on the standard IBM keyboard.
-
- This first option is called ASCI Table and one you have selected this you
- will be have the entire character set displayed on your screen. You will
- also notice that one of these characters is highlighted. This is the
- currently selected charater to be used by the F6 key. You may select
- another character by moving the highlighted area with the cursor keys.
- Once the character that you wish to use has been highlighted you need
- only press enter. As with all other functions you need only to press
- the ESC key to quit without doing anything.
-
- The second option from the initial screen is described as select macro.
- as a programmer I often have to draw flow charts and simular types of
- diagrams. The IBM has access to many more characters than you can easily
- generate from the keyboard and it is quite possible to create some usefull
- symbols with these shapes. This function allows you to select a predefined
- shape for drawing with the Draw Macro command.
-
- ░░░░░░░░░░░░░░░░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ░ BOX 1 ░ ▒ BOX 2 ▒ ▓ BOX 3 ▓
- ░░░░░░░░░░░░░░░░░ ▒ ▒ ▓ ▓
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▓ ▓
- │ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- │ │ _/\_
- ▄▀▄ │ _/ \_
- ▄▀ ▀▄ │ _/ \_
- ▄▀ ▀▄ ╔═══╗ _/ Diagonal \_
- █ Decision █────────────║ A ║ Connectors / Lines \
- ▀▄ Box ▄▀ ╚═══╝ ╔═══╗ ╔═══╗
- ▀▄ ▄▀ ║ B ║ ║ C ║
- ▀▄▀ ╚═══╝ ╚═══╝
-
- ░░░░░░░░░░░░░░░░░
- ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ░▒▓▓ 3 Different ▓▓
- ░▒▓▓ types of ▓▓
- ▒▓▓ box shading ▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
-
-
- Now press F5 and see whats happens, now you see why F5 does what it does.
- If you had written this document some months ago and could not remember quite
- what it contained, then that display could give you a quick impression of the
- document as a whole, especially the diagrams it contains.
-
- The next function under the draw macro command, is provided to allow you
- to quickly and painlessly remove the result of the last macro you have drawn
- You should note that all of the predefined macros restore the cursor to it's
- starting position at the end so that you are in the correct position to erase
- the macro should you find that you have drawn it in the wrong place. Also note
- that the erase function does not restore the area to its former state, merely
- overtypes the charcters with spaces. Obviously there are bound to be shapes
- that you wish to use on a regular basis that you won't find already defined for
- you. It is for this reason that there is a facility to create your own, user
- defined macro's and load them in from disk.
- To create your own macro, you should first create a new file, or at the
- least use a empty part of you current file. It is important that when you
- create a new macro, that the only characters displayed on the screen are
- the actual characters that compose the macro that you are creating. Any macro
- can only ever be as large as a single screen of data.
- Note that this function will only read from the current screen and does
- not work on the whole of the file that you are editing. You can therefore
- use a single file to hold the source for all of you macros. If your not sure of
- what will happen, try the following example. After you have read this, position
- the following picture so that it is the only thing on the screen. Then press
- F7 and select the save macro option. The program will then, rapidly proceed
- to scan the screen for any no-blank areas which will be put into the macro
- file. As it works down the screen it will place an asterisk '*' over each
- character that has been processed. Once the screen has been completed you
- will be prompted for the filename that you wish to use for this macro. It
- can be any filename you wish but I surgest that you use an extension of '.MAC'
- or something simular so that you can easily identify these files later. If
- you decide at this point that you do not wish to create a file then you should
- press the ESC key. Once the macro has been written to the filename you have
- specified, the screen will be restored to it's original situation. Now lets
- Load this macro back into the editor so that we can actually use it. Press
- F7 again and select the option to Load a Macro. You will need to respecify
- the filename that you have just used. Once loaded it is a simple matter of
- selecting this (User Macro) from the Select Macro option/window and we will be
- ready to use it.
- Position the cursor to any part of this file, or any other file for that
- matter, and select the Draw Macro command. Here is an example for you to
- experiment on.
-
-
-
-
-
-
- │
- ╔═════╧═══════╗
- ╔╝ SAVE THIS ╔╝
- ║ BOX AS A ║
- ╔╝ MACRO 'MAC'╔╝
- ╚═══════╤═════╝
- │
-
-
-
-
-
-
-
-
-
-
-
- The next facility offered on the F7 window are to Select and Save the
- colours to be used by the editor. If you select the first of these options you
- will be presented with another window which displays all the areas of the editor
- which you can define the colour of. If you then select one of these the screen
- will be cleared and a colour chart displayed. Each colour is allocated a number
- which reflects the attribute byte setting used. Remembering which area of the
- editors colour scheme you are defining you need only to position the arrow on
- the screen so that it points to the colour that you want and then press enter.
- If you want to leave the colour of the selected item as it was you should press
- the escape key. Once you have come out of the select colour option the F7 menu
- will automatically position the highlight bar on the save option for you to
- make these colours permanent. Should you decide to save these colours then you
- should press enter. The colours will be saved in the root directory of the
- current logged drive in a file called 'SETUP.DG' If you are using the editor
- for the first time on a particular disk, and you have not got the above file
- already in the root directory then it will automatically create it for you
- using it's default colour scheme. If you are quick you may see the Create/Write
- and Close messages appearing just before the main program logo comes up.
-
- The option that follows this is described as AUTO TAB and governs how the
- cursor will behave when you press the ENTER key at the end of a line. If AUTO
- TAB is ON the cursor will automatically position itself under the start of
- the previous/last line provided that it is still visible. If AUTO TAB is OFF
- then the cursor will always return top column position 1 on the next line.
- The AUTO TAB setting will be saved along with the colour settings.
-
- The last option is described as 'Pick Up ASCII' and provides you with a
- quick method of capturing a character from the screen for you to later enter
- with the F6 key.
-
-
- Program Description
- ═══════════════════
-
- The entire program was written in assembler using Microsoft's Macro
- Assembler Ver 4. Some of the code is particulary inefficient which is mainly
- due to the fact that this is my first assembler program. I am currently in the
- process of re-writing some of these routines which will no doubt appear in
- later releases of the program. If you are using this program on any machine
- comparable in speed with a lowly IBM PC it will no doubt appear rather sluggish.
- There are three things that you can do to improve this :-
-
- In order of preference.
-
- 1) Buy a faster machine.
- 2) Reduce the maximum size of the file that can be edited.
- (This can be done by reducing the number of bytes
- specified by MAXBYTES at the top of the program.)
- 3) Avoid the use of insert mode when extending lines, and
- if you really want to cheat, pre-extend all the lines you
- are going to type on by entering a space at coloumn
- position 80 or greater.
-
- Now, I bet your wondering how an assembly language program can be so slow.
- Well, let me tell you, it wasn't easy. The primary reason for it being so
- sluggish is the way that text is held in memory. With a high level langauge
- such as basic, you could use an array to hold each line of the text. When you
- wanted to insert some characters into a line, basic would perform so very neat
- and complicated housekeeping. In short basic would look for the next available
- area of memory that could accomodate the new line, move the line there, and
- adjust its array pointers accordingly. This has the effect of the text
- leapfrogging its way though memory leaving little ununsed gaps all over the
- place so basic has occasionally to have a good clean up and move all the
- elements of the array into continuos memory locations. Complicated eh !
- Well I thought so, so this program holds the text in memory in the same way
- as it appears on the screen. Each line follows directly after the previous one
- in memory, only separated by CR LF combinations. This is a much simpler method,
- but it has the disadvantage of meaning that every time you enter a character
- from the keyboard in insert mode (or extend an existing line) all subsequnt
- characters in memory are shuffled up. In theory therefore the editor will get
- faster the further down the document you get !
- I considered using 'C' but although it supports arrays I'm not sure I could
- set up variable length arrays. If I couldn't the maximum size of the file that
- I could edit would be drastically reduced.
-
-
- Applications
- ════════════
-
- There are three particular advantages this editor has over most, firstly
- you can enter any characters you wish, unlike some editors which only let you
- enter standard characters, using the rest for special text formating functions.
- Secondly it is ideal for creating diagrams especially with the various macro
- functions and the limitless line length. The third reason which I consider
- to be an advantage of this editor is that it has been written in such a way
- as to be as hardware independant as possible. That is to say that it should
- work on the majority of MS-DOS computers. For example, the program was written
- on an Hitachi PC which is by no means an IBM Clone. If you find that you have
- a problem with the editor which you suspect to be due to compatability then
- please let me know. The most common varaitions I have come across are how the
- cursor appears on different machines. Also the differences between machines
- in respect of printer status return codes are quite difficult to cater for.
-
-
- Registration
- ════════════
- If you like this program and wish to ensure that you have the latest
- version then you can register as a legitimate user by sending £15.00 to :-
- Not only will you receive the latest version but also the source code for
- your enjoyment - over 200k.
-
- D.Garratt,
- 9 Godwin Road,
- Wisbech,
- Cambs.
- PE13 3HR
-
- Any comments whether about bugs or requests for new features will be
- very welcome.
-
-
- Bug Fixes and Improvements.
- ═══════════════════════════
-