mirror of
https://github.com/peterdell/wudsn-ide.git
synced 2024-12-22 09:29:44 +00:00
141 lines
6.1 KiB
Plaintext
141 lines
6.1 KiB
Plaintext
|
--------------------------------
|
||
|
RIOT Addresses: names taken from
|
||
|
Atari VCS Stella Documentation
|
||
|
--------------------------------
|
||
|
$0280 = (RIOT $00) - SWCHA (read/write)
|
||
|
$0281 = (RIOT $01) - SWACNT (read/write)
|
||
|
$0282 = (RIOT $02) - SWCHB (read/write) (*)
|
||
|
$0283 = (RIOT $03) - SWBCNT (read/write) (*)
|
||
|
$0284 = (RIOT $04) - INTIM (read), edge detect control (write)
|
||
|
$0285 = (RIOT $05) - read interrupt flag (read), edge detect control (write)
|
||
|
$0286 = (RIOT $06) - INTIM (read), edge detect control (write)
|
||
|
$0287 = (RIOT $07) - read interrupt flag (read), edge detect control (write)
|
||
|
$0288 = (RIOT $08) - SWCHA (read/write)
|
||
|
$0289 = (RIOT $09) - SWACNT (read/write)
|
||
|
$028A = (RIOT $0A) - SWCHB (read/write) (*)
|
||
|
$028B = (RIOT $0B) - SWBCNT (read/write) (*)
|
||
|
$028C = (RIOT $0C) - INTIM (read) , edge detect control (write)
|
||
|
$028D = (RIOT $0D) - read interrupt flag (read), edge detect control (write)
|
||
|
$028E = (RIOT $0E) - INTIM (read) , edge detect control (write)
|
||
|
$028F = (RIOT $0F) - read interrupt flag (read), edge detect control (write)
|
||
|
$0290 = (RIOT $10) - SWCHA (read/write)
|
||
|
$0291 = (RIOT $11) - SWACNT (read/write)
|
||
|
$0292 = (RIOT $12) - SWCHB (read/write) (*)
|
||
|
$0293 = (RIOT $13) - SWBCNT (read/write) (*)
|
||
|
$0294 = (RIOT $14) - INTIM (read), TIM1T (write)
|
||
|
$0295 = (RIOT $15) - read interrupt flag (read), TIM8T (write)
|
||
|
$0296 = (RIOT $16) - INTIM (read), TIM64T (write)
|
||
|
$0297 = (RIOT $17) - read interrupt flag (read), TIM1024T (write)
|
||
|
$0298 = (RIOT $18) - SWCHA (read/write)
|
||
|
$0299 = (RIOT $19) - SWACNT (read/write)
|
||
|
$029A = (RIOT $1A) - SWCHB (read/write) (*)
|
||
|
$029B = (RIOT $1B) - SWBCNT (read/write) (*)
|
||
|
$029C = (RIOT $1C) - INTIM (read), TIM1T (write)
|
||
|
$029D = (RIOT $1D) - read interrupt flag (read), TIM8T (write)
|
||
|
$029E = (RIOT $1E) - INTIM (read), TIM64T (write)
|
||
|
$029F = (RIOT $1F) - read interrupt flag (read), TIM1024T (write)
|
||
|
|
||
|
(*) The Stella documentation states that Port B is hardwired for input
|
||
|
only. In reality, Port B is fully configurable. Configuring Port B
|
||
|
as an output, however, will cause direct hardware conflicts with the
|
||
|
console switches. DO NOT ATTEMPT THIS.
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
|
||
|
**********************
|
||
|
* RIOT Documentation *
|
||
|
**********************
|
||
|
|
||
|
---------------------------------------
|
||
|
RIOT Addressing Notes for the Atari VCS
|
||
|
---------------------------------------
|
||
|
A12 is connected to /CS2 (Chip Select 2 - active low)
|
||
|
A7 is connected to CS1 (Chip Select 1 - active high)
|
||
|
A9 is connected to /RS (RAM Select - active low)
|
||
|
A11, A10, and A8 are not connected to the RIOT
|
||
|
|
||
|
-------------------------------------
|
||
|
$0080 - $00FF = RIOT RAM (read/write)
|
||
|
-------------------------------------
|
||
|
$0080 - $00FF = RIOT RAM, Addresses $00-$7F
|
||
|
|
||
|
---------------------------------------------
|
||
|
$0280 - $029F = RIOT Read Addresses (not RAM)
|
||
|
---------------------------------------------
|
||
|
$0280 = (RIOT $00) - Read DRA
|
||
|
$0281 = (RIOT $01) - Read DDRA
|
||
|
$0282 = (RIOT $02) - Read DRB
|
||
|
$0283 = (RIOT $03) - Read DDRB
|
||
|
$0284 = (RIOT $04) - Read timer, disable interrupt (2)
|
||
|
$0285 = (RIOT $05) - Read interrupt flag
|
||
|
$0286 = (RIOT $06) - Read timer, disable interrupt (2)
|
||
|
$0287 = (RIOT $07) - Read interrupt flag
|
||
|
$0288 = (RIOT $08) - Read DRA
|
||
|
$0289 = (RIOT $09) - Read DDRA
|
||
|
$028A = (RIOT $0A) - Read DRB
|
||
|
$028B = (RIOT $0B) - Read DDRB
|
||
|
$028C = (RIOT $0C) - Read timer, enable interrupt (2)
|
||
|
$028D = (RIOT $0D) - Read interrupt flag
|
||
|
$028E = (RIOT $0E) - Read timer, enable interrupt (2)
|
||
|
$028F = (RIOT $0F) - Read interrupt flag
|
||
|
$0290 = (RIOT $10) - Read DRA
|
||
|
$0291 = (RIOT $11) - Read DDRA
|
||
|
$0292 = (RIOT $12) - Read DRB
|
||
|
$0293 = (RIOT $13) - Read DDRB
|
||
|
$0294 = (RIOT $14) - Read timer, disable interrupt (2)
|
||
|
$0295 = (RIOT $15) - Read interrupt flag
|
||
|
$0296 = (RIOT $16) - Read timer, disable interrupt (2)
|
||
|
$0297 = (RIOT $17) - Read interrupt flag
|
||
|
$0298 = (RIOT $18) - Read DRA
|
||
|
$0299 = (RIOT $19) - Read DDRA
|
||
|
$029A = (RIOT $1A) - Read DRB
|
||
|
$029B = (RIOT $1B) - Read DDRB
|
||
|
$029C = (RIOT $1C) - Read timer, enable interrupt (2)
|
||
|
$029D = (RIOT $1D) - Read interrupt flag
|
||
|
$029E = (RIOT $1E) - Read timer, enable interrupt (2)
|
||
|
$029F = (RIOT $1F) - Read interrupt flag
|
||
|
|
||
|
----------------------------------------------
|
||
|
$0280 - $029F = RIOT Write Addresses (not RAM)
|
||
|
----------------------------------------------
|
||
|
$0280 = (RIOT $00) - Write DRA
|
||
|
$0281 = (RIOT $01) - Write DDRA
|
||
|
$0282 = (RIOT $02) - Write DRB
|
||
|
$0283 = (RIOT $03) - Write DDRB
|
||
|
$0284 = (RIOT $04) - Write edge detect control - negative edge, disable int (1)
|
||
|
$0285 = (RIOT $05) - Write edge detect control - positive edge, disable int (1)
|
||
|
$0286 = (RIOT $06) - Write edge detect control - negative edge, enable int (1)
|
||
|
$0287 = (RIOT $07) - Write edge detect control - positive edge, enable int (1)
|
||
|
$0288 = (RIOT $08) - Write DRA
|
||
|
$0289 = (RIOT $09) - Write DDRA
|
||
|
$028A = (RIOT $0A) - Write DRB
|
||
|
$028B = (RIOT $0B) - Write DDRB
|
||
|
$028C = (RIOT $0C) - Write edge detect control - negative edge, disable int (1)
|
||
|
$028D = (RIOT $0D) - Write edge detect control - positive edge, disable int (1)
|
||
|
$028E = (RIOT $0E) - Write edge detect control - negative edge, enable int (1)
|
||
|
$028F = (RIOT $0F) - Write edge detect control - positive edge, enable int (1)
|
||
|
$0290 = (RIOT $10) - Write DRA
|
||
|
$0291 = (RIOT $11) - Write DDRA
|
||
|
$0292 = (RIOT $12) - Write DRB
|
||
|
$0293 = (RIOT $13) - Write DDRB
|
||
|
$0294 = (RIOT $14) - Write timer (div by 1) - disable int (2)
|
||
|
$0295 = (RIOT $15) - Write timer (div by 8) - disable int (2)
|
||
|
$0296 = (RIOT $16) - Write timer (div by 64) - disable int (2)
|
||
|
$0297 = (RIOT $17) - Write timer (div by 1024) - disable int (2)
|
||
|
$0298 = (RIOT $18) - Write DRA
|
||
|
$0299 = (RIOT $19) - Write DDRA
|
||
|
$029A = (RIOT $1A) - Write DRB
|
||
|
$029B = (RIOT $1B) - Write DDRB
|
||
|
$029C = (RIOT $1C) - Write timer (div by 1) - enable int (2)
|
||
|
$029D = (RIOT $1D) - Write timer (div by 8) - enable int (2)
|
||
|
$029E = (RIOT $1E) - Write timer (div by 64) - enable int (2)
|
||
|
$029F = (RIOT $1F) - Write timer (div by 1024) - enable int (2)
|
||
|
|
||
|
(1) A0 = 0 for negative edge detect
|
||
|
A0 = 1 for positive edge detect
|
||
|
A1 = 0 to disable interrupt from PA7 to /IRQ
|
||
|
A1 = 1 to enable interrupt from PA7 to /IRQ
|
||
|
|
||
|
(2) A3 = 0 to disable interrupt from timer to /IRQ
|
||
|
A3 = 1 to enable interrupt from timer to /IRQ
|