Firstly you're going to need the following IMG2Hex converter. It can convert a 24-Bit bit map to a 565-16-Bit one.
The accompanying Real View movie may be contaminated with cookies, so please don't be tempted to open it :-(
A full screen bit map would take upto 320 * 240 * 2 pixel bytes and what with a total of only 32K bytes available to us using
the Keil uVision compiler, I had to use a much smaller 26,400 byte bit map instead. This storage problem will be overcome
in the not too distant future, when I learn how to use the onboard Sda digital card storage facility ;-) With a 4 Gbyte Sda Card
one can store upto 27,000 bitmaps on it :-) Small though the bit map is, it can be used however to demonstrate the general principle.
The registers and peripherals are, as usual, initialised in StartUp.inc and the program is more or less the same as the previous
Hello World program and only the differences between them will be commented on. A full screen window 240 * 320 is firstly set up
by calling the LcdWin subroutine (160) and the various working parameters are initialised before calling the LcdBmp subroutine.
1: The address location of the Start of the bit map to be sent to the Lcd is stored in the SrcPtr ram offset location (163).
2: The number of Words to be output are stored in the BmpCnt ram offset location (165).
3: The Lcd Start address location where the bit map is to be drawn is stored in the LcdPtr ram offset location (167).
The subroutine LcdBmp is then called and the program loops forever (170).
"There are only 10 types of people in the world. Those who understand binary and those who don't"Download