Atari* System Reference manual (c) 1987 By Bob DuHamel Bob Duhamel 6915 Casselberry Way San Diego, CA 92119 This manual contains highly technical information. Such information is provided for those who know how to use it. To understand the advanced information you are expected to know 6502 assembly language. If you are new to programming, concentrate on the parts which discuss BASIC commands. Addresses are usually given in both hexadecimal and decimal numbers. The operating system equate names are given in capital letters with the address following in brackets. The decimal address is in parenthsis within the brackets. For example: DOSVEC [$000A,2 (10)] name hex dec The ",2" after the hexadecimal number means that this address requires two bytes to hold its' information. Any address called a "vector" uses two bytes whether noted or not. Control registers and some other bytes of memory are shown in the following format Register format 7 6 5 4 3 2 1 0 ----------------- | | ----------------- 1 6 3 1 8 4 2 1 2 4 2 6 8 The numbers on top are the bit numbers. Bit 7 is the Most Significant Bit (MSB) and bit 0 is the Least Significant bit (LSB). The numbers on the bottom are the bit weights. These are useful when changing memory with decimal numbers, as you would in BASIC. For example, to set bit 4 of a register to 1, without changing any other bits you would add 16 to the decimal number already in the register. To reset the same bit to 0, you would subtract 16 from the number in the register. This is exactly what the command GRAPHICS 8+16 does. It sets bits 3 and 4 of a graphics mode control register. MSB and LSB may also mean Most Significant Byte or Least Significant Byte, depending on context.