Skip to content

Commit 02087ad

Browse files
committed
Expanded README.md with software dependencies, more emulators, library dependencies.
1 parent 0425a7a commit 02087ad

File tree

1 file changed

+57
-14
lines changed

1 file changed

+57
-14
lines changed

README.md

Lines changed: 57 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The zip is formatted with DOS headers and has 8.3 friendly names.
2626
#### Watcom Lua floppy disk Images
2727
This zip contains two floppy disk format images (`.ima` format)
2828
which are ready to be written to real disks for distributing to retro machines
29-
or opened by [emulators](#emulators) directly.
29+
or opened by [emulators](#emulators-and-compatibility-layers) directly.
3030
To save space on these disk images, binaries have been compressed
3131
by [UPX](https://upx.github.io/) where possible.
3232

@@ -80,23 +80,66 @@ In most cases, the operating system is newer and has higher hardware requirement
8080
| Windows Vista - 10 | 80686<br/>x86_64 | No | No | No | No | Yes | No |
8181
| Windows 11 | x86_64 | No | No | No | No | Yes | No |
8282

83+
### Software Dependencies
84+
85+
#### DOS
86+
The 32-bit DOS4GW extender version of Lua for Watcom (`LUA4G.EXE`)
87+
requires `DOS4GW.EXE` to either be in the same directory or discoverable
88+
in a directory specified by the `%PATH%` environment variable.
89+
90+
The real-mode version of Lua for Watcom (`LUA16.EXE`)
91+
is completely self-contained and requires no extra files or directory structure.
92+
93+
#### Linux
94+
The Linux version of Lua for Watcom (`LUAUX.ELF`) is completely self-contained
95+
and requires no libraries from a distribution, not even libc.
96+
97+
The Linux kernel itself needs support for running "i386" ELF binaries.
98+
99+
#### OS/2
100+
OS/2 version 2.0 and later have 32-bit executable support
101+
and can run both the 16-bit (`LUA21.EXE`)
102+
and 32-bit (`LUA22.EXE`) OS/2 versions of Lua for Watcom.
103+
104+
OS/2 version 1.3 and earlier are 16-bit and can only run `LUA21.EXE`.
105+
`DOSCALL1.DLL` is required to run `LUA21.EXE`
106+
which is included in OS/2 v1.2 and later.
107+
108+
OS/2 version 1.1 and earlier should run `LUA16.EXE`
109+
in a DOS command prompt.
110+
111+
#### Windows
112+
All the dependencies of the Windows version of Lua for Watcom (`LUANT.EXE`)
113+
ship in a minimal installation of Windows 95,
114+
there are effectively no dependencies.
115+
83116
## Build
84-
See the [Build documentation](BUILD.md) and [GitHub Workflow](.github/workflows/LuaWatcom.yml)
117+
See the [Build documentation](BUILD.md).
118+
119+
Additionally, the [GitHub Workflow](.github/workflows/LuaWatcom.yml)
120+
can be studied to understand the release build workflow.
85121

86122
# See also
87123

88-
## Emulators
89-
If you do not have retro hardware but want to try Lua for Watcom
90-
any of the following emulators can be used to run the Lua binaries
91-
from a modern machine.
92-
93-
| Emulator | Emulation Type | Repository | Comment |
94-
|-----------------------------------------------------------------|-------------------------------|----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
95-
| [86Box](https://86box.net/) | PC Hardware | https://github.com/86Box/86Box | Requires firmware blobs. For best experience use with 86Box launcher |
96-
| [DOSBox-X](https://dosbox-x.com/) | DOS Software | https://github.com/joncampbell123/dosbox-x | Not to be confused with DOSBox |
97-
| [MISTer FPGA](https://github.com/MiSTer-devel/Wiki_MiSTer/wiki) | Field Programmable Gate Array | https://github.com/MiSTer-devel/ao486_MiSTer</br>https://github.com/MiSTer-devel/PCXT_MiSTer | Requires compatible field programmable gate array (FPGA) hardware. |
98-
| [PCem](https://www.pcem-emulator.co.uk/) | PC Hardware | https://github.com/sarah-walker-pcem/pcem/ | Requires firmware blobs. |
99-
| [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) |
124+
## Emulators and Compatibility Layers
125+
As shown in the [Binary Compatibility Matrix](#binary-compatibility-matrix)
126+
both `LUANT.EXE` and `LUAUX.ELF` are compatible
127+
with current versions of Windows and Linux operating systems respectively.
128+
An emulator should not be necessary to run these binaries
129+
on current Linux/Windows PCs with AMD/Intel processors.
130+
131+
If you want to run the DOS or OS/2 version on a modern PC
132+
or have a non-x86 processor in your machine,
133+
then any of the following software projects can be used to run the Lua binaries.
134+
135+
| Name | Type | Repository | Comment |
136+
|-----------------------------------------------------------------|--------------------------------------------|----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
137+
| [86Box](https://86box.net/) | Full x86 PC Hardware Emulation | https://github.com/86Box/86Box | Requires firmware blobs. For best experience use with a 86Box launcher. |
138+
| [DOSBox-X](https://dosbox-x.com/) | DOS Environment Emulation | https://github.com/joncampbell123/dosbox-x | Only useful for running DOS applications like `LUA16.EXE` and `LUA4G.EXE` on non-DOS operating systems (including Windows versions after Windows 98). Not to be confused with DOSBox. |
139+
| [MISTer FPGA](https://github.com/MiSTer-devel/Wiki_MiSTer/wiki) | Field Programmable Gate Array | https://github.com/MiSTer-devel/ao486_MiSTer</br>https://github.com/MiSTer-devel/PCXT_MiSTer | Requires compatible field programmable gate array (FPGA) hardware. |
140+
| [PCem](https://www.pcem-emulator.co.uk/) | Full x86 PC Hardware Emulation | https://github.com/sarah-walker-pcem/pcem/ | Requires firmware blobs. |
141+
| [Qemu](https://www.qemu.org/) | Processor Compatibility Layer & Hypervisor | https://gitlab.com/qemu-project/qemu | It might be possible set up `qemu-i386` to run `LUAUX.ELF` on a non-x86 Linux system.</br>Full virtual machines (`qemu-i386-system` & `qemu-x86_64-system`) are only recommended for running operating systems with guest driver support (Windows XP and later, Linux 2.6.26 and later etc...). |
142+
| [Wine](https://www.winehq.org/) | Windows Application Compatibility Layer | https://gitlab.winehq.org/wine/wine | Only useful for running Windows applications like `LUANT.EXE` on non-Windows operating systems. |
100143

101144
## Other software
102145

0 commit comments

Comments
 (0)