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

Commander X16 Premium Keyboard

It comes in simple and rather small box that was heavier than I expected. I like it, if keyboard has some weight to it and is not empty plastic thing. Opened lid reveals the keyboard neatly wrapped in a foam. Keyboard is out and looking very pretty, here with all the accessories that were in the box: The keyboard itself USB cable Two USB-PS/2 adapters Keycap removal tool Users Guide Couple of stickers Backside of the keyboard reveals channels that allow us to guide the connecting cable to either side or down the middle (five possibilities in total). Closeup of the USB C connector and DIP swicthes for setting desired configuartion. Users Guide is a tiny sheet of paper but probably contain everythin we need to know about the product and how to use. Closeup of the keys and print. And of course the logo. And finally for those who are interested in the clicking sound of Cherry MX blue switches, here is a short demonstration:

Default Palette

Commander X16 uses 256 color palette, each of the component colors (R, G and B) gets 4 bits therefore we can choose from total of 16*16*16 = 4096 combinations. At startup we get pretty good collection of default colors. First 16 colors are similar to Commodore 64 colors, the next 16 are all possible clean gray colors followed by spread of other colors of different hues and intensities. Below are the table of defaults. I exported these colors directly from Commander X16 emulator using a simple Basic program that can be downloaded below. I also included links to two versions of bitmaps that can be used to import into paint programs or sprite design tools. Please note that Color 0 in 256 color mode is actually replaced by transparent "color" and black indexed 16 can be used instead. Index R G B 0 0 0 0 1 15 15 15 2 8 0 0 3 10 15 14 4 12 4 12 5 0 12 5 6 0 0 10 7 14 14 7 8 13 8 5 9 6 4 0 10 15 7 7 1