if there is any potential for an AMOS pro "disassembler" to generate AMOS code from compiled programs?
It's a possibility... however you are asking us to fly before we can walk!
Bear in mind that disassembling to ASM source is a piece of cake compared to what you're suggesting. It does use discrete chunks of code (the stuff in the main libraries and extensions, each chunk representing an instruction, separate and loadable as position independent code). That should be relatively easily recognisable so it could be done. But what you'd get would have no recognisable variable names! Just V001, V002, V003$, V004#, and so on for however many are used in the program.
Anything is possible, it's just the amount of effort that varies! I'd think that it would be easier to use Resource on an executable to see to how it works.
Having quickly looked at some of my executables in Notepad (on my laptop), extension names and other AMOS paths are stored near the end of the executable (if include AMOS.lib is selected in compiler?). Error messages are stored next (if the option is set to include them), with data/sound/music/sprite banks stored at the very end. Quick summary of how an executable appears to be stored:
- ASM code (compiled AMOS code?)
* String variables (followed by numeric ones?)
- AMOS file paths (including default flash pattern)
- A list of extensions (used in code, or just those available when compiled??)
- AMOS banks (presumably in numerical order?)
Going back to sleep soon... I'm working this weekend
Edit: Just added the bit marked with an asterisk (*) at the start.