Shadow registers exist for many of the I/O registers.They are character variables defined in the BIOS. The naming convention for shadow registers is to append the word Shadow to the name of the register.
For example, the global control status register, GCSR, has a corresponding shadow register named GCSRShadow.
The purpose of the shadow registers is to allow the program to reference the last value programmed to the actual register. This is needed because a number of the registers are write only.
May 22, 2019