INMC 80 News


September 1980 – January 1981, Issue 2

Page 14 of 59


imaginable you are going to have to edit it.

Although this little piece has been written with the Cemint system in mind, it applies equally to the other two (assuming that Comp and Airamco have written the CBIOS correctly). We doubt that the serial input looks at CON:, but it should look at RDR:, so substitute RDR: for CON: in the above command.

Another little point which applies generally to CP/M 1.4 is that files are written and read in 16K chunks known as extents. Now what is not obvious is that if a program is greater that 16k, ie: more than 1 extent, then when reading a program back, cP/M has return to the directory to find the location of the next extent. Whilst its there, CP/M writes a flag into the directory to tell it its gone on to the next extent. If you write protect a disk then you won’t be able to read files which are larger than 1 extent as CP/M won’t be able to write the flag into the directory.

With the Gemini system, it can’t have escaped your notice that the keyboard option defaults to lower case when using SYS.COM. We think Richard did it because he liked it, and after a time I now prefer it, however, it can be a pain at times. ED has a funny quirk with the ‘I’ command which even though the ‘Vv’ option has been selected to lower case, it will only input lower case if the ‘I’ command was given in lower case. A Digital Research bug 2??? Another case in point is the Microsoft MACRO-80 assembler which will only accept commands in upper case, yet Microsoft’s LINK-80 will accept either. Confusing ain’t it. Dear old RB having decided to default the keyboard option to lower case, didn’t leave any way of changing it. In the end I was forced to find out how it worked and came up with this stupid little .COM file. Enter it under DDT and then SAVE it.


Title UPPER/LOWER CASE SWITCH Subttl Version 0.1 for SYS 1.1

-Comment *


Purpose; to reverse the kbd option bit within SYS Vl-1. For use with Henelec and Gemini CP/M disk systems.

Finds the position of KOPT by taking the known location of the warm boot jump and the known offset between WBOOT and KOPT.

De Re Hunt 30/11/80 * +Z80 0000” ASEG ORG 100H 0000 S$WBOOT EQU 0000H ; Warm boot jump O9B6 KOPT EQU 9B6H 3 Offset from BIOS 3 Calculate position of KOPT. 0100 2A 0001 LD HL, ($WBOOT+1) 0103 11 0983 LD DE,KOPT-3 0106 19 ADD HL,DE

3; Get KOPT bit, toggle it and put it back.

This is an OCR’d version of the scanned page and likely contains recognition errors.

Page 14 of 59