Skip to content

Commit 853922a

Browse files
committed
Update README with detailed download and emulator instructions
Added clear instructions for downloading pre-compiled binaries, including their formats and use cases. Enhanced clarity of the build system requirements table and added an emulators section to assist users without retro hardware. Improved formatting and consistency throughout the document.
1 parent d99b2e4 commit 853922a

File tree

1 file changed

+66
-30
lines changed

1 file changed

+66
-30
lines changed

README.md

+66-30
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,41 @@ This repository contains `wmake` style makefiles and patches to build [Lua](http
44
The primary goal was to allow Lua scripts to be run on DOS systems in real mode but has expanded
55
to include all Open Watcom targets that don't require external dependencies to build.
66

7-
## Runtime Requirements
8-
9-
Lua for Watcom binaries can run on a number of legacy systems as well as some modern ones.
10-
11-
### Absolute Minimum Requirements
12-
13-
These are the absolute lowest system requirements needed for a PC to run `LUA16.EXE`.
14-
15-
| Type | Requirement | Remarks |
16-
|----------------------|-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
17-
| CPU | [8086 compatible](https://en.wikipedia.org/wiki/Intel_8086) | <pre>Compatibles like<br/>the Intel 8088, NEC V20,<br/>286, 386 etc<br/><br/>Machine emulators<br/>provided as an alternative<br/>for other ISAs</pre>[86Box](https://86box.net/) ([GitHub](https://github.com/86Box/86Box))<br/>[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))<br/>[PCem](https://www.pcem-emulator.co.uk/) ([GitHub](https://github.com/sarah-walker-pcem/pcem/)) |
18-
| Operating System | PC-DOS 2.0 | [FreeDOS](https://www.freedos.org/download/)<br/>[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))<br/>[SvarDOS](http://svardos.org/) |
19-
| Random Access Memory | At least 512 kilobytes<br/>of base system memory | <pre>Any memory above<br/>640 kilobytes is<br/>inaccessible to all<br/>real mode DOS programs |
20-
| Storage | At least 150 kilobytes<br/>of free disk space | <pre>Can be ran directly<br/>from a diskette on<br/>machines without a<br/>hard drive |
7+
## Download
8+
9+
Pre-compiled builds are available on the
10+
[Release](https://github.com/Lethja/lua-watcom/releases/latest) page.
11+
12+
### Files
13+
There are two zips available for download in each release.
14+
Which one you should download depends on how you plan to use the software.
15+
Both zips contain binaries for all listed platforms.
16+
See [Binary Native Targets](#binary-native-targets)
17+
and [Binary Compatibility Matrix](#binary-compatibility-matrix)
18+
to determine which binary is right for your system.
19+
20+
#### Lua Exe.zip
21+
This zip contains all demo scripts and platform binaries as regular files.
22+
The zip is formatted with DOS headers and has 8.3 friendly names.
23+
24+
#### Lua Ima.zip
25+
This zip contains two floppy disk format images (`.ima` format)
26+
which are ready to be written to real disks for distributing to retro machines
27+
or opened by [emulators](#emulators) directly.
28+
To save space on these disk images binaries have been compressed
29+
by [UPX](https://upx.github.io/) where possible.
30+
31+
| Disk Image | Description |
32+
|----------------|---------------------------------------------------------------------------------------------------------------------------|
33+
| `LUAMULTI.IMA` | A 1.4MB 3½ floppy disk image that contains all the same files as [Lua Exe.zip](#lua-exezip-) |
34+
| `LUA160k.IMA` | A 160k 5¼ floppy disk image with subset of scripts with only the DOS binary due to space limitations of this type of disk |
35+
36+
## System Requirements
37+
38+
Lua for Watcom binaries can run on a number of legacy systems
39+
as well as some modern ones.
40+
The exact memory requirements will depend on the complexity of the script
41+
you want to run.
2142

2243
### Binary Native Targets
2344

@@ -55,18 +76,19 @@ the OS is newer and has higher minimum requirements.
5576
| Windows Vista - 10 | 80686<br/>x86_64 | No | No | No | No | Yes |
5677
| Windows 11 | x86_64 | No | No | No | No | Yes |
5778

58-
## Build Requirements
79+
## Build System Requirements
5980
To build Lua with Open Watcom you will need the following:
6081

61-
| Requirement | Sources |
62-
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
63-
| Lua 5.4 source code (or build machine with `git submodules`) | [lua.org](https://lua.org/ftp/) ([GitHub](https://github.com/lua/lua/tree/v5.4.6)) |
64-
| Open Watcom 1.9 (or later) | [openwatcom.org](https://www.openwatcom.org/) ([GitHub](https://github.com/open-watcom))<br/>[FreeDOS Bonus CD](https://www.freedos.org/download/) (`FDIMPLES`)<br/>[SvarDOS](http://svardos.org/?p=repo) (`PKGNET` repository) |
65-
| Operating System supported by Open Watcom<br/>(at least MS-DOS 5.0) | [FreeDOS](https://www.freedos.org/download/)<br/>[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))<br/>[SvarDOS](http://svardos.org/) |
66-
| [80386 compatible processor](https://en.wikipedia.org/wiki/I386)* <br/> <pre>*Any AMD or Intel CPU <br/>made in the last 3 decades<br/>is compatible.<br/><br/>Machine emulators provided <br/>as an alternative for other ISAs </pre> | [86Box](https://86box.net/) ([GitHub](https://github.com/86Box/86Box))<br/>[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))<br/>[PCem](https://www.pcem-emulator.co.uk/) ([GitHub](https://github.com/sarah-walker-pcem/pcem/))<br/>[Qemu](https://www.qemu.org/) ([GitLab](https://gitlab.com/qemu-project/qemu)) |
67-
| A patching utility | [GNU Patch](https://savannah.gnu.org/projects/patch/)<br>[DifPat](https://github.com/deverac/difpat) |
82+
| Build Requirement | Sources |
83+
|---------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
84+
| Lua 5.4 source code (or `git submodules`) | [lua.org](https://lua.org/ftp/) ([GitHub](https://github.com/lua/lua/tree/v5.4.7)) |
85+
| Open Watcom 1.9 (or later) | [openwatcom.org](https://www.openwatcom.org/) |
86+
| Operating System supported by Open Watcom<br/>(at least MS-DOS 5.0) | [FreeDOS](https://www.freedos.org/download/), [SvarDOS](http://svardos.org/) and/or an [emulator](#emulators) |
87+
| [80386 compatible processor](https://en.wikipedia.org/wiki/I386) | AMD/Intel processor made after 2008 or an [emulator](#emulators) |
88+
| A patching utility | [GNU Patch](https://savannah.gnu.org/projects/patch/) or [DifPat](https://github.com/deverac/difpat) |
6889

69-
> If in doubt, [DOSBox-X](https://dosbox-x.com/) can be used on a modern machine
90+
> If in doubt, an [emulator](#emulators) can be used
91+
to run the DOS version of Open Watcom on a modern machine
7092

7193
## How to build
7294
1) Extract Luas source code to the `Lua` folder. This can be achieved in two ways:
@@ -82,16 +104,30 @@ To build Lua with Open Watcom you will need the following:
82104
83105
3) Build Lua with the following commands:
84106

85-
| Make Command | Binary File | System | Processor |
86-
|-------------------------|----------------------|-------------|--------------------|
87-
| `wmake -f wm_dos16.mak` | `dist/bin/lua16.exe` | PC-DOS 2.0+ | 8086/8088 or later |
88-
| `wmake -f wm_dos4g.mak` | `dist/bin/lua4g.exe` | MS-DOS 5.0+ | 80386 or later |
89-
| `wmake -f wm_os216.mak` | `dist/bin/lua21.exe` | OS/2 1.2 | 80286 or later |
90-
| `wmake -f wm_os232.mak` | `dist/bin/lua22.exe` | OS/2 2.0 | 80386 or later |
91-
| `wmake -f wm_winnt.mak` | `dist/bin/luant.exe` | Windows 95+ | 80386 or later |
107+
| Make Command | Binary File | Target OS | Target ISA |
108+
|-------------------------|----------------------|-------------|----------------|
109+
| `wmake -f wm_dos16.mak` | `dist/bin/lua16.exe` | PC-DOS 2.0+ | 8086 or later |
110+
| `wmake -f wm_dos4g.mak` | `dist/bin/lua4g.exe` | MS-DOS 5.0+ | 80386 or later |
111+
| `wmake -f wm_os216.mak` | `dist/bin/lua21.exe` | OS/2 1.2 | 80286 or later |
112+
| `wmake -f wm_os232.mak` | `dist/bin/lua22.exe` | OS/2 2.0 | 80386 or later |
113+
| `wmake -f wm_winnt.mak` | `dist/bin/luant.exe` | Windows 95+ | 80386 or later |
92114

93115

94116
# See also
95117

118+
## Emulators
119+
If you do not have retro hardware but want to try Lua for Watcom
120+
any of the following emulators can be used to run the Lua binaries
121+
from a modern machine.
122+
123+
| Emulator | Emulation Type | Repository | Comment |
124+
|------------------------------------------|----------------|--------------------------------------------|---------------------------------------------------------------------------------------------------|
125+
| [86Box](https://86box.net/) | PC Hardware | https://github.com/86Box/86Box | Requires firmware blobs. For best experience use with 86Box launcher |
126+
| [DOSBox-X](https://dosbox-x.com/) | DOS Software | https://github.com/joncampbell123/dosbox-x | Not to be confused with DOSBox |
127+
| [PCem](https://www.pcem-emulator.co.uk/) | PC Hardware | https://github.com/sarah-walker-pcem/pcem/ | Requires firmware blobs. |
128+
| [Qemu](https://www.qemu.org/) | Hypervisor | https://gitlab.com/qemu-project/qemu | Often used with `libvirt`. Only recommended for guests with driver support (Windows XP and later) |
129+
130+
## Other software
131+
96132
Retro computer enthusiasts may be interested in [Lua for ELKS](https://github.com/rafael2k/lua)
97133
(and [ELKS](https://github.com/ghaerr/elks) in general).

0 commit comments

Comments
 (0)