Originally Posted by AnimaInCorpore
I am just interested in technical details. I am also doing some ports so I would like to learn more about the pitfalls and problems other developers might have stumbled upon.
Porting a game is basically resourcing, then replacing everything that's platform specific (here ST specific) by your own stuff. This is for a 1:1 port, of course.
First problem that comes out is : absolute addressing. A real pain, you never know if something is a data or an address.
Specific to ST, usage of GEM is not quite easy to handle.
Dirty tricks, dynamic code loading, are big pests too.
YM2149 emulation has its problems and is a world by itself. In some cases (such as Super Sprint) it's quite easy (when you have the relevant tools) but if envelope (chip registers 11,12,13) is used, especially with a very small period, then it becomes a different story...
In all cases, having the experience of coding on a real ST is irreplaceable.