+NE_LEM1802 v1.0\r
+ \r
+ \ | ___ \r
+ |\ \| ___ \r
+ | \\r
+\r
+ NYA ELEKTRISKA\r
+ innovation information\r
+\r
+\r
+\r
+\r
+DCPU-16 Hardware Info:\r
+ Name: LEM1802 - Low Energy Monitor\r
+ ID: 0x7349f615, version: 0x1802\r
+ Manufacturer: 0x1c6c8b36 (NYA_ELEKTRISKA)\r
+\r
+\r
+Description:\r
+ The LEM1802 is a 128x96 pixel color display compatible with the DCPU-16.\r
+ The display is made up of 32x12 16 bit cells. Each cell displays one\r
+ monochrome 4x8 pixel character out of 128 available. Each cell has its own\r
+ foreground and background color out of a palette of 16 colors.\r
+ \r
+ The LEM1802 is fully backwards compatible with LEM1801 (0x7349f615/0x1801),\r
+ and adds support for custom palettes and fixes the double buffer color\r
+ bleed bug. \r
+ \r
+\r
+Interrupt behavior:\r
+ When a HWI is received by the LEM1802, it reads the A register and does one\r
+ of the following actions:\r
+ \r
+ 0: MEM_MAP_SCREEN\r
+ Reads the B register, and maps the video ram to DCPU-16 ram starting\r
+ at address B. See below for a description of video ram.\r
+ If B is 0, the screen is disconnected.\r
+ When the screen goes from 0 to any other value, the the LEM1802 takes\r
+ about one second to start up. Other interrupts sent during this time\r
+ are still processed.\r
+ 1: MEM_MAP_FONT\r
+ Reads the B register, and maps the font ram to DCPU-16 ram starting\r
+ at address B. See below for a description of font ram.\r
+ If B is 0, the default font is used instead.\r
+ 2: MEM_MAP_PALETTE\r
+ Reads the B register, and maps the palette ram to DCPU-16 ram starting\r
+ at address B. See below for a description of palette ram.\r
+ If B is 0, the default palette is used instead.\r
+ 3: SET_BORDER_COLOR\r
+ Reads the B register, and sets the border color to palette index B&0xF\r
+ 4: MEM_DUMP_FONT\r
+ Reads the B register, and writes the default font data to DCPU-16 ram\r
+ starting at address B.\r
+ Halts the DCPU-16 for 256 cycles\r
+ 5: MEM_DUMP_PALETTE\r
+ Reads the B register, and writes the default palette data to DCPU-16\r
+ ram starting at address B. \r
+ Halts the DCPU-16 for 16 cycles\r
+\r
+\r
+Video ram:\r
+ The LEM1802 has no internal video ram, but rather relies on being assigned\r
+ an area of the DCPU-16 ram. The size of this area is 386 words, and is\r
+ made up of 32x12 cells of the following bit format (in LSB-0):\r
+ ffffbbbbBccccccc\r
+ The lowest 7 bits (ccccccc) select define character to display.\r
+ ffff and bbbb select which foreground and background color to use.\r
+ If B (bit 7) is set the character color will blink slowly.\r
+ \r
+\r
+Font ram:\r
+ The LEM1802 has a default built in font. If the user chooses, they may\r
+ supply their own font by mapping a 256 word memory region with two words\r
+ per character in the 128 character font.\r
+ By setting bits in these words, different characters and graphics can be\r
+ achieved. For example, the character F looks like this:\r
+ word0 = 1111111100001001\r
+ word1 = 0000100100000000\r
+ Or, split into octets:\r
+ word0 = 11111111 /\r
+ 00001001\r
+ word1 = 00001001 /\r
+ 00000000\r
+ \r
+\r
+Palette ram:\r
+ The LEM1802 has a default built in palette. If the user chooses, they may\r
+ supply their own palette by mapping a 16 word memory region with one word\r
+ per palette entry in the 16 color palette.\r
+ Each color entry has the following bit format (in LSB-0):\r
+ 0000rrrrggggbbbb\r
+ Where r, g, b are the red, green and blue channels. A higher value means a\r
+ lighter color.\r
+ \r
+\r
+A message from Ola:\r
+ Hello!\r
+ \r
+ It is fun to see that so many people use our products. When I was a small\r
+ boy, my dad used to tell me "Ola, take care of those who understand less\r
+ than you. Lack of knowledge is dangerous, but too much is worse". \r
+ Here at Nya Elektriska have we always tried to improve mankind by showing\r
+ them the tools required to improve and reach their true potential.\r
+ Together, you will wake up in time.\r
+ \r
+ - Ola Kristian Carlsson
\ No newline at end of file