APPENDIX TWELVE Byte Hex Use 55308 D80C Device name in ASCII (optional) 55309/55310 D80D/D80E Open vector LSB-1/MSB 55311/55312 D80F/D810 Close vector LSB-1/MSB 55313/55314 D811/D812 Get byte LSB-1/MSB 55315/55316 D813/D814 Put byte LSB-1/MSB 55317/55318 D815/D816 Status vector LSB-1/MSB 55319/55320 D817/D818 Special vector LSB-1/MSB 55321 D819 JMP 55322/55323 D81A/D81B Init vector LSB/MSB 55324 D81C Unused On a cold start, the OS polls for parallel devices, and if it finds one, JMPs (through 55321; $D819) to the INIT routine at 55322/55323 ($D81A, $D81B) which places the address of the ge- neric parallel device handler into the handler tables with the device name. 57344-58367 E000-E3FF CHARSET1 Standard (domestic) character set; default on power-up or RE- SET; pointed to by 756 (S2F4). 58368-65535 E400-FFFF OS The OS has been considerably rewritten and changed since the 400/800. The ANTIC, PIA, and POKEY chips are the same, but many OS routines have been moved. The vectors in RAM have remained in place for the most part, so software which avails it- self of these locations can run on all machines, Always use the vectors when writing software to use OS routines, never the ac- tual routines themselves; they may change, while the vectors will not. Locations 58368-58495 ($E400-$E47F) still contain the vector ta- bles. but point to different locations than the 400/800 (for more information, refer back to the 400/800 section). The vectors (ex- cept JMP) all point to the address of the routine minus 1: Device & Loc Open Close Get Put Status Special JMP to E: 58368 $E400 EF93 F2D2 F249 F2AF F21D F2C2 EF6E S: 58384 $E410 EF8D F2D2 F17F F1A3 F21D F9AE EF6E K: 58400 SE420 F21D F21D F2FC F22C F21D F22C EF6E P: 58416 $E430 FEC1 FF06 FEC0 FECA FEA2 FEC0 FE99 C: 58432 $E440 FCE5 FDCE FD79 FDB3 FDCB FCE4 FCDB The JMP vectors in locations 58448-58583 ($E450-$E4D7) remain the same, but point to new vector addresses: