== Utility ROM ==
A utility ROM can exist in any ROM slot from 1 to 15. They are checked in ascending order. If the identification exists the name is displayed.
=== Structure of a utility ROM ===
|-
| 0
| 4816| Description of ROM identification (note 1)|-| &10| 32| Extension ROM name (note 2)
|-
| &30
| 208
| Loading code (note 23)
|-
| &100
| 256
| Directory (note 34)
|-
| &200
| 0
| 8
| Filename (note 45)
|-
| 8
| 9
| 2
| address in ROM for start of data for file (note 36)
|-
| 11
=== Notes ===
1. Utility ROM 1 has this descriptionIdentification: "Graduate (C)1988 ". Only the first char 'G' is checked. 2. Accessory ROM name is ASCII string terminated with '$'. Graduate's Accessory ROM 1 is called "CP/M Accessory Rom 1\r\n$VER 2.30 "
23. Code is copied from &c000-c070 (length &c100 200) to &3f00-&4000 3f70 in RAM.
;; HL = address of directory entry
3fef c9 ret
34. Up to 16 files can be defined. Each file takes 1 entry. Unused entries are filled with &FF.
45. Filename is in upper case, 8 characters long, padded with spaces. '.COM' extension is assumed when accessed.
56. ROM starts at &c000. Therefore &c200 is the start of the first file.
[[Category:Operating System]][[Category:CP/M]]