Bootloader kicking out modded firmware Guys,
I wonder if there is more to the checksum scheme than we first thought. I made what should have been a minor mod (a JSR to an existing function) using some unused data bytes. The mod works if I execute (not upload) the firmware - giving me a sequence of beeps everytime a filename is loaded into memory. (very interesting effect, really).
When I upload and replace the existing firmware, the bootloader kicks me out. I did let pv2tool update the checksum.
Am I, or are we, missing something?
Create987- 08-13-2005
Re: Bootloader kicking out modded firmware Guys,
I wonder if there is more to the checksum scheme than we first thought. I made what should have been a minor mod (a JSR to an existing function) using some unused data bytes. The mod works if I execute (not upload) the firmware - giving me a sequence of beeps everytime a filename is loaded into memory. (very interesting effect, really).
When I upload and replace the existing firmware, the bootloader kicks me out. I did let pv2tool update the checksum.
Am I, or are we, missing something?
My guess would be that each bank was checksum'd independently from the rest of the image.
EDIT: Nope... There is *NOT* a checksum at the end of each bank. But it seems strange they would bank memory at 12 kb boundries??? It would seem much more natural to use either a 8 kb or 16 kb bank size???
And it is also interesting that there are large chunks of memory unused in these banks. 2KB or 3KB at various places. Enough room to do some good stuff.
radarman- 08-13-2005
Not really - I'm pretty sure the onboard memory in the ASIC is only 4kB - and the lower 1kB is common to all (library, init, etc). It takes quite a bit of code just to setup the camera and the banking structures.
So, they chose to "bank" the upper 3kB of the internal SRAM. I suppose it was cheaper than making the internal SRAM larger.
OldProfessorBear- 08-13-2005
Just curious, really - since I haven't been able to make my cable as yet. But ... has anyone made a rough memory map of the 6550? I keep finding myself having difficulty visualizing what's where and how it works.
(Mind you, I once was a hotshot assembly programmer, and worked on devices that relied heavily on overlays and bankswitching, so am not unfamiliar with the concepts ...)