!!!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 ||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 !!!For 130XE Bits 2,3,4,5 set the behavior of extended RAM which is always mapped to $4000-$7FFF area. ||Bit||Function||Description |7|$5000-$57FF|0=Self test, 1=RAM |6|not used| |5|ANTIC|0=ANTIC has access to extended RAM, 1=ANTIC has access to main RAM |4|CPU|0=CPU has access to extended RAM, 1=CPU has access to main RAM |3|$4000-$7FFF|Bank selection bit |2|$4000-$7FFF|Bank selection bit |1|$A000-$BFFF|0=ATARI BASIC ROM, 1=RAM |0|$C000-$FFFF|0=RAM, 1=OS-ROM Compatibility mode (only main bank enabled) ||Bit 5 ||Bit 4 ||Bit 3 ||Bit 2 ||CPU accesses ||ANTIC accesses |VBE |CPE |Bank selection|Bank selection| | |1 |1 |doesn't matter|doesn't matter|M $4000-$7FFF| M $4000-$7FFF CPU extended RAM mode ||Bit 5 ||Bit 4 ||Bit 3 ||Bit 2 ||CPU accesses ||ANTIC accesses |VBE |CPE |Bank selection |Bank selection| | |1 |0 |0 |0 |E $0000-$3FFF |M $4000-$7FFF |1 |0 |0 |1 |E $4000-$7FFF |M $4000-$7FFF |1 |0 |1 |0 |E $8000-$BFFF |M $4000-$7FFF |1 |0 |1 |1 |E $C000-$FFFF |M $4000-$7FFF Video (ANTIC) extended RAM mode ||Bit 5 ||Bit 4 ||Bit 3 ||Bit 2 ||CPU accesses ||ANTIC accesses |VBE |CPE |Bank selection|Bank selection| | |0 |1 |0 |0 |M $4000-$7FFF |E $0000-$3FFF |0 |1 |0 |1 |M $4000-$7FFF |E $4000-$7FFF |0 |1 |1 |0 |M $4000-$7FFF |E $8000-$BFFF |0 |1 |1 |1 |M $4000-$7FFF |E $C000-$FFFF General extended RAM Mode ||Bit 5 ||Bit 4 ||Bit 3 ||Bit 2 ||CPU accesses ||ANTIC accesses |VBE |CPE |Bank selection|Bank selection| | |0 |0 |0 |0 |E $0000-$3FFF |E $0000-$3FFF |0 |0 |0 |1 |E $4000-$7FFF |E $4000-$7FFF |0 |0 |1 |0 |E $8000-$BFFF |E $8000-$BFFF |0 |0 |1 |1 |E $C000-$FFFF |E $C000-$FFFF ---- see also: [Controller topics|Controller_topics] previous: [PORTA] next: [PACTL]