Showing posts from January, 2020

Direct VERA Access

*** Mostly obsolete, valid for Emulator versions before R.37 - Check the VERA Overview instead *** In this short post we will discuss access to graphics using direct access. We will explain the memory organization and test it with Basic and later translate it into Assembly program When programing in Basic we have few handy commands that make access to graphics simple and seamless. For example using VPOKE and VPEEK we can write and read to and from any address in video memory. With VLOAD we can load chunks of data directly into Video memory. So why would accessing it with machine code be any different? To explain let’s look at the (simplified) memory map of Commander X16. The CPU is using 16 bit address bus and therefore can directly access 64 Kbytes of memory. We call it CPU memory. Commander X16 actually has more memory which CPU can access through “banking switching” however it can still only address 64 at any given time. On the other hand we 128K of Video mem