home *** CD-ROM | disk | FTP | other *** search
- u
- M R . E D S T A R
-
- by Dave Moorman
-
-
- Edstar has always been a sweet
- little text editor. No Microsoft WORD,
- but exactly what you need if you are
- writing for a C-64 screen. I use it
- constantly for LOADSTAR, so I also
- developed a list of things I wished
- Edstar could do:
-
- Load and Save MS-DOS TXT files;
- Line Center, Left, Right;
- A u t o D o u b l e - s p a c e;
- Auto Glue entire paragraph;
- Print 65 column hard copies.
-
- Secondly, I wanted a mouse-driven
- program with all the comands available
- as general hotkeys, menu hotkeys, menu
- cursor, and (of course) menu mouse.
- That way, you can learn the easiest
- keystroke, yet have every function
- available on menu as well.
-
- Lastly, I wanted the keystroke
- commands to duplicate those of earlier
- Edstars. I have become quite used to
- <CTRL-I> and <CTRL-F><CTRL-G>. But I
- figured we could have some easier ones
- as well (<CTRL-F><CTRL-G> can now be
- accomplished with <C=-G>.)
-
- I have followed the lead of the
- Make-Shift Dopular Operating Systems
- and put the semi-obligatory Menu Bar
- across the top of the screen. Click it
- with the Mouse, or press the
- highlighted key combination to pull
- down the menu:
-
- Green Highlight -- <C=-key>
- Yellow Highlignt -- <CTRL-key>
- Reversed Char -- <key>
-
- On the menu, the highlighted letter
- within the command word is the Menu
- Hotkey, good only when the menu is
- open. The letter to the right of the
- command is the General Hotkey, which
- lets you avoid opening Menus all the
- time. As you learn the General
- Hotkeys, you won't need the menus as
- much.
-
- The <INST/DEL> key works as you
- might expect -- unshifted to Delete
- and shifted to Insert spaces.
- Characters pushed off the right edge
- of the screen are lost.
-
-
- [EDSTAR PROTOCOL]
- [---------------]
-
- Mr. Edstar has a freely roaming
- cursor, but is still a line-based text
- editor. That means the text line under
- the cursor is all Mr. Ed is working
- on. When saved as a T. file, each line
- has its own carriage return.
-
- And as per Imperial Command of Lee
- Novak, Mr. Edstar saves T. files with
- a Zero Byte at the end. This makes the
- files perfect for Racking with Mr.
- Mouse!
-
- For printing hard copies in 65
- columns and saving TXT files, Mr.
- Edstar removes the carriage returns
- except at the end of a paragraph. The
- end of a paragraph is defined as when
- the [next] line is blank or has a
- space in the first column.
-
- When preparing a TXT document for
- Mr. Edstar, be sure that no line
- without spaces is longer than 38
- characters. If Mr. Edstar freezes
- while loading a TXT file, this is most
- likely the problem.
-
- Also, the first two bytes of the
- TXT file will be lost during the load.
- If the TXT document has a blank line
- at the top, the two- byte carriage
- return will provide these bytes. When
- saved, two spurious bytes will be
- added to the beginning of the TXT
- document.
-
-
- [THE MENUS AND COMMANDS]
- [----------------------]
-
- [File] <C=-F>
-
- [New] <C=-F><N> or <C=-N>
- Clears the text.
-
- [Load] <C=-F><L> or <CTRL-L>
- Loads a file. If the filename
- begins with "T.", then it is
- presumed to be a C= 38 column
- PETASCII file. If the filename
- has a ".TXT" extension, it is
- presumed to be a MS-DOS ASCII
- file. If neither are present,
- you will be asked to choose:
-
- 1. C= T.file
- 2. PC file.TXT
- 3. Cancel
-
- [Save] <C=-F><S> or <CTRL-S>
- Saves file with same presump-
- tions as LOAD. If the text is
- new, type in the filename.
-
- [Save As] <C=-F><A> or <CTRL-A>
- Lets you type in a new name
- for your file.
-
- [Disk/Dir] <C=-F><D> or <C=-D>
- Opens a menu to allow Disk
- Access.
-
- [1. On Device #] Shows current
- Drive number. Select to
- choose a different drive.
-
- [2. Send Disk Command] Select
- to do just that.
-
- [3. Directory] Lets you look.
-
- [4. Memory Check] Select to
- see how much space you
- have left.
-
- [5. Cancel Disk/Dir] just lets
- you out of the menu -- as
- does clicking anywhere
- else.
-
- [Print] <C=-F><P> or <CTRL-P>
- Choose between 1 - 65 col.
- column or 2 - 38 col. columns.
-
- [Exit] <C=-F><X> or <CTRL-X>
- Quit Mr. Edstar and return to
- LOADSTAR (if disk is in
- drive).
-
- [Edit] <CTRL-E>
-
- [Insert] <CTRL-E><I> or <CTRL-I>
- Insert a line at cursor,
- pushing other lines down.
-
- [Delete] <CTRL-E><D> or <CTRL-D>
- Deletes cursor line, pulling
- other lines up.
-
- [Indent] <CTRL-E><N> or <STOP>
- Moves Cursor over 4 spaces.
- No word wrap.
-
- [Indent Number] <CTRL-E><N><#> or
- <C=-number key>
- A character [must] be in the
- first column. Pushes line up
- to 8 spaces in, and performs
- word wrap.
-
- [Function] <CTRL-F>
-
- [Split] <CTRL-F><CTRL-S> or <C=-S>
- Splits line at space under or
- right of cursor. Cursor to
- next line.
-
- [Kut] <CTRL-F><CTRL-K> or <C=-K>
- Character under cursor and all
- that follows goes to next
- line. Cursor stays on current
- line.
-
- [Break] <CTRL-F><CTRL-B> or
- <Shift-RETURN>
- Splits line at space under or
- left of cursor. Cursor stays
- on current line.
-
- [Glue] <CTRL-F><CTRL-G> or <C=-G>
- Connects next line to current
- line with single word wrap if
- needed. Glue always puts a
- space between the end of the
- current line and the beginning
- of the glued line.
-
- [Unite] <CTRL-F><CTRL-U> or <C=-U>
- Glues from current line to end
- of paragraph.
-
- [Format] <CTRL-O>
-
- [Align Center] <CTRL-O><C> or
- <C=-E>
- Centers current line.
-
- [Align Left] <CTRL-O><L> or <C=-L>
- Moves current line to left
- edge.
-
- [Align Right] <CTRL-O><R> or
- <C=-R>
- Moves current line to right
- edge.
-
- [Up/low Case] <CTRL-O><U> or
- <CTRL-U>
- Toggles current line between
- all Lower Case and all Upper
- Case. That is, to get all
- Upper Case, press <C=-U>
- <C=-U>.
-
- [Wide] <CTRL-O><W> or <C=-W>
- Current line must begin at
- left edge and be no longer
- than 19 characters. Letters
- are [S P A C E D] like this.
-
- [Left Cursor] <CTRL-O><L> or <F1>
-
- [Right Cursor] <CTRL-O><R> or <F7>
-
- [Top Cursor] <CTRL-O><T> or <F2>
-
- [Bottom Curs] <CTRL-O><B> or <F8>
-
- [Info] <C=-I>
- Presents Memory available (Mr.
- Edstar begins with 19199 bytes for
- text.), the number of disk blocks
- used, and the line number the
- cursor is on.
-
-
- [Techno-Notes]
- [------------]
-
- Inside, where you would never know
- it, Mr. Edstar works exclusively with
- Screen Code for the Characters. This
- enables much faster response times and
- eliminates the whole Double-Quote Mode
- problem.
-
- The other advantage of using
- Screen Code is that a byte with bit 7
- set could then be the End of Line
- marker. The other 7 bits of the marker
- hold the length of the previous line.
-
- Memory is arranged with two Stacks
- -- one for everything above the cursor
- line and one for everything below the
- cursor line. The line under the cursor
- is held in a Buffer, where all typing
- and manipulation occurs.
-
- The Front Stack Pointer points to
- the last End of Line marker. When a
- line is added to the Front Stack, the
- Pointer is incremented and the data is
- transfered from front to back. When a
- line in the Front Stack is moved to
- the Buffer, the line length (in the
- End of Line marker) is subtracted from
- the Front Pointer. Then the data is
- moved to the Buffer from front to
- back.
-
- All functions (except those in the
- File Menu) are controled by the
- General Hotkeys in ML. When the Mouse
- is clicked (or one of the Menu Keys is
- pressed), control returns to Basic.
- Mr. Mouse and Basic then can handle
- all the menus and dialog boxes.
- Loading, Saving, and Printing are all
- handled by Basic code, with a little
- help from Mr. Mouse and some custom
- ML. For the rest of the functions, the
- General Hotkey is POKEd into the
- dynamic keyboard, and control returns
- to the main ML loop.
-
- One particularly frustrating
- puzzle was converting from TXT format
- to Screen Code, and vice versa. Bill
- Gates early experience with teletype
- time-share computing is evident with
- MS-DOS text files. Paragraphs end with
- [both] a CHR$(13) and a CHR$(10). My
- problem was what to do with that
- danged extra character, without having
- to move a bunch of data. Putting a
- Space in place of the CHR$(10) seemed
- reasonable, but this added an indent
- to the next line.
-
- Almost by accident, I figured it
- out. I put the space where the
- CHR$(13) was, and the End of Line
- marker on the CHR$(10). This way, the
- extra space was absorbed at the end of
- the line -- soon to disappear all
- together when the line went through
- the Buffer.
-
- For going from Screen Code to TXT
- format, I move each line through the
- Buffer and add CHR$(13)CHR$(10) as
- needed (by the rules of Edstar
- Protocol). This takes a bit longer,
- but -- really! How often are you going
- to be saving TXT files from Mr.
- Edstar?
-
- During beta testing, I have found
- an occasional glitch that mucks up the
- characters on the screen. Should this
- happen, press <CTRL-A> and save your
- work to a safe filename. Reset your
- computer, reboot, reload -- and all
- should be well.
-
- As always, I am happy to hear your
- comments. Any recalcitrant bugs will
- be fixed as we go to further versions.
-
- DMM
-
-
-