2019-05-09 12:58:41 -04:00
|
|
|
# emul
|
|
|
|
|
2019-05-20 12:11:45 -04:00
|
|
|
This folder contains a couple of tools running under the [libz80][libz80]
|
|
|
|
emulator.
|
|
|
|
|
2020-05-23 08:24:39 -04:00
|
|
|
## Requirements
|
|
|
|
|
|
|
|
You need `ncurses` to build the `forth` executable. In debian-based distros,
|
|
|
|
it's `libncurses5-dev`.
|
|
|
|
|
2019-05-20 12:11:45 -04:00
|
|
|
## Build
|
|
|
|
|
|
|
|
First, make sure that the `libz80` git submodule is checked out. If not, run
|
|
|
|
`git submodule init && git submodule update`.
|
|
|
|
|
2020-05-03 12:51:21 -04:00
|
|
|
After that, you can run `make` and it builds the `forth` interpreter.
|
2019-05-20 12:11:45 -04:00
|
|
|
|
2020-05-23 14:20:50 -04:00
|
|
|
## Usage
|
|
|
|
|
2020-06-27 07:53:58 -04:00
|
|
|
The `./forth` executable here works like the one in `/cvm`, except that it runs
|
|
|
|
under an emulated z80 machine instead of running natively. Refer to
|
|
|
|
`/cvm/README.md` for details.
|
2020-03-24 13:46:05 -04:00
|
|
|
|
2020-06-27 07:53:58 -04:00
|
|
|
## Not real hardware
|
2019-11-23 15:22:26 -05:00
|
|
|
|
2020-06-27 07:53:58 -04:00
|
|
|
`./forth` doesn't try to emulate real hardware
|
|
|
|
because the goal here is to facilitate "high level" development.
|
2020-05-23 14:20:50 -04:00
|
|
|
|
2020-06-27 07:53:58 -04:00
|
|
|
These apps run on imaginary hardware and use many cheats to simplify I/Os.
|
2019-11-23 15:22:26 -05:00
|
|
|
|
2020-06-27 07:53:58 -04:00
|
|
|
For real hardware emulation (which helps developing drivers), see the `hw`
|
|
|
|
folder.
|
2020-05-03 12:51:21 -04:00
|
|
|
|
|
|
|
[libz80]: https://github.com/ggambetta/libz80
|