아두이노 > Zorkduino

TODAY707 TOTAL673,248
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 아두이노 | 아두이노 | Zorkduino

페이지 정보

작성자 키트 작성일2017-09-13 13:18 조회845회 댓글0건

본문

Zorkduino

Play Zork on your TV with an Arduino.

DESCRIPTION
Who doesn’t love Zork? Who doesn’t love Arduinos? Why not grab a few cheap components and build an Arduino gadget capable of playing all the classic Infocom games on your TV from the comfort of your couch.
DETAILS

 

Title.jpg

A few years ago I ported a Z-Machine player to a little arduino-like device. Ever since I have been meaning to get around to a project that would work on a TV with a real keyboard and once again rekindle fond memories of long nights playing Zork on my Atari 800.

You will need:

  • Arduino UNO, Pro, Pro Mini or equivalent.
  • SD card or micro SD card + breakout board (from Adafruit, eBay etc).
  • RCA A/V Cable (eBay).
  • 470ohm, 1k and 100k resistors.
  • Breadboard, wires etc.
  • WebTV or MsnTV IR Keyboard or PS2 a nasty old PS2 keyboard (eBay).
  • IR receiver TSOP38238,TSOP4838 or equivalent (Adafruit, Mouser etc).

Building it

The schematic is very simple:


Layout on an Arduino Uno…

Uno.jpg

…and on a Mini Pro.

ProMini.jpg

Just about any SD card or microsd card breakout will do. Some of the very cheap ones (<$1) don’t have 5v to 3v3 level converters and may fry your SD card so caveat emptor. As always, Adafruit has nice ones.

WebTV keyboards come in various guises: WebTV, MsnTV, Displayer, UltimateTV etc. They all should work just fine. A few places have the nice Philips variant new for $11.95 w/ free shipping (search for ‘SWK-8630′). This one comes with a nice PS2 IR receiver; more on it later.

Keyboards.jpg

IR receivers come in a number of different forms. You are looking for a 38khz version with a known pinout: Some have the center pin as GND, some as V+. Make sure you know what kind you have. When in doubt, Adafruit.

I like using iPhone/iPod video cables for TV projects. Because they no longer work (their MFI chips long since revoked) they are inexpensive, are labeled internally and have a strain relief grommet.

If you have an IR keyboard then good for you. If not, connect your nasty old PS2 clock and data lines to pins 3 and 2 then order an IR keyboard.


Code and Files

https://github.com/rossumur/Zorkduino

Themicrosdfiles folder contains a zd.mem pagefile along with several sample games:

tutorial.z3 Introduction to interactive fiction and a little bit of Zork I

sampler1.z5Samples of Planetfall, Infidel, and The Witness.

sampler2.z3Samples of Zork I, Leather Goddesses of Phobos, and Trinity

minizork.z3 A nice big chunk of Zork I that was given away with the British Commodore users’ magazine “Zzap! 64″ no. 67. in 1990.

Copy these files to a freshly formatted sd or microsd card. You can find lots of other Zorkduino compatible games at the Interactive Fiction Archive. Insert the card and run thezorkduino.inosketch from the zorkduino folder. When it is all up and running, it should look like this (depending on how many games you found):


How it works

Squeezing Zork into the limited footprint of an Arduino proved to be a bit of a challenge. The code uses a port of Mark Howell and John Holder’s JZIP, a Z-machine interpreter. The Z-machine was created in 1979 to play large (100k!) adventure games on small (8K!) personal computers. Long before Java the implementors at Infocom built a virtual machine capable of paging, loading and saving complete runtime state that ran on a wide variety of CPUs. Clever stuff.

The trouble is the Arduino only has 2k of ram. The Z-machine interpreter uses 2k for its stack alone, leaving no room for dynamic memory, disk buffers, video frame buffers, avr stack and other program state. The solution is to virtualize all stack and memory accesses from the interpreter down to a 160 byte cache and a 512 byte disk buffer. Thats where the zd.mem file comes in – a megabyte or so of virtual stack, memory and save-game slots.

Virtualizing everything slows...

Read more »

 

PROJECT LOGS
  • Interactive French

    a year ago • 0 comments

     

    Added some support for French: <inline style="box-sizing: border-box; line-height: 1.4;">a number of characters (ë,ï,é,à,è,ù,â,ê,î,ô,û,ç) squeezed into the font and plausible translations for other special chars.</inline> 

    <inline style="box-sizing: border-box;">Now francophiles can enjoy </inline><inline style="box-sizing: border-box;">http://www.ifarchive.org/indexes/if-archiveXgamesXzcodeXfrench.html.</inline>

     

View project log


댓글 0

조회수 845

등록된 댓글이 없습니다.

아두이노HOME > 아두이노 > 전체 목록

아두이노 목록
제목 작성자 작성일 조회
62 아두이노 Adafruit Motor/Stepper/Servo Shield for Arduino kit - v1.2 이미지 키트 17-09-13 1168
61 아두이노 가스센서 이미지 키트 17-09-13 1120
60 아두이노 Arduino Waveform Generator 이미지 키트 17-09-13 901
59 아두이노 Arduino Waveform Generator 키트 17-09-13 889
58 아두이노 Arduino Waveform Generator 이미지 키트 17-09-13 1119
57 아두이노 Exclusive 2.5 GHz Frequency Counter 이미지 키트 17-09-13 2352
56 아두이노 AVR SIMULATOR IDE 이미지 키트 17-09-13 782
55 아두이노 Marlin 이미지 키트 17-09-13 843
54 아두이노 opencircuits.com - Oscilloscope 이미지 키트 17-09-13 875
현재글 아두이노 Zorkduino 키트 17-09-13 846
52 아두이노 Single Chip AVR BASIC Computer V0.1 키트 17-09-13 895
51 아두이노 Single Chip AVR BASIC Computer V0.3 키트 17-09-13 914
50 아두이노 Single Chip AVR BASIC Computer 키트 17-09-13 821
49 아두이노 Single Chip Computer: Easy to produce AVR BASIC Computer 이미지 키트 17-09-13 908
48 아두이노 Arduino Realtime Audio Processing 이미지 키트 17-09-13 829
게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기