FutureTex
FutureTex is an text editor for FutureOS. The current state is 'under development', but the 2024 beta version is usable and stable (see downloads).
Contents
- 1 Introduction
- 2 The following functions are implemented currently
- 2.1 Submenu 'File' - Type hot key 'f' in main menu
- 2.2 Submenu 'Process' - Type hot key 'p' in main menu
- 2.3 Submenu 'Options' - Type hot key 'o' in main menu
- 2.4 Submenu 'Character set' - Type hot key 'c' in main menu
- 2.5 Submenu 'Keyboard' - Type hot key 'k' in main menu
- 2.6 Submenu 'Help' - Type hot key 'h' in main menu
- 2.7 Error messages
- 3 Source Code and Files on disc
- 4 Web links
Introduction
You need an expandable Text Editor with special features for your applications?
- All 256 characters
- 8 or 9 scanlines
- Open multiple files
- Different screen formats
- MODE 1 or MODE 2
- Use files up to 480 KB
- Edit multiple character sets
- Four key layers
- Every key can freely be defined
- Everything video oriented
- and more to come...
---> Here You found it! <---
'- FutureTex' provides an text editor, supporting all 256 characters; different character sets; Import & Export; Edit- & View-mode and so on. You can use Mice, Joysticks or Cursor keys and Copy to create or edit any kind of text files. And in addition hot keys can be used. The generated texts can be used for all your applications. FutureTex knows your mother language (FutureOS configuration). It will display all dialogues in your mother tongue. The current version of FutureTex can use English, French, German, Nederlands and Spanish (EMail for other languages). If you want to change the used language just go to Options, then to Language. Change your language there. Or use the OS tool "ConfigOS" to change the ROM.
The following functions are implemented currently
Load - Hotkey: l or L - To load a text file Here you can load a text file from disc. This can be a regular ASCII file or a FutureOS text file. There will be other file types soon.
First you select the file in the DIRector(y/ies). Then the file will be loaded. After that you need to select a text slot (1 to 9) in which you want to put the text file. Eventually you choose the file type (ASCII, FutureOS, etc.).
Now, you're back in the main menu. You can edit the text now if you like.
Save - Hotkey: s or S - To save a text file Here you can save a file to a disc. First you select the text you want to save. Then you can edit the device 'a' to 'm', the user number (hexadecimal) and the file name with extension. Eventually the file will be saved. After saving the file its status will be set to 'unchanged'
- If a file was not changed since you loaded it or since you saved it the last time, it will not be save. You will get back to the main menu ==> If you want to save an unchanged file or save a file a second or third time then please use the Export function, see there (scroll down).
- If you select a target device which is not tagged then the file will not be saved. Instead you will get to the DIRectory function. There you can select additional devices.
- If you select an target disc which is not between 'A' and 'M' then an error message will be displayed.
Load Blk. - Hotkey: o or O - To load a block of text or data
Save Blk. - Hotkey: b or B - To save a block of text or data
Read DIRs - Hotkey: a or A - Reads the DIRs of all tagged drives Here you can select the device which you want to use. Of course you can use multiple devices at once. After selecting your desired devices press RETURN or COPY to read the DIRectories. Or press ESCape to abandon the selection.
Close - Hotkey: c or C - Saves the data and quits FutureTex This function will save and close a text file. All you have to do is to select the text file (1-9) which shall be closed. There is no option to edit device, user-number, file-name or extension again.
Import - Hotkey: i or I - Import text or data
- this function is not implemented yet -
Export - Hotkey: e or E - Export data or text Here you can export a file to a disc. You can also save an 'unchanged' file a couple times more often if you like. First you select the text you want to export / save. After that the program will allow you to change the file type. If you just want to save then press COPY or RETURN to leave it unchanged. Then you can edit the device 'a' to 'm', the user number (hexadecimal) and the file name with extension. Eventually the file will be exported / saved. After exporting the file its status will be set to 'unchanged'
- If you select a target device which is not tagged then the file will not be saved. Instead you will get to the DIRectory function. There you can select additional devices.
- If you select an target disc which is not between 'A' and 'M' then an error message will be displayed.
- Attention please!!! At this date (2020.04.07) the export function only allows to save files. The conversion between file types is not done today!
Version - Hotkey: v or V - Show date and version of FutureTex This function will show you the version of FutureTex and its assembly date.
Quit - Hotkey: q or Q - Quit this application Here you can quit FutureTex directly without saving anything, just quit. All the Expansion RAMs which have been occupied by this application will be set back to 'free' again. However, the application will ask you if you really want to quit. This additional question is there just in case your cat likes your CPC too ;-)
Edit - Hotkey: e or E - Edit (new or loaded) text This function is used to initialize a new text file or to edit a previously loaded text file. First you can select one out of nine text slots. This means you can work with up to nine different texts or text files at the same time.
After selecting the slot (1-9) you will pick the file format for this text. At the moment you can work with regular ASCII files or the FutureOS format. The latter one can contain all 256 possible characters. Subsequently you will choose a device, user-number and name for the text.
If you use this function a second time for a particular text, then you just select slot 1-9. The text type and device, user, name will remain the same.
The EDIT mode allows to use the following keys:
- Cursor keys: move the cursor one position in the designated direction
- Cursor left / right with Control: move cursor to beginning / end of line
- ESC: Type ESC twice to end editing the text and return to the main menu of FutureTex. Pressing ESC only once will bring you to the ESC-Menu. There you get information about your text, you can add decimal or hexadezimal values. And you can manage blocks of text.
- DEL: Delete character left of the cursor
- DEL and Shift: Clear the whole line
- CLR: Delete the character underneath the cursor
- CLR and Shift: Clear the whole line
- TAB and Control: Switch between Insert mode and Overwrite mode
- RETURN: Insert mode -> Enter RETurn Code, this is &0D, &0A for ASCII texts or &0E for FutureOS text format. Overwrite mode -> Move cursor to leftmost position of line below
Clear - Hotkey: c or C - Clears text being previously put in RAM This function will clear a text file from RAM. Previously this text was entered or loaded from disc. First you need to select the text (one out of nine) which is defined by name. Then this text will be cleared and the occupied RAM will be free again. In case the selected text was changed, but not saved you will be questioned if you really want to clear the text.
Call OS - Hotkey: a or A - Call the Desktop, return with the OK icon Jumps to the FutureOS Desktop, there you can perform the desired functions. Please click at the OK icon or press the hot key 'o' to return to FutureTex.
Mode - Hotkey: m or M - Select the screen MODE 0-3 This function allows you to select the screen MODE in which your text shall be edited. Only MODEs 1 and 2 are supported currently. Don't use MODE 0 or 3.
Colour - Hotkey: c or C - Select color for Pen, Paper or Border This set of functions will select the color of Border, Paper and the 15 Pens.
Format - Hotkey: f or F - Select format of text window Here you can select the format of the text screen for your text to be edited and shown on screen. Possible formats are:
- 80 characters per line and 25 lines (when using MODE 2) can be used with 9 SL
- 68 characters per line and 30 lines (MODE 2) - only 8 scanlines usable
- 64 characters per line and 32 lines (MODE 2) - only 8 scanlines usable
- 92 characters per line and 22 lines (M2) can be used with 9 scanlines / char.
Language - Hotkey: l or L - Select your desired language Use this function to change the UI language. Please use this function ONLY at start of the application!
Load character set - Hotkey: l or L - Load character set from media This function will load a character set with or without a file header. The maximum file size is 4 KB. But everything beyond 2 KB will be truncated. Because a character set is always 2 KB long (256 chars * 8 byte = 2048 bytes). If the selected file is bigger than 4 KB an error message will be issued and the application will return to the main menu.
Save character set - Hotkey: s or S - Save character set to media You can save the actual character set (from RAM) with or without an header. If you save the 256 characters without an header then the produced file will be exactly 2 KB long. But beware, not every other application can load it. If you save your character set with an header then the target file will need 3 KB on disc, but it can be loaded with most other applications.
Edit character set - Hotkey: e or E - Edit current RAM character set The character editor allows you to edit every one of the 256 characters. In addition it supports 8 or 9 scan lines in the editor mode. With Shift and the cursor keys you can select the character you want to edit. With the cursors you can move a cursor inside a character to set or delete a single bit inside the character. Press Copy to set / delete a bit. Also press space to refresh the screen and show the whole character set.
In case you use a character set with 9 scan lines then the first scan line will be mirrored in scan line nine. This means you edit eight scan lines only.
Additional functions while editing a character:
- Press 'c' to clear the current character
- Press 'f' to fill all bits in character
- Press 'r' to restore character from the computers lower ROM
- Press 'u' to shift character one scan line up
- Press 'd' to shift character one scan line down
Well, just have try :-)
Use ROM characters - Hotkey: r or R - Copy character set from ROM to RAM To copy the ROM character set into RAM you can use this function. This makes sense if you don't want to continue with the current RAM characters. Attention: This function will overwrite the current RAM character set!
Use 8 scan lines - Hotkey: 8 or ( - Use eight scan lines per character Eight scan lines will be used for all characters and functions. Normal mode.
Use 9 scan lines - Hotkey: 9 or ) - Use nine scan lines per character Nine scan lines will be used for all characters and functions. Extended mode. However, 9 scan lines can be only used with screen formats of 80x25 or 92x22 characters. The '9 scan lines' option can't be used for 64x32 or 68x30 formats.
Keyboard - Hotkey: k or K - Show keyboard At the moment this option will display a map of the keyboard (CPC6128). In future this option shall be expanded. Let me know what you miss :-)
Occupat. - Hotkey: o or O - Show map of keyboard occupation levels Here you can see and edit the characters which are assigned to the keyboards levels of keys. There are four different levels. Keyboard Levels are:
- Normal
- Shift
- Control
- Shift + Control.
In case you want to change the assignment of a character to a key do this:
- Move cursor to the desired key and keyboard level, then press Copy or Return
- Use the Cursor keys (left and right) to select the new character
- Press Copy or Return to fix the new key. Or press ESC to leave key unchanged
Press ESC to leave this option.
Load - Hotkey: l or L - Load matrix of keys Here you can load all four layers of keys into the keyboard matrix of FutureOS. The first 80 bytes will be load into the 'Normal' key matrix. The next 80 bytes are for the Shift layer, then the Control layer and eventually the 80 bytes for the combined Shift + Control layer. You should use file which have been made by the Save function... read on...
Save - Hotkey: s or S - Save the key matrix With this function you can save the matrix of the keyboard. All four layers of keys will be saved into one file of just 1 KB. This file consist of four blocks of 80 bytes each. One block for Normal, Shift, Control and Shift + Control.
Active k - Hotkey: a or A - Show active characters for keys Use this function to see which characters are currently assigned to keys. For every character you see information in the following format:
- 'C:NN:KL' - Examples: 'l:36:No', 'L:36:Sh', '9:03:Co' or ',:39:SC'
- 'C' is the character. All 256 characters are shown from top to bottom.
- 'NN' is the dezimal number of the key (00-79). Compare to the CPCs manual.
- 'KL' is the keyboard level, it can be 'No'rmal, 'Sh'hift, 'Co'ntrol or 'SC', which is the combined 'Shift + Control' level.
Help - Hotkey: h or H - Show a help screen Here you get little help how to use the framework CBM, which is the base of the application 'FutureTex'
Info - Hotkey: i or I - Shows information about Exp.RAM occupation Here you can check how much E-RAM is connected and available or occupied. You see where the texts (1-9) are located and if they are caged (E-RAM error)
Menu - Hotkey: m or M - Shows help about the CBM surface used this app. Few informations how the menu system CBM work and how to use it.
-$$$- - Hotkey: $ or 4 - Tells how to support FutureTex development Just in case you want to spend some money for the development of this program.
.www. - Hotkey: w or W - Tells how to find FutureTex in the network Here you will find a link to the internet presence of 'FutureTex'.
Error messages
FutureTex may display error message about potential problems. That can be:
'Function isn't part of this application!'
You attempted to use a function which is not part of the application (yet). Let me know if you want me to add it - I will do.
'File too big!'
You did try to load a 'character set' which is too big. Bigger than 4 KB.
'Error: Line too long! > 1024 bytes!'
Lines bigger than 1024 bytes can't be processed using 'FutureTex'. Your source file probably contains a line being too long.
'Too few E-RAM available!'
- Either the expansion RAM (E-RAM) of the computer is used up. FutureTex would need more E-RAM. In this case it helps to add a 512 KB RAM expansion.
- Or if you have enough E-RAM connected and this error remains, then the texts can't be reorganized. --> PLEASE write me an EMail to: FutureSoft@gmx.de
'The drive is not tagged!'
While saving a text file to a target-medium or -drive this error may occur. The destination device is either not connected or its DIRectory was not read.
After displaying this error message the application will guide you to the DIR function, there you can select the target device by pressing its letter a-m and subsequently press Copy to read the DIRectory. Now just try to save again :-)
As an alternative source of the error it may have happened by accident that you mistyped the device letter. It has the format 'A00:FileNameExt'. Here the 'A' is the target device. The '00' is the user number in hexadezimal from &00 to &FE (never use &FF!!!). And 'FileNameExt' is the name of the file with extension (in 8+3 fomat). Small letters can be used of course :-)
Source Code and Files on disc
Source Code
All the source code is provided. The file "FT.MAX" contains the main program and the files "FT-LNG1.MAX" to "FT-LNG3.MAX" contain language dependent tables and texts. The source files "FT-SUB1.MAX", "FT-SUB2.MAX", "FT-SUB3.MAX", "FT-SUB4.MAX", "FT-SUB5.MAX", "FT-SUB6.MAX" and "FT-SUB8.MAX" contain specific functions and subroutines.
To have a look at FutureTex just start the file "- FutureTex" using FutureOS. Then you can load the file 'FT.TXT' and read this manual.
It should be easy to add functions and text (in all languages) if you have a look at the source code. Z80 knowledge and the knowledge of some facts about FutureOS are an advantage. Else ask TFM - he will be glad to help :-)
If you want to use FutureTex and you need help, just mail to: FutureSoft@gmx.de I really look forward to help you with all your tasks and projects!
Files on the FutureTex disc
- "- Future.Tex": This file is the text editor application 'FutureTex'
- "FT .MAX": The main source code of this application itself (contains icon). This file reads "FT-LNG1.MAX", "FT-LNG2.MAX", "FT-LNG3.MAX" and "FT-SUB1.MAX" to "FT-SUBA.MAX" when you assemble it using MAXAM or compatible.
- "FT-LNG1 .MAX": File contains text (English, French, German, Spanish, Dutch)
- "FT-LNG2 .MAX": ... more text...
- "FT-LNG3 .MAX": ... even more text...
- "FT .TXT": Manual for 'FutureTex'
- "FT-SUB1 .MAX": Sub-functions of the CBM framework, FutureTex character editor
- "FT-SUB2 .MAX": FutureTex specific code to edit texts
- "FT-SUB3 .MAX": FutureTex specific code to deal with blocks
- "FT-SUB4 .MAX": FutureTex specific code to clear texts
- "FT-SUB5 .MAX": FutureTex specific code to load / import files
- "FT-SUB6 .MAX": FutureTex specific code to save / export / close files
- "FT-SUB7 .MAX": FutureTex specific code to show / edit / load / save keys
- "FT-SUB8 .MAX": FutureTex specific code beyond &8000
- "FT-SUB9 .MAX": FutureTex specific code mixed functions
- "FT-SUBA .MAX": FutureTex specific code mixed functions
- "FT-SUM4 .MAX": FutureTex specific code to manage mass storage media like M4 SD card
Memory-Map
- &0000-&0AFF: Program Code of the CBM framework. RST 0 is the cold boot for 'FutureTex' itself.
- &0B00-&28FF: Program Code of FutureTex
- &2900-&377F: Free space for future expansions, parts get used as buffer though!
- &3780-&37FF: Header for character set (to save them)
- &3800-&3FFF: Character set for all current 256 characters
- &4000-&85FF: Tables and texts for all supported languages
- &8600-&95FF: Routines which must be located between &8000 and &9FFF
- &9600-&9FFF: More space for future expansions
- &A000-&B7FF: System buffers of FutureOS. If you want to use it, take a look at the manual. FutureTex could go up to &AFFF and use the space between &B000 and &B7FF for temporary buffers.
Version
The actual version is 0.3.0 from 2020-11-24 with support for German, English, Spanish, French and Dutch language.