Jump to content
IGNORED

Infocom Small Systems Development


Torrax

Recommended Posts

Here's the Infocom Fact sheet with the games related to SuperCart at the bottom (added game length column).

 

You need to take the number of rooms, words, and opcodes used in consideration of which interpreter (Regular or SuperCart) to use on the TI-99/4A.

 

The only exception was Seastalker which only works with the SuperCart interpreter.  There were many releases for various systems of the time due to the sonar display.

 

Barry Boone fine tuned his 8K-SuperCart interpreter to be more cross platform compatible on the TI.  The later releases needed at least 38-40K+ for the interpreter on the various classic systems.  Most boxes printed 48K or 128K required along with the systems name on the packaging.

 

 

VI  Game Statistics
===================

Game              Version      Rooms  Words Objects     Opcodes Length
                               (int)        (takeable)  (total) 
================= ==========   ====== ===== =========== ======= ========
Zork I             88.840726    110    697     60        6798     84876
Zork II            48.840904     86    684     50        6804     89912
Deadline           27.831005     51    656     37        6977    108454
Zork III           17.840727     89    564     23        5952     82714
Starcross          17.821021     86    557     25        6566     83792
Suspended           8.840521     63    676     33        6902    105492
Witness, the       22.840924     30    715     22        8945    104664
Planetfall         37.851003    105    669     45        7879    109398
Enchanter          29.860820     74    723     33        8070    111126
Infidel            22.830916     77    613     57        7386     93556
Sorcerer           18.860904     84   1013     36        8963    111052
Cutthroats         23.840809     68    790     21       12600    112558
HHGG               59.851108     31    971     45       10723    113334
Suspect            14.841005     57    674     43       10737    118692
Spellbreaker       87.860904     79    850     60       12472    128916
Ballyhoo           97.851218     36    962     42       15132    128556
Hollywood Hijinx   37.861215     67    854     58       10355    109650
Stationfall       107.870430    105    789     53       10662    128934
Lurking Horror    221.870918     71    773     44       12398    129944
Plundered Hearts   26.870730     57    816     28       13859    128962
Mini-Zork I        34.871124     69    536     46        5204     52216
====SuperCart==== ==========   ====== ===== =========== ======= =========
Seastalker         16.850603     30    911     15       14460    117762
Wishbringer        69.850920     52   1043     35       16223    128904
LGOP               59.861114     75    978     41       13763    129022
Moonmist            9.861022     69    955     26       15900    128866


The number of rooms refers to the internal representation; externally (from the
player's point of view) there can be less/more rooms, like in Infidel's
never-ending desert around the camp (which in fact consists of only 10 rooms).

Likewise the number of takeable objects can be higher than the figure given
here. I have only counted objects which have the takebit set in the initial
state of the game.

 

 

Hope this helps anyone that writes any newer adventures out there!!  Have fun.

 

 

Tyler

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

I had a little dig to try to find a rule that could predict what will happen ("Do we need a Supercart for this game or not").

 

The Z-Machine memory is organized in 3 parts: dynamic memory (objects, descriptions, properties, variables, arrays), static memory (grammar table, actions tables, dictionary, etc), and high memory (Z-code, static strings). The total of dynamic + static memory can never exceed 64k (minus 2 bytes); the original idea was that everything before the high memory should be stored in the interpreter's RAM, and everything in the high memory could be loaded off disc as needed.

 

Using Andrew Plotkin's amazing collection of Infocom files https://eblong.com/infocom/, I went and got the story files in the table above and looked at the high memory mark (2-byte big endian value starting at byte number 4 of the story file) Here's my findings:


Plundered H     19968
Hitchhiker's    20455
Suspect         20481
Lurking H       21044
Stationfall     21752
Spellbreaker    21573
Hollywood       22148
Ballyhoo        22400


Wishbringer     22601
Seastalker      22989
LGOP            23652
Moonmist        24439

 

Could we predict that if the high memory mark is past, say, 22500, then we need a SuperCart, but if it's below, we don't? In any case, there is no game violating this rule...

(Or maybe it's interpreter-dependent? What's the size of the Infocom interpreter, and could it be something like "size of the terp + high memory must be below, say, 56 Kb" ?)

Edited by hlabrand
Link to comment
Share on other sites

The TI interpreters test the 'begin of paged memory' value in the zfile header. If the z3 value is higher than the available interpreter ram (22k standard; 24k supercart) the game cannot be played.  The interpreter loads the z3 file from bytes 0-22K or 0-24K, respectively, and the remaining zfile records are cached in VDP memory on demand.

 

; 01/7     ---   ---   [unused by Infocom, used in Standard]
; 02-03                release number
; 04-05                begin of paged memory (byte address)

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   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.

Loading...
  • Recently Browsing   0 members

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