
		    Notes for UNIX ports of BIEW

	    Konstantin Boldyshev <konst@linuxassembly.org>

	 $Id: unix.txt,v 1.3 2000/10/29 09:13:44 konst Exp $

	=====================================================

This is README for Linux/UNIX BIEW users. Please read this file carefully!

BIEW can use slang or curses screen library, so it is possible (well, at
least to try :) to run it on all platforms supported by these libraries.

I have tested this release with following OS'es on IA-32:

    Linux 2.0/2.2	(slang, curses, vt100, direct console : ok)
    FreeBSD 3.2		(slang, curses: ok)
    BeOS 4.5		(vt100: weird, but better than nothing :)

Any (un)successful reports of trying BIEW on other OS'es and architectures
are gladly accepted, as well as suggestions, feedback, bugreports and fixes.


UNIX specific features of BIEW
------------------------------

1)  Key modifiers are mapped as:

	CTRL+A - ALT
	CTRL+C - CTRL
	CTRL+S - SHIFT

    i.e. pressing CTRL+A in acts as holding down ALT, and so on.
    CTRL+Z resets modifiers to defaults. Modifiers are also reseted
    after any function key is pressed.

2)  There are some limitations on output, i.e. you can't see all characters
    as they are (output is filtered to avoid unexpected behavior).

3)  It is possible to use 7bit output.

4)  Configuration file is ~/.biewrc, not biew.ini.


Known issues
------------

When using VT100 version on xterm 7bit mode is FORCED (for safety).
This is temporary and will be fixed in the nearest future versions.

On Linux you need to load koi2alt screen map if you want pseudographics
to be displayed correctly only when using native or Unix/VT100 version.
Also, ascii table (SHIFT+F6) can be displayed incorrectly without koi2alt.
So, if your pseudographics is screwed, issue:

$ mapscrn koi2alt

and be happy. This is also temporary and will be fixed soon
(there will be no need to load this screen map).


Linux
-----

Current Linux version of BIEW supports two work modes:
console and vt100 compatible terminal. Console version
can act EXACTLY as dos/os2/win32 version, this means
that you can't switch virtual consoles by pressing ALT+Fx,
because these keys are used by BIEW -- use CTRL+ALT+Fx
combination for that purpose.

Terminal mode should work on any vt100 compatible terminal.

Linux console version uses:

- scan codes (not keystrokes)
- direct video output via /dev/vcsa

Console mode has major disadvantage on 2.0 kernels: if it hangs
keyboard, you can't do anything, except pressing reset (certainly
you can terminate it remotely from other machine on network, or
from terminal connected to serial port); on 2.2 you can simply
use magic SysRq key to terminate it.

IMPORTANT! Console mode is invoked only:

1) if "Direct console access" flag is enabled (F9)
2) on pure virtual terminal

In any other case VT100 mode is used.


BeOS
----

You must run BIEW in terminal window on BeOS. As beterm
is not documented, I assume it acts as xterm. Unfortunately
function keys are shifted: F1-F5 are ok, F6 does nothing,
F7-F11 act as F6-F10. Bear this in mind. I know this is
weird, but it is better than nothing. Any help on beterm
is appreciated. As for help file, just put it somewhere,
and set the full path in setup dialog.


Compiling the source
--------------------

You will need GNU make and gcc.

Edit makefile: choose TARGET_PLATFORM and TARGET_OS.
If TARGET_OS is "unix" then decide what screen library
you want (TARGET_SCREEN_LIB): slang, curses or direct vt100.
If possible, do use slang. If not, fallback to curses.
If your system lacks any of these screen libraries,
you can try direct vt100 emulation.

Do not change compiler parameters at the end of makefile.inc,
or all sorts of weirdness can happen.

And finally, happy hacking :)

ChangeLog (Linux/UNIX)
----------------------

5.2.0

- slang, curses: added proper pseudographics support,
  added output filter on xterm; overall minor cleanup

5.1.2

- video output rewritten (__vioReadBuff, vioWriteBuff, etc)

5.1.1

- curses: fixed pseudographics bug

5.1.0

- miscellaneous fixes

5.0.4

- BeOS support (CONFIG_BEOS), minor fixes

5.0.3

- xterm mouse reporting, added window caption in xterm
- cursor is no longer lost on exit
- correct handling of COLORTERM
- other minor bugfixes

5.0.2

- first slang version
- transparent background on Eterm
- Linux console: added vt switching through CTRL+ALT+Fx
- vt100: keyboard management rewritten
- pseudographics problems solved
- 7bit output
- directories are no longer opened as files
- various improvements & fixes

5.0.1

- Linux console: added CTRL+O, uppercase letters/numbers support
- separate handles for input and output
- dynamic memory allocation for output
- different minor bugfixes and improvements

5.0.0

- first curses version
- completely rewritten keyboard management (max performance)
- VT100: screwed video output fixed
- Linux console: 'w' bug fixed


TODO:

- mouse support (gpm and slang)
- make console functions pluggable
