!!!For 400, 800 (OS A) ||ADR||HEXADR||NAME||Description||shadow||OS |54017|$D301|PORTB| | [STICK2] [STICK3] [PTRIG4] [PTRIG5] [PTRIG6] [PTRIG7]| 400/800 Read or write data from the control ports (joystick ports), depending on how the data direction is set (default: 0 "read/input"). To set the direction, set Bit 2 of [PBCTL] to "0" and define the direction by setting the bits of PORTB (0=read, 1=write) for each input/output line. Then set Bit 2 of [PBCTL] to "1" again. Example: {{{ PACTL=PACTL && %11111011 ;set Bit 2 to 0 PORTA=%11110000 ;set Port 2 to output/write, Port 1 is input/read PACTL=PACTL %% %00000100 ;set Bit 2 to 1 }}} ||Bit||Function||Description||Joystick direction||Paddletrigger |7|PA7|Joystick Port 4 Pin 4|Right|Paddle 8 [PTRIG7] |6|PA6|Joystick Port 4 Pin 3|Left|Paddle 7 [PTRIG6] |5|PA5|Joystick Port 4 Pin 2|Down|not used |4|PA4|Joystick Port 4 Pin 1|Up |not used |3|PA3|Joystick Port 3 Pin 4|Right|Paddle 6 [PTRIG5] |2|PA2|Joystick Port 3 Pin 3|Left|Paddle 5 [PTRIG4] |1|PA1|Joystick Port 3 Pin 2|Down|not used |0|PA0|Joystick Port 3 Pin 1|Up|not used Joystick direction sets Bit=0 when pushed in that direction Paddletrigger Bit=0 when pressed !!!For 600XL, 800XL, 1200XL, 130XE ||ADR||HEXADR||NAME||Description||OS |54017|$D301|PORTB| Memory Management | XL/XE 1200XL ||Bit||Function||Description |7|$5000-$57FF|0=Self test, 1=RAM |6|not used| |5|not used| |4|not used| |3|LED2|0=off, 1=on |2|LED1|0=off, 1=on |1|not used |0|$C000-$FFFF|0=RAM, 1=OS-ROM 600XL/800XL ||Bit||Function||Description |7|$5000-$57FF|0=Self test, 1=RAM |6|not used| |5|not used| |4|not used| |3|not used| |2|not used| |1|$A000-$BFFF|0=ATARI BASIC ROM, 1=RAM |0|$C000-$FFFF|0=RAM, 1=OS-ROM 130XE ||Bit||Function||Description |7|$5000-$57FF|0=Self test, 1=RAM |6|not used| |5|ANTIC|0=ANTIC has access to extra RAM, 1=ANTIC has access to normal RAM |4|CPU|0=CPU has access to extra RAM, 1=CPU has access to normal RAM |3|$4000-$7FFF Bank select|see below |2|$4000-$7FFF Bank select|see below |1|$A000-$BFFF|0=ATARI BASIC ROM, 1=RAM |0|$C000-$FFFF|0=RAM, 1=OS-ROM Bank select - One bank occupies 16KB area from $4000-$7FFF ||Bit 2||Bit 3||Bank |0|0|Bank 0 |0|1|Bank 1 |1|0|Bank 2 |1|1|Bank 3 ---- see also: [Controller topics|Controller_topics] previous: [PORTA] next: [PACTL]