Document 1117 SID memory detection of ROMs 04/13/92 BK SID, THE MEMORY DETECTOR Occasionally when loading DR DOS 6.0's EMM386.SYS memory management driver, one will find that the MEM /A display shows an area of upper memory excluded from use. After attempts to access the memory area through the use of the /Include or /Use switches for EMM386.SYS have failed, one might begin to suspect that some memory addressed ROM chips are occupying that area. One can use DR DOS 6.0's SID to check on that. To do this, load SID and have it search the desired areas of memory for a copyright. If one is found, displaying it will probably tell one which piece of hard- ware is using the memory addresses. Below is an example: Here is an excerpt of a MEM /A display that shows an area exclud- ed at D7FF:0000 and a ROM chip at D800:0000 (the exclusion will precede the ROM chip itself to protect the ROM's address). ³ CF00:0000 ³ -------- ³ 9000h, 36,864 ³ ---------- Upper RAM ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ CF00:0000 ³ DR DOS ³ 8FF0h, 36,848 ³ System ³ CFE3:15C0 ³ DR DOS ³ DE0h, 3,552 ³ DR DOS BIOS code ³ D7FF:0000 ³ EXCLUDED ³ 2010h, 8,208 ³ Upper system memory ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ D800:0000 ³ -------- ³ 2000h, 8,192 ³ ------------- ROM --- ³ DA00:0000 ³ -------- ³ 16000h, 90,112 ³ ---------- Upper RAM ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ DA00:0000 ³ DR DOS ³ 9450h, 37,968 ³ System ³ D701:3000 ³ DR DOS ³ 9440h, 37,952 ³ DR DOS kernel code To get SID to investigate that area, first load SID. SID will display its '#' prompt. Tell it to search the area of memory using the SR command looking for all the permutations of copy- right markings. For example, the MEM display shows something at D800:0000, so use the command SRD800:0000,FFFF,"COPYRIGHT |_______|-> Change this number to investigate different areas of memory. "COPYRIGHT","Copyright","copyright","(C)",and "(c)" will usually cover all the bases. Notice that upper case/lower case IS impor- tant. If SID finds some data in memory that matches one's search parameters, it will display the address of that data in the SEGMENT:OFFSET format. There may be more than one. Record those addresses. Then display the data at each of those locations using the D command. The company name should give one some idea of the hardware occupying the area of memory. Below is what the investi- gation of the above machine looks like: [DR DOS] C:\>SID -------------------------------------------------- *** Symbolic Instruction Debugger *** Release 3.2 Copyright (c) 1983,1984,1985,1988,1990,1991 Digital Research, Inc. All Rights Reserved -------------------------------------------------- ( COMMENTS ) #SRD800:0,FFFF,"COPYRIGHT ( Nothing found ) #SRD800:0,FFFF,"copyright ( Nothing found ) #SRD800:0,FFFF,"Copyright D800:0056 ( BINGO !! ) #DD800:0056 ( Display that area ) D800:0056 43 67 68 74 20 28 43 29 20 31 39 Copyright (C) 19 D800:0066 38 42 54 72 61 6E 74 6F 72 20 53 89-90, Trantor S D800:0076 79 73 2C 20 4C 74 64 2E 0D 0A 00 1A ystems, Ltd..... D800:0086 00 07 73 01 CB 8D 36 34 00 E8 A6 04 ....9.s...64.... D800:0096 B8 C6 06 74 00 00 C6 06 75 00 00 C6 .@.....t....u... # The copyright is held by the company that made the card that connects to the CDROM player in this particular machine, thus the presence of the card is why this area of memory is excluded.