Skip to content
This repository was archived by the owner on May 27, 2023. It is now read-only.

Commit 6cae734

Browse files
committedJan 17, 2023
1st commit, readme
0 parents  commit 6cae734

32 files changed

+2916
-0
lines changed
 

‎928-8x16.fnt

4 KB
Binary file not shown.

‎928-8x8.fnt

2 KB
Binary file not shown.

‎928.CPI

6.18 KB
Binary file not shown.

‎928.txt

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
kefalaia
2+
--------
3+
������������������������
4+
5+
peza
6+
----
7+
������������������������
8+
9+
parallages
10+
----------
11+
a � �
12+
e � �
13+
i � � � � �
14+
y � � � � �
15+
o � �
16+
h � �
17+
w � �
18+
19+
anw teleia
20+
----------
21+
middle dot:�

‎928C8X16.FNT

4 KB
Binary file not shown.

‎ASCII.txt

4.09 KB
Binary file not shown.

‎EXE2COM.EXE

14.4 KB
Binary file not shown.

‎EXE2COM.txt

+225
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
EXE2COM 1.04
2+
By Chris Dunford/Cove Software
3+
4+
| indicates information changed/added in recent versions.
5+
6+
Purpose
7+
-------
8+
EXE2COM is a one-for-one replacement for the EXE2BIN program
9+
that was formerly distributed with DOS. Beginning with DOS 3.3,
10+
EXE2BIN has been moved to the disk that comes with the DOS
11+
Technical Reference and thus is not available without extra
12+
cost.
13+
14+
15+
Usage
16+
-----
17+
Usage is identical to DOS's EXE2BIN except that the output file
18+
extension defaults to COM rather than BIN, and there is an
19+
optional switch that displays EXE file information rather than
20+
converting the file to COM.
21+
22+
Complete usage is:
23+
24+
EXE2COM [/I] [d:][path]file[ext] [d:][path][file][ext]
25+
26+
The drive and path of the first file default to the current
27+
drive and path, if not specified. The extension of the first
28+
file defaults to EXE, if not specified.
29+
30+
If the second file is completely unspecified, it defaults to the
31+
same drive, path, and filename as the first, except that the
32+
extension will be COM.
33+
34+
If the second file is specified but without an extension, COM
35+
will be assumed (this is different from EXE2BIN).
36+
37+
| If /I is specified, information about the EXE file is displayed
38+
| and no conversion is performed. The output file name, if
39+
| specified, is ignored.
40+
41+
The simplest (and usual) usage is simply:
42+
43+
EXE2COM file
44+
45+
which will take the named EXE file in the current directory and
46+
convert it to a COM file in the same directory.
47+
48+
49+
Operation
50+
---------
51+
EXE2COM runs the same way as EXE2BIN, with the following
52+
exceptions:
53+
54+
1. The binary fixup option of EXE2BIN (IP=0, segment fixups
55+
required) is not supported.
56+
57+
2. The EXE file checksum is not verified.
58+
59+
3. Error messages are more useful, and a warning is provided
60+
if a COM file is created with an initial IP other than 100H.
61+
62+
4. The default output file extension is COM rather than BIN.
63+
64+
65+
| Information display
66+
| -------------------
67+
| If you use the /I switch, EXE2COM just displays information
68+
| about the EXE file and does not attempt to convert it to COM
69+
| (therefore, the EXE file need not be a convertible file). Here
70+
| is a typical display, resulting from running EXE2COM on itself
71+
| (version 1.04) with the /I switch:
72+
|
73+
| exe2com.exe (hex) (dec)
74+
| EXE file size 396B 14699
75+
| EXE header size (para) 20 32
76+
| Program image size (bytes) 376B 14187
77+
| Minimum load size (bytes) 8CDB 36059
78+
| Min allocation (para) 557 1367
79+
| Max allocation (para) FFFF 65535
80+
| * Initial CS:IP 0000:072C
81+
| * Initial SS:SP 084D:0800 2048 (stack size)
82+
| * Relocation count 4 4
83+
| Relo table start 001E 30
84+
| EXE file checksum 411D 16669
85+
| Overlay number 0 0
86+
| * = this item prevents conversion to BIN/COM
87+
|
88+
| The fields that may need some explanation:
89+
|
90+
| Program image size: this is the size of the program itself
91+
| (i.e., the size of the EXE file less the size of the header
92+
| information). This much memory is required to load a copy of
93+
| the program's code and pre-allocated data.
94+
|
95+
| Minimum load size: at least this much free memory is required in
96+
| order to run the program.
97+
|
98+
| Min/max allocation: the minimum/maximum number of 16-byte
99+
| paragraphs that will be needed above the end of the program
100+
| image when it is loaded. Minimum load size is the sum of the
101+
| program image size and the minimum allocation.
102+
|
103+
| If an item is starred (*), this prevents the EXE file from being
104+
| converted to a COM file.
105+
106+
107+
Error Messages
108+
--------------
109+
These are EXE2COM's error messages. If one of these is seen,
110+
the EXE file will not be converted and the errorlevel returned
111+
by EXE2COM will be 1.
112+
113+
ERROR READING EXE HEADER
114+
EXE2COM was unable to read the EXE file header from disk.
115+
116+
ERROR WRITING OUTPUT FILE
117+
EXE2COM was unable to write the converted file to disk.
118+
119+
INVALID EXE FILE SIGNATURE
120+
The first two bytes of an EXE file should be ASCII 'M' and
121+
'Z'. This was not the case, and it's probably not an EXE
122+
file.
123+
124+
EXE HAS RELOCATABLE ITEMS
125+
In order to be converted to a COM file, an EXE file cannot
126+
have any direct references to segments. For example, the
127+
assembler instruction "mov ax,code" (where CODE is a segment
128+
name) is a segment reference. One or more segment
129+
references were found in the EXE file.
130+
131+
EXE HAS STACK SEGMENT
132+
In order to be converted to a COM file, an EXE file cannot
133+
have a stack segment.
134+
135+
EXE HAS NONZERO CS
136+
In order to be converted to a COM file, an EXE file must
137+
have a code segment that begins at offset 0 of the code
138+
image in the EXE file.
139+
140+
IP NOT 0 OR 100H
141+
In order to be converted to a binary file, an EXE file must
142+
have an entry point of 0 or 100H within the code segment.
143+
For COM files, the entry point should be 100H. For SYS
144+
files (device drivers), the entry point should be 0.
145+
146+
PROGRAM EXCEEDS 64K
147+
In order to be converted to a binary file, the total size of
148+
the code to be loaded (including the PSP) must not exceed
149+
64K bytes.
150+
151+
UNKNOWN ERROR
152+
Internal error. Notify the author.
153+
154+
155+
Warning message
156+
---------------
157+
EXE2COM has one warning message:
158+
159+
COM FILE, INITIAL IP NOT 100H
160+
161+
The entry point of all COM files should be 100H. If you are
162+
creating a COM file an the entry point is not 100H, EXE2COM will
163+
do the job but let you know that there is a potential problem.
164+
165+
166+
Source
167+
------
168+
Source code should be included with this archive. Users are
169+
encouraged to modify, improve, and/or correct the source for
170+
EXE2COM and submit the new program to the author for
171+
distribution. Please identify clearly any changes made and
172+
stick with portable code (no inline assembler, PLEASE).
173+
174+
Source for EXE2COM was written for the Microsoft C compiler
175+
(v.5.0) but will also compile correctly with Borland's Turbo C
176+
(v.1.5). It should be easily portable to most other compilers.
177+
178+
179+
Public domain
180+
-------------
181+
EXE2COM is hereby donated by the author to the public domain.
182+
183+
184+
History
185+
-------
186+
Version 1.00 04/17/87: Original version by
187+
Christopher J. Dunford
188+
The Cove Software Group
189+
PO Box 1072
190+
Columbia, MD 21044
191+
(301) 992-9371
192+
CompuServe 76703,2002
193+
194+
Version 1.01: port to Turbo C by
195+
Roger Schlafly
196+
Borland International
197+
Scotts Valley, CA 95066
198+
CompuServe 76067,511
199+
200+
Version 1.02 11/22/87: bug fix for even 512-byte file made to
201+
Turbo C port by
202+
Chris Blum ( Consultant )
203+
509 West Main, Front
204+
Ashland, Ohio 44805
205+
CompuServe 76625,1041
206+
207+
Chris Dunford duplicated the fix in the C86 source.
208+
209+
Version 1.03 12/30/87: by Chris Dunford
210+
Ported to Microsoft C 5.0. This is now the "official"
211+
version.
212+
213+
Increased size of I/O buffer to 4K for speed reasons.
214+
EXE2COM 1.03 is twice as fast as 1.02 and slightly
215+
faster than EXE2BIN.
216+
217+
Version 1.04 03/08/88: by Chris Dunford
218+
Cleaned up some old code from the original quickie.
219+
220+
Source should now compile under either MSC or TC.
221+
222+
Added /I switch.
223+
224+
In earlier versions, we defined an error code for nonzero
225+
CS, but didn't actually check; now we do.

‎GR8X14.FNT

3.5 KB
Binary file not shown.

‎GR8X16.FNT

4 KB
Binary file not shown.

‎GR8X6.FNT

1.5 KB
Binary file not shown.

‎GR8X7.FNT

1.75 KB
Binary file not shown.

‎GR8X8.FNT

2 KB
Binary file not shown.

‎KEYGR928.ASM

+708
Large diffs are not rendered by default.

‎KEYGR928.COM

1.15 KB
Binary file not shown.

‎KEYGR928.OBJ

1.54 KB
Binary file not shown.

‎README.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
An addition to the Angelos Karageorgiou's vgagreek (http://unix.gr/) DOS greek keyboard driver.
2+
3+
The additions/modifications enable DOS programs to
4+
5+
* support the ELOT-928 (iso-8859-7) character set.
6+
* includes support for accented capitals, accented with diaeresis, and the middle dot (ano telia)!
7+
8+
This set includes a keyboard driver (TSR, x86 assembly) and vga fonts.

‎SETFONT.COM

7.72 KB
Binary file not shown.

‎VGA25.COM

8 Bytes
Binary file not shown.

‎VGA28.COM

10 Bytes
Binary file not shown.

‎VGA50.COM

12 Bytes
Binary file not shown.

‎VGA57.COM

12 Bytes
Binary file not shown.

‎VGA66.COM

12 Bytes
Binary file not shown.

‎VGABLOCK.ASM

+810
Large diffs are not rendered by default.

‎VGABLOCK.COM

14.5 KB
Binary file not shown.

‎cp1253.gif

12.2 KB
Loading

‎iso8859-7.gif

26 KB
Loading

‎iso8859-7.html

+944
Large diffs are not rendered by default.

‎loadcpi.bat

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
REM This is an alternative way to load a font using DOS "mode" program
2+
REM ANSI.SYS must be loaded to be able to use "mode"
3+
REM
4+
5+
@echo off
6+
mode con codepage prepare=((928) 928.cpi)
7+
mode con codepage select=928
8+
mode con cp refresh

‎make.bat

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tasm keygr928.asm
2+
tlink keygr928.obj
3+
exe2com keygr928.exe
4+
del keygr928.exe

‎readme.txt

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
About
2+
-----
3+
4+
This set of programs is an addition to the Angelos Karageorgiou's vgagreek
5+
DOS greek keyboard driver. The additions/modifications enable DOS programs to
6+
support the ELOT-928 (iso-8859-7) character set. By using the following
7+
programs you'll be able to write and see greek in DOS using the the above
8+
character set. The ELOT-928 character set is the greek character set used by
9+
most UNIX systems, on the internet, and is very similar to the one used by
10+
MSWindows. Windows uses a character set called "cp1253" which does not exist in
11+
any ISO standard. The letters are in the same place in this charset except the
12+
"A accented capital" (alpha tonoumeno kefalaio).
13+
14+
The original vgagreek package, and Microsoft's command prompt display greek
15+
using Memotek's 437gr (737) character set which is completely different from
16+
928.
17+
18+
The only problem you will have with the 928 charset in DOS is that the greek
19+
characters are in the place of the DOS "graphics" (lines,corners, et.c) so
20+
instead of those you will see greek letters. This is not a problem if you
21+
use an editor such as vim which doesn't display those characters.
22+
23+
Purpose
24+
-------
25+
I had an old 486 laptop with 2MB of memory. I wanted to use my old favourite
26+
DOS programms, but writing greek involved converting each time the files to
27+
the 928 charset with a filter. So I made the appropriate changes.
28+
29+
Description/Instructions
30+
--------
31+
This package contains 2 programs:
32+
33+
keygr928.com : this is a keyboard driver which enables you to write greek in
34+
the 928 character set. You must load this from autoexec.bat or
35+
run it from command line. Only takes 1K of upper memory.
36+
Toggle key between english and greek are:
37+
Ctrl+"-" and Alt+1
38+
You may change them by reading scancodes.txt and changing
39+
the source file accordingly.
40+
41+
Ex: keygr928 or loadhigh keygr928
42+
43+
vgablock.com: this is the original VGA function blocker for greek character
44+
set slightly modified to load different fonts. You must load this
45+
to be able to see greek characters. It's a TSR and takes about
46+
14kb of memory. Its purpose is to load the appropriate fonts each
47+
time you change screen resolution. It needs the fonts (*.fnt) to
48+
be able to load.
49+
*****
50+
928 fonts are provided ONLY for 25 and 50 lines display. The
51+
other resolutions use the old 737 fonts.
52+
53+
ex: vgablock
54+
55+
setfont.com: This utility is from the fonted program by Ivan Llanas. You can
56+
use this instead of vgablock to load greek fonts. It doesn't
57+
occupy any memory at all, but fonts are lost when you change
58+
screen resolutions (if you do) so you must re-run it. It is also
59+
capable of changing screen resolution to match the font loaded.
60+
ex: setfont 928-8x16.fnt
61+
62+
vga25.com: display 25-lines/screen. Does not need ansi.sys
63+
vga50.com: display 50-lines/screen. Does not need ansi.sys
64+
65+
66+
The fonts:
67+
928-8x16.fnt :928 greek font. This size is the original 25 line-screen font size
68+
928c8x16.fnt :a caligraphic version of the above.
69+
928-8x8.fnt :smaller version of the above for the 50-line resolution.
70+
71+
** for the other resolutions I haven't made any 928 fonts. **
72+
73+
gr*.fnt :the old 737 encoded fonts of the original package.
74+
75+
928.cpi: CPI file to use with original DOS utilities. Includes the above
76+
two fonts (928-8x16.fnt and 928-8x8.fnt)
77+
78+
loadcpi.bat: example on how to load the above .cpi
79+
80+
81+
82+
Installation
83+
------------
84+
1. remove all appearences of the following drivers from config.sys:
85+
display.sys
86+
country.sys
87+
ansi.sys is not neaded.
88+
89+
2. remove all appearences of the following from autoexec.bat
90+
mode con codepage prepare/select
91+
keyb
92+
93+
94+
3. At the end of autoexec.bat add the following:
95+
lh keygr928
96+
lh vgablock
97+
98+
OR
99+
100+
lh keygr928
101+
setfont 928-8x16.fnt
102+
103+
Of course you must first copy the programs to your disk.
104+
105+
106+
107+
108+
Spiros Ioannou
109+
sivann@cs.ntua.gr
110+
http://www.softlab.ntua.gr/~sivann
111+
112+
you may find the original vgagreek.zip at www.unix.gr

‎scancodes.txt

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
IBM PC KEYBOARD SCAN CODES IN HEX RETURNED IN
2+
registers al and ah by: mov ah,0 - int 16h
3+
4+
AND AN OPEN BOOK TEST AT THE BOTTOM OF THESE PAGES
5+
FROM DOS THAT YOU MAY DOWNLOAD IF YOU WISH
6+
OR TAKE THE JAVASCRIPT TEST RIGHT HERE
7+
8+
------------------------------------------------------------------------
9+
10+
ALL NUMBERS BELOW ARE IN HEXADECIMAL
11+
12+
Key NoShift Shift Ctrl Alt Key NoShift Shift Ctrl Alt
13+
ah-al ah-al ah-al ah-al ah-al ah-al ah-al ah-al
14+
15+
A 1E/61 1E/41 1E/01 1E/00 F1 3B/00 54/00 5E/00 68/00
16+
B 30/62 30/42 30/02 30/00 F2 3C/00 55/00 5F/00 69/00
17+
C 2E/63 2E/43 2E/03 2E/00 F3 3D/00 56/00 60/00 6A/00
18+
D 20/64 20/44 20/04 20/00 F4 3E/00 57/00 61/00 6B/00
19+
E 12/65 12/45 12/05 12/00 F5 3F/00 58/00 62/00 6C/00
20+
F 21/66 21/46 21/06 21/00 F6 40/00 59/00 63/00 6D/00
21+
G 22/67 22/47 22/07 22/00 F7 41/00 5A/00 64/00 6E/00
22+
H 23/68 23/48 23/08 23/00 F8 42/00 5B/00 65/00 6F/00
23+
I 17/69 17/49 17/09 17/00 F9 43/00 5C/00 66/00 70/00
24+
J 24/6A 24/4A 24/0A 24/00 F10 44/00 5D/00 67/00 71/00
25+
K 25/6B 25/4B 25/0B 25/00 F11 85/00 87/00 89/00 8B/00
26+
L 26/6C 26/4C 26/0C 26/00 F12 86/00 88/00 8A/00 8C/00
27+
M 32/6D 32/4D 32/0D 32/00
28+
N 31/6E 31/4E 31/0E 31/00 NUMERIC KEYPAD
29+
O 18/6F 18/4F 18/0F 18/00
30+
P 19/70 19/50 19/10 19/00 Ins 0 52/00 52/30
31+
Q 10/71 10/51 10/11 10/00 End 1 4F/00 4F/31 75/00 00/01
32+
R 13/72 13/52 13/12 13/00 Dn Arrow 2 50/00 50/32 00/02
33+
S 1F/73 1F/53 1F/13 1F/00 PgDn 3 51/00 51/33 76/00 00/03
34+
T 14/74 14/54 14/14 14/00 <-- 4 4B/00 4B/34 73/00 00/04
35+
U 16/75 16/55 16/15 16/00 5 4C/35 00/05
36+
V 2F/76 2F/56 2F/16 2F/00 --> 6 4D/00 4D/36 74/00 00/06
37+
W 11/77 11/57 11/17 11/00 Home 7 47/00 47/37 77/00 00/07
38+
X 2D/78 2D/58 2D/18 2D/00 Up Arrow 8 48/00 48/38 00/08
39+
Y 15/79 15/59 15/19 15/00 PgUp 9 49/00 49/39 84/00 00/09
40+
Z 2C/7A 2C/5A 2C/1A 2C/00 - 4A/2D 4A/2D
41+
Space 39/20 39/20 39/20 39/20 + 4E/2B 4E/2B
42+
Esc 01/1B 01/1B 01/1B * 37/2A 37/2A
43+
1 ! 02/31 02/21 78/00 / 35/2F 35/2F
44+
2 @ 03/32 03/40 03/00 79/00 Del 53/00 53/2E
45+
3 # 04/33 04/23 7A/00 Enter 1C/02 1C/02 1C/0A
46+
4 $ 05/34 05/24 7B/00
47+
5 % 06/35 06/25 7C/00 TOGGLE and SHIFT KEYS:
48+
6 ^ 07/36 07/5E 07/1E 7D/A0 Read or Write MEM Location 0000:0417
49+
7 & 08/37 08/26 7E/00 bit key when bit = 1
50+
8 * 09/38 09/2A 7F/00 7 Insert insert mode on
51+
9 ( 0A/39 0A/38 80/00 6 CapsLock capslock mode on
52+
0 ) OB/30 0B/29 81/00 5 NumLock numlock mode on
53+
- _ 0C/2D 0C/5F 0C/1F 82/00 4 ScrollLock scroll lock mode on
54+
= + 0D/3D 0D/2B 83/00 3 Alt Shift key down
55+
[ { 1A/5B 1A/7B 1A/1B 2 Ctrl Shift key down
56+
] } 1B/5D 1B/7D 1B/1D 1 Left Shift key down
57+
BakSp 0E/08 0E/08 0 Right Shift key down
58+
; : 27/3B 27/3A
59+
' " 28/27 28/22 Read or Write MEM Location 0000:0418
60+
` ~ 29/60 29/7E bit key when bit = 1
61+
, < 33/2C 33/3C 7 Insert key down
62+
. > 34/2E 34/3E 6 CapsLock key down
63+
/ ? 35/2F 35/3F 5 NumLock key down
64+
Enter 1C/0D 1C/0D 1C/0A 4 ScrollLock key down
65+
Tab 0F/09 0F/00
66+
\ | 2B/5C 2B/7C 2B/1C (above from IBM Technical Manual)
67+
68+
TEXT MODE VIDEO LINE ADDRESSSES: WINDOWS NT only (courtesy Bret Johnson)
69+
------------------------------ --------------- ah-al
70+
0-0000 6-0960 12-1920 18-2880 Left window E0/5B
71+
1-0160 7-1120 13-2080 19-3040 Right window E0/5C
72+
3-0480 9-1440 15-2400 21-3360 Right mouse E0/5D
73+
4-0640 10-1600 16-2560 22-3520
74+
5-0800 11-1760 17-2720 23-3680
75+
24-3840 In decimal
76+

0 commit comments

Comments
 (0)
This repository has been archived.