Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


PAWS2DAAD takes snapshot files (.SNA, .SP, .Z80) of  Spectrum  games written with either The Quill (version A or C)
or the Professional Adventure Writer, and  produces source files for DAAD (Aventuras AD Adventure Writer), which is
the evolution of Quill and PAW made by Infinite Imaginations (aka Tim Gilberts) for Spanish company Aventuras AD.

Please make sure you use the tool to convert/update your own games, or ask for permission to copyright holder(s) if
you use it for third party games.


Only the Windows version is compiled at the moment:

You can though compile it using freepascal (install package fpc on Linux or find the 
free pascal compiler in the Lazarus page for Mac, then just "fpc paws2daad.pas" from
the source file at Github repository)


PAWS2DAAD generates DAAD source in the DSF format used by DAAD Reborn Compiler, which is a modern 
implementation of the old compiler, with some newer features. DAAD Reborn Compiler (aka DRC) is
also include in the "DAAD Ready" suite.

On theother hand, PAWS2DAAD does not generate a DSF source file which can be used directly in DAAD, because
DAAD start database file uses processes in a different way. You can find the start database files at
DRC site ( There is one for English and one for Spanish.
You will notice that file already have 7 processes. You will have to manually merge the start
database and PAWS2DAAD output. 

In order to do that you will have to accomodate the DAAD processes into 
the exported content, so these are the steps:

1) In the file generated by PAWS2DAAD, renumber all process from process 3 and above, to have numbers above 7. 
So if for instance you have process 3,4,5,6,7 and 8, make process 3 become process 9, process 4 become 
process 10, process 5 become 11, and process 6 become process 12. You can leave process 7 and 8 as is because ç
they are already above 6. Please have in mind DAAD expects processes in numeric order, so you cannot just 
renumber process 3 to 6 and leave them in the same place in the source file, you  would have to move the 
position where process 6 should be (just after process 5).
2) You also have to find any PROCESS condact calling these processes and renumber those calls too. 

3) Now also renumber process 1 in your file to 3, process 2 to 4 and process 0 to 5, and place them in 
order in the file. 

4) You  will now have a DSF file missing process 0, 1, 2 and 6. Copy those processes from standard 
start database DSF file you can find in DRC site.

5) If the game you are porting used auto-decrement flags, make sure you remove semicolons in the second
entry of new PROCESS 1. That entry, which is commented by default, simulates PAWs auto-decrement 
flags,as DAAD does not support them by default. This is the code :

> _       _     MINUS   5       1       ; Update auto flags
                MINUS   6       1       ; These are not supported anymore
                MINUS   7       1       ; as we use the low section as
                MINUS   8       1       ; a small stack
                NOTZERO 0               ; But should you need them
                MINUS   9       1       ; this is the Version 1 DAAD code!
                ABSENT  0
                MINUS   10      1

6) If you were converting a Quill game, check the /VOC section and complete the words up to 5 characters, 
as Quill only supports 4 but DAAD requires 5. For instance if you have this:

LANC 100 noun

Replace with:

LANCE 100 noun

7) Once this is done, game should be compilable and playable, but not everything from PAW/QUILL can be converted
to DAAD, so PAWS2DAAD adds "PAWS2DAAD note" comments wherever it had to make some changes. Most of them should work
out of the box, but if something is not properly working you better start checking those comments first.

The code  has been  compiled  with Freepascal so it's easy to get it working for Windows, Linux and MacOS at least.

To build the code just install freepascal and type:

fpc paws2daad.pas


The input must be any spectrum game made with PAWS or Quill, in any  of this file formats:

    - .SP  (Pedro Gimeno's Spectrum Emulator)
    - .SNA (JPP Emulator)
    - .Z80 (Lunter's Z80 Emulator)

Only certain versions of Z80 games are supported, so if you find problems with it convert 
the snapshot to SNA first.    


Just  type  PAWS2DAAD in  the  command line to know about the syntax.


This program  is based in UNPAWS, which was developed first by Jose Luis Cebrian, and then ported to pascal and improved by Carlos Sánchez. Releases
starting from version 1.0 are maintained by Alexander Katz. The source code has been published in Github by Carlos Sánchez. This fork has been made
by Carlos Sánchez (Uto).


Any bug  report  or  suggestion could be sent to Github's bug tracker.


Extracts sources from PAWs Spectrum games in a format able to be compiled with DRC (DAAD Reborn Compiler)







No releases published


No packages published