intfiction.org

The Interactive Fiction Community Forum
It is currently Sun Nov 18, 2018 2:34 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sun Sep 09, 2018 11:43 am 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
Stumbled across this the other day. Ozmoo is a new open source z-machine interpreter for the Commodore 64. It's a neat project that has a lot of potential for taking new games to old hardware.

Quoting the site:
Quote:
We were looking for a redistributable interpreter of Infocom and Inform games that could be used for new interactive fiction works on the C64.

While the old Infocom interpreters are still available, the license situation is not clear so it is risky to use in new work, especially commercial. Furthermore, some of the newer Inform-based games use features which the old Infocom interpreters on the C64 can't handle.

There are some other implementations, but they have their limitations:
  • Infocom64 is based on assembly code of the original Infocom interpreter so it has the same license issues. Also, it only works with certain setups of hardware or emulation.
  • Zeugma requires an REU (Ram Expansion Unit) and doesn't support save and restore.


I had to hack a bit at the make.rb file to get it to work under Linux. You can grab my fork here if you can't wait for the main branch to check and merge my changes.

You'll also need the acme cross-assemler and exomizer.

Image

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Sep 09, 2018 2:14 pm 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
How I got it running under Linux:

Of course, just as the main README says, you'll need ruby and vice:

Code:
sudo apt-get install ruby
sudo apt-get install vice


Spoiler: show
First, I modified make.rb, so you'll have to grab my modded fork:

Code:
git clone https://github.com/howtophil/ozmoo.git


My changes have now been merged with the main source, so grab that instead:

Code:
git clone https://github.com/johanberntsson/ozmoo.git


Then change into the ozmoo directory, clone the acme assembler source, and make acme:

Code:
cd ozmoo
git clone https://github.com/meonwax/acme.git
cd acme/src
make


I find it easier to leave acme in place as a subdirectory, so mod the make.rb file and set

Code:
$ACME = "acme/src/acme"


Then download exomizer, extract it into an exomizer subdirectory, and make exomizer:
Code:
mkdir exomizer
cd exomizer
wget https://bitbucket.org/magli143/exomizer/wiki/downloads/exomizer-3.0.1.zip
unzip exomizer-3.0.1.zip
cd src
make


At this point you should be able to turn a z[3,4,5,8] file into a .d64 Commodore 64 diskette image from the top level of your ozmoo directory:
Code:
ruby make.rb game.z5

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Last edited by howtophil on Mon Sep 10, 2018 10:26 am, edited 1 time in total.

Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Sep 09, 2018 2:41 pm 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
You'll also need build-essential, if you don't already have it.

Code:
sudo apt-get install build-essential


And whatever other requirements to build that acme and exomizer list in their documentation.

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Mon Sep 10, 2018 10:07 am 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
My changes have been merged with the main source.

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Sep 29, 2018 5:01 am 
Offline

Joined: Sat Oct 17, 2015 5:48 am
Posts: 84
tiny question: how to fit the majority of .z5 and virtually all .z8 in a .d64 (664 blocks of 256 bytes, total 169,984 bytes (aside the footprint of the 'terp....) ??

better targeting the 1571 (.d71) disk image.. or better, the 1581 (.d81) disk image, IMVHO.

Best regards from Italy,
dott. Piergiorgio.


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Sep 29, 2018 5:55 am 
Offline
User avatar

Joined: Sat Sep 09, 2017 5:57 pm
Posts: 105
Location: Under the rainbow
Curious? Will this run on native c64 hardware?


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Sep 29, 2018 9:25 am 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
Piergiorgio d'errico wrote:
tiny question: how to fit the majority of .z5 and virtually all .z8 in a .d64 (664 blocks of 256 bytes, total 169,984 bytes (aside the footprint of the 'terp....) ??

better targeting the 1571 (.d71) disk image.. or better, the 1581 (.d81) disk image, IMVHO.

Best regards from Italy,
dott. Piergiorgio.


I know all the old Infocom games fit, though a few still fail to run.

I think there are quite a few smaller games still :)

Also, there are plans for it to span 2 disks/disk-images in the future.

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sat Sep 29, 2018 9:27 am 
Offline
User avatar

Joined: Sun May 21, 2017 4:59 pm
Posts: 298
Location: Michigan
fos1 wrote:
Curious? Will this run on native c64 hardware?


I believe it should, though I don't have a way to transfer the disk images to C64 diskettes.

_________________
~~~
My ebooks on Amazon
My ebooks on Smashwords


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Sep 30, 2018 8:32 am 
Offline
User avatar

Joined: Sat Sep 09, 2017 5:57 pm
Posts: 105
Location: Under the rainbow
I have one of the SDHD disk emulator gadgets. I will give that a try.

Thank you


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Oct 02, 2018 4:53 am 
Offline

Joined: Sat Oct 17, 2015 5:48 am
Posts: 84
As discussed in another debate, the majority of .dat/.z? fails on C=64 was because of the 40 columns; AFAICT, inform library don't handle, or don't handle well, less than ~50 columns.

IIRC, in the z-machine specs was noted that at least in the .z3 format there was support for multi-disk, because Tandy's disk format has a very low capacity (5.¼ SSSD FM modulated, ~80-90k) so I think that spanning into 2 disk/images is more than feasible.

Best regards from Italy,
dott. Piergiorgio.


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group