diff --git a/README.md b/README.md index b860cdf..b0e6740 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,8 @@ There is an experimental and unfinished quick load function using a python termi ![Pat80 Memory Monitor](/assets/media/photos/memory_monitor.jpg) ## Emulator -The pat80 memory monitor (the os) can be run in a z80 emulator. This repository contains an emulator as submodule, already set up to run the os. -To try it, head to `pat80-computer/software/z80-assembly/os/` and run `make run` to build the rom from assembly and start the emulator. You will see some windows showing the emulated computer's memory and register status and the pat80 memory monitor prompt. +The pat80 memory monitor (the os) can be run in a z80 emulator. You can find a very simple one I wrote ad hoc in `pat80-emulator`. It's based (and depends on) the excellent [Z80 emulator library by redcode](https://github.com/redcode/Z80). Follow the instructions on `pat80-emulator/README.md` to build and run it. +The emulator requires a rom file to run. To obtain a pat80 rom, head to `pat80-computer/software/z80-assembly/os/` and run `make run` to build the rom from assembly and start the emulator. You will see some windows showing the emulated computer's memory and register status and the pat80 memory monitor prompt. ![Emulator running Memory Monitor](/assets/media/photos/emulator.png) diff --git a/pat80-computer/software/z80-assembly/os/Makefile b/pat80-computer/software/z80-assembly/os/Makefile index dd56d03..1f159f5 100644 --- a/pat80-computer/software/z80-assembly/os/Makefile +++ b/pat80-computer/software/z80-assembly/os/Makefile @@ -1,3 +1,5 @@ +PAT80_EMU_PATH := "../../../../pat80-emulator/build/pat80-emulator" + build: @echo "Building PAT80 rom..." @z80asm -i main.asm -o rom.bin || (exit 1) @@ -13,5 +15,9 @@ write: build @minipro -w rom.bin -p "AT28C64B" run: build - @echo "Starting emulator..." - @../../../../pat80-emulator/z80-python-emulator/src/z80sbc.py -b rom.bin + @echo "Starting emulator" $(PAT80_EMU_PATH) + @if [ -f "$(PAT80_EMU_PATH)" ]; then\ + "$(PAT80_EMU_PATH)" "rom.bin";\ + else\ + echo -e "\e[31mYou must build the emulator first. Check pat80-emulator/README.md\e[0m";\ + fi