The best answer to that question is to look at the Z8S180/L180 Errata ZMP0599. I've worked a fair amount with the Z180 and the two most obvious potential gotchas with the S180 and L180 are:
- CSI/O TXS always returning to high after completion
- STAT1 in CNTLB1 always reads as 0
There are S180/L180 enhanced features which means code that uses these enhancements will not be compatible with the 64180 or original Z180. Although it's not obvious in the datasheets, in my experience using S180 frequency doubling, the CMR register must be written before the CCR register. Also if using the ASTCxH / ASTCxL BRG then although the manual states ASTCxH is initialized to zero upon reset, on some (all?) mask versions it must actually be written as zero before communication will work.