nataliapc / msx2daad

DAAD interpreter created from scratch for MSX2/MSX2+ systems using the graphical capabilities of this machines.
Other
35 stars 3 forks source link
adventure c daad engine interactive-fiction msx msx2 msxdos php sdcc

MSX2DAAD

Content index


Description

This project is a DAAD interpreter created from scratch for MSX2/MSX2+ systems and using the graphical capabilities of this machines.

DAAD is a multi-machine and multi-graphics adventure writer, enabling you to target a broad range of 8-bit and 16-bit systems.
You can see the classic interpreters here.

MSX2DAAD is also compatible with DRC compiler, and Maluva DAAD extension emulating his new functionalities to the classic interpreters:

...and some others.


License

There is a LICENSE file you can read. You have rights to use, copy, modify, etc, this interpreter in your own games. But if you do a commercial use of it, you must send me a copy of your game.
Contact email: natypclicense@gmail.com


Compilation

You can download the last binaries release, or compile the binaries yourself.

To compile the binaries you need SDCC compiler.
Then just use the makefile:

To clean and compile the msx2daad.com:

make clean all

To test the /dsk folder content with openMSX (you need to add at least your DAAD.DDB to /dsk):

make test


Create your own Adventure: Sources and Compilers

To create your own adventure you need a text source file (.SCE or .DSF), with the definition of your game, and must be compiled to DAAD tokens (.DDB file) using a compiler. The .SCE files are used by the original DC compiler, that needs DOSBOX and source files using CP437 encoding, so we discourage the use of this files.

We recommend the use of the new DRC compiler (for .DSF files). The source file must be encoded with Windows-1252 or ISO-8859-1 charsets.
The DSF format is an adventure text source very similar to SCE but improved in several ways to create the .DDB compiled file.

There are empty templates in several languages to start your adventure:

The compiled DDB file must be renamed to DAAD.DDB and added to the disk where you have the interpreter (MSX2DAAD.COM) and the font image (FONT.IM8 for Screen8, etc...).

To learn more about how to create your own adventure your can:


Supported languages


MSX graphical modes & limitations

Screen 5 (MSX2)

Screen 6 (MSX2)

Screen 7 (MSX2)

Screen 8 (MSX2)

Screen 10 (MSX2+)

Screen 12 (MSX2+)


Aditional tools in /bin folder

imgwizard.php

A tool to convert SC5, SC6, SC7, SC8 and SCC images to the msx2daad and compressed format.
The compression can be: raw (no compression), rle, or pletter (needs pletter executable in the path).

Example to create an image (LOC1.IM8) from a Screen 8 MSX file using only the first 96 lines and compressing with RLE:

$> php imgwizard.php c LOC1.SC8 96 rle

You can execute the tool without arguments to see examples of all the options and uses.

precomp.php

Read a DDB adventure file and generates the file /include/daad_defines.h with a list of condacts not used in the input adventure file.
If after that you do a clean compilation, you will obtain a thin msx2daad executable.

Execute this tool from the root folder of msx2daad:

$> php bin/precomp.php dsk/DAAD.DDB include/daad_defines.h

You can also use this feature using the makefile target:

$> make precomp

dsktool/dsktool.exe

A Linux/Win32 tool to create and manage disk images (FAT12) from command line.
You can create disk images of 360Kb, 720Kb, 1440Kb and 2880Kb sizes.
List, add, delete, and update files of your MSX-DOS disk images.

testdaad.c

A command line program for testing your adventures using a text file with the commands and the expected texts in return.
You need openMSX emulator configured and in the path and compile msx2daad with test support using -DTEST parameter.
The testdaad program can be compiled with GCC/MinGW.

#
# Example of testing input file
# msx2daad.com must be compiled with -DTEST
#
# > is used to send commands
# < is used to expect output texts
#
>go north
<bad direction
>go east
<bad direction
>take sword
<taken

External tools

WebMSX Emulator

Easy to use online MSX Emulator where you can test your adventure without instalations.
https://webmsx.org/

Online MSX Screen Converter (jannone)

You can use this page to convert yours original pictures to MSX format.
Palette files are not generated and must be done handmade, but screen 8 and screen 12 files can be generated easily.
http://msx.jannone.org/conv/

MSXViewer5 Screen Converter (MarMSX)

A powerful tool to convert pictures to MSX formats. Versions for Linux and Windows.
You can export image and palette files.
http://marmsx.msxall.com/msxvw/msxvw5/index_en.php