I have great news for everyone with upgraded flash chips in their CE calculators! Previously, this type of upgrade was essentially useless, as TI-OS was only designed to work with the original 4MB, and no assembly programs took advantage of the extra memory either. I'm excited to announce that I'm releasing a patch manager that I've been working on for the past few weeks that changes this. It applies patches related to making TI-OS map up to (approx 11.4MB) of flash space dedicated to the archive. The patch manager is still in an early state, so there may be bugs.
I'm looking forward to seeing what will be done with all the extra memory! More details on the README
https://github.com/qnex0/ce-patch-manager
Great indeed, but release 1.0 was apparently removed before I could download it...
https://github.com/qnex0/ce-patch-manager/releases/tag/v1.0 😢
critor wrote:
I just made the realization that 12MB cannot be mapped so I pulled the release. Did all my tests using 8MB and was wrong to assume that 12MB would just work. It turns out that mapping 12MB causes 0x400000-0x7FFFFF to either become a mirror of 0x000000 or unmapped. A shame because the logic to patch both 8MB and 12MB + the Draw32 patch goes to waste. Either way, post has been updated and the release is back, only with 4MB less storage 🙃. Guess the multi boot feature really is needed now.
Is it a hardware or software issue for the 12MB ?
Just a consequence of the TI-eZ80 hardware memory map, right ?
My first guess on the 12MB issue is a possible misconfiguration of the Flash address mask register. The mask register doesn't set a range on the Flash addresses per se, it literally masks the address when accessing Flash. If it's not set to a power of 2, that can cause unwanted mirroring.
So if you used a mask of 0xBFFFFF for 12MB, that's going to reset bit 22 of every accessed Flash address which would cause 0x400000 to be a mirror of 0x000000. What should really be done is rounding it up to the next power of 2, which would be a mask of 0xFFFFFF in this case.
It should be noted that this does not affect the amount of eZ80 address space mapped to Flash, which is always 12MB. It would simply create a 1-to-1 mapping of eZ80 address to Flash address within the mapped area.
Wow, this is a very impressive project!
I've just installed it on my own CE, it works great
🙂
calc84maniac wrote:
My first guess on the 12MB issue is a possible misconfiguration of the Flash address mask register. The mask register doesn't set a range on the Flash addresses per se, it literally masks the address when accessing Flash. If it's not set to a power of 2, that can cause unwanted mirroring.
So if you used a mask of 0xBFFFFF for 12MB, that's going to reset bit 22 of every accessed Flash address which would cause 0x400000 to be a mirror of 0x000000. What should really be done is rounding it up to the next power of 2, which would be a mask of 0xFFFFFF in this case.
It should be noted that this does not affect the amount of eZ80 address space mapped to Flash, which is always 12MB. It would simply create a 1-to-1 mapping of eZ80 address to Flash address within the mapped area.
Wonderful! I set the mask to map 16MB of flash and it seems to be working properly now. I just made a v1.1 release that adds back the 12MB feature. Those who already installed v1.0 can simply send UPDATE.8xv to archive and launch the manager to update.
This is awesome! Is there any tutorial or guide on how to mod my CE to do this?
korbosoft wrote:
This is awesome! Is there any tutorial or guide on how to mod my CE to do this?
- Ensure hardware revision of your calc is M+ (last character or two at the end of the serial number). If it is older than rev M, steps 4-6 will be much more difficult.
- Obtain a ROM dump from your calc (using CEmu or [Web]TiLP)
- Patch the ROM dump using the "ce-rom-patcher" included in the release.
- Write the patched ROM image to the new (hopefully larger) flash chip using an EPROM programmer. W25Q128JVSIQ (16MB) or W25Q64JVSIQ (8MB) are safe bets. Boot sector must be unlocked.
- Remove the old flash chip
- Solder the new flash chip
- Hold ALPHA and hit the reset button to launch the patch manager, then apply the patch
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.
»
Go to Registration page
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum