EXB_RAM restore secondary slot(#75) #103
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In case of COMMAND2.COM 2.4x, two or more Nextor kernels, primary memory mapper and secondary Nextor kernel are on same primary slot.
Example:
slot 1 MegaFlashROM SCC+SD
1-0 MFR Recovery
1-1 MFR SCC
1-2 MFR Secondary Memory Mapper 512KB
1-3 MFR Master Nextor kernel with MFR driver
slot 2 Carnivore2
2-0 C2 Menu
2-1 C2 Secondary Nextor kernel with Sunrise IDE driver
2-2 C2 Primary MMM Mapper 1MB
2-3 C2 FM-PAC
COMMAND2.COM initial slot state.
|Pg0|Pg1|Pg2|Pg3|
|2-2|2-2|2-2|2-2|
COMMAND2.COM 2.4x calls EXTBIO to allocate mapper segment.
CALLF in page3 RAM changes slot of page1 to master kernel.
|Pg0|Pg1|Pg2|Pg3|
|2-2|1-3|2-2|2-2|
Master kernel calls EXB_RAM.
EXB_RAM in page3 changes slot of page1 to secondary kernel.
|Pg0|Pg1|Pg2|Pg3|
|2-2|2-1|2-2|2-2|
EXB_RAM in page3 changes slot of page1 to master kernel, and return.
|Pg0|Pg1|Pg2|Pg3|
|2-2|1-3|2-2|2-2|
CALLF restore primary slot and secondary slot of slot1 , but not secondary slot of slot2.
|Pg0|Pg1|Pg2|Pg3|
|2-2|2-1|2-2|2-2|
Return to page1, but page1 is not primary mapper RAM.
Closes #75.