8th May 2014
Well, well, well. Not much news on the Honey Bee front, as I am still waiting for some more updated graphics for it. Good news however is that I received some new game graphics for one of the screens. Bad news however - it was done in char pad as 1x1 tiles. However good news is that since the game consists of 1x1 tiles. The map screen size is one screen (40 chars across x 25 down).
I extracted the character set tile data, map data and attributes data and imported it into an ACME cross assembler source. Where single screens can be drawn through a map - then colour attributes get extracted according to the screen. I had some silly results at first, but after a third attempt - the overall result worked out quite nicely.
Now here's the source code which does this job ...
;1x1 tile + colour Map extractor
*=$2000 ;Import character set
*=$3000 ;Import map data (the screen matrix)
*=$3800 ;Import tiles data
*=$3c00 ;Import attributes (colour data)
*=$c000 ;SYS49152 to execute
loop0 lda $3000,x ;Read map data from $3000
sta $0400,x ;Place on screen RAM $0400 - 256 chars
lda $3100,x ;Same again for next segment
lda $3200,x ;and again
lda $32e8,x ;and again
loop1 ldy $0400,x ;Read the map on screen
lda $3c00,y ;Read the tile colour / attributes table
sta $d800,x ;Store to the C64 hardware char Colour RAM 256 times
ldy $0500,x ;Do the same with the next 256 chars
sta $d900,x ;Store again ...
ldy $0600,x ;and again
ldy $06e8,x ;and again