All
I have posted rebuildable source to the Plink-ii overlays from version 1.14. They are actually marked as version 2 revision 3.
The files can be downloaded from
https://mark-ogden.uk/files/cpm/plinkovlsrc.zip
Note, the overlay.asm will generate the composite overlay.rel file, however it will generate an equivalent copy of the original rather than an exact copy. The reasons for this are
1) The original has specific timestamps
2) The original packs more bytes into each internal record cf. the TDL standard. Presumably Pheonix had an internal build version which did this.
I have compare this version with the other version which had separate overlay files, which are marked as verison 1 revision 5.
As to be expected the bulk of the code is the same, some of the differences are
1) The older version use the same module name .OVLY., the newer ones have different names for each overlay. I am assuming the linker versions rely on this info.
2) The older version has separate program and data areas, the newer one keeps in the single segment
3) The newer version caches the length and size of the requested overlay, which it uses when checking for overlays to unload.
4) Initialisation of the data area to 0 is done with slightly different code between the versions.
The key data that
execute.com writes to locations 4fh - 5bh, for the overlay file name, is used the same.
Note the shared source requires PASM. I tested an earlier version with TDL ZASM, however I had to make two changes to get the code to work with PASM, including adding the .PROGID.
When I get an opportunity to clean up the
execute.com disassembly I will publish it as well. However as it is pure 8080 code, I will probably share a version suitable for building with the standard CPM ASM command, without the strange PASM/TDL syntax.
Mark