FyreVM Shared Source

0 views
Skip to first unread message

ChicagoDave

unread,
May 9, 2008, 8:09:43 PM5/9/08
to
There is now a website at:

http://www.textfyre.com/FyreVM/

The website should explain the basics and I will add an FAQ and other
documentation to the site along with filling out the example
implementation in the coming days and weeks.

In summary, the FyreVM Glulx Virtual Machine is available on the
website from a subversion repository or as zip and tar.gz downloads.
Included is a rough sample implementation and the Inform 7 extensions
required to create FyreVM-based games.

David C.

ChicagoDave

unread,
May 11, 2008, 11:06:51 PM5/11/08
to
On May 9, 7:09 pm, ChicagoDave <david.cornel...@gmail.com> wrote:
> There is now a website at:
>
> http://www.textfyre.com/FyreVM/
>

One hiccup in my brilliant plan. I'm trying to use the older 2.0
version of C# WinForms to create a sample app and although Jesse came
up with a workable solution using a multi-line textbox, it's not
ideal.

So sample applications in 2.0 WinForms are limited to that broken
separate input/output paradigm, which I've always felt was a second
cousin to the traditional all inclusive I/O text window.

But what to do? I could commission something workable, but that gets
complicated. Font stuff, inline pictures are cool, and more.

I could use an HTML control and allow FyreVM to htmlize the text
output. Not a horrible solution, but also complicated. I was really
trying to simplify, not complicate. But if anyone were interested in
an HTML I7 terp, it wouldn't be that complicated and yes, you could
even implement hyperlinks that turn into commands.

One of the reasons I chose the 3.0 version of WinForms is because it
has a newer GUI API that makes all of this workable, if not easier.

So I'm going to mull a solution on my own, but I thought I'd throw out
the problem to raif and see if anyone had any suggestions. I can't
find a C# custom control that would have most of the features I'd want
in a sample IF app and believe me, I searched high and low. I'd rather
not consume some C++ or non .NET control since the intent is to try to
recompile any sample projects in Mono on Linux and OS X.

So anyway....if anyone has any ideas, please share...

David C.

Dario

unread,
May 15, 2008, 7:14:31 AM5/15/08
to
Maybe I'm not getting the issue, but can't you just use 3.0 WinForms rather
than 2.0 WinForms for the sample app? It sounds like you're saying you're
using 3.0 for the VM but 2.0 for the sample apps. Since you seem to desire
features of 3.0, it seems the sample apps should match that.


ChicagoDave

unread,
May 15, 2008, 12:32:47 PM5/15/08
to

Well, FyreVM is written in C# 2.0. My assumption is that very few
people are interested in WPF/XAML and so I wanted to make sure the
more common WinForms could consume FyreVM. The other aspect is that
WinForms 2.0 is cross-platform if compiled using Mono. I have already
seen a working version in OS X (screenshots will be added to the
website soon) and someone else just volunteered to get a Linux version
working. So we'll have the exact same codebase working on Windows,
Mac, and Linux.

If someone wants to stick with Windows and use C# 3.0 and the new UI
tools (WPF and XAML), they certainly can do that. I may put a sample
of that up on the website too. Heck, anyone creates anything (Flash,
Silverlight) and wants to share it, I'll put it on the website. That's
the whole point of FyreVM.

And too, if anyone wants to write a TADS 3 VM in C# that implements
the Channel IO API, that would be awesome. Then you could have a user
interface that switches between VM's without any API code changes at
all.

David C.

Nikos Chantziaras

unread,
May 16, 2008, 12:59:12 AM5/16/08
to
ChicagoDave wrote:
> [...]

> And too, if anyone wants to write a TADS 3 VM in C# that implements
> the Channel IO API, that would be awesome. Then you could have a user
> interface that switches between VM's without any API code changes at
> all.

I'm not an expert in C# and .NET, but isn't it possible to use the
existing C++ T3VM? Almost every development system/platform I came
across allows for using libraries written in another language. In the
case of Windows you would create a *.dll that holds the T3VM. In Linux
and OS X it would be an *.so file.

Dario

unread,
May 16, 2008, 7:05:41 AM5/16/08
to
"Nikos Chantziaras" <rea...@arcor.de> wrote in message
news:g0j4av$due$1...@volcano1.grnet.gr...

> I'm not an expert in C# and .NET, but isn't it possible to use the
> existing C++ T3VM? Almost every development system/platform I came across
> allows for using libraries written in another language. In the case of
> Windows you would create a *.dll that holds the T3VM. In Linux and OS X
> it would be an *.so file.

You can do this, I think. You could also convert it to managed C++ (CLI) so
that it gets the benefits of the .NET framework. If the Channel IO API is
significantly different, though, just having the DLL would mean that T3VM
doesn't use those features. I'm not sure about that though. I haven't done
much with connecting third party DLLs to .NET apps.


ChicagoDave

unread,
May 16, 2008, 9:33:12 AM5/16/08
to

Yes, you can do this. The reason Textfyre didn't do this is because of
licensing issues. We had to create our own code base.

David C.

ChicagoDave

unread,
May 25, 2008, 7:34:35 PM5/25/08
to
On May 9, 7:09 pm, ChicagoDave <david.cornel...@gmail.com> wrote:
> There is now a website at:
>
> http://www.textfyre.com/FyreVM/
>

Updated with windows and linux screenshots and a download package for
linux. Windows zip and tar files also updated with latest examples.

David C.

Reply all
Reply to author
Forward
0 new messages