Jump to content

Memory map: Difference between revisions

From GeekDotWiki
No edit summary
No edit summary
Line 1: Line 1:
[[Category:ATW800/2]]
[[Category:ATW800/2]]


== This is the ATW800/2 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


{| class="wikitable"
{| class="wikitable"
|+ Caption text
|+ As of April 2025
|-
|-
! ATW800/2 !! Mega-ST !! Mega-STe !! TT
! ATW800/2 !! Mega-ST !! Mega-STe !! TT
Line 37: Line 39:


|}
|}
===== VidMem =====
This is where ATW800/2’s video memory starts. For the default firmware, this covers a range of 2 megabytes.
===== SharedMem =====
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.

Revision as of 11:09, 9 April 2025


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

As of April 2025
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.

SharedMem

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.