Dave wrote:
One was... Rich Mellor is a highly competent assembly programmer.
Eh? What did I do to deserve this accolade?
You ever read a bit of someone else's code and think it through a little bit and go "yeah, that's really clean and efficient, and it prioritizes what it needs to!"
Also, the generosity of it. Not many people make informative suggestions on github, and even fewer write specimen code that's already optimized...
I dont know what your code does, but its probably worth mentioning that it isnt a good idea to turn the dithVide code into a job. It links a task into one of the task lists, and when the job is removed, so is the memory that the code is running in! Such tasks should be loaded with LBYTES etc. A job, or a S*BASIC program, could then use its services. Check out the difference between tasks and jobs in the Technical Manual, if you need info on this.
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
If you use Minerva, with the Second Screen enabled, there is no need to worry about the position of the Systems Variable. You just need to use the MT.INF management Trap to return the address of the System Variable in Register A0.
In Minerva there is a fast memory move vector routine: MM.MOVE, where all the hard work is done with transferring the large blocks of data. See Minerva Manual for details.
In about 1993, I wrote some Minerva Superbasic commands to Switch the contents of Screen 0 to Screen 1, Clear the Second Screen. I think it was put up for download on my BBS, but never really saw the light of day.
I will have to re-visit it to see if the routines can be enhanced.
Minerva is the best QL operating system on a BBQL, with features like faster graphics, without Lightning, Multitasking basic... to name some excellent features.
I used to to use QMAC assembler, which was very good, with its macro processing.
I started programming on the QL using the Computer One assembler/editor/monitor suite plus the "QL Advanced User Guide" from Adder Publishing. They were both fine for the job. I know that the C1 stuff has been preserved but I don't know where you can get the book.
I wrote a terminal emulator which emulated the University College London BBC Micro terminal emulator which was ubiquitous there at the time. This itself emulated a DEC VT52 and Tektronix T4010 terminal, plus being about to run *FX commands to program the function keys etc. It's a pity the poor keyboard processor couldn't keep up with even 300 baud without dropping input. Oh well, happy days.