Timbucus wrote: Sun Jun 30, 2024 5:01 pm
Popopo Did you ever mange to find the change log as that would be interesting! I wonder if it goes as high as the lost A08 and what that had extra or fixed. Unless someone has a copy of that as well
Now onto disassembly of the A07 and compare to the A03 original source I have, to reconstruct the A07 source...
Thanks to all on the forum and elsewhere who are helping with this.
Tim
Hello, everyone. Thanks to @aalea who shared it with me and helped me with it, I was able to try Quill A07 for Sinclair QL, and adapt my toolset to this platform, so now it can run QL databases, as well as produce databases that work on QL Quill. For those who don't know it yet, I refer to NAPS (
https://github.com/daad-adventure-writer/NAPS), which is an interpreter and development environment with GUI; mainly for Quill, PAWS, SWAN and DAAD with support for many platforms.
Now onto the topic I came for, the reason why I quoted Tim:
Tim, on my tests of Quill A07 for Sinclair QL, I have noticed two bugs on this version. The fist one is important: ATLT's implementation is wrong, it evaluates to true current location values <= than the parameter of ATLT, for example at location 0, ATLT 0 is evaluated as a met condition. The reason seems to be because that condact does a conditional jump with instruction BCC (or you might have it on the source with its alias BHS). Changing that instruction to BHI does the trick of ATLT working properly. As far as I can tell, this is a bug on Quill and not on the emulator (sqlux).
This might be of interest to several people: the aforementioned ATLT bug can be fixed - at least on a generated adventure file - by patching the desired file that has the interpreter code with an hexadecimal editor, by looking for the following hex string: b03a 06a8 (it's the comparison of ATLT condact), and replacing the 6464 sequence right after the one searched for, with 6264 instead.
The second bug is minor in comparison, and probably not as simple to fix, but it would be ideal to have it fixed. It is that the interpreter when printing one of the system messages of "Give me your command" (SM2 to SM5), if the message is totally empty, it still prints a new line afterwards, leaving an extra new line before the ">" order prompt. That newline makes sense only when there's any text on the message, but not when it's empty. If I recall correctly, there was some other Quill interpreter for another platform that had this undesired behavior when the author would put a code to change the color or activate inverse on those system messages, so the prompt would have a different color. So even that was considered a bug, something more complex than just checking for the system message's emptiness.