Memory map
The ATW800/2 memory-map
All services of the ATW800/2 are memory mapped. So, reading/writing to a specific address in memory, you can e.g. communicate with the Transputer(s) or draw to the screen. This is the memory map depending on the Atari system used
ATW800/2 | Mega-ST | Mega-STe | TT |
---|---|---|---|
VidMem | 0xFEC00000 | 0xFEA00000 | 0xFEC00000 |
SharedMem | 0xFEDF4000 | 0xFEBF4000 | 0xFEDF4000 |
ATWinfo | 0xFEDFDC00 | 0xFEBFDC00 | 0xFEDFDC00 |
CLUT shadow | 0xFEDFDE00 | 0xFEBFDE00 | 0xFEDFDE00 |
VDI caches | 0xFEDFE000 | Exa0xFEBFE000ple | 0xFEDFE000 |
FPGA LUT | 0xFEDFF000 | 0xFEBFF000 | 0xFEDFF000 |
FPGA Info | 0xFEDFF200 | 0xFEBFF200 | 0xFEDFF200 |
FPGA VTG | 0xFEDFF800 | 0xFEBFF800 | 0xFEDFF800 |
FPGA Blit | 0xFEDFF900 | 0xFEBFF900 | 0xFEDFF900 |
FPGA link | 0xFEDFFAC0 | 0xFEBFFAC0 | 0xFEDFFAC0 |
C011 Link | 0xFEFFFAC0 | 0xFEBFFA80 | 0xFEFFFAC0 |
CPLD version | 0xFEFFFAD8 | 0xFEBFFA98 | 0xFEFFFAD8 |
VidMem
This is where ATW800/2’s video memory starts. For the default firmware, this covers a range of 2 megabytes.
Serves for fast data exchange between Atari and the synthetic Transputer in parallel operation.
ATWInfo
An info structure, created by NVDI/XVDI. Helios, for example, can use it to calculate its video RAM or to exit a Transputer program in an orderly manner.
CLUT shadow
This contains a shadow of the VDI color look-up table (CLUT). It needs to be kept up-to-date by the VDI. It’s important if the Transputer is used e.g as an accelerator for the Atari.
VDI caches
This can be used for e.g. fill patterns for VDI acceleration - currently only used by XVDI - total size: 4kB
FPGA LUT / VTG / Blit
These addresses provide means to control the video-output.
FPGA Link / C011 Link
These are the addresses which can be used to communicate with the virtual Transputer inside the FPGA or a real Transputer(s) plugged into the ATW800/2 TRAM sockets.
FPGA Info / CPLD Version
These addresses return information about the currently programmed firmware inside the FPGA and CPLD.