From 602c049b39ce7f881e5c13b76d5419b106c50c86 Mon Sep 17 00:00:00 2001 From: Kjell Ericson Date: Fri, 10 Jan 2003 11:07:14 +0000 Subject: Description of how Rocklatin works and looks like. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3060 a1c6a512-1295-4272-9138-f99709370657 --- www/docs/index.t | 1 + www/docs/lcd_new.gif | Bin 0 -> 43437 bytes www/docs/lcd_new_hw.gif | Bin 0 -> 41878 bytes www/docs/lcd_new_subst.gif | Bin 0 -> 43437 bytes www/docs/lcd_old.gif | Bin 0 -> 43437 bytes www/docs/lcd_old_hw.gif | Bin 0 -> 41878 bytes www/docs/lcd_old_subst.gif | Bin 0 -> 43437 bytes www/docs/rocklatin.t | 97 +++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 98 insertions(+) create mode 100644 www/docs/lcd_new.gif create mode 100644 www/docs/lcd_new_hw.gif create mode 100644 www/docs/lcd_new_subst.gif create mode 100644 www/docs/lcd_old.gif create mode 100644 www/docs/lcd_old_hw.gif create mode 100644 www/docs/lcd_old_subst.gif create mode 100644 www/docs/rocklatin.t (limited to 'www/docs') diff --git a/www/docs/index.t b/www/docs/index.t index e2a7d96628..8205142514 100644 --- a/www/docs/index.t +++ b/www/docs/index.t @@ -20,6 +20,7 @@
  • Setting up the cross compiler for Windows
  • How to compile Rockbox (README from cvs)
  • MPEG frame header info +
  • Rocklatin charset in Player #include "foot.t" diff --git a/www/docs/lcd_new.gif b/www/docs/lcd_new.gif new file mode 100644 index 0000000000..e305a33498 Binary files /dev/null and b/www/docs/lcd_new.gif differ diff --git a/www/docs/lcd_new_hw.gif b/www/docs/lcd_new_hw.gif new file mode 100644 index 0000000000..87930d3d65 Binary files /dev/null and b/www/docs/lcd_new_hw.gif differ diff --git a/www/docs/lcd_new_subst.gif b/www/docs/lcd_new_subst.gif new file mode 100644 index 0000000000..f5e8297ce6 Binary files /dev/null and b/www/docs/lcd_new_subst.gif differ diff --git a/www/docs/lcd_old.gif b/www/docs/lcd_old.gif new file mode 100644 index 0000000000..558b290066 Binary files /dev/null and b/www/docs/lcd_old.gif differ diff --git a/www/docs/lcd_old_hw.gif b/www/docs/lcd_old_hw.gif new file mode 100644 index 0000000000..19f35f6711 Binary files /dev/null and b/www/docs/lcd_old_hw.gif differ diff --git a/www/docs/lcd_old_subst.gif b/www/docs/lcd_old_subst.gif new file mode 100644 index 0000000000..45eb5a6206 Binary files /dev/null and b/www/docs/lcd_old_subst.gif differ diff --git a/www/docs/rocklatin.t b/www/docs/rocklatin.t new file mode 100644 index 0000000000..e44d154ff9 --- /dev/null +++ b/www/docs/rocklatin.t @@ -0,0 +1,97 @@ +#define _PAGE_ Rocklatin +#include "head.t" + +

    Rocklatin1

    + +Only for developers... + +

    Background

    +The Archos player comes in two models. One with old LCD and one with new LCD. +(Differences can be seen below). You can't find any difference more than the +LCD, therefor we run the same code on both models. The original software +contains two different mappings from ASCII-character to hardware-LCD. Because +some characters doesn't exist in both hardwares all national characters +are left out in both hardware. +

    The old LCD can have 4 software defined characters, and the new LCD can +have 8 software defined characters. + + + +
    HW layout of old LCD:
    HW layout of new LCD:
    + +

    What is Rocklatin1

    +Rocklatin1 is based on Winlatin1 (which is identical to Latin1 but some +extra characters). All characters presented in any HW-LCD (i.e. old LCD) +is mapped in Rocklatin1 and some extra characters we find good to use. + + + + +
    Rocklatin1 of old LCD:
    Rocklatin1 of new LCD:
    +The red characters are characters not defined in the HW-LCD. These characters +are mapped by the software to a software defined character (0-4/8) whenever +they are used. + +

    But what if...

    +...all software defined characters are taken?
    +Well, then a substitute character will be used for that character. + + + + +
    Substitute of old LCD:
    Substitute of new LCD:
    +The red characters shows where a substitution is made. + +

    +All Rocklatin1 characters between 0x00 and 0x1f are hardcoded to be prioritized. +That means that if a national character is displayed at LCD and an icon +(0x18-0x1f) is to be shown, the character with highest Rocklatin1 value will +be switched to a substitute character. + +

    Accessing hardware

    +The Rockbox software can access a HW-LCD-character by doing a lcd_putc(0x100-0x1ff). That would of course make it 100% hardware depended (=not good). +

    +The Rockbox software can also define 23 own patterns, even though hardware only +allows 4 or 8. The software should of course not try to display more than 4 +or 8 of such characters. This code example shows how to define a pattern: +

    +{
    +  unsigned char pattern[]={ 0x0a, 0x00, 0x00, 0x0c,
    +                            0x04, 0x04, 0x0e};
    +  unsigned char handle;
    +
    +  handle=lcd_get_locked_pattern();
    +  lcd_define_pattern(handle, pattern);
    +
    +  lcd_putc(x, y, handle);
    +
    +  ...
    +
    +  lcd_unlock_pattern(handle);
    +}
    +
    +The handle is very likely to be between 0x01 to 0x17, which in software will +be handled as a prioritized character (even higher than the icons). + +

    Some notes

    + + +#include "foot.t" -- cgit v1.2.3