kieranhj / pop-beeb

Prince of Persia port to BBC Master
45 stars 2 forks source link

Compatibility testing with MMC and SMART SPI systems #36

Closed kieranhj closed 6 years ago

kieranhj commented 6 years ago

Check TurboMMC and MMFS for compatibility. Ask Stew to check SmartSPI. Can use Stardot folks to help with this.

kieranhj commented 6 years ago

OK, so SMART SPI ROM is the same as the Turbo MMC ROM - both are based on DFS 0.9 so leave PAGE at &1900 (or &1700) even on Master. Anyone using a MMC card solution will need to use the MMFS Master version ROM that uses Hazel to keep PAGE at &E00.

(I need to check this works correctly and doesn't get mardy with my abuse of Hazel RAM.)

Could be worth adding a PAGE check to the boot sequence.

kieranhj commented 6 years ago

Didn’t realise SMART SPI is just yet another User Port SSD solution. Stew got this running using a variant of MMFS with PAGE at &E00 and worked fine.

kieranhj commented 6 years ago

Hoping to get Stew to test the new one disc ssd tonight as I don't have time to figure out my MMFS EEPROM etc.

kieranhj commented 6 years ago

Played through on DC and works fine. Stew reported issues on MMFS but then his Master went mental and started failing the "is this a Master" test that runs at the beginning!?! He's going to try a different machine tomorrow.

kieranhj commented 6 years ago

Info from hoglet:

MAMMFS will use the following Hazel workspace: static workspace - &C000-&C2FF (very extensively) static workspace - &C300-&C7FF (I think only for random access file buffers) private workspace - one page, wherever it is allocated by the MOS, from &DC00 downwards.

You can see the various ROM's private workspace pages with: FOR A=0 TO 15:PRINT A, ~A?&DF0:NEXT

On my system, if MAMMFS is the only file system (i.e. DFS and ADFS are *unplugged), then it gets allocated page &DBxx.

So I suspect the conflict is in the use of page &DBxx.

Is there any easy way you can avoid using this page (even just temporarily to prove this is what's happening).

(The reason you don't have an issue with DFS is that it makes less use of the private workspace page than MMFS.)

kieranhj commented 6 years ago

MMFS test build has been sent to sbadger and hoglet for testing. Code changes in the optimistically named branch mmfs-fix.

kieranhj commented 6 years ago

Verified fixed by sbadger. Yay!