I started playing about last night - a lot to get a grasp on.
Initial playing about has been with the memory control and colour map features via XDLs. Of course you need to know the memory control stuff before you can do anything useful with the other features of VBXE.
Here's my first example program in BASIC. It creates an XDL which sets up a colour map which covers the top part of the screen. The program takes a minute or so to run - the loop which sets the attributes is a bit slow. Once the program has run once you can change line 176 so the GOTO is executed to skip that part.
Downloadable BASIC program (unzip to a directory mounted as an APE ImageDrive): colmap2.zip 955bytes 260 downloads
10 V=214*256 20 MEMCONTROL=V+94 30 MEMBANK=V+95 40 POKE MEMCONTROL,128+8:REM $8000, 4K, CPU ACCESS 50 POKE MEMBANK,128+0:REM BANK 0 60 XDL=32768 70 POKE XDL,40:REM COLORMAP ON, REPEAT 80 POKE XDL+1,14:REM SET MAP ADR/STEP, SET MAP PARAMETERS, SET ATTRIBUTES 90 POKE XDL+2,7:REM REPEAT 7 MORE 100 POKE XDL+3,0:POKE XDL+4,16:POKE XDL+5,0:REM ADR $4000 IN VBXE FOR COLORMAP 110 POKE XDL+6,160:POKE XDL+7,0:REM STEP BY 160 BYTES 115 POKE XDL+8,0:POKE XDL+9,0:POKE XDL+10,7:POKE XDL+11,7:REM H/VSCROL, MAP CELL SIZE 117 POKE XDL+12,2:POKE XDL+13,255:REM NORMAL WIDTH, OVERLAY PRIORITY>GTIA 120 FOR A=XDL+14 TO XDL+14+3*10 STEP 3 130 POKE A,40:REM COLORMAP/REPEAT 140 POKE A+1,0:POKE A+2,7:REM REPEAT 7 150 NEXT A 160 POKE A,0:POKE A+1,128:REM JVB 170 POKE MEMBANK,128+1:REM BANK 1 175 BC=0 176 REM GOTO 300 180 FOR Y=0 TO 12:CS=32768+Y*160:LUM=6:LS=1 185 FOR X=0 TO 39 190 C=CS+X*4 200 POKE C,0:REM PF0 210 POKE C+1,LUM:REM PF1 215 LUM=LUM+LS:IF LUM=15 OR LUM=6 THEN LS=-LS 220 POKE C+2,BC:BC=BC+16:IF BC>255 THEN BC=BC-255 225 POKE C+3,0 230 NEXT X 240 NEXT Y 300 POKE V+65,0:POKE V+66,0:POKE V+67,0:REM SET XDL ADDRESS 310 POKE V+64,3:REM ENABLE XDL, EXT COLOR
Quick hint - when playing around, it's fairly easy to get a screen that's near unreadable. Rather than pressing RESET to clear everything up, just set VIDEO_CONTROL to 00 or 02 to disable XLD processing. Value 02 disables XDL, but retains the extended colour ability, e.g. independant PF1/PF2 colours in hires.