mknox@UT-NGP.ARPA (08/19/84)
The program BIOS2RSX was recently posted to the net. It maps CP/M-2.2 BIOS calls into CP/M-Plus calls, allowing such programs as DU to run under CP/M-Plus. It works well, but recently caused me several sleepless nights. The problem was a loss of data in a CP/M-Plus submit file after the first 128 bytes, IF one of the tasks invoked in the submit file was a 2.2 program (with BIOS2RSX attached) AND that program did disk writes. It turns out that my CP/M-Plus uses the BDOS for blocking/deblocking (as I am sure many do). This buffer is not being flushed by BIOS2RSX and can be overwritten by the 2.2 program. The fix is to go into BIOS2RSX and add the following code: MVI C,030h ;flush disk buffers MVI E,0ffh ; flush data buffers too CALL BDOS before any other disk activity is performed. This seems to fix the problem nicely. Note that the problem will not come up if the blocking/ deblocking is done in the CP/M-Plus BIOS.