User Tools

Site Tools


hardware:memorymap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
hardware:memorymap [2025/03/01 18:51] clydehardware:memorymap [2025/03/12 17:19] (current) – [System Control Registers] clyde
Line 17: Line 17:
 ===== General Purpose RAM ===== ===== General Purpose RAM =====
  
-The lowest 8,196 addresses provide general-purpose data storage. Data stored in this range will only be read and written by the main processor, without side effects. +The lowest 8,192 addresses provide general-purpose data storage. Data stored in this range will only be read and written by the main processor, without side effects. 
  
 Of special note within this section are the ranges $0000-$00FF, and $0100-$01FF, called the Zero Page and the Stack respectively. Addresses in the Zero Page can be accessed more quickly by special opcodes, and addresses in the stack are used by certain operations such as calling and returning from subroutines. Of special note within this section are the ranges $0000-$00FF, and $0100-$01FF, called the Zero Page and the Stack respectively. Addresses in the Zero Page can be accessed more quickly by special opcodes, and addresses in the stack are used by certain operations such as calling and returning from subroutines.
Line 30: Line 30:
 | $2005 | Banking Register                         | | $2005 | Banking Register                         |
 | $2007 | Video/Blitter Flags                      | | $2007 | Video/Blitter Flags                      |
-| $2008 | Gamepad 1 (Left port)                    | 
-| $2009 | Gamepad 2 (Right port)                   | 
- 
  
 ==== Audio Coprocessor === ==== Audio Coprocessor ===
Line 42: Line 39:
 | $2001 | Write to send NMI to audio coprocessor | | $2001 | Write to send NMI to audio coprocessor |
 | $2006 | Audio enable and sample rate           | | $2006 | Audio enable and sample rate           |
 +
 +$2000 and $2001 trigger on any write, regardless of value.
  
  
Line 89: Line 88:
 The VIA is used to control the "SPI" pins on the cartridge port as well as the general-purpose IO pins on the rear of the console. More detail is available on the specific VIA article. The VIA is used to control the "SPI" pins on the cartridge port as well as the general-purpose IO pins on the rear of the console. More detail is available on the specific VIA article.
  
 +^ Addr  ^ Use                                      ^
 +| $2800 | I/O Register B |
 +| $2801 | I/O Register A |
 +| $2802 | Data Direction Register B |
 +| $2803 | Data Direction Register A |
 +| $2804 | Timer 1 Low-Order Latches/Counter |
 +| $2805 | Timer 1 High-Order Counter |
 +| $2806 | Timer 1 Low-Order Latches |
 +| $2807 | Timer 1 High-Order Latches |
 +| $2808 | Timer 2 Low-Order Latches/Counter |
 +| $2809 | Timer 2 High-Order Counter |
 +| $280A | Shift Register |
 +| $280B | Auxiliary Control Register |
 +| $280C | Peripheral Control Register  |
 +| $280D | Interrupt Flag Register  |
 +| $280E | Interrupt Enable Register |
 +| $280F | Same as Reg 1 except no "Handshake" |
 +
 +[[https://www.westerndesigncenter.com/wdc/documentation/w65c22.pdf|Manufacturer datasheet for W65C22 VIA]]
 ===== Audio RAM ===== ===== Audio RAM =====
  
hardware/memorymap.1740855108.txt.gz · Last modified: 2025/03/01 18:51 by clyde