www.geocities.com/jo9992/qbasic.html
By J.B. (prodigy_2000@start.com.au)

This program renders a 256 colour bitmap using only ASCII characters.
It prompts you for a filename and the quality level you would like
to use. At the lowest quality level,8, the program scans a 8*8 block of 
the bitmap and measures the percentage of the block that is white. It
then replaces the block with an ascii character that matches it's
percentage whiteness most accurately. By specifying the quality level n,
you are specifying the program to scan a n*n block and to replace the 
block with an n*n pixel representation of an ascii character.

Note that this program takes a 256 colour bitmap and converts it to a
black and white when it draws it onscreen. The program shows you this
black and white representation before it begins drawing the picture
using the ascii technique.

Also note that the higher the quality level, where 8 is the lowest,
and 1 is the highest, the slower it takes to render the picture.