Did this yesterday so wanted to note down somewhere how to convert movie files using the PCEHawk core to the TurboNyma core. This was done for BizHawk 2.11. Three things need to be changed. The core stated in the Header, the string identifying the core settings in SyncSettings, and the format of the "Input Log.txt" file. This game I had done was as single player game.
1) Open up the PCEHawk in BizHawk and then export it to bk2.
2) Rename the extension to .zip. The .bk2 files are just .zip files.
3) Extract to a new Folder. In the folder there should be a Comments.txt file, a Header.txt file, an "Input Log.txt" file, a Subtitles.txt file, and a SyncSettings.json file.
4) Open the Header.txt file and modify the line "Core PCEHawk" to become "Core TurboNyma". Save the file.
5) Here I took the content of the SyncSettings core from a movie that used the TurboNyma core and overwrote the contents of the PCEHawk SyncSettings file. In the SyncSettings file it should read something like the following :
"{"o":{"$type":"BizHawk.Emulation.Cores.PCEngine.PCEngine+PCESyncSettings, BizHawk.Emulation.Cores","Port1":1,"Port2":0,"Port3":0,"Port4":0,"Port5":0}}".
Change the text to :
{"o":{"$type":"BizHawk.Emulation.Cores.Waterbox.NymaCore+NymaSyncSettings, BizHawk.Emulation.Cores","MednafenValues":{},"PortDevices":{}}}
Save the file.
6a) Open up the "Input Log.txt" file and here the Keys displayed after the [Input] need to be replaced from the format for PCEHawk to what TurboNyma uses.
For PCEHawk it looks like :
LogKey:#P1 Up|P1 Down|P1 Left|P1 Right|P1 Select|P1 Run|P1 B2|P1 B1|
Replace that text with
LogKey:#Power|Reset|#P1 Up|P1 Down|P1 Left|P1 Right|P1 Select|P1 Run|P1 Mode: Set 2-button|P1 Mode: Set 6-button|P1 IV|P1 V|P1 VI|P1 III|P1 II|P1 I|#P2 Up|P2 Down|P2 Left|P2 Right|P2 Select|P2 Run|P2 Mode: Set 2-button|P2 Mode: Set 6-button|P2 IV|P2 V|P2 VI|P2 III|P2 II|P2 I|#P3 Up|P3 Down|P3 Left|P3 Right|P3 Select|P3 Run|P3 Mode: Set 2-button|P3 Mode: Set 6-button|P3 IV|P3 V|P3 VI|P3 III|P3 II|P3 I|#P4 Up|P4 Down|P4 Left|P4 Right|P4 Select|P4 Run|P4 Mode: Set 2-button|P4 Mode: Set 6-button|P4 IV|P4 V|P4 VI|P4 III|P4 II|P4 I|#P5 Up|P5 Down|P5 Left|P5 Right|P5 Select|P5 Run|P5 Mode: Set 2-button|P5 Mode: Set 6-button|P5 IV|P5 V|P5 VI|P5 III|P5 II|P5 I|
6b) Now to modify the input text to work with the TurboNyma core format. I am using Notepad++ here to do the text replace using regex. Open up the Find and Replace popup box in Notepad++. (Press Ctrl + H , or find it in the menu at Search -> Replace).
Select "Wraparound", and "Regular Expression" in the popup window.
In the Find textbox enter:
\|(.)(.)(.)(.)(.)(.)(.)(.)\|
In the Replace enter:
\|..\|$1$2$3$4$5$6......$7$8\|..............\|..............\|..............\|..............\|
Press "Replace All".
Save the file.
7) Double check the Header.txt, the SyncSettings.json, and the "Input Log.txt" file look correct. Then Select all the files in the folder and Compress to a .zip file. Then Rename to .bk2.
8) Try to open the bk2 file in TAStudio.
Troubleshooting:
For Step 5, if this gives problems start up the Turbo-Graphix game and create a new bk2 file using the TurboNyma core. Open the SyncSettings.json file using a zip program like 7zip and copy the contents of the SyncSettings.json. Copy that string to the new file.
For Step 6a and 6b, if the format seems throwing an error makes sure the sections are actually correct and that "Wraparound" and "Regular Expression" were checked. To double check the format is still right, open a new project in TAStudio, Make a line near the top have all the possible inputs. Save that and open the "Input Log.txt" and do a visual comparison. If the format has changed the regex might need some tweaking.
Input Log files work like the following. First it has the [Input] line, then the line for the format of what a frame of input would have accept as input. The format needs to match what the core expects. Each frame has multiple sections which are separated by a "|" symbol. The sections relate to the number of controllers and the system inputs like power and reset. If the number of inputs does not match or the input is incorrect then it will not be parsed right and throw an error. When a button has no button it will be a ".", but when there is an input the input will be a single character instead of the ".". To find that single character make inputs all across a single frame in TASStudio then compare the input placements to what the LogKey section above denotes. Most are easy to identify such as Up = "U" or Button 1 = "1", but there are several Mode buttons that should be double checked.
Regex will take the existing inputs per frame for the PCEHawk and then place them into the correct spot in the new format as well as adding additional inputs that PCEHawk is does not have here.
It starts with identifying the inputs on the frame line with the "|" and at the end identifies the ending "|". The backspace in the "\|" has it has a character.
"." in regular expressions (regex) denotes any character at all.
Parenthesis will have content found by that spot in the regex be able to use that later in replacement. T first (.) found allows the user to then use $1 to move the content in that spot to the new spot in the replace. Ex: Finding "Hu(.)an" in the string Human and then using the Replace string "$1uman" would result in "muman". It took the "H" and then in the replacement string it replace the first "H" and replaced it with "m".
Since the TurboNyma has the additional section for Power and Reset that needs to be added so that is why the "\|..\|" is added at the the start of the replacement string. "$1$2$3$4$5$6......$7$8\| is the first player having the inputs moved into the proper spots and the additional "." being the additional inputs. "..............\|" are each of the additional controller inputs.
discord: CoolHandMike#0352