[Touch Diamond, MDA Compact IV General] low.flying.pigs:
Hello Blaustein / Klaus and WolWer / WoWe,

Thank you for the kind words of appreciation. Confirmation of Buzzer.dll correct extracted file size is useful.

I have now analysed all the extracted .exe and .dll files as per the attached file list of post 2088. Apart from Buzzer.dll and ST.exe as previously detailed, no others appear to contain anything of relevance to buzzer operation. (mnavdce.exe was not extracted, possibly because it is not in the ROM file in the first instance. Perhaps this is because it is located in My Flash Disk, and this along with the remainder of the navigation software is normally installed / upgraded by the user separately when connected to the PC, either manually or automatically? Alternatively, maybe some 'get started' content that should be placed to My Flash Disk was contained in a section of the ROM file that has not been extracted thus far? Unfortunately, the manual, at least when translated to English, is rather unclear as to what behaviour should occur in this regard.)

If the fourth variant of the CE_Beep test program is unsuccessful, it may be useful if an S3857 owner could assist with the following:

1: Confirm whether the Registry contains any further references to Buzzer, and / or provide a full Registry backup for analysis. Assistance with that can be provided as required on request.

2: Confirm whether the S3857 in an as supplied state / factory default / factory settings / hard reset state (i.e. without user alteration, addition or removal of files) contains files other than those as per the attached file list of post 2088, and if so, the filename and folder locations, and which if any can be copied in an ordinary manner. Also, confirm when the S3857 is hard reset / factory reset, is My Flash Disk erased, user files lost, and only any manufacturer files restored. Ensure a backup of any files has been taken if desired and / or necessary before proceeding.

Unfortunately, given the nature of the ROM file from which files have been extracted, there is no readily available method to reliably determine the extent to which extraction is complete. In addition, data within a ROM file has multiple purposes, and is not just files. Broadly, the size in total of the data extracted is roughly commensurate with the size of the ROM file, indicating possibly extraction is to a large extent complete, if not fully. For similar reasons why completeness of extraction is uncertain, folder structure I think has also been lost, and possibly also location, i.e files, if any, that should be on My Flash Disk are not distinguished.

Note that it will be necessary to ensure hidden files and protected operating system files are not hidden.

It may or may not be the case the files listed in the first section of the list are visible to the user on the device. If not, probably they all are not. and should therefore be ignored.

General information on Windows CE 5.0 loading and usage of .dll is here and here leading to further information. The Registry does in some circumstances at least seem to be involved in loading drivers. Also mentioned is that a .dll is loaded once and then mapped. This may somewhat explain my earlier observation in post 2084 quoted below.

Once correct commands are known, these have to be correctly implemented in order to function. Potential missing files can be determined if required as detailed above. If any missing files, such as ANIMATION.dll potentially, can be either copied directly or extracted from ROM file, analysis may yield further commands.

Unfortunately, in brief, essentially for similar reasons as to why some files on the device located in ROM cannot simply be copied in an ordinary manner, whilst they can be analysed if extracted from a ROM file, such files will not execute unless located in ROM. This is because these files are what is known as XIP ROM files, that being Execute In Place, i.e. execute from ROM. This explains the pinvoke error in the emulator even though the file is present. It is not being executed from ROM as required. With less unusual and obscure files, non XIP variants can often be readily obtained. This particular behaviour should not occur on an actual S3857, however the test program may fail for other reasons.

Ordinarily, to enable execution of these would require creation of a ROM file that includes the file, and installing that ROM file on a compatible device. It may or may not be possible to integrate the file in to an emulator image, and then run in the emulator, dependent on whether the emulator supports XIP ROM files. If successful, obviously no beep would be heard from a non existent buzzer, unless that was also separately emulated / redirected to emit though ordinary sound channels. This is a summary, not an exhaustive explanation, and there are other aspects.

There are two apparent interpretations of that question, relating to individual extracted files being used in conjunction with a separate emulator image, or using an actual .bin image from which the files are extracted with the emulator.

Regarding individual extracted files, any that are not XIP ROM as detailed above, should execute subject to circumstances and requirements that may be applicable, similar to any other ordinary file.

Regarding .bin image, unfortunately, in brief, images are created in relation to a Board Support Package (BSP). Hardware has specific BSP based on the processor and chip set, and if applicable sometimes any custom hardware. Each emulator for specific hardware in turn has it's own specific BSP. A hardware BSP image will not run in an emulator, and vice versa. This is a summary, not an exhaustive explanation, and there are other aspects.

low.flying.pigs