Commit 3c0f89af authored by Dmitry Bogatov's avatar Dmitry Bogatov

Import Upstream version 2.61

parent 4aab39ab
......@@ -3,7 +3,7 @@ for any purpose without royalty or fees in accordance with the terms of the
copyright.
-----------------------------------------------------------------------------
Copyright (c) 2000,01,02 Albrecht Kleine
Copyright (c) 2000-2004 Albrecht Kleine
All rights reserved.
You may distribute under the terms of the GNU General Public License.
......
Mon Jan 3 18:00:48 2005 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm, e3.h: continued 64 bit version, i. e.
fixed bugs in commandline reading and numerics
-e3.asm:added push ecx / pop ecx pair to save register ECX
during the Wait4 system call:
Linux kernel 2.6.8 seems to need that (unlike 2.6.5)
This crashed sed filtering, e.g. by ^KP in WS mode.
#199
***** released as v2.6.1 *****
-------------------------------------------------------------
Mon Dec 27 11:43:41 2004 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm, e3.h, Makefile: prepared e3.asm for generating
64 bit files by using the YASM 0.4 assembler for the
AMD-64 CPU (Linux only.)
-The AMD-64 code is built from e3.asm by running
sed converter script "e3_yasm_yasm64.sed"
This script is now part of e3 distribution archive.
*** Use it by entering "make yasm64" ***
#198
-------------------------------------------------------------
Sun Oct 03 17:00:00 2004 Albrecht Kleine <kleine@ak.sax.de>
- e3.asm, Makefile: prepared e3.asm for YASM assembler.
Due ugly problems in jecxz op by "near jmp" vs "short jmp"
we need a sed converter script: so added file
"e3_nasm_yasm.sed" to distribution
*** Use it by entering "make yasm" ***
#197
-------------------------------------------------------------
Sun Jun 27 21:34:00 2004 Albrecht Kleine <kleine@ak.sax.de>
e3.asm: clean up for next release
#196
***** released as v2.6.0 *****
-------------------------------------------------------------
Sun Jun 18 19:45:00 2004 Albrecht Kleine <kleine@ak.sax.de>
e3.asm: trial for runtime detection of UTF-8 console
(switch via %ifdef UTF8RTS) ** not yet continued **
#195
-------------------------------------------------------------
Fri Jun 18 21:14:55 2004 Albrecht Kleine <kleine@ak.sax.de>
e3.asm: optimizing previous builds
#194
-------------------------------------------------------------
Thu Jun 3 20:50:17 2004 Albrecht Kleine <kleine@ak.sax.de>
e3.asm,e3.h: special cursor control, switch it via
%define NEW_CURSOR_MGNT in e3.h
see also:
/usr/src/linux/Documentation/VGA-softcursor.txt
#192,#193
-------------------------------------------------------------
Thu Jun 3 20:50:17 2004 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm: added initial UNICODE UTF-8
stuff via checking the bits 7 and 8
#190,#191
-------------------------------------------------------------
Mon Apr 12 09:44:27 2004 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm: for easier line input just added some
readline edit functions in InputString:
home / end / insert / delete / go_left / go_right
-Makefile: removed default usage of "gzexe":
seems to be broken
#189
***** released as v2.5 *****
-------------------------------------------------------------
Sun Apr 4 21:29:07 2004 Albrecht Kleine <kleine@ak.sax.de>
-e3.h,e3.asm: make e3/OpenBSD work again by adding
some ELF file specials needed for OpenBSD version 4.3.
Many thanks to Benjamin Pineau!
#188
-------------------------------------------------------------
Fri Nov 14 00:00:00 2003 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm: a patch for Scott Swanson's vt420
use via %ifdef VT420SPECIAL
#187
-------------------------------------------------------------
Fri Aug 09 00:00:00 2003 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm: check file name linkage also in dynamic linked
file versions
#186
-------------------------------------------------------------
Mon Apr 21 18:22:36 2003 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm: bugfix (a certain combination of
sed-piping followed by UNDO operation could cause a
crash with core dump)
Many thanks for bug report to:
basti at a181213.studnetz.uni-leipzig.de
#185
***** released as v2.43 *****
-------------------------------------------------------------
Mon Mar 24 17:17:17 2003 Albrecht Kleine <kleine@ak.sax.de>
- e3-16.asm: fixed bug in IsShowBlock
replaced "cmp dword ...." with "cmp word ....."
This makes e3-16 running on elks at old 8086 PC.
- e3-16.asm: LESSWRITEOPS are now switched on by default.
- e3.asm: added fchmod call to prevent file
permissions modified by umask
(was bug report on freshmeat site)
#184
***** released as v2.42 *****
-------------------------------------------------------------
Sat Mar 1 10:00:00 2003 Albrecht Kleine <kleine@ak.sax.de>
- e3.asm: fixed heavy bug in FreeBSD version of e3,
(core dump with newer FreeBSD kernels due ugly
workaround in e3 / now replaced by a real solution
for sed child program piping, see also:
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/47505 )
Thanks to joseph at randomnetworks dot com for
his patience and assistance.
#183
***** released as v2.41 *****
-------------------------------------------------------------
Tue Oct 8 20:55:00 2002 Albrecht Kleine <kleine@ak.sax.de>
- e3.asm: fixed bug in Pico mode
(repeated search&replace could hang e3:
Thanks for bug report to Roy Sutton!)
- added NO_AUTO_INDENT assemble time option
#182
***** released as v2.4 *****
-------------------------------------------------------------
Sat Oct 5 18:13:13 2002 Albrecht Kleine <kleine@ak.sax.de>
- NEW: added e3.s to the e3 distribution
(NATIVE StrongARM assembler code for gnu assembler)
Also included helper macros and emulayer.s.
Also adjusted Makefile.
- e3-16.asm: added a %define for bypassing BIOS int 10h,
function 1302h. Very slow, but running on some
very old 1980's PC.
#181
-------------------------------------------------------------
Sat Sep 14 15:44:02 2002 Albrecht Kleine <kleine@ak.sax.de>
e3.asm/e3.h: initial assembler version for
the ARM CPU produced (for gnu-as,gnu-ld)
and running on the Zaurus PDA
(control by %define ARMCPU)
Wed Jul 31 00.00.00 2002 Albrecht Kleine <kleine@ak.sax.de>
e3-16.asm: changed some opcodes to pure 16 bit
e.g. replaced pusha with a sequence of
push ax,push bx,.... etc for running on 8088 CPU.
#180
-------------------------------------------------------------
Sun May 19 17:30:59 2002 Albrecht Kleine <kleine@ak.sax.de>
e3.asm: bug fixed: search in Pico mode could
cause inf-loop if string was not found
MANY thanks to Robin Green!
#179
***** released as v2.33 *****
-------------------------------------------------------------
Thu May 2 09:01:11 2002 Albrecht Kleine <kleine@ak.sax.de>
-e3c.c, e3c/Makefile : patch for running on PDAs
running Linux on the StrongARM CPU
#178a
***** ARM binary released as v2.32 *****
-------------------------------------------------------------
Sat Apr 20 21:44:31 2002 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm: some adjustments to assemble again in Win9x
-e3-16.asm: added ^QI key (go line#)
to the ELKS and DOS versions
-Makefile, e3.asm, e3.h changed variable errno to ErrNo
for better linking to libc, if desired.
Now this is also in FreeBSD possible,
see build #169 for make details.
#178
***** released as v2.31 *****
-------------------------------------------------------------
Tue Apr 16 20:31:28 2002 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm refined cursor position after vi's p and P cmds
-e3.asm vi mode: now also cmd x and X pasteable
-e3.asm bugfix in WS ^QY (introduced in #175
due vi command D changing)
-e3-16.asm: removed most of useless screen redrawing
for the ELKS version
#177
-------------------------------------------------------------
Sat Apr 13 20:57:41 2002 Albrecht Kleine <kleine@ak.sax.de>
-e3-16.asm bugfix (^KR did not work in ELKS)
added special handling code of lseek
offset (32 bit arg #2) via I/O-pointer
-e3-16.asm bugfix (^KV did not work in ELKS and DOS)
(Tnx for report to Tim Pearce)
-e3.asm [libc versions] fixed bug in error handling:
now using extern [_errno]
-e3.asm added UNDO information collector for Emacs ^T
#176
-------------------------------------------------------------
Wed Apr 10 18:11:42 2002 Albrecht Kleine <kleine@ak.sax.de>
-e3.asm added command dw (delete word) in vi mode
(by Matthias's suggestion)
-e3.asm after pasting now changing cursor position
by using [EmaKiSize] (old was call CountToLineEnd)
-e3.asm vi command mode
added cursor left motion after D command
-e3.asm bugfix: vi command r was not undoable
(Tnx for report to Tim Pearce)
#175
-------------------------------------------------------------
Sun Apr 7 19:30:36 2002 Albrecht Kleine <kleine@ak.sax.de>
e3-16: added color support for e3-16/ELKS (*) ,
......
......@@ -3,12 +3,13 @@
OS=LINUX
#OS=BEOS
#OS=FREEBSD
#OS=OPENBSD
#OS=QNX
#OS=ATHEOS
#OS=W32 ** please use a separate make.bat for W9x **
# Set this to gzexe or upx if you want compression
COMPRESS=gzexe
# COMPRESS=gzexe
# 2. edit dest dir prefix if you want....
......@@ -79,20 +80,24 @@ endif
# next three are for testing purpose: linking w libc
statc:
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -DLINUX -DLIBC -D$(EXMODE)
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -D$(EXMODE)
ld -s -static -o e3statc e3.o -lc
dync:
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -DLINUX -DLIBC -DDYN -D$(EXMODE)
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -DDYN -D$(EXMODE)
gcc e3.o -o e3dync
# strip e3dync
dync2:
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -DLINUX -DLIBC -DDYN -D$(EXMODE)
ifeq ($(OS),LINUX)
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -DDYN -D$(EXMODE)
ld -s -m elf_i386 -o e3dync2 e3.o \
-lc -dynamic-linker /lib/ld-linux.so.2 \
/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtn.o
else
$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -DDYN -D$(EXMODE)
ld -m elf_i386 -o e3dync2 e3.o -lc -e _start /usr/lib/crt1.o
endif
# next for running in gnu debugger
debug: $(ASOURCES) Makefile
......@@ -105,6 +110,34 @@ debug: $(ASOURCES) Makefile
ln -sf e3 e3vi
ln -sf e3 e3ne
# L I N U X only
# Experimental stuff for using YASM assembler
# needs some sed changes (jmp vs jmp near) due heavy bugs in YASM optimizer
# (how to switch off that optimizer ?)
yasm: $(ASOURCES) Makefile
cat e3.asm | sed -f e3_nasm_yasm.sed \
| yasm -f elf -p nasm $(AFLAGS) -l e3.lstyasm -o e3.o -DLINUX -DSED -DYASM
ld -s -o e3 e3.o
ln -sf e3 e3ws
ln -sf e3 e3em
ln -sf e3 e3pi
ln -sf e3 e3vi
ln -sf e3 e3ne
# L I N U X / AMD-64 only
# ditto YASM stuff
yasm64: $(ASOURCES) Makefile
cat e3.asm | sed -f e3_nasm_yasm.sed \
| sed -f e3_yasm_yasm64.sed \
| yasm -m amd64 -f elf -p nasm $(AFLAGS) -l e3.lstyasm64 -o e3.o -DLINUX -DSED -DYASM -DAMD64
ld -s -o e3 e3.o
ln -sf e3 e3ws
ln -sf e3 e3em
ln -sf e3 e3pi
ln -sf e3 e3vi
ln -sf e3 e3ne
# selftest, linux only, assembled with a special option for using an input pipe
test:
ifeq ($(OS),LINUX)
......@@ -164,6 +197,12 @@ else
install -m 644 e3.man $(MANDIR)/e3.$(MANSEC)
endif
armlinux: e3
@cd armlinux && make all
clean:
rm -f e3*.o e3*.lst e3 e3em e3pi e3vi e3ws e3ne *~ \
PIPE_IN e3test~ e3test e3dync e3dync2 e3statc
PIPE_IN e3test~ e3test e3dync e3dync2 e3statc \
armlinux/*.o armlinux/e3arm
README for mini editor e3 release 2.3
README for mini editor e3 release 2.6.1 (aka 2.61)
(c) GPL 2000-05 Albrecht Kleine
kleine@ak.sax.de
alb.kleine@gmx.de (please use "e3" in mail subject line)
(c) GPL 2000-02 Albrecht Kleine
mailto:kleine@ak.sax.de
1. OVERVIEW
===========
e3 is a collection of micro text editors with an executable code
size between 3500 and 20000 bytes, depending on used assembler options,
e3 is a micro text editor with an executable code size between
3800 and 35000 bytes, depending on used assembler options,
platform and self compressor.
Except for 'syntax highlighting', the e3 binary supports all of the basic
functions one expects plus built in arithmetic calculations. If you have
......@@ -16,53 +18,58 @@ getting the full power of regular expressions.
e3 can use Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings,
whichever the user chooses.
Also the user can calculate arithmetics inside the text.
e3's assembler version is available on Linux, FreeBSD, NetBSD,
OpenBSD, BeOS, QNX, Win9x, Atheos, and just new in a 16 bit version (e3-16)
for DOS and ELKS (==Embeddable Linux Kernel Subset).
e3's assembler version is available on 11 most important x86 OS,
see below for details.
Also available is an (alpha level) 32 bit native code assembler version
for StrongARM ("Advanced Risc Machine") CPUs.
There is also a GNU-C-written version for non-i386-Unix
platforms (e3.c) using Wordstar keybindings only. This README
doesn't further mention e3.c. (Just make it!)
and non-ARM-Linux platforms (e3.c) using Wordstar keybindings only.
This README doesn't further mention e3.c. (Just make it!)
e3 is designed to be INDEPENDENT OF LIBC OR ANY OTHER library,
except on the QNX and Win32 operating systems.
except on QNX and Win32.
It's been tested using the terminal console, but Xterm, Eterm,
kvt, rxvt, vt220 and vt100 should work too.
It's been tested under several x86 OS:
* Linux kernels 2.0, 2.2, 2.4
* FreeBSD 2.2, 3.1, 4.4
* OpenBSD 2.9
kvt, rxvt, vt220 and vt100 should work too.
Beginning in version 2.6.0 e3 does support UTF-8 coding of unicode
characters like this: α ( <---should be a greek alpha )
e3.asm it's been tested under several x86 32 bit OS:
* Linux kernels 2.0, 2.2, 2.4, 2.6
* FreeBSD 2.2, 3.1, 4.4, 5.0
* OpenBSD 3.4,
* NetBSD 1.51
* BeOS 5PE
* Win98
* QNX RTP 6.1
* Atheos 0.3.7
e3.asm 64 bit it's been tested under Linux OS:
* kernel 2.4 and 2.6 for AMD x86-64
e3-16.asm it's been tested under:
* FreeDOS kernel 1.1.24
* ELKS pre 0.1 (vt52 emulation)
running on original 8086 (!) up to current x86
e3.s is tested under:
* ARM-linux kernel 2.4 (@zaurus PDA)
2a. BUILD on Linux/FreeBSD/BeOS/QNX/Atheos
==========================================
A. For assembling of e3 you need NASM assembler v0.98 or v0.98.08
A. For assembling of e3 you need NASM assembler.
B. Unless you build a debug version ("make debug") Makefile will call
a compressor for executables, but in Linux only and only if you
have defined either gzexe or upx in Makefile.
UPX comes from http://wildsau.idv.uni-linz.ac.at/mfx/upx.html .
B. If you don't like the default OS or destination (LINUX , /usr/local/ )
then edit top of Makefile
(other possible OS are FreeBSD or BEOS or QNX or ATHEOS).
C. If you don't like the default OS or destination (LINUX , /usr/local/ )
then edit Makefile (other possible OS are FreeBSD or BEOS or QNX
or ATHEOS).
D. e3 is expecting "sed" at /bin/sed, or "ex" at /usr/bin/ex; otherwise change
C. e3 is expecting "sed" at /bin/sed, or "ex" at /usr/bin/ex; otherwise change
SEDPATH in e3.asm. By default /bin/sed is used, but you can
use /usr/bin/ex instead, if you edit Makefile as appropriate.
(NOT available for BeOS,QNX,Atheos))
(NOT available for BeOS,QNX,Atheos)
E. Build e3 via typing 'make' (or 'gmake' on FreeBSD) for building:
D. Build e3 via typing 'make' (or 'gmake' on FreeBSD) for building:
e3 : the default Wordstar-like version,
e3ws : ditto Wordstar,
e3em : the Emacs-like version,
......@@ -71,15 +78,21 @@ E. Build e3 via typing 'make' (or 'gmake' on FreeBSD) for building:
e3ne : the Nedit-like version.
(e3?? are symbolic links to e3. In fact only one executable is built.)
F. Optional: type 'make install' or
E. Optional: type 'make install' or
move or copy e3 and its symlinks wherever you want.
G. Optional: some more editable options are on top of e3.h:
F. Optional: some more editable options are on top of e3.h:
for example, if you don't like WS mode, choice an other default mode
by setting DEFAULT_MODE to one of EM, NE, PI or VI .
Also you could activate error beeping in vi mode by uncommenting
the BEEP_IN_VI line.
G. Take care:
If you are building your own e3 binary, be careful: some
NASM versions are producing oversized binaries, some won't
produce a e3.lst listing file: two bugs, but at all harmless.
2b. BUILD on Win9x / ME / DOS
=============================
......@@ -101,29 +114,54 @@ C. Optional: some more editable options are on top of e3.h:
2c. BUILD on NetBSD,OpenBSD
===========================
Here are 2 Makefile for BSD-make included.
In general you don't need to change that files.
Here are 2 Makefile for BSD-make included. See ./bin directory.
Also you need NASM. In general you don't need to change that files.
2d. BUILD for ELKS
==================
This is done on usual 32 bit x86 Linux systems either
This is done usual on 32 bit x86 Linux systems either
by typing "make elks" or changing to elks/ and typing "make".
You need to have installed the ld86 linker. (If you are interested
in ELKS systems I think you have it already on the harddisk.)
You need to have installed the ld86 linker (part of dev86 suite).
2e. BUILD for ARM Linux
=======================
Simply type "make armlinux" on your x86 box.
You will need the ARM linux toolchain, at least
arm-linux-as: GNU assembler 2.11.2
arm-linux-ld: GNU ld 2.11.2
Fetch it via:
ftp://ftp.armlinux.org/pub/toolchain
Or adjust 'Makefile' and build e3arm on the destination ARM box.
3. RELEASE NOTES
================
* Added a 16 bit version of e3 (aka e3-16) supporting DOS and
ELKS (==Embeddable Linux Kernel Subset) in one source code.
This initial release supports WS keys only.
With e3-16 now we have e3 editors on the 9th and 10th operating system.
* Changed the Win32 version by replacing the DOS stub with e3-16 to
do something useful instead of complaining about "it can run
only under Win32".
So you have TWO different editor executables in ONE file!
Only changed Linux/ASM-version:
* First step: introduced building with YASM assembler,
see http://www.tortall.net/projects/yasm
So added new make destination: "make yasm"
* Second step: introduced building a 64-bit version
of e3 for Linux/AMD-64.
The program file says:
"e3_64: ELF 64-bit LSB executable, AMD x86-64,
version 1 (SYSV), statically linked, stripped"
* Both steps are using the sed stream editor.
Thus now we are using 2 converter scripts:
nasm to yasm: e3_nasm_yasm.sed
yasm to 64bit: e3_yasm_yasm64.sed
* Also fixed a bug first occurs running e3 under 2.6.8 kernels
during the Wait4 system call.
(This crashed sed filtering, e.g. by ^KP in WS mode.)
......@@ -145,8 +183,8 @@ in ELKS systems I think you have it already on the harddisk.)
* On some computers (BeOS, QNX etc.) Alt-key combinations won't work:
press <ESC> followed by the key, e.g. press ESC and H instead of Alt-H.
* e3 shows a dot for characters below ASCII 20h and between 80h and 9Fh
(except win9x).
* e3 shows a dot for characters below ASCII 20h and greater 7Fh
(except on win9x and except on UTF-8 version).
* At the end of an edit cycle, e3 asks you something like "SAVE? Ynl". Press
"n" to NOT save, "l" for SAVE and LOAD new, any other for SAVE and EXIT.
......@@ -207,6 +245,9 @@ do NOT expect very high precision.
* The Pico mode is both: extended and incomplete compared to some Pico options,
new are some ^J (delete) and ^Q (quick_move) keys.
* The win9x version does no accept any filename on the command line if this
filename contains blank spaces.
* The size of files you edit is currently limited to the maximum of either
100k or twice the file's size if you start with a file on command line, i.e.,
for example, starting e3 with a 2MB_sized_file gives you another 2 MB space
......@@ -264,6 +305,7 @@ do NOT expect very high precision.
^U for NEDIT mode
7. FILES
========
Makefile - (edit destination path and OS if desired)
......@@ -272,19 +314,18 @@ e3-16.asm
e3.h - NASM source code
e3.man - man page (copied by default to /usr/local/man/man1)
e3.html - man page, HTML version
e3.spec - spec file for building RPM archives
README - you are reading this
ChangeLog - version history
COPYING.GPL
COPYRIGHT - please read before using e3!
test/* - partial test suite
e3c/* - C stuff for non x86 systems, e.g. Alpha
contrib/* - useful things
doswin9x/* - specials for Win9x and its derivates
contrib/* - useful things, e.g. e3.spec (== spec for building RPMs)
doswin9x/* - specials for DOS, Win9x and its derivates
elks/* - specials for ELKS
binaries/* - binaries separated for some operating systems
NOTE: binaries for QNX,AtheOS,BeOS are no more included.
Sorry, but there never was any feedback.
binaries/* - binaries separated for operating systems
armlinux/* - specials for Linux @ ARM RISC CPU
*.sed - special stuff for using YASM assembler
8. THANKS
......@@ -304,9 +345,11 @@ Sergei Viznyuk <sviznyuk at hotmail.com>
Philippe Corbes <philippe.corbes at laposte.net>
Charles Steinkuehler <charles at steinkuehler.net>
Adrian Bunk <bunk at fs.tum.de>
Joseph <joseph at randomnetworks.com>
9. TM note
==========
Some names are trademarks of their owners:
Linux BSD BeOS QNX Unix WordStar Unox DOS Win Alpha BSE Atheos ELKS..etc.
Linux BSD BeOS QNX Unix WordStar Unox DOS Win Alpha BSE Atheos ELKS ARM BEIN .. etc.
Some notes on UTF-8 for the Linux/ASM-version:
1.
By default now e3 does does support UTF-8 coding of unicode
characters like this: α (should be a greek alpha).
2.
You could disable UTF-8 support in e3 by editing e3.h at line 16:
from
%define UTF8 ;for UTF8 console or xterm e.g. @ Suse 9.1
to
;;; %define UTF8 ;for UTF8 console or xterm e.g. @ Suse 9.1
and run 'make' again.
3.
Running e3_with_disabled_UTF-support at a UTF-8 console
you will see two points .. for UTF-8 characters e.g. the greek alpha.
4.
If you terminal does _not_ support UTF-8 it is strongly
recommended to _disable_ UTF8-support in e3.h,
because output of some characters could be scrambled.
5.
e3 will _not_ convert your files from/to UTF-8 coding.
It does simply _use_ your terminal encodings.
UTF-8 characters like © (c) will look very false on non-UTF-8 terminals,
but e3 can't help here. (So at first use a file converter.)
6.
If you simply call e3 without file argument the initial screen of e3
will tell you whether UTF8-support is built in:
MicroEditor e3 v2.6.0-UTF8 GPL © 2000-04
vs.
MicroEditor e3 v2.6.0 GPL (C) 2000-04
BTW a runtime detection of UTF-8 console is planned, but not yet ready to use.
Enjoy!
Albrecht,
Jun/29/2004
AS=arm-linux-as
LD=arm-linux-ld
STRIP=arm-linux-strip
all: ../e3.asm e3.s
# $(AS) --defsym LINUX=1 --defsym ARMCPU=1 -a=e3arm.lst -gstabs e3.s -o e3.o
# $(AS) --defsym LINUX=1 --defsym ARMCPU=1 -a=emulayer.lst -gstabs emulayer.s -o emulayer.o
$(AS) --defsym LINUX=1 --defsym ARMCPU=1 e3.s -o e3.o
$(AS) --defsym LINUX=1 --defsym ARMCPU=1 emulayer.s -o emulayer.o
$(LD) e3.o emulayer.o -o e3arm
$(STRIP) e3arm
This source diff could not be displayed because it is too large. You can view the blob instead.
@--------------------------------------------------------------------
@
@ Copyright (C) 2002 Albrecht Kleine <kleine@ak.sax.de>
@
@ This program is free software; you can redistribute it and/or modify
@ it under the terms of the GNU General Public License as published by
@ the Free Software Foundation; either version 2 of the License, or
@ (at your option) any later version.
@
@ This program is distributed in the hope that it will be useful,
@ but WITHOUT ANY WARRANTY; without even the implied warranty of
@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ GNU General Public License for more details.
@
@ You should have received a copy of the GNU General Public License
@ along with this program; if not, write to the Free Software
@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
@
@----------------------------------------------------------------------
.text
.global _INT
_INT: adr r12,.table
cmp r0,#((.endtable-.table)/8)
movhi pc,r14
add r12,r12,r0, lsl #3
mov r0,r1
mov r1,r2
mov r2,r3
mov r3,r4
mov r4,r5
mov r5,r6
mov pc,r12 @ jump
@-------
.table: swi 0x900000;mov pc,r14
swi 0x900001;mov pc,r14
swi 0x900002;mov pc,r14
swi 0x900003;mov pc,r14
swi 0x900004;mov pc,r14
swi 0x900005;mov pc,r14
swi 0x900006;mov pc,r14
swi 0x900007;mov pc,r14
swi 0x900008;mov pc,r14
swi 0x900009;mov pc,r14
swi 0x90000a;mov pc,r14
swi 0x90000b;mov pc,r14
swi 0x90000c;mov pc,r14
swi 0x90000d;mov pc,r14
swi 0x90000e;mov pc,r14
swi 0x90000f;mov pc,r14
swi 0x900010;mov pc,r14
swi 0x900011;mov pc,r14
swi 0x900012;mov pc,r14
swi 0x900013;mov pc,r14
swi 0x900014;mov pc,r14
swi 0x900015;mov pc,r14
swi 0x900016;mov pc,r14
swi 0x900017;mov pc,r14
swi 0x900018;mov pc,r14
swi 0x900019;mov pc,r14
swi 0x90001a;mov pc,r14
swi 0x90001b;mov pc,r14
swi 0x90001c;mov pc,r14
swi 0x90001d;mov pc,r14
swi 0x90001e;mov pc,r14
swi 0x90001f;mov pc,r14
swi 0x900020;mov pc,r14
swi 0x900021;mov pc,r14
swi 0x900022;mov pc,r14
swi 0x900023;mov pc,r14
swi 0x900024;mov pc,r14
swi 0x900025;mov pc,r14
swi 0x900026;mov pc,r14
swi 0x900027;mov pc,r14
swi 0x900028;mov pc,r14
swi 0x900029;mov pc,r14
swi 0x90002a;mov pc,r14
swi 0x90002b;mov pc,r14
swi 0x90002c;mov pc,r14
swi 0x90002d;mov pc,r14
swi 0x90002e;mov pc,r14
swi 0x90002f;mov pc,r14
swi 0x900030;mov pc,r14
swi 0x900031;mov pc,r14
swi 0x900032;mov pc,r14
swi 0x900033;mov pc,r14
swi 0x900034;mov pc,r14
swi 0x900035;mov pc,r14
swi 0x900036;mov pc,r14
swi 0x900037;mov pc,r14
swi 0x900038;mov pc,r14
swi 0x900039;mov pc,r14
swi 0x90003a;mov pc,r14
swi 0x90003b;mov pc,r14
swi 0x90003c;mov pc,r14
swi 0x90003d;mov pc,r14
swi 0x90003e;mov pc,r14
swi 0x90003f;mov pc,r14
swi 0x900040;mov pc,r14
swi 0x900041;mov pc,r14
swi 0x900042;mov pc,r14
swi 0x900043;mov pc,r14
swi 0x900044;mov pc,r14
swi 0x900045;mov pc,r14
swi 0x900046;mov pc,r14
swi 0x900047;mov pc,r14
swi 0x900048;mov pc,r14
swi 0x900049;mov pc,r14
swi 0x90004a;mov pc,r14
swi 0x90004b;mov pc,r14
swi 0x90004c;mov pc,r14
swi 0x90004d;mov pc,r14
swi 0x90004e;mov pc,r14
swi 0x90004f;mov pc,r14
swi 0x900050;mov pc,r14
swi 0x900051;mov pc,r14
swi 0x900052;mov pc,r14
swi 0x900053;mov pc,r14
swi 0x900054;mov pc,r14
swi 0x900055;mov pc,r14
swi 0x900056;mov pc,r14
swi 0x900057;mov pc,r14