From af09bd88759578b7f477639223edeae49efdd4ed Mon Sep 17 00:00:00 2001 From: Chris Pressey Date: Thu, 8 Mar 2018 13:36:30 +0000 Subject: [PATCH] Add screenshot. --- README.md | 17 +++++++++++++++++ eg/c64/{screen2.60p => hearts.60p} | 0 images/hearts.png | Bin 0 -> 10392 bytes 3 files changed, 17 insertions(+) rename eg/c64/{screen2.60p => hearts.60p} (100%) create mode 100644 images/hearts.png diff --git a/README.md b/README.md index 0b396a9..eb6d894 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,21 @@ based on common machine-language programming idioms, such as The reference implementation can analyze and compile SixtyPical programs to 6502 machine code. +Quick Start +----------- + +If you have the [VICE][] emulator installed, from this directory, you can run + + ./loadngo.sh c64 eg/c64/hearts.60p + +and it will compile the [hearts.60p source code](eg/c64/hearts.60p) and +automatically start it in the `x64` emulator, and you should see: + +![Screenshot of result of running hearts.60p](https://raw.github.com/catseye/SixtyPical/master/images/hearts.png) + +You can try the `loadngo.sh` script on other sources in the `eg` directory +tree. There is an entire small game(-like program) in [demo-game.60p](eg/c64/demo-game.60p). + Documentation ------------- @@ -108,3 +123,5 @@ is probably NP-complete. But doing it adequately is probably not that hard. * Automatic tail-call optimization (could be tricky, w/constraints?) * Possibly `ld x, [ptr] + y`, possibly `st x, [ptr] + y`. * Maybe even `copy [ptra] + y, [ptrb] + y`, which can be compiled to indirect LDA then indirect STA! + +[VICE]: http://vice-emu.sourceforge.net/ diff --git a/eg/c64/screen2.60p b/eg/c64/hearts.60p similarity index 100% rename from eg/c64/screen2.60p rename to eg/c64/hearts.60p diff --git a/images/hearts.png b/images/hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..355a50654438f71ee5ca437c42f512d196fddfc1 GIT binary patch literal 10392 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 literal 0 HcmV?d00001