Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Extracts sources from PAWs Spectrum games in a format able to be compiled with DRC (DAAD Reborn Compiler)
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
PAWS2DAAD ========= TARGET ------ PAWS2DAAD takes snapshot files (.SNA, .SP, .Z80) of Spectrum games written with PAWS or Quill system (version A or C), and produces source files for DAAD (Aventuras AD Adventure Writer). Please make sure you use the tool to convert/update your own games, or ask for permission to copyright holder(s). NOTES ON PAWS/QUILL TO DAAD CONVERSIONS --------------------------------------- PAWS2DAAD does not generate a DSF source file which can be used directly for DAAD, that's because DAAD start database file uses processes in a different way. You can find the start database files at DRC site (https://github.com/daad-adventure-writer/DRC). 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 cause 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 any of those comments first. PLATFORM -------- 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 INPUT ----- 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) USE --- Just type PAWS2DAAD in the command line to know about the syntax. DEVELOPERS ---------- 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). REPORTS ------- Any bug report or suggestion could be sent to Github's bug tracker.