haya
Also, how would actual changes to the firmware be made?
see example of 40D patching experiments
https://chdk.setepontos.com/d/1359/120
of course you will need to write packer for this type of firmware.
also you will need to upload it to camera somehow.
1) some olympus cameras (with sanyo based processors. SP, some FE models and many others Nikons, Fuji) can update firmware without olympus master. extract sd card. connect camera to pc. place _DECRYPTED_ file to internal memory as /FIRMWARE/FIRMWARE.BIN . disconnect from PC. switch on. go to play mode. update firmware screen appears. maybe it will work for your firmware too.
2) emulate update server 😀. patch yours hosts file. make some http server. apache with php will do fine.
haya
I'm assuming the IDA disassembly does not lend itself to be modified directly and re-assembled?
Should changes be made in the machine code itself?
1) find some code which is not used usually but which can be invoked via some menu (help or something...). this would allow you to experiment and ability to restore original firmware.
2) replace its code with yours. I would suggest you to compile code to be position independent.
first of all I would dump full ROM to see whole startup procedure. there can be references to some special files which could be placed to SD-card and launched.
ROM addresses can be guessed by reading CPU docs (strartup address. dump about 64kb at first)