Hi all,
As Antus has let slip out, we (Antus and I) have been working on an Assembly Kernel for PCMHammer, this code was some test code that Antus left laying around, I stole it a couple of years ago and started teaching myself to write assembly (been reading for years), then I made the mistake? or purposly enticing?
posting of my success with it.
Well, it must have intrigued Antus for he asked to get involved in my project, he is light years better then I at assembly, so I gave him access to my repository and he took my work and ran with it creating a Loader Kernel!
Then I took his work, twisted it up and merged it into mine, I then merged it into PcmHacks Build system and fixed up PcmLibrary to support not only the new assembly Kernels, but also retain compatibility with the old C Kernels ...
So, we now have a Loader Kernel!
Hereinafter referred to as 'Loader'.
What does this Loader do for us, it allows us to get a larger Kernel onto PCM's like the P04, the P04 can take only 1 upload packet, getting a C kernel to fit in one packet for most low cost VCI's is next to impossible.
It can be done as I proved back in Jan 2020, it's just to simple with no room to grow ... It was clear to me we needed an Assembly Kernel, that is why I gave up on the P04 and the C Kernels, it was waste of time.
How this Loader works is, first of all it's tiny, just over 600 bytes, that means any VCI that can support 1024 byte packets can send it in one packet.
It is simple, it can respond to a Version Request, a Mode34 Request to Upload, and finally both Mode3600 Upload and Mode3680 Upload and Execute, that's it.
Now that it's on the PCM, we use it to receive a larger Kernel, then execute this larger Kernel once it's fully onboard.
The Loader memory space is returned to the system, to be used by the larger Kernel.
Now we'll (At least I will be) work on making these new assembly Kernels capable of writing to flash, I have done some of that code already, and I can steal Antus's Mode36 code, merging in with what I already have done in the flash department and we should have a Write Kernel!
This is not going to happen over night, but I assure you, it will have my undivided attention as full time as I possibly can manage!
Thanks to DWS, we now have BDM pinouts for the P04 so worrying about recovering during development is gone, unless we damage the chip.
The big cudo's go to Antus for doing most of the Assembly, it would have taken me a lot lot longer to get this far without his help!
Thank you Antus!
-Enjoy