suprterminal: fix unpredictable memory map due to uninitialized value #12872
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.
Poking CFFF and then C300 is supposed to map the C800 range to the Sup'R'Terminal extension ROM.
But if you do that right after bootup, then the CFFF poke will not run
a2bus_suprterminal_device::write_c800
, because the C800 range is not yet assigned to the Sup'R'Terminal. (IOW,apple2_state:m_cnxx_slot
is still -1.) Because of that,m_bC800IsRAM
will remain uninitialized.The C300 poke will then assign the C800 range to the Sup'R'Terminal, but since
m_bC800IsRAM
is uninitialized, it will be unpredictable whether accesses to that range go to the extension ROM or RAM.Fix this by initializing
m_bC800IsRAM
ina2bus_suprterminal_device::device_start
.