Jump to content
Sign in to follow this  
Elia Spallanzani fdt

DAAD for ti?

Recommended Posts

DAAD is a multi-machine and multi-graphics adventure writer, enabling you to target a broad range of 8-bit and 16-bit systems. It was written by Tim Gilberts in the late 80s and it still has admirers, eg. https://uto.speccy.org , https://8bitgames.itch.io/rabenstein.

 

Unfortunately, the list of targeted machines (c64, spectrum, msx etc) doesn't include ti99. I am not a programmer, but maybe someone might be interested in making a version for the ti99.

 

Share this post


Link to post
Share on other sites

Doesn't seem like any 9918 based systems are included, so I suppose a port wouldn't be entirely trivial. 

 

Given how wonderfully TML Graphic Adventure works for this purpose and how specifically geared to 9918 adventure graphics it is, perhaps the best approach going forward from our TI-99 standpoint is figuring out how to optimally pair whatever underlying interactive fiction engines with it?

 

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

The advantage of being able to use the daad data file would be to be able to play the adventures already made for that system.

You may have the best system in the world for creating adventures but if it is not used the involvement will be poor.

Share this post


Link to post
Share on other sites

P.S. I asked mr Uto and he says:  "If there is any modern device able to provide more than 32K, ideally 64K, then I'd say porting MSX2DAAD (written in c) interpreter would be the way to go."

Share this post


Link to post
Share on other sites

I believe DAAD was used to create the game Hibernated 1 Director's Cut, so an interpreter should exist for the TI-99/4A already, but perhaps without graphics support?

 

Share this post


Link to post
Share on other sites
On 2/12/2022 at 1:55 PM, pixelpedant said:

Doesn't seem like any 9918 based systems are included, so I suppose a port wouldn't be entirely trivial.

Well, MSX is 9918A, so I assume that graphics for the TI-99/4A could be ripped from existing MSX games.

  • Like 1

Share this post


Link to post
Share on other sites
25 minutes ago, Elia Spallanzani fdt said:

No, hibernated is z-machine. 

OK 😞. The thing that's not clear to me is how much difference there is between the compiled data files on the various platforms. For instance, are the files compiled for the MSX in a common, well documented format, except for the graphics that would have to differ between platforms? If not, then it seems we would need both a compiler and an interpreter for the TI-99/4A.

Share this post


Link to post
Share on other sites
1 hour ago, Asmusr said:

Well, MSX is 9918A, so I assume that graphics for the TI-99/4A could be ripped from existing MSX games.

 

Oh, indeed, that's a very tempting idea for any TI-99 game, regardless of engine. 

 

Actively harvesting graphical assets from the MSX1 (and to a much lesser extent Colecovision/Adam) library is something I've been actively working on lately.  Even more so Screen 1 art than Screen 2 art, since the prior is ultimately harder to do really well than the latter. 

 

While there is of course the Spectrum library, containing an abundance of art which is easily used for Graphics 1 graphics on the TI, it

 

1) usually uses tonnes of negative space and black background

and

2) has a tendency to just ignore a fair amount of the attribute clash present

 

And while there's nothing inherently wrong with those things, they reflect a graphics style that I have no nostalgic attachment to. 

 

Those stylistic decisions are for me almost diametrically opposite to those of the most graphically appealing Graphics-1-compatible graphics on the TI-99.  In things like Fathom and Slymoids: 

 

fathom.png.ef53144087ebe7ccedb8572ca3e21220.png1527617369_slymoidsincolour.png.eda873bfec44e5b295b524fff95c688d.png

 

It seems to me Japanese MSX games using Graphics 1 (or using Graphics 2, but not really using it, and still designing around per-tile palettes) tend to try far more often to fill out the frame in full colour, and design in a way that creates no attribute clash at all.  And I find that more "TIish":

 

banana.png.2c6152fd56be2c64ab6bc3f3415e78fe.png732447107_athleticball.png.4448990f91e5867c6327e5c4cbba5c17.png

 

So that's indeed where I've found a treasure trove of great graphics assets, in the MSX library. 

 

And of course, turning them in to TI assets is so easy these days, thank to your maintaining Magellan, Rasmus. 

 

  • Like 2

Share this post


Link to post
Share on other sites
2 hours ago, Asmusr said:

I believe DAAD was used to create the game Hibernated 1 Director's Cut, so an interpreter should exist for the TI-99/4A already, but perhaps without graphics support?

 

Here's a bit more information about the game: https://8bitgames.itch.io/hibernated1

 

The author rewrote it using PunyInform https://github.com/johanberntsson/PunyInform, which allows people to write and compile games to the Infocom z-machine standard. The TI version of the Infocom interpreter (z-machine) supports version 3 games, so most "z3" text-based games will run on the TI after a conversion process. Although it is a text adventure, there are some nice splash-screen graphics that are posted on the site. I don't know if they are from the DADD release or newly created for this version.  (fyi, there is an infocom interpreter dev thread in the forum if there are questions about it)

Share this post


Link to post
Share on other sites

Hello all, 

 

Happy to be here. This is my first post here so I'll do a brief introduction: my nick is Uto and I'm some how involved in serveral DAAD tools, but before I've worked in doing text adventure engines since de 90s, which are not very well know worldwide, but they are in Spain, as I'm spanish, from Madrid.

 

Please let me make a brief list of facts and other details about DAAD in this message, then I will write another message abou what I think could be done:

 

- It's an evolution of The Quill and the Professional Adventure Writing System (PAWS) by Gilsoft, that was made as custom development for the Spanish text adventure company Aventuras AD in the late 80s

- The original DAAD had a compiler for DOS, and reads a source file to generate a .DDB file whichs is called "the database", which contains the information for the game (texts, objects, locations, connections, logic)

- Also, the original DAAD had interpreters for C64, MSX1, Amstrad CPC, Amstrad PCW, ZX Spectrum, DOS, Commodore Amiga and Atari ST. There are two of each, as there is a English interpreter and Spanish interpreter.

- DAAD was lost for over 20 years (from early 90s to mid 2010s). 

- All the 8 bit targets but Amstrad PCW used vector graphics as they had to fit in RAM because DAAD was build to have games on tape, as that was the standar in Spain. The 16 bit targets and PCW had raster graphics read from disk.

- Since it was recovered, several tools had grown around  original DAAD:

    + DRC, a new compiler (by myself), which has a front end which is a Windows/Linux/MacOS executable, and a backend which is a PHP  script which can be run with the standar php interpreter.

    + A new interpreter was compiled for Commodore Plus/4 by Imre Iszel, it required some changes but is now fully operational.

    + MALUVA, which is a extension to original interpreters that allows them to load raster graphics and additional texts from disk, plus a few other minor features. Maluva also can make the ZX Spectrum interpreter use the Layer2 mode if running in a ZX Spectrum Next, so virtually that is a new target. Also, it supports ZX-Uno Spectrum clone and Timex Spectrum machines.

    + MSX2DAAD, by Natalia Pujol, it's a new interpreter developed from scratch for MSX2 machines, it's source code is in C and its license is GPL with a minor change.

    + PCDAAD, its a new DOS interpreter made by myself, which supports 320x200, 256 colors (the original one was using only 16 colors). It's source code is in Turbo Pascal, and its license is GPL.

    + NAPS, by Juan Manuel, it's a Python interpreter and DDB editor.

    + PAWS2DAAD, it's a decompiler of PAWs games, made by myself based on UNPAWS, which can create a source code close to DAAD syntax. Of course you better own the rights on the game you want to port before using it, but if that is the case, you can port a lot of ZX Spectrum  text adventures to other targets.

    + DAAD Ready, DAAD Ready is a package for Windows with all what a DAAD Developer would need, included emulators. It's made to be simple and let you concentrate on developing the game, and not in how do I put this file in a DSK file for MSX, into that C64 .D64 file, or which header should I add to that file to work. All that is handled by the build scripts. DAAD Ready includes DRC, PCDAAD, MALUVA, MSX2DAAD and the Plus/4 interpreter, apart of the original ones.

 

There have been new games since DAAD was recovered, although most of them are in Spanish, there is a very goood example though: The Curse of Rabenstain (https://8bitgames.itch.io/rabenstein). Basically it's ported to most of the targets supported by DAAD, and soon there will be ports for MSX1, MSX2 and the Spectrum one will finally get some pictures.

 

 

 

 

 

 

 

Edited by Uto
  • Like 5

Share this post


Link to post
Share on other sites

So, what can be done to have a DAAD interpreter for other machines? Well, there could be two different approaches:

 

1) If the machine is close to one of the old targets (i.e. uses a Z80 or 6502 CPU) then there could be a chance to change what it has to be changed (i.e. text output, graphics, etc.) and compile the old interpreter  to generate a new one. Doing this would require a special permission from Tim Gilberts from Gilsoft, because source code is not open, but can be given to someone working on a new terp, like it was done with Plus/4 target, with a non disclosure (of the sources) agreement. The source code it's all assembly, and it's clear for me that the original one was Z80 code, as the 6502 looks cleary ported as its using same page 0 RAM to simulate ZX80 registers, so well, it's 6502 assembly, but a bit weird sometimes 🙂

 

2) The other way is using one of the new interpreters (MSX2DAAD or PCDAAD) as base to create the new one. PCDAAD is made in Turbo Pascal, so it would rather target  16 bit targets which have a decent pascal compiler. MSX2DAAD is written in C, so it can be compiled for 8 bit machines easier. The problem with MSX2DAAD is as it is compiled, not assembly,so the interpreter is larger than any other 8 bit terp. That is not a problem for MSX2 as VRAM is not mapped in RAM so it has almost 64K RAM free, but may be a problem for other machines that map VRAM in RAM, ot that just have less RAM available (so far the smallest target supported it's ZX-Spectrum, with it's 48K RAM where 6K are taken for video so is actually only 42K).

 

Please notice the DDB file basically contains the same for all targets, but some pointers that are made static to fit in each target memory layout, so in the end you actually have almost one DDB file per target, although the compiler makes easy to choose target and you can create all them fast.

 

So for TI-99/4A I would actually go the MSX2DAAD way. I won't be doing a the port, but I,m able to help a lot explaining everything to anyone interested in doing it (for TI-99/4A or for any other computer).

 

I hope it helps.

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
3 hours ago, Asmusr said:

I believe DAAD was used to create the game Hibernated 1 Director's Cut, so an interpreter should exist for the TI-99/4A already, but perhaps without graphics support?

 

First release of Hibertated was made in DAAD, the new "Director's cut" is made with punyInform and so it can run in many more platforms but, as you say, without graphics.

Share this post


Link to post
Share on other sites
2 hours ago, Asmusr said:

OK 😞. The thing that's not clear to me is how much difference there is between the compiled data files on the various platforms. For instance, are the files compiled for the MSX in a common, well documented format, except for the graphics that would have to differ between platforms? If not, then it seems we would need both a compiler and an interpreter for the TI-99/4A.

The data files are well known, not very well documented, but well known, and adapting my compiler (DRC) to another target is something I can do. If someone decides to create a new interpreter the compiler part won't be a problem, I will support the new platform, and even if I suddenly disappear, the compiler is GPL so anyone can actually do it.

 

In fact, I know some is now making a new interpreter for ZX Spectrum 128K, that takes advantage of extra RAM, and he has forked the compiler to support it, something I'm OK with too.

  • Like 1

Share this post


Link to post
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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...