Interesting, so it slows down in MOS 3.50 because the OSWORD call takes longer across the Tube, and we have to use OSWORD 5 to read the Escape flag to be certain that we are always reading from I/O processor memory, where the flag is stored, and this is compounded by LISP calling its Escape checking routine a massive number of times per second?
If that's right, the bit I haven't got yet is why LISP is doing this. I know nothing about (Acornsoft) languages other than BASIC, so is it the case that BASIC checks for Escape press multiple times a second, and maybe other application/language ROMs generally?
I wonder if for example during the development of MOS 3.50 it was noticed that BASIC was running slower so they optimised this, but probably didn't test other languages very much?
If that's right, the bit I haven't got yet is why LISP is doing this. I know nothing about (Acornsoft) languages other than BASIC, so is it the case that BASIC checks for Escape press multiple times a second, and maybe other application/language ROMs generally?
I wonder if for example during the development of MOS 3.50 it was noticed that BASIC was running slower so they optimised this, but probably didn't test other languages very much?
Statistics: Posted by BeebMaster — Wed Nov 20, 2024 12:02 pm