; theme-fr.asm
;
; French theme data for Smart Boot Manager
;
; Copyright (C) 2000, Suzhe. See file COPYING for details.
; Copyright (C) 2000, Bonnaud Fréféric.
; Frédéric Bonnaud <tux.le.pengouin@free.fr> 

; some constant used in this theme.

; PLEASE DO NOT CHANGE THESE, UNLESS YOU KNOW WHAT YOU ARE DOING!
%define SBMT_MAGIC      0x544D4253         ; magic number of
                                           ; Smart Boot Manager theme.
%define SBMT_VERSION    0x0302             ; version of theme.

start_font          equ     219
brand_char1         equ     start_font
brand_char2         equ     start_font+1
brand_char3         equ     start_font+2
brand_char4         equ     start_font+3

        bits 16

%ifndef MAIN
        org 0                       ; DO NOT REMOVE/MODIFY THIS LINE!!!
%endif

start_of_theme:

;!!! PLEASE DON NOT CHANGE THE SIZE AND ORDER OF FOLLOWING DATA !!!

;=============================================================================
;the header of Smart Boot Manager theme ( 16 bytes )
;=============================================================================
theme_magic         dd  SBMT_MAGIC ; magic number = 'SBMT', 4 bytes.
                                   ; it's abbr. of 'Smart Boot Manager Theme'
                    dw  0          ;
theme_lang          db  'fr-FR',0  ; language of this theme, 6 bytes.
theme_version       dw  SBMT_VERSION ; version, high byte is major version,
                                   ; low byte is minor version. should be
                                   ; equal to the version of Smart Boot Manager.
theme_size          dw  (end_of_theme - start_of_theme)
                                   ; size of the theme (bytes).

;=============================================================================
; fix size data and index tables of variable size data
;=============================================================================

video_mode          db  0xff       ; 0 = 90x25, 0xff = 80x25
                                   ; do not use other value!!!

keyboard_type       db 0x10        ; = 0x10 means use enhanced keyboard
                                   ; = 0x00 means use normal keyboard
                                   ; CAUTION: cannot use other value!!!


; position of screen elements
position:
.main_win_col       db  14         ; start column of main window
.main_win_row       db  6          ; start row of main window
.brand_col          db  255        ; start column of brand icon
                                   ; if = 255 then brand will be
                                   ; right justify in the screen.
.brand_row          db  0          ; start row of brand icon

; size of screen elements
size:
.copyright          db  1          ; number of rows used by copyright info
.hint               db  1          ; number of rows used by hint info
.box_width          db  5          ; the minimal width of info/error/input box
                                   ; (when no info string)
.box_height         db  4          ; the minimal height of info/error/input box
                                   ; (when no info string)
.main_win_height    db  13         ; the height of main window
.bootmenu_height    db  8          ; the height of boot menu area

;Black          = 0
;Blue           = 1
;Green          = 2
;Cyan           = 3
;Red            = 4
;Violet         = 5
;Yellow (brown) = 6
;White          = 7
;Black (gray)   = 8
;Intense blue   = 9
;Intense green  = a
;Intense cyan   = b
;Intense red    = c
;Intense violet = d
;Intense yellow = e
;Intense white  = f

; color of screen elements
; high 4 bits is background color, low 4 bits is foreground color

color:
.main_win_frame     db  0x3F        ; main window
.main_win_title     db  0xF1        ;
.menu_title         db  0x1F        ;
.menu_normal        db  0x70        ; boot menu
.menu_focus         db  0x0F        ;
.scrollbar          db  0x3F        ; scroll bar
.delay_time         db  0x70        ; delay time
.background         db  0x00        ; background (if no background icon)
.copyright          db  0x70        ; copyright string
.hint               db  0x70        ; hint string
.security_flags     db  0x7C        ; root passwd, login and secure mode flags. 
.input_box_frame    db  0xB0        ;
.input_box_title    db  0xF1        ; input box
.input_box_msg      db  0xB0        ;
.error_box_frame    db  0xCF        ;
.error_box_title    db  0xF1        ; error box
.error_box_msg      db  0xCF        ;
.info_box_frame     db  0xB0        ;
.info_box_title     db  0xF1        ; info box
.info_box_msg       db  0xB0        ;
.help_win_frame     db  0x3F        ;
.help_win_title     db  0xF1        ; help window
.help_msg           db  0x30        ;
.about_win_frame    db  0x3F        ;
.about_win_title    db  0xF1        ; about window
.about_msg          db  0x3E        ;

; icon data
icon:
.brand_size         dw  0x0104              ; the size of brand icon,
                                            ; high byte = row, low byte = col.
.brand              dw  icon_data.brand     ; offset of brand icon data, set to
                                            ; zero if no brand icon.

.background_size    dw  0x0104              ; the size of background icon,
                                            ; high byte = row, low byte = col.
.background         dw  icon_data.background; offset of background icon data,
                                            ; set to zero if no background icon.

; font data
font:
.number             dw  4                   ; number of chars to be replaced,
                                            ; should <= (256 - start).
.data               dw  font_data           ; offset of font set data, set to
                                            ; zero if no font to be replaced.


; chars used by window frame
frame_char:
.top                db     0x20            ; top horizontal
.bottom             db     0xCD            ; bottom horiztontal
.left               db     0xBA            ; left vertical
.right              db     0xBA            ; right vertical
.tl_corner          db     0xC9            ; top left corner
.tr_corner          db     0xBB            ; top right corner
.bl_corner          db     0xC8            ; bottom left corner
.br_corner          db     0xBC            ; bottom right corner

; how to draw window frame
draw_frame_method   db  1          ; = 0 means draw all frame using frame attr.
                                   ; = 1 means draw top horizontal line using
                                   ;     title attr.
                                   ; = 2 means draw top corner and horizontal
                                   ;     line using title attr.

; index table of strings
str_idx:
.main_win_title     dw  string.main_win_title
.menu_title         dw  string.menu_title
.menu_noflags_title dw  string.menu_noflags_title
.about              dw  string.about
.error              dw  string.error
.help               dw  string.help
.info               dw  string.info
.input              dw  string.input

.delay_time         dw  string.delay_time
.name               dw  string.name
.new_root_passwd    dw  string.new_root_passwd
.root_passwd        dw  string.root_passwd
.new_record_passwd  dw  string.new_record_passwd
.record_passwd      dw  string.record_passwd
.retype_passwd      dw  string.retype_passwd
.input_schedule     dw  string.input_schedule
.input_keystrokes   dw  string.input_keystrokes
.key_count          dw  string.key_count

.drive_id           dw  string.drive_id
.part_id            dw  string.part_id
.part_type          dw  string.part_type
.part_name          dw  string.part_name
.auto_active        dw  string.auto_active
.active             dw  string.active
.auto_hide          dw  string.auto_hide
.hidden             dw  string.hidden
.removable          dw  string.removable
.logical            dw  string.logical
.swap_drv           dw  string.swap_drv
.key_strokes        dw  string.key_strokes
.password           dw  string.password
.schedule           dw  string.schedule
.yes                dw  string.yes
.no                 dw  string.no

.copyright          dw  string.copyright
.hint               dw  string.hint
.about_content      dw  string.about_content
.help_content       dw  string.help_content

.changes_saved      dw  string.changes_saved
.passwd_changed     dw  string.passwd_changed
.ask_save_changes   dw  string.ask_save_changes

.wrong_passwd       dw  string.wrong_passwd
.disk_error         dw  string.disk_error
.mark_act_failed    dw  string.mark_act_failed
.toggle_hid_failed  dw  string.toggle_hid_failed
.no_system          dw  string.no_system
.invalid_record     dw  string.invalid_record
.invalid_schedule   dw  string.invalid_schedule

end_of_str_idx:

end_of_checksum_area:                   ; DO NOT REMOVE THIS LINE!!!
;=============================================================================
; variable size data
;=============================================================================

; icon data

; two bytes corresponding to a char,
; high byte is color, low byte is char code.
icon_data:
.brand:
db  brand_char1, 0x7C, brand_char2, 0x7C, brand_char3, 0x7C, brand_char4, 0x7C

.background:
db  0xB0, 0x71, 0xB0, 0x71, 0xB0, 0x71, 0xB0, 0x71

; font data
; each char occupied 17 bytes
; the first bytes is the ascii code used by this char
; the following 16 bytes is font data
;
; NOTE:
;   Do not replace ascii char 0 and 0x0d, these chars have special use.
;
font_data:
  db  start_font
  db  0x00,0x00,0x00,0x00,0x07,0x0c,0x08,0x08,0x0c,0x07,0x00,0x00,0x00,0x00,0xfe,0x00
  db  start_font+1
  db  0x01,0x01,0x01,0x01,0xfd,0x01,0x1f,0x1f,0x03,0xf7,0x0d,0x19,0x31,0x61,0xff,0xff
  db  start_font+2
  db  0x80,0x80,0x80,0x80,0xbf,0x80,0xf0,0xf8,0x98,0x9b,0x98,0x98,0x98,0x98,0x9e,0x9e
  db  start_font+3
  db  0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xf0,0x18,0x08,0x08,0x18,0xf0,0x00

; strings
; all strings are zero ending,
; use 0x0d to break string into multi-lines.
string:
; used in main window and boot menu.
.main_win_title     db  'Menu de demarrage',0
.menu_title         db  '   Drapeaux'
.menu_noflags_title db  '   Nombre  Type     Nom',0

; window titles.
.about              db  'A propos',0
.error              db  'Erreur',0
.help               db  'Aide',0
.info               db  'Information',0
.input              db  'Entree',0

; used in input boxes.
.delay_time         db  'Duree d attente: ',0
.name               db  'Nom: ',0
.new_root_passwd    db  'Nouveau '
.root_passwd        db  'Mot de passe Root: ',0
.new_record_passwd  db  'Nouveau '
.record_passwd      db  'Enregistrement du mot de passe: ',0
.retype_passwd      db  'Retapez le mot de passe: ',0
.input_schedule     db  'Programme (hh:mm-hh:mm): ',0
.input_keystrokes   db  'Touches frappees (max 13 touches)',0x0d
                    db  'Tapez <Scroll Lock> pour finir,',0x0d
                    db  'Code de la touche = 0x',0
.key_count          db  0x0d,'Nombre de touche = ',0

; used in record info box.
.drive_id           db       '    ID de lecteur: ',0
.part_id            db  '   ID de partition: ',0
.part_type          db  0x0d,'Type de partition: ',0
.part_name          db  0x0d,' Nom de partition: ',0

.auto_active        db  0x0d,0x0d,'Auto Active: ',0
.active             db  '    Active: ',0
.auto_hide          db  0x0d,'Auto Cachee: ',0
.hidden             db  '    Cachee: ',0
.removable          db  0x0d,'   Amovible: ',0
.logical            db  '   Logique: ',0
.swap_drv           db  0x0d,'Swap driver: ',0
.key_strokes        db  0x0d,0x0d,'Frappe de touches: ',0
.password           db  '  Mot de passe: ',0
.schedule           db  0x0d,'        Programme: ',0

.yes                db  'Oui',0
.no                 db  'Non',0

; copyright infomation, displayed at the top of the screen.
.copyright          db  ' Smart Boot Manager 3.2 | Copyright (C) 2000 Suzhe',0

; hint message, displayed at the bottom of the screen.
.hint               db  ' F1-Aide  F2-Sauver  F3-Renomer  F4-Marquer active F5-Cacher',0

; about infomation.
.about_content      db  '              Smart Boot Manager 3.2',0x0d
                    db  '      Copyright (C) 2000 Suzhe <su_zhe@sina.com>',0x0d,0x0d
                    db  ' Ceci est un programme libre,vous pouvez le distribuer',0x0d
                    db  '   et/ou le modifier dans les termes de la license',0x0d
                    db  '        GNU General Public License version 2.',0x0d,0x0d
                    db  '     Ce programme N est ABSOLUMENT PAS GARANTI!',0

; help infomation.
.help_content:
        db '      F1 = Aide                  Ctrl+F1 = A propos',0x0d
        db '      F2 = Sauver                     F3 = Renomer',0x0d
        db '      F4 = Marquer Active             F5 = Cacher/Montrer',0x0d
        db '      F6 = Changer auto active        F7 = Changer auto cacher',0x0d
        db '      F8 = Choisir comme defaut Shift+F8 = enlever cette marque',0x0d
        db '  Ctrl+D = Effacer                Ctrl+P = Dupliquer',0x0d
        db '  Ctrl+S = Choisir/Enlever le programme',0x0d
	db '  Ctrl+T = Fixer la duree du delais de demarrage',0x0d
        db '  Ctrl+K = Fixer les frappe de touches',0x0d
	db '  / ou ? = Montrer les infos',0x0d
        db '  Ctrl+I = Reparcourir tous les drivers',0x0d
	db '  Ctrl+H = Reparcourir tous les disques durs',0x0d,0x0d
        db '      F9 = Changer le mot de passe de demarrage',0x0d
        db '     F10 = Changer le mot de passe administrateur',0x0d
        db 'Ctrl+F10 = Passer em mode administrateur',0x0d
        db ' Alt+F10 = Passer en mode verouillage de securite',0

; normal messages.
.changes_saved      db  'Changements sauvegardes.',0
.passwd_changed     db  'Mode de passe change.',0
.ask_save_changes   db  'Sauver les changements (y/n)?',0

; error messages.
.wrong_passwd       db  'Mauvais mot de passe!',0
.disk_error         db  'Erreur de lecture/ecriture sur le disque!',0
.mark_act_failed    db  'Echec de marquage active!',0
.toggle_hid_failed  db  'Echec du cachage/montrage!',0
.no_system          db  'Pas de systeme d exploitation!',0x0d
                    db  'Rempacer le disque et essayez a nouveau.',0
.invalid_record     db  'Boot record invalide!',0
.invalid_schedule   db  'Horaire de programme invalide!',0

; END OF THEME.
end_of_theme:

