Lots of times. TUART and DISK1 both exist on AltairZ80 simulator. TUART is SIMH TMXR compliant, so you can connect a real serial port and do Xmodem transfers (steps 3, 7 and 8 below).
I have not ported them to Altair8800 yet.
The 8MB Serial CP/M BIOS was done completely on the simulator. I also used the simulator to create Tarbell Double Density CP/M from the Single Density CP/M following Tarbell’s instructions. The BIOS for the JAIR was enhanced and all work was done on the simulator. The 8MB CP/M CBBS BIOS for PMMI and JAIR were done on the simulator. I am fairly sure Mike Douglas used the simulator when getting CP/M and FDOS working on iCOM hardware. The simulator is a big time saver and being able to dump memory, single step, set breakpoints, and see a history of instructions and registers is a real blessing.
Usually the steps I use are something like:
1) Consider writing a disk exerciser (AFEXER) for the new hardware since a lot of that functionally (drive select, seek, read/write sector) is needed for the loaders and BIOS. Real hardware can also be tested.
2) Get ROM boot loader, CP/M track 0 loader, and CP/M running on the simulator. This may require creating disk images with a hex editor. I often use the 8MB Atlair CP/M for assembling and building files to hexload and put on the new disk.
3) Port PC2FLOP to the new hardware configuration using the simulator. A stand-alone FORMAT program may also be necessary if non-standard format.
4) Transfer the disk image to a formatted floppy
5) Burn ROM or hexload loader
6) Hope it boots - wash, rinse, repeat if no boot
7) Port PCGET and PCPUT to new serial hardware using simulator, then real hardware
8) Port FLOP2PC to new hardware using simulator, then real hardware
You can never go wrong starting with anything Mike Douglas has done. I would start with a BIOS that most closely matches the hardware you want to use. You may also be able to mix and match; use parts an existing BIOS with DISK1 support and another BIOS with TUART. With IOBYTE, you can make a BIOS that supports 2SIO and TUART at the same time.
A good place to start is here: