Interesting thread, folks
janbredenbeek wrote:
The QDOS routines which handle this are quite deeply buried into interrupt-service code. But if you want to look at it, here is my in-depth (but unfortunately incomplete) JS ROM disassembly which documents most of the MDV handling code in parts 3 and 5.
I also did a complete commented disassembly of the JS MDV routines if it's of any interest:
http://www.dilwyn.me.uk/docs/disassem/jsromasm.zip
It was quite a while ago now, I think most of my brain cells that held that info have since disintegrated (like the sponge in a old MDV cartridge).
The one thing I do recall though was being convinced that the calls to FS.FLUSH and FS.CHECK are reversed. They perform the oppposite function. ie. to flush MDV files - call check, and vice-versa !
Have I lost my mind, can anyone confirm?
Edit : Doh! I've spotted the source of my past confusion. At the time my only references were QL Technical Manual and QDOS Companion - both state FS.FLUSH only flushes write buffers, FS.CHECK checked for pending read & write operations. In fact FS.FLUSH updates both read and write buffers, FS.CHECK only checks for pending read buffers.
tofro wrote:
I am not sure I like DEL_DEFB at all.
Ditto, only ever used it once (I first checked for no open files, anything pending etc).
Had to restore the entire contents of my Miracle Hard Drive afterwards.
Never dared to use it since. It does appear to attempt something quite seismic.
tofro wrote:
So DEL_DEFB is OK on a fairly standard QL, but might cause all sorts of trouble on more modern expansions that weren't there when TK2 was designed.
Maybe, but since TT wrote MHD driver I thought it would be OK. I guess there might be a remote possibility something else upset it. Would only attempt to use it again at arms length on a non-HDD system
