A downloadable entertainment app

Buy Now$1.00 USD or more

About ELIZA

According to Wikipedia, "ELIZA is an early natural language processing computer program created from 1964 to 1967 at MIT by Joseph Weizenbaum." A version of ELIZA was written in BASIC by Jeff Shrager in 1977. That source code is available on GitHub.


   

About Eliza for C64 OS

Although the 1977 BASIC version of ELIZA can be easily ported to BASIC 2.0 for the Commodore 64, "Eliza for C64 OS" super-charges the experience by adding a graphical user interface, multiple-personalities, and a host of fixes, improvements, and clever new features.

Eliza for C64 OS is the best, the fastest, and the most featureful edition of the classic ELIZA available for the Commodore 64. It has been written from scratch, 100% in 6502 assembly language, as an Application taking full advantage of many technologies provided by C64 OS.

Improvements over the original

SPEED - Eliza for C64 OS significantly speeds up response time. ELIZA for BASIC is unfortunately quite slow, sometimes taking up to a few seconds for a response. Eliza for C64 OS responds nearly instantaneous.

CASE - Whereas the BASIC original works only in uppercase (or only in lowercase if you switch to the lowercase/uppercase character set), Eliza for C64 OS is more natural allowing you to use both upper- and lower-case letters, and replying with mixed case too. Keyword searches are still performed case-insensitively, so if you spell "I" like "i", it still works as expected.

INPUT - Via the standard C64 OS text field, input is much improved. The BASIC input statement's ability to manage what you type is limited. In Eliza for C64 OS, supported characters are validated so unsupported characters can't even be typed into the field. You can edit the text in the field, including copying or cutting text selections to the clipboard, and pasting text from the clipboard.

New features

As a full-blown Application, Eliza for C64 OS offers many great new features that would have simply been impossible in the original.

CHAT BUFFER - Unlike the BASIC original, your conversation no longer scrolls off the top of the screen and into oblivion. The chat buffer can hold up to 4KB of conversation, which you can scroll back through to see and read how it went. The status bar shows a percentage indicator of how full the chat buffer is.

MTEXT FORMAT - The conversation is structured in memory as MText. This allows for a more natural appearance. Eliza's messages are left-aligned in the standard body text color, and your messages are right-aligned in the standard emphatic text color; word wrapping is natural and automatic.

SAVE & LOAD - You can save your conversation to a document. The standard Save Utility lets you navigate the entire file system: all devices, partitions and subdirectories, and choose a filename for your conversation. You can also load in a previous conversation and carry on where you left off. You can even double-click an Eliza Chat (*.ech) file in File Manager to open it in Eliza for C64 OS.

CHAT PREVIEW - Because Eliza for C64 OS conversations are in the standard MText format, you can preview your saved conversation documents right in File Manager by opening the files with the TextView Utility.

MULTIPLE PERSONALITIES - Unlike the original ELIZA, Eliza for C64 OS comes with 5 different personalities:

  • Original
  • Pirate
  • Abusive
  • Neurotic
  • Robot

Each personality comes with its own custom header logo so you can see at a glance which personality you're interacting with. Switch personalities from the Options menu or with a keyboard shortcut. You can even switch personalities in the middle of a conversation to multiply the hilarity of the conversations that unfold. Plus, these delightful little touches; each personality has a unique way:

  • to greet you,
  • to tell you not to repeat yourself,
  • to tell you when the chat buffer is almost full, and
  • to become insulted and stop talking to you!!

There are also some easter eggs to be discovered.

FULLY THEMEABLE - The entire interface takes on the color theme defined by the Themes Utility in C64 OS. Additionally, you can choose a custom background/border color from the Options menu. You can choose to show or hide the header logo. And for maximum focus and to see the most amount of conversation at the same time, you can hide the menu and/or status bars too, and the interface stretches to fill the available space.

MOUSE & MENUS - Using Eliza for C64 OS is super intuitive, by using the mouse to choose options from the menus. Menu options also have keyboard shortcuts for power users. Scroll through the chat buffer by dragging the proportional scroll bar with the mouse. Double-click words in the input field to select them, or make quick selections in the input field with the mouse or keyboard.

SCREEN GRABS - Using the built-in screen grab feature (COMMODORE+CONTROL+P by default) you can grab screenshots of funny moments, share them for laughs with other C64 OS users, or view them on a PC/Mac with the RECOIL library or share on social media.

UTILITIES AT THE SAME TIME - In C64 OS, you can use a Utility at the same time as the main Application. You can check your calendar, perform a calculation, customize the color theme, configure your storage devices, check the time or set a stopwatch or timer, all while using Eliza for C64 OS. Best yet, you can use the SID Preview Utility to listen to your choice of thumping SID music while chatting with Eliza, in Pirate! Aye aye, my matey, the combinations be many.

If you have an REU, Eliza also fully supports Fast App Switching in C64 OS v1.05 and above. Leave your conversation right where it is, and pop over to some other Application, or even drop to the READY prompt. Fast reboot into the OS, fast switch back to Eliza for C64 OS, and your conversation is still in progress, just as you left it.

Recommended how-to use

Unlike modern natural language processing chat bots, based on large language models and sophisticated algorithms, Eliza is a much more quaint technology; but it's still a lot of fun to explore and play with. 

For best results, try to restrict yourself to relatively short and simple sentences. Avoid using complex grammatical structures. Eliza is best suited to discuss topics which relate to you, your worries, hopes, dreams, abilities and shortcomings.

To elicit the most interesting conversations, try sprinkling your questions and responses with some of the following keywords:

  • Can you
  • Can I
  • You are
  • I don't
  • I feel
  • Why don't you
  • Why can't I
  • Are you
  • I can't
  • I am
  • I want
  • Your
  • Yes
  • No
  • Maybe
  • Always
  • Think
  • Alike
  • Friend
  • Dream
  • Question words, such as, what, how, who, where, when and why

And others, including variations upon these. 

Bonuses and expandability

As an added bonus, the original BASIC implementation of ELIZA by Jeff Shrager is included in the Application bundle, lightly-ported to BASIC 2.0 for the Commodore 64 with a few minor bug fixes. It also runs in C64-mode on a C128, plus C128-mode in both 40 and 80 columns. In 80 columns it can be run in 2MHz fast mode to speed up response time.

Included in the bundle are high resolution PNG exports of the 5 personality logos.

In keeping with the general design philosophy, Eliza for C64 OS is highly modular. Each personality is stored in two files; one file for the logo, and another for the language model. 

Each language model is in plain human-readable and human-editable PETSCII text. Any of the built-in personalities can easily be modified or expanded using just a text editor (such as NovaText, which comes included with C64 OS.)

For the truly adventuresome, the menu definitions file of a C64 OS Application is also in a human-editable text format. New personalities, with custom names, can be added to the in-Application menu system. The existing personalities use numbers 0, 1, 2, 3 and 4, and the code is already set up to allow the menu to load new personalities for numbers 5, 6, 7, 8 and 9. No programming required! Just your imagination.

Opening conversation documents in Eliza

When you save a conversation, you may specify a filename up to 12-characters long. The ".ech" extension is automatically added to the filename.

The installation archive also installs an assign file (//os/settings/assigns/:ft.seq.ech) which assigns Eliza as the default Application to open .ech files. Double-click a .ech file in File Manager to launch Eliza and open the conversation document.


Minimum Requirements:

C64 OS v1.0 or greater, and any hardware capable of running C64 OS.
RAM Expansion Unit is supported, but not required.
SEE: https://www.c64os.com/c64os/

Installation instructions 

Unzip the download using a Mac or PC. Eliza for C64 OS is distributed as a .CAR install-type archive found within the .ZIP file. Copy the .CAR file to any place (any device, partition, and path) accessible to C64 OS. From the C64 OS File Manager, double-click the .CAR file to open it in the Installer Utility.

Click the "Install" button. The contents of the archive are extracted and installed as a new Application bundle in the "applications" directory. Double-click the Eliza Application bundle to open Eliza for C64 OS.

Make sure to keep safe a backup of the .CAR installation archive.

ZIP File Contents:

  • eliza.v1.0.car
  • Eliza Logos (PNG)
    • Eliza - Abusive Persona.png
    • Eliza - Neurotic Persona.png
    • Eliza - Original Persona.png
    • Eliza - Pirate Persona.png
    • Eliza - Robot Persona.png
  • EULA.txt
  • readme.txt


Made for C64 OS

Purchase

Buy Now$1.00 USD or more

In order to download this entertainment app you must purchase it at or above the minimum price of $1 USD. You will get access to the following files:

Eliza for C64 OS v1.0.zip 55 kB

Comments

Log in with itch.io to leave a comment.

Hi. I installed Eliza without problems, but when i try to start it, the screen freezes. I'm using VICE (C64OS 1.05, IDE64 emulation), not tried on the real machine yet. Is there something that i'm doing wrong?

uh oh. Let me try testing on VICE, IDE64, and if I have the problem too, I’ll fix and post an update.