mattgodbolt/jsbeeb

Tube reset signals not working as expected

samskivington-poq opened this issue · 4 comments

I've raised this before on stardot forums.

I'm trying to reset the Tube parasite CPU so that my program can read the start-up banner text - originally an experiment with PiTubeDirect. The code is pulsing bit 5 (P - set parasite reset active low) of &FEE0 high and then low.

I've tried this on a real Beeb and Master (internal and external CoPro both connected) and it works perfectly. In the emulators I've tried to run it on:

BeebEm: resets the parasite CPU but assumes a 65C02 is connected.
B-em: ignores the bit change (this has now been fixed, see stardot link above)
jsBeeb: ignores the bit change

I've put a horribly quick one-liner solution in my local BeebEm because that's the emu I normally use, but it's certainly not fit for inclusion in a PR because atm I only care about getting the Z80 to work.

Could I respectfully ask that the CPU reset (and Tube ULA reset) signals are implemented in jsBeeb please?

Hi @samskivington-poq - thanks for the report! I have little to no experience in the Tube: the support in jsbeeb was mostly a copy-paste-fest and a "does Elite run?" :)

I can't make any promises as to when this will be fixed, but I appreciate the link to stardot, which will help!

I've made some changes locally that address almost all of the issue, but don't have write access so I can't make a PR for them. Would you like me to show you them here? To be fair, I can't stand Elite (dull, boring game, never understood what all the hype around it was) so I haven't checked that.

murkle commented

Try forking your own copy of jsBeeb then you can make the changes there (and make a PR)

You fix should now be live, marking closed (thanks!!)