{{htmlmetatags>metatag-robots=() metatag-title=(Graphics using midres) metatag-keywords=(Midres,Graphics,Commodore 64,Commodore VIC20,Commodore 16) metatag-description=(An essay on the theory about midres, the operation of a software that generates such images and a library to draw pixels with this graphic mode, as well as the possibility of creating an "out of the box" slideshow.) metatag-media-og:image=(midres02.jpg) metatag-og:title=(Graphics using midres) metatag-og:description=(An essay on the theory about midres, the operation of a software that generates such images and a library to draw pixels with this graphic mode, as well as the possibility of creating an "out of the box" slideshow.) }} ====== GRAPHICS USING MIDRES ====== ===== INTRODUCTION ====== Managing bitmap and color graphics on retro computers is expensive. This is due to the limited availability of RAM memory and its relative slowness, as well as the fact that graphics chipsets often do not have dedicated memory. This implies, among other things, that using graphics also reduces the memory available for data and programs. On the other hand, almost all retrocomputers have a "text" mode, which in addition to being managed by the hardware has a very limited memory footprint. {{youtube>szcBN_2pn2o?medium}} To take advantage of this feature, a special technique for managing graphics is described here, called "midres". The midres graphics is based on text mode and it emulates raster graphics without having to implement all the logic at the pixel level, at the cost of decreasing the maximum resolution available. This short essay describes the theory about midres, the operation of a software that generates such images and a library to draw pixels with this graphic mode, as well as the possibility of creating an "out of the box" slideshow. ===== SUMMARY ===== This is a short summary of pages related to this topic: * [[midres bitmap|Basics of bitmap in midres]] * [[midres color|Colouring midres bitmaps]] * [[img2midres|Convert images to midres format]] * [[midres library|Using portable midres library]] * [[midres_library:memory_layout|Memory layout used by midres library]] \adsense\ ===== EXAMPLES ===== This is an example of a 1590x994 pixel (24 bit RGB) image((Photo by [[https://unsplash.com/@saksham?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText"|Saksham Gangwar]] on [[https://unsplash.com/s/photos/movie?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText"|Unsplash]])) converted to an 80x50 (4 bit indexed) "midres" image: {{ ::midres01.jpg?nolink&600 |}} This is an example of a 1046x654 pixel (24 bit RGB) image((Photo by [[https://unsplash.com/@nickmonica?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText|Nick Monica]] on [[https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText|Unsplash]])) converted to an 80x50 (4 bit indexed) "midres" image: {{ ::midres02.jpg?nolink&600 |}} ===== CREDITS ===== The photos used in this documentation come from [[https://unsplash.com|unsplash.com]], and they have been processed with the program [[https://github.com/spotlessmind1975/img2midres|img2midres]] in order to be included in the demonstration slideshow, included into the library [[https://github.com/spotlessmind1975/midres|midres]].