Jump to content
IGNORED

Infocom Interpreter for F18A


Recommended Posts

A few years ago I was playing around with the Infocom Interpreter, trying to make it compatible with the F18A 80 column mode. In the original 80 column interpreter, the pattern descriptor table was relocated to VRAM bank #1, something that only exists with a V9938 configuration.

 

The attached disk contains a version of the interpreter (ZORKF18A) modified to work within the constraints of the original 16K of VRAM. I have tested the program with both Classic99 and js99er. I do not currently have my F18A system up and running, so it would be helpful if someone would give this a whirl on the real hardware.

 

Thanks to Shift838 for his help gathering the missing details to make this possible.

 

If successful, I will update the other interpreter(s) that are needed for the ported games.

 

(The game files have been validated using the $VERIFY command)

 

 

 

ZORK1.dsk

  • Like 11
Link to comment
Share on other sites

The disk contains multiple interpreters. I didn't mess with the autoload or remove the other interpreters but I suppose the XB loader could be updated. Run ZORKF18A from DSK1. using an EA5 loader.

 

(The good thing is you've essentially shown that the interpreter is working with TIPI regardless of my changes) ;)

Edited by InsaneMultitasker
Link to comment
Share on other sites

and it works with my newly updated directory EA5 loader http://ftp.whtech.com/Users/Gregory%20McGill/LOAD

 

I changed out the Barry Boone EA5 loader which was super compatible but not 100% for the Tursi/tim/mark/swpb loader from Tursi

 

Greg

 

Does it run with a CALL TIPI loader as well?

I'll grab your loader later and test it on my system. I have some thoughts about updating the way the DSR works in the Infocom loader but that may be more than I am willing (and able) to chew on right now. I identified what to change, but recompiling introduces some challenges to the interpreter memory map and the save/restore game code.

Link to comment
Share on other sites

 

Does it run with a CALL TIPI loader as well?

I'll grab your loader later and test it on my system. I have some thoughts about updating the way the DSR works in the Infocom loader but that may be more than I am willing (and able) to chew on right now. I identified what to change, but recompiling introduces some challenges to the interpreter memory map and the save/restore game code.

Yes

 

Sent from my LG-H872 using Tapatalk

Link to comment
Share on other sites

The first time I tested it after II got home I used DM2K, but after reading your message I used the TIPI loader from BASIC.

 

CALL TIPI ("TIPI.GAMES.ZORKF18A") and it worked just fine. [emoji106]

 

Can you make the text GREEN on BLACK?

Dm2k doesn't load infocoms correctly

 

Sent from my LG-H872 using Tapatalk

Link to comment
Share on other sites

Not really offtopic: I found an Infocom app for Android. Is there an easy way to copy an Infocom game to a loadable file that can be fed to a Z-code interpreter? I suppose the BOOT1, BOOT2 files are the interpreter and GAME1, GAME2 are the Z-code files.

Link to comment
Share on other sites

Can you make the text GREEN on BLACK?

 

If someone wants to share or create a simple, relocatable assembly routine (with source) that will allow a user to use the default or select the foreground/background colors they desire, and confirm they picked the right combination, I'll graft it into the Infocom Interpreter's startup routine. For F18A users, only a foreground/background selection is needed. V9938 users would have/need the option of selecting the highlight foreground/background colors.

 

If you want to change the current colors sector edit ZORKF18B and find string "F087 0684". The "F0" represents the foreground and background colors. Currently, "F" is white. 2,3, or C for med, light, or dark green. ie, "2087 0684" would be med. green on black (transparent).

  • Like 1
Link to comment
Share on other sites

 

If you want to change the current colors sector edit ZORKF18B and find string "F087 0684". The "F0" represents the foreground and background colors. Currently, "F" is white. 2,3, or C for med, light, or dark green. ie, "2087 0684" would be med. green on black (transparent).

 

 

Thanks! I'll give this a shot in the next couple of days, right now a have other things at the top of my "to do list.

Link to comment
Share on other sites

Not really offtopic: I found an Infocom app for Android. Is there an easy way to copy an Infocom game to a loadable file that can be fed to a Z-code interpreter? I suppose the BOOT1, BOOT2 files are the interpreter and GAME1, GAME2 are the Z-code files.

This is all the info I have. The file record counts will obviously differ for each game. I don't know what information is discarded by line 125, perhaps another interpreter+game file was used for the conversion to the TI files.

 

 

100 OPEN #1:"DSK3.DUMP",INPUT,FIXED 128
110 OPEN #2:"DSK1.GAME1",OUTPUT,FIXED 255,RELATIVE90
120 OPEN #3:"DSK1.GAME2",OUTPUT,FIXED 255
125 FOR I=1 TO 24 :: LINPUT #1:A$ :: LINPUT #1:B$ :: NEXT I
130 FOR I=1 TO 88 :: LINPUT #1:A$ :: LINPUT #1:B$ :: PRINT #2:A$&SEG$(B$,1,127) :: C$=C$&SEG$(B$,128,1) :: NEXT I
140 PRINT "GAME1 generated!"
150 FOR I=1 TO 415 :: LINPUT #1:A$ :: LINPUT #1:B$ :: PRINT #3:A$&SEG$(B$,1,127) :: C$=C$&SEG$(B$,128,1) :: IF LEN(C$)=255 THEN CALL NUKE(C$)
160 PRINT "."; :: NEXT I
170 CLOSE #3 :: PRINT #2:C$ :: CLOSE #2 :: CLOSE #1
180 END
190 SUB NUKE(C$)
200 PRINT #2:C$ :: C$=""
210 SUBEND
Link to comment
Share on other sites

 

This is all the info I have. The file record counts will obviously differ for each game. I don't know what information is discarded by line 125, perhaps another interpreter+game file was used for the conversion to the TI files.

125 FOR I=1 TO 24 :: LINPUT #1:A$ :: LINPUT #1:B$ :: NEXT I

 

That does not sound too encouraging... it means it throws away the first 48 records. Hmm. You don't happen to know where I can find the original files (i.e. the dumps from which GAME1 and GAME2 are produced)? :-)

 

Anyway, thanks so far.

Link to comment
Share on other sites

 

If you want to change the current colors sector edit ZORKF18B and find string "F087 0684". The "F0" represents the foreground and background colors. Currently, "F" is white. 2,3, or C for med, light, or dark green. ie, "2087 0684" would be med. green on black (transparent).

 

 

 

 

Thanks! I'll give this a shot in the next couple of days, right now a have other things at the top of my "to do list.

 

I figured... what the heck, it'll only take a minute. ;-)

post-35324-0-90592800-1523226661.jpg

  • Like 2
Link to comment
Share on other sites

 

That does not sound too encouraging... it means it throws away the first 48 records. Hmm. You don't happen to know where I can find the original files (i.e. the dumps from which GAME1 and GAME2 are produced)? :-)

 

Anyway, thanks so far.

The disks with that information are from 2000 and do not have the original file dumps. No idea what version they came from as I didn't perform the dumps. Sorry. Now I might have some dumps from other z machine interpreters that I had collected over the years. I'll poke around later.

Link to comment
Share on other sites

 

This is all the info I have. The file record counts will obviously differ for each game. I don't know what information is discarded by line 125, perhaps another interpreter+game file was used for the conversion to the TI files.

100 OPEN #1:"DSK3.DUMP",INPUT,FIXED 128
110 OPEN #2:"DSK1.GAME1",OUTPUT,FIXED 255,RELATIVE90
120 OPEN #3:"DSK1.GAME2",OUTPUT,FIXED 255
125 FOR I=1 TO 24 :: LINPUT #1:A$ :: LINPUT #1:B$ :: NEXT I
130 FOR I=1 TO 88 :: LINPUT #1:A$ :: LINPUT #1:B$ :: PRINT #2:A$&SEG$(B$,1,127) :: C$=C$&SEG$(B$,128,1) :: NEXT I
140 PRINT "GAME1 generated!"
150 FOR I=1 TO 415 :: LINPUT #1:A$ :: LINPUT #1:B$ :: PRINT #3:A$&SEG$(B$,1,127) :: C$=C$&SEG$(B$,128,1) :: IF LEN(C$)=255 THEN CALL NUKE(C$)
160 PRINT "."; :: NEXT I
170 CLOSE #3 :: PRINT #2:C$ :: CLOSE #2 :: CLOSE #1
180 END
190 SUB NUKE(C$)
200 PRINT #2:C$ :: C$=""
210 SUBEND

I have a few Z3 interpreter game dumps. I will have to try this to see if i can get it to load with the F18A interpreter.

 

Then, if so, i want to find a good coding engine that makes sense to me to be able to code a couple of new games...

Link to comment
Share on other sites

 

I'll check my disks the emu files I have seem to be all 40col only

 

Greg

Thanks. It is entirely possible I am remember incorrectly about the 80 column SC version. Hopefully not ;) I'll look for my MFM drive backups. I used to have all of my Infocom games in emulate files to take advantage of the DSK1 emulation back then.

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