Emulating an Amstrad XT
I'm aware of four emulators that emulate Amstrad XTs: MAME, PCem, 86Box and VARCem.
According to its list of emulated systems, MAME emulates the PC1512, PC1640, PPC512, PPC640, PC20, PC200, PC2086 and PC3086 — ie, everything except the PC5086. However only the PC1512 is shown as fully working.
PCem supports the same list of systems: PC1512, PC1640, PPC512, PPC640, PC20, PC200, PC2086 and PC3086.
Of those two, I'd recommend PCem; being more tightly focused on PC emulation, it's easier to set up and use, and less likely to have its emulation of a particular system broken by changes made elsewhere in the code.
86Box and VARCem are both based on PCem, so their emulation of Amstrad XTs is likely to be similar. I haven't investigated them in any depth, so you'll have to compare them and draw your own conclusions.
John Elliott 26 June 2019