Inspired by gbl08ma tips from OS 2.00 topic I managed to create a language add-in template which is available now in archive here: https://www.cemetech.net/programs/index.php?mode=file&id=1434
Code:
While being similar to g3a file structures most of the file structure of language add ins does not appears to be strictly enforced any way.
Differences are first 8 bytes reading "Ly755 " if inverted, FF FF at 0x0016, 04 01 at 0x0024, how executable size is computed at 0x0036 and so on as per read me file in the archive but from the header only "04" at 0x0024 and file size at 0x005C seem to be actually checked by the OS.
File name (case sensitive) including g3l extension at address 0x0EBC seems to be used by the OS too upon loading. 0x0E9C holds Language name 0x0EAC Language salutation (both 00 terminated) which will appear in the settings list.
Please refer to the read me in Archive above for the description of the executable part of the file.
Removing padding at the end of the file seems to be fine too if you want to reduce the size of the file but remember to leave end of file checksum to match the one at 0x0020 and to adjust the value with the total file size too.
Just to demonstrate how system messages can be changed here is the snapshot of my Lock http://www.cemetech.net/programs/index.php?mode=file&id=1212 add-in's screen from the emulator using OS2.00 but with the ECON app name from OS2.02:
Code:
Similar to Russian g3l add-in but this one in English and covers the whole of currently known range of messages and due to not being in Cyrillic is easier to read in hex editors. Also included file structure description in read me file to make it easier for developers to add new languages to Prizm.
While being similar to g3a file structures most of the file structure of language add ins does not appears to be strictly enforced any way.
Differences are first 8 bytes reading "Ly755 " if inverted, FF FF at 0x0016, 04 01 at 0x0024, how executable size is computed at 0x0036 and so on as per read me file in the archive but from the header only "04" at 0x0024 and file size at 0x005C seem to be actually checked by the OS.
File name (case sensitive) including g3l extension at address 0x0EBC seems to be used by the OS too upon loading. 0x0E9C holds Language name 0x0EAC Language salutation (both 00 terminated) which will appear in the settings list.
Please refer to the read me in Archive above for the description of the executable part of the file.
Removing padding at the end of the file seems to be fine too if you want to reduce the size of the file but remember to leave end of file checksum to match the one at 0x0020 and to adjust the value with the total file size too.
Just to demonstrate how system messages can be changed here is the snapshot of my Lock http://www.cemetech.net/programs/index.php?mode=file&id=1212 add-in's screen from the emulator using OS2.00 but with the ECON app name from OS2.02: