Skip to content

talofer99/AZIP_ESP32

Repository files navigation

ESP32 Arduino Z-code Interpreter Program - with VGA and PS2 Keyboard

This version of the Z-code interpreter is derived from Jzip created by John Holder.
More information about Jzip, including the source code can by found here:
http://jzip.sourceforge.net/

The original Code for the AZIP is a copy of this git project 
https://github.com/talofer99/AZIP
 

*** UPDATE 26/4/2021: 

Thanks to @guidol70 the SD was moved the pinout of the TTGO VGA32 and the SD init was chnaged. 
#define SS 13.
#define SDMHZ 25
#define SPIINIT 14,2,12,SS // TTGO_VGA32 (sck, miso, mosi, cs)
#define SDINIT SS, SD_SCK_MHZ(SDMHZ)
QUIT command the board will restart to allow choosing new game. 
TODO: work out the save/load and then we can choose new game without restart. 


Software Dependencies:
SDFAT library: https://github.com/greiman/SdFat
fabGL library: https://github.com/fdivitto/FabGL

Hardware Dependencies:
Formatted SD card - fat16 use SD card Formater 

The fabgl library has schamtics for the VGA and the PS2 connections. 
I used the original pinout for the ps2, but moved 2 of the VGA pins that were using SPI pins that 
were needed for the SD card. 


Getting Started Steps:
1. Copy a Z-Machine game file to the SD card and name it "ZORKI.DAT".
2. Compile and upload the sketch to the Arduino.


I have include a copy Mini-Zork I downloaded from here:
http://www.ifarchive.org/indexes/if-archiveXinfocomXdemos.html

Game files can be found several places on the internet, a good source for games is The Interactive Fiction Archive:
http://www.ifarchive.org/indexes/if-archiveXgamesXzcode.html

Zork I, II, and III can be downloaded here:
http://www.infocom-if.org/downloads/downloads.html

Limitations:
Due to the limits of RAM and FLASH, removed most of the screen handling capability. 
Game save and restore capability are removed. 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published