I have created this tool chain to automatically go from patch source code (in Motorola 68000 assembly language) to a patched Knights of the Round ROM set, which could be run immediately in an emulator. The tool chain consists of the LEA assembler (for 68000), as well as a number of small tools I wrote.
Since all CPS1 games run on a 68000 system, the tool chain can be easily modified to patch any CPS1 game.
CPS1 patch development tool chain (tested in Windows 10) - download and extract anywhere; then run make.bat
Take a look at make.bat to learn how to develop your own patch. The tool chain comes with a simple, example patch of changing some of the text at game startup to something like "Hello World". Text changes like these can be done by first finding text strings by using a hex editor such as Hxd, and then writing the patch source code to replace that string at its starting offset.
Obviously, for more advanced patches - such as changing or adding functionality - a more significant reverse engineering effort is required.
This is how Knights of the Round starts up after the example patch has been applied:
The text patch that accomplishes this is:
org $74876 ; the string we're replacing starts at this address
dc.b $0E, $0D, $10, ' HELLO, WORLD! (FROM OUR PATCH) ', $2F
; $0E is the X location of text, with $05 being left most column
; $0D is the Y location of text, with $02 being top most row
; $10 contains text attributes
;
; we must start from an even offset and have an even length
; which is why the extra $2F is there at the end
Simply download and unzip the package, run make.bat, and then run knights.zip from output\