Jump to content

Karl's Blog

  • entries
  • comments
  • views

Penult Conversations and Transactions

Karl G


There are not a lot of Atari 2600 games that make use of a large amount of text. There are various reasons for this, including ROM size, as well as the fact that many implementations of a text display on the Atari use up a good deal of the limited RAM on the system. Penult has a large ROM size (128K), and makes use of a text display that builds the text lines on the fly to save on RAM (props to @RevEng for help with the initial design from which the Penult implementation had evolved).


Penult is largely inspired by the early Ultima series, especially Ultima 3. Conversations in those games were a vital part of the feel of immersion in those games. I was pleased to discover as I was creating a new city that I've already exceeded the lines of dialog in Ultima 3, and I still have more cities to add. Additionally, each non-vendor NPC has a unique name, and a unique dialog. Line length is an issue, though, as I only have 24 characters to work with, although many conversations span multiple lines.


Conversation in Ultima 3:

Conversation in Ultima 3

Conversation in Penult:

Conversation in Penult


For vendors, compared to Ultima 3, the interface has been greatly simplified to allow for easy play with a one-button Atari joystick. Rather than a single vendor being able to sell a variety of weapons and armor, I have multiple specialized vendors each offering one item for sale. For example, in the starting city of Arcadia, you can buy a sling, a mace, or leather armor, each sold by a separate vendor:


Penult vendor example:



I have a script (UNIX/Mac) to allow me to convert lines of text into data I can include in my program. I'm including it here along with an example just for posterity, and on the small chance that it or the idea behind it could be useful to other developers.


./strconv what brings you here?
 .byte __W, __H, __A, __T, _sp, __B, __R, __I, __N, __G, __S, _sp, __Y, __O, __U, _sp, __H, __E, __R, __E, _qu, $FF


  • Like 2


Recommended Comments

There are no comments to display.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...