Jump to content
IGNORED

The Incomplete Works of Infocom, Inc.


jindroush

Recommended Posts

The Incomplete Works of Infocom, Inc.

This is a collection of all original Infocom games, including Solid Gold re-releases with Invisiclues,
with the exception of four Z6 games: Zork Zero, Journey, Shogun and Arthur.

Some of the games may need codes from feelies (which?), some have protection removed
- A Mind Forever Voyaging does not ask security color codes when entering the simulation mode.
- Bureaucracy allows you to reply anything to questions asked in paranoid's house.
- Sorcerer allows you to push any button to open chest in cellar without infotater code.
- Stationfall allows you to type in any course (e.g. type 1) when flying spacecraft.
 

The interpreter used is based on the latest original Infocom interpreter G, sourced from Plundered
Hearts with many changes allowing to run Z3, Z4, Z5, Z7 and Z8 games. No code was used from other
interpreters, not even by looking ;) Not all features are implemented (for example colors, font 3,
undo etc.), but most games should play nice.

Hardware requirements:
- Z3 games are the only runnable on stock 48KB Atari
- Z4+ games require at least 128KB of memory
- Z4+ games require 80 column support - the best way is through VBXE
- the ATR must run from some kind of input device allowing such ATR size
- games need to be saved on double density diskettes - real or emulated


Release notes for 0.9.0:
- game selector menu should be complete
- the annoying overlay is annoying for a reason, I want you to test and then download fixed version
- Z3 games support should be complete
- Z4+ buffering has at least one bug in Solid Gold versions - pre-buffered strings not starting at the
    beginning of the line wrap around the screen
- Z5 games don't support font 3, italics and screen colors yet. There is possibility of support on VBXE.
- Z5 games don't support UNDO command
- Z5 terminating characters are not yet implemented
- Z4+ games don't support timed input
- Beyond Zork is currently run in 'Apple IIe' mode, instead of using font 3. SPACE could be used for moving
    in menus
- save/restore in Z4+ is not thoroughly tested. It should work, 3 slots on DD diskette. Z3 should work okay.
- the font 3 used in 80 column software mode is not finished (but I think it's used only in Beyond Zork anyway)
 

Release notes for 0.9.1
- fixed encoding of special characters - $ve/$verify work again
 

Release notes for 0.9.2
- slightly fixed look of both fonts in s80 versions
- forgot to mention that transcripts may not work
- Bureaucracy, Sorcerer and Stationfall replaced with deprotected versions
- Added Zork: The Undiscovered Underground, free game written by Zork authors for Activision
- tried to fix the problem caused by shared memory window at $4000 between 1UMB and VBXE

 

Release notes for 0.9.4
- added S64 driver. Looks good, just AMFV has problems in menu.
- added font3 for S64 driver, not perfect, but usable.
 

Release notes for 0.9.5
- fixed error while displaying very early messages in Z3 stories
- reverted back to code/data buffer cross invalidation
- slightly fixed font3 in s64 driver
 

Release notes for 0.9.6
- s64peedy gonzales build with faster s64 driver
- removed annoying overlay for multimenu, added s64 options
- Beyond Zork is started in 'Apple IIe' mode only when using VBXE driver. For other drivers it
    runs in 'Commodore128' mode, allowing usage of font3 and pseudo-graphics map.

 

Please send bug-reports and similar ideally to jindroush@seznam.cz, to this thread or to PMs (but email is the fastest way). Always please provide the full test-case (i.e. walkthrough) which leads to undesired behaviour and please also describe the desired one. Probably don't report the speed of Z4+ games, as these were originally meant for much faster hardware.

Please note that this was never tested on the real hardware (by me, some of the betatesters were able to successfully run it)

image.thumb.png.8541b8b4e923232f055167495b1ae370.png

 

 

 

TheIncompleteWorksOfInfocom,Inc.zip

Edited by jindroush
updated to 0.9.6
  • Like 20
  • Thanks 8
Link to comment
Share on other sites

Amazing!

Is the 80 column requirement simply a reflection of how these particular games were implemented by Infocom, or a restriction somehow imposed by the Z-machine format itself of Z4+ games?

 

In other words, could a Z4+ format game run in principle on a stock ANTIC/GTIA Atari with 128K+ RAM using this modified interpreter?

Link to comment
Share on other sites

The games definitely need that. Trinity has for example check at the beginning, AMFV wouldn't fit either. I implemented the basics of Z4 engine in 40 column mode, only later I implemented VBXE driver and then software driver, when it became obvious it wouldn't work without it (and yes, I'm a lazy programmer, so I tried to avoid it multiple times 😆)

So, yes it works somehow. But the games and specs need wider screen.

Specification touches that in 8.4
https://zspec.jaredreisinger.com/08-screen

 

BTW: Without that spec I wouldn't be able to do anything, it's extremely useful.

image.thumb.png.18da2b1780d7e0f6f8f9864556e68684.pngimage.thumb.png.02865250d6297c2c75d629578369b43c.png

Edited by jindroush
Link to comment
Share on other sites

How many actually use graphics print and color?

The 80 columns is almost like software 80 in any case the way they are making the screens

no one has fixed some of the slow down bugs stalls and other issues because on blazingly fast machine of today make it a non issue... oh my

 

Edited by _The Doctor__
Link to comment
Share on other sites

@_The Doctor__, not sure if I understand? Beyond Zork definitely prints some graphics characters from font 3. There are also some post-Infocom games like Photopia, which use color.
First screenshot is Beyond Zork running in 'C128' mode with font 3 in VBXE mode.
Second screenshot is BZ with partially implemented font 3 in 80 column software mode.
Third is Windows Frotz.
image.thumb.png.1eaddb9c19c457f813240cce7c995bb3.pngimage.thumb.png.b6548e688a3a335eaee282d191cbbeba.pngimage.png.b0b335e23728793f2eb647a4248ca178.png

  • Like 1
Link to comment
Share on other sites

1 hour ago, jindroush said:

The games definitely need that. Trinity has for example check at the beginning, AMFV wouldn't fit either. I implemented the basics of Z4 engine in 40 column mode, only later I implemented VBXE driver and then software driver, when it became obvious it wouldn't work without it (and yes, I'm a lazy programmer, so I tried to avoid it multiple times 😆)

So, yes it works somehow. But the games and specs need wider screen.

Specification touches that in 8.4
https://zspec.jaredreisinger.com/08-screen

 

BTW: Without that spec I wouldn't be able to do anything, it's extremely useful.

OK, I can see that screen width of at least 60 chars is recommended, but it doesn't seem to be an absolute requirement- and here is a z8 file running on WinFrotz with a simulated Atari 40 column screen without complaint:

 

so I'm assuming that in principle non-Infocom z4,5,7,8 files could run on a stock Atari 40x24 screen..?

ThingForASpring.png

Link to comment
Share on other sites

Yep. It's maybe also possible it'd run on stock 48K Atari, if the dynamic memory is reasonably short (and I would make some changes in current Z5 code which currently doesn't compile without extmem).

BTW - I have several Z5/Z8 games from some best-of lists and they're very, very slow, as the Inform library is slow. The stories for the small architectures should be probably compiled with PunyInform and not full-fledged Inform library. Emily Shorts' Savoir-Faire takes 40s to display ANY text and additional 7s to display prompt. 25s to react to 'look' command. With SIO patch in emulator, without it it would be even slower. (43s ANY text, 21s to first prompt, 35s to react to 'look' command).

Edited by jindroush
Link to comment
Share on other sites

1 hour ago, jindroush said:

The stories for the small architectures should be probably compiled with PunyInform

That's a fair point- which (using PunyInform) limits the z-file to z3 format in any case.

 

I wonder whether something workable for 8-bit architecture for z4+ could be done with ZIL (presumably so, since that's what Infocom used and the response times for Infocom z5 games- Sherlock, say- seems very acceptable, even without SIO acceleration).

 

I've not dabbled with ZIL up to now, though.

 

EDIT: That said, what libraries are available for ZIL, if any, would be the issue- and I suppose Inform itself just as a programming language without being coupled to a slow library runs fast enough...

Edited by drpeter
Link to comment
Share on other sites

4 hours ago, Wrathchild said:

No, can be compiled to Z3, Z5 and Z8, so Z5 as a target would be fine and run faster than standard Inform and so worth a look into IMO 

Ah yes, my mistake. I had forgotten that the z3-only limitation was with the available Atari interpreters, not with PunyInform.

Link to comment
Share on other sites

That’s cool that you made this collection. 

 

I don’t really care one way or the other about mega corporations merging, but one good side effect of Microsoft buying Activision is maybe they’ll do something to promote the old Infocom games, which I think they’ll own. 

 

(And the old Activision Classics, while they’re at it!)

Link to comment
Share on other sites

Well, this works great in Altirra and with software 80 columns on real hardware, but it's either broken with VBXE on real hardware or I'm missing something. With VBXE and extended memory set for Z4 titles, after the "The story is loading" text (in proper VBXE fonts) all I see after loading is an underline cursor and a blank screen. If I press the space bar or otherwise type something and hit return, I hear disk access. But I don't see any text on screen.

 

The test system is a PAL system with VBX and U1MB. 

Link to comment
Share on other sites

@DrVenkman thanks for the report - it's exactly what I was afraid of. And Gozer, ofcourse ;)

So... let's make three distinct cases:
a] load menu, press OPTION, type 3, ESC, and run Ballyhoo.
b] load menu, press OPTION, type 7, ESC, and run Border Zone.
c] load menu, press OPTION, verify there is 6 selected, ESC, and run Border Zone.

I expect this:
a] should run game in VBXE 80col
b] should run game in software 80col
c] is your testcase, and should display nothing

Is that true?

Link to comment
Share on other sites

3 hours ago, jindroush said:

@DrVenkman thanks for the report - it's exactly what I was afraid of. And Gozer, ofcourse ;)

So... let's make three distinct cases:
a] load menu, press OPTION, type 3, ESC, and run Ballyhoo.
b] load menu, press OPTION, type 7, ESC, and run Border Zone.
c] load menu, press OPTION, verify there is 6 selected, ESC, and run Border Zone.

I expect this:
a] should run game in VBXE 80col
b] should run game in software 80col
c] is your testcase, and should display nothing

Is that true?

a] Works. BALLYHOO loads and displays text correctly in VBXE 80 columns

b] DOES NOT WORK. After loading, a blinking underscore cursor is displayed towards the right-bottom of the screen

c] DOES NOT WORK

 

NOTE: BORDER ZONE shows itself to be a Z5 title (not Z4 per the options suggested above). But in any case, VBXE mode simply displays an underscore cursor and no visible text; software 80 column mode works.

 

EDIT: There's something going on with regard to extended memory that may be in play here. The only option that seems to work with VBXE text is the one for Z3 titles with no extended memory (tested with Ballyhoo, Bureaucracy, Deadline and one or two others). Those titles do NOT work properly using option 4 (VBXE with extended memory). They will only run with base memory.

 

I am power-cycling the machine between tests to ensure the VBXE registers are cleared and the system is as "clean" as possible between attempts to run various titles. 

  • Thanks 1
Link to comment
Share on other sites

9 hours ago, Atari8guy said:

What about XEP80?  For text games that should be easy no? (I don't really know).

It's easy to add if somebody provides me with assembly source with these functions:
-detect the presence
-initialize
-clear line X (or clear lines X to Y)
-display char at X,Y
-scroll lines X to Y
and possibly 'display blinking cursor'.

I wasn't able to find anything like that around.

Link to comment
Share on other sites

7 minutes ago, DjayBee said:

Don't you use E: for text in-/output?

Nope. I dropped it even for 40 column mode. This thing is quite memory hungry and I don't have enough knowledge/stamina to work out the cooperation with drivers. So all the three video drivers (40 column, VBXE 80 column, software 80 column) are written almost from scratch and are very minimal.

Edited by jindroush
Link to comment
Share on other sites

8 hours ago, DrVenkman said:

EDIT: There's something going on with regard to extended memory that may be in play here. The only option that seems to work with VBXE text is the one for Z3 titles with no extended memory (tested with Ballyhoo, Bureaucracy, Deadline and one or two others). Those titles do NOT work properly using option 4 (VBXE with extended memory). They will only run with base memory.

First, sorry for the wrong testing instructions, I asked you to change options for Z4 games, and then recommended to run Z5 game ;-)

Second, I released 0.9.2 which should fix this. As soon as I realized that VBXE works but not with extended memory, I remembered I've seen something about that in VBXE manual. It's because VBXE (how I use it) and extmem share region $4000-$7FFF and then "some memory extensions that utilises EXTSEL signal have priority above VBXE. As a result, data that should go into VRAM would go into EXTRAM.".
So I hope I added PORTB extmem-turn-off everywhere. Let me know, the binary is in the first post.

Release notes for 0.9.2
- slightly fixed look of both fonts in s80 versions
- forgot to mention that transcripts may not work
- Bureaucracy, Sorcerer and Stationfall replaced with deprotected versions
- Added Zork: The Undiscovered Underground, free game written by Zork authors for Activision
- tried to fix the problem caused by shared memory window at $4000 between U1MB and VBXE

Edited by jindroush
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...