APPENDIX TWELVE This also means that the area from 49152 to 52991 ($C000 to $CEFF) isn't used--almost 4K of free RAM for player missiles, machine language routines, anything you need it for. Be care- ful not to run over into the interrupt handlers at 52992 ($CF00). 54019 D303 PBCTL The PORT B controller on the 400/800; not used since there isn't one on the XL/XE series. 54528-54783 D500-D5FF .... Unused in both XL and 400/800 models. Any access read or write to this area enables the cartridge control line CCNTL as in the cartridge interface in the 400/800. 55296-57343 D800-DFFF FP Floating-point package; although corrected, the entry point re- mains the same as in the 400/800. You now get an error if you try to get a LOG or LOG 10 of 0. This area becomes addressable by the device when the OS switches out ROM to perform I/O on a device connected to the expansion slot. There are several tables built into the FP package: Address Table 56909/DE4D Power of 10 coefficients 57202/DF72 Logarithm coefficients 57262/DFAE Arctangent coefficients (unused?) The OS switches the floating point out and switches in the par- allel bus interface (PBI) ROM when an external device attached through the bus is selected, switching it back when the I/O is completed. This means an external device can't use floating point or any software which does (such as BASIC). The first 26 bytes of the hardware ROM vector area (when OS ROM is deselected) are: Byte Hex Use 55296/55297 D800/D801 ROM checksum LSB/MSB (optional) 55298 D802 ROM revision number (optional) 55299 D803 ID number (128; $80) 55300 D804 Device type (optional) 55301 D805 JMP instruction ($4C) 55302/55303 D806/D807 I/O vector LSB/MSB 55304 D808 JMP 55305/55306 D809/D80A Interrupt vector LSB/MSB 55307 D80B ID number (145; $91)