@john2001plus
6 minutes ago (edited)
The Spectrum and the Timex Sinclair 2068 have a weakness in the first 16K of RAM is interfaced through the video chip making it contested RAM. The processor can't access this 16K bank while the display is being drawn to the screen. That means any machine code in the first 16K of RAM will run slower than machine code in the upper 32K of RAM. BASIC code starts in the first 16K so it has the same weakness. It would have been smarter to have the video RAM mapped to the top 16K instead of the first 16K of RAM, but that would have been trickier for models that only have 16K of RAM. They would have to figure out where the RAM was.
Given that the first 16K bank of RAM has this problem, it would have been smart to start the BASIC user RAM at the second 16K bank. This would only show 32K RAM free, but the unused video memory could be used to store graphics or data. Apparently, somebody thought of this. In the 2068 technical manual available online, I saw a function call in the ROM that would relocate the BASIC code to the top 32K of memory. This would give less free memory but make the BASIC code run faster.
No comments:
Post a Comment