Closed regregex closed 2 years ago
Possibly unrelated, but bbc_page_rom()
is quitting early because it is unaware the memory type has changed: main.c:503
calls bbc_load_rom()
which sets p_bbc->romsel
to the same slot number as passed to bbc_make_sideways_ram()
, and so bbc_page_rom()
called within the latter finds (curr_is_ram == new_is_ram)
true.
Thanks for reporting this. I've got a change coming that repairs the worst of this.
There is a regression where the BBC state is reset after the ROMs are loaded. The issue is that the E00 DFS ROM is a bit unusual. I think the actual hardware "back in the day" was part ROM, part RAM. beebjit doesn't yet emulate anything more complicated than "16K ROM bank" or "16K RAM bank". In the case of the E00 DFS ROM, it's loaded into the ROM slot but then tagged as a 16K RAM bank. So it behaves like pre-initialized sideways RAM. The trouble is that the regression causes the sideways RAM to be cleared directly after it is loaded!
With the upcoming change, it's still not perfect -- pressing Alt-R to do a full power-on reset will trash the sideways RAM content and fail to reload it.
One of the command lines in
EXAMPLES
is not working for me. I enter:and it sits at the BASIC prompt with no FS banner. Shift+F12 tries to boot from RFS.
Slot 13 is writeable but the MOS is not finding firmware there (
?&02AE = 0
), and the ROM service entry point is never called because there are no service ROMs:Using the beebjit_win_0.9.8 build (from a MinGW shell) plus a copy of
test/
.