kieranhj / pop-beeb

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

Using osbyte test for 4x SWRAM banks doesn't seem to work? #214

Open kieranhj opened 6 years ago

kieranhj commented 6 years ago

Hoglet reported that he was able to start the game with a ROM in one of the BANKS (and link set appropriately) - this should have been picked up by the Master osbyte check but clearly wasn't.

hoglet67 commented 6 years ago

It seems on the Master that OSBYTE A=&44 is actually implemented in DFS (ROM 9) (via the unrecognised OSBYTE service call) rather than the MOS. So if DFS is *UNPLUGGED then the result will not be correct. In fact, X=&FF is return, which PoP interprets as all sideways RAM banks available.

It's also worth noting that as Prince of Persia uses OSWORD A=&7F to do direct disk accesses, it's only possible to use MMFS (in ROM 8) if DFS (ROM 9) is unplugged. Otherwise DFS tries to handle the OSWORD calls, and everything hangs (with a black screen).