@SinclairSpeccy The binary file should probably not need a separate linking stage since the #assembler #Merlin32 is capable of dealing with the 'org' defs in the source file (multiple segment source file with absolute segments) as is and the two fixed segments in the source code sets them to 9000h and 9500h, latter labelled 'loader'. There is probably a bunch of tricks to this boot sector #virus. I installed the #linapple #emulator on my #debian 11 #linux workstation and then used the #AppleCommander to create #AppleDOS disk image onto which I placed the binary. I toyed around a bit with placing the binary at some various sectors prior of loading the 'dsk' file into the emulator. I then tried with using the 'INIT' command setting the virus binary as the executable and rebooted with it, though I cannot report that it works as is. There is more to it IMO regarding required sector locations. See e.g. this archiv.org paper for more details: https://arxiv.org/pdf/2007.15759.pdf
As you can see, it is expected to be located in one of the reserved sectors for relocators, so it must be on a master boot disk (not a slave disk) with relocator (the virus wants to sit in a relocator sector) and the boot must init the virus (maybe possible by just setting it with INIT)
Kind of ran out of time on this experiment. If I get moving on this again, I will let you know.
As you can see, it is expected to be located in one of the reserved sectors for relocators, so it must be on a master boot disk (not a slave disk) with relocator (the virus wants to sit in a relocator sector) and the boot must init the virus (maybe possible by just setting it with INIT)
Kind of ran out of time on this experiment. If I get moving on this again, I will let you know.