Mini Writer v1.2 by J.Y Avenard
Email:avenar_j@epita.fr
Web: http://www.epita.fr/~avenar_j


Please find here my latest program: Mini Writer.
In this package you will find:
-The MiniWriter v1.2 (Size: 4379 Checksum: # 0F1Fh)
-Some UFL fonts
-The StringWriter Adapter (see below) (Size: 1610.5 Checksum: # 1BECh)

It is a very short text editor (4.2kB), very fast ( show 1000lines in 15s). It uses UFL (the first one). Can display up to 10*33 characters on the screen.
You will find here a small documentation. This is the final version, many bugs was corrected. And you have many new features.
What's new on each version:

1.2 :
Uppercase/Lowercase toggle mode

1.1 :
Works on all HP 48 calculators
You can edit the CLIPBOARD separately

1.0 :
Now each time you enter in the Input Mode, the ALPHA will switch on
When you have a selection, it will be remove when you enter a new character or delete one
Beautiful Busy indicator (won't flash anymore)
You can add special character into the search string
No more memory clear when you use Find/Replace and you have a memory error
You have to press twice ON in order to discard any changes (only if you modified the text)
When you press the EEX key, you have an E characters.

0.9Beta :
The first Miniwriter.

I provide also a library which allow you to use the mini-writer in place of String Writer. Then many programs, that use String Writer, will work with the mini-writer without any modifications. With this library you can edit any objects, not only string object. You have now the commands EDIT VISIT Edit Visit NEW and SWINIT in order to customize your HP. This library is provided with the main package.

If you need more explanations about the String Writer commands, just have a look to my StringWriter's page.
This is a very short (4kb), but very fast text editor (just try the scroll text). You can write text in a full page (like borland editor), you can put the text cursor wherever you want in the screen.

These are the key features:

A : ASCII input
LS A: Recall last ASCII value
B : Begin selection
C : Copy selection in clipboard
D : Del selection from text
E : End selection
F : Paste
G: Goto position input
LS PRG : Show end of line
RS PRG : Toggle AUTO-INDENT mode.
VAR : Toggle fast/slow mode. This influence movement keys as well as deleting characters.
UP : UP
LS UP : Page up
RS UP : Max up
STO : Find mode, enter the pattern to find
EVAL : Enter the pattern of replace string
RIGHT : Right LS RIGHT : Page Left
RS RIGHT : Max right
DOWN : Down
LS DOWN : page down
RS DOWN : Max down
LEFT : LEFT
LS LEFT : Page left
RS LEFT : Max left
SIN : Search find pattern in the text. the ? character is a wildcard
COS : Replace selection with replace string
LS COS : Replace all occurrences in the text
ENTER : Save & quit
LS +/- : Swap the clipboard and the text. By this way, the miniwriter allows you to modify directly the clipboard.
DEL : Delete chars from the right
<= : Drop chars
LS <= : 12345 became 1235, if the cursor is after the 5 (in order to remove the ( in ( ) in the input line
LS ALPHA : While in alpha mode, Toggle Uppercase/Lowercase mode.
LS 1 : put a ";" : for SysRPL programming
ON : You have to press ON twice if you made any modifications to the text. Leave the text and discard any changes. 
RS ON: Turn off the calculator : the real OFF, I don't just turn off the screen like many editors !

Input Mode:
When you are in the Input mode, the last line of the screen will be remove, and you will see : INP.
When an argument is needed for the commands: ASCII, GOTO, FIND, etc., pressing [ON] will do the following:
-If no character has yet been typed, then you are returned to edit mode.
-If characters are present; these are erased from the command line.
While you are in the Input mode, you can use the LS A, in order to add some special characters (for example to remove the LF (ASCII 13) after each end of line)

It uses the UFL, so you must have the UFL1 installed. You will find some fonts with this package.

For hackers:
The main program is XLIB 1313 4. It take the same arguments than String writer XLIB 1303 12:

3:Library Data (the font)
2:String
1:Binary Integer
Where "string" is the string to be edited.

The Binary integer is to be decomposed like # aaaaabbbbbccccc0h with
aaaaa : the selected zone's beginning position in hexadecimal notation.
bbbbb : the selected zone's ending position.
ccccc : the cursor's position when starting editing the selected zone.
Ex:
The binary integer looks like # 000020003F000010h then; we'll edit the text with selected zone from 2nd character to 63rth character the cursor will be positioned at the 1st character.

That's all for the documentation. If someone want to add something, no problem, just send me the new documentation.

