A common approach is to implement an emulator of the CPU and/or system which hosted the legacy game(s) and then to run the binaries of the game as-is (or only slightly altered).
This approach is certainly not as powerful as a true rewrite/port of the original work, for example it doesn t allow you to modify the game in any way, not even to fix existing bugs, but it is also very practical for by re-creating a single host system, one can run dozens of different games.
The tools to rewriting / porting an application in earnest are the common tools of reverse engineering of software:
- disassemblers (in particular for the Z80 CPU which was quite popular with arcade game producers)
- decompilers (if you have some insight into which higher language the game was written in)
- Google ;-) (I mean Internet Search Engines at large), as finding, even fragmentary source code or information related to the targeted game (or even to games produced on/for the same system) can provide a formidable jump-start to the project.
Before you get too advanced in any such project, I suggest you assert the legality of the project and that you seek formal permission fromthe relevant right owners etc.
I can t find it at the moment but I remember a story about someone who recently revived a long defunct game (!) running on now outdated hardware/system hosts, and yet who got in trouble when trying to market (or was it even for free?) the "revived" application...