Ignore:
Timestamp:
Jul 8, 2018, 7:40:47 PM (7 years ago)
Author:
Ben Rietbroek
Message:

Merged "strings-to-es-20180707.txt" provided by Alfredo [v1.1.5-testing]

Translator-build 'AiR-BOOT-v1.1.5-ES-TESTBUILD-20180708' was created
from this commit.

CAUTION:
This is a testbuild !
AirBoot uses the BIOS to access disks and a small coding error can trash
partition tables or other vital disk structures. You are advised to make
backups of TRACK0 and EBRs before using this testbuild. More info at:
https://rousseaux.github.io/netlabs.air-boot/pdf/AirBoot-v1.1.4-manual.pdf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bootcode/special/charset.asm

    r239 r244  
    115115
    116116        ; Pointer to table with glyphs using compressed format
    117         mov    si, offset CHARSET_Cyrillic
    118         mov    di, offset CharsetTempBuffer+2048
    119 
    120         mov    dl, 64           ; Decode 64 character bitmaps
    121         xor    al, al
    122         xor    ch, ch
    123         DecodeLoop:             ; This is an uncompressing-loop
    124         mov    ah, ds:[si]
    125         inc    si
    126         mov    cl, ah
    127         and    cl, 0Fh
    128         rep    stosb            ; Write NULs, count: lower 4 bits
    129         mov    cl, ah
    130         shr    cl, 4
    131         or     cl, cl
    132         jz     EndOfStream
    133         rep    movsb
    134         jmp    DecodeLoop
    135         EndOfStream:
    136         cmp    di, offset CharsetTempBuffer+3840
    137         jae    DecodeDone
    138         add    di, 768          ; Skip 3x16 char blocks
    139         jmp    DecodeLoop
    140 
    141         DecodeDone:
     117        mov     si, offset CHARSET_Cyrillic
     118        mov     di, offset CharsetTempBuffer+2048
     119
     120        mov     dl, 64          ; Decode 64 character bitmaps
     121        xor     al, al
     122        xor     ch, ch
     123    DecodeLoop:                 ; This is an uncompressing-loop
     124        mov     ah, ds:[si]
     125        inc     si
     126        mov     cl, ah
     127        and     cl, 0Fh
     128        rep     stosb           ; Write NULs, count: lower 4 bits
     129        mov     cl, ah
     130        shr     cl, 4
     131        or      cl, cl
     132        jz      EndOfStream
     133        rep     movsb
     134        jmp     DecodeLoop
     135    EndOfStream:
     136        cmp     di, offset CharsetTempBuffer+3840
     137        jae     DecodeDone
     138        add     di, 768         ; Skip 3x16 char blocks
     139        jmp     DecodeLoop
     140
     141    DecodeDone:
    142142        ; Upload the custom charset to the video-adapter
    143         call  CHARSET_SetCutsomGlyphs
     143        call    CHARSET_SetCutsomGlyphs
    144144
    145145        popa
     
    158158; -----------------------------------------------------------------------------
    159159CHARSET_GetRomGlyphs    Proc
    160         mov    ax, 1130h
    161         mov    bh, 6                ; Get ROM VGA 25x80 charset
    162         int    10h                  ; VIDEO BIOS: Get charset table pointer
    163         mov    bx, ds
    164         mov    ax, es
    165         mov    es, bx               ; ES now points to Data-Segment      (dest)
    166         mov    ds, ax               ; DS now points to Video-ROM          (src)
    167         mov    si, bp               ; SI now points to ROM Font 25x80
    168         mov    di, offset CharsetTempBuffer     ; Located in BSS
    169         mov    cx, 2048
    170         rep    movsw                ; Copy ROM-charset to Temp-Buffer in BSS
    171         mov    ds, bx               ; Restore DS (DS==ES==CS)
     160        mov     ax, 1130h
     161        mov     bh, 6               ; Get ROM VGA 25x80 charset
     162        int     10h                 ; VIDEO BIOS: Get charset table pointer
     163        mov     bx, ds
     164        mov     ax, es
     165        mov     es, bx              ; ES now points to Data-Segment      (dest)
     166        mov     ds, ax              ; DS now points to Video-ROM          (src)
     167        mov     si, bp              ; SI now points to ROM Font 25x80
     168        mov     di, offset CharsetTempBuffer    ; Located in BSS
     169        mov     cx, 2048
     170        rep     movsw               ; Copy ROM-charset to Temp-Buffer in BSS
     171        mov     ds, bx              ; Restore DS (DS==ES==CS)
    172172        ret
    173173CHARSET_GetRomGlyphs    EndP
     
    185185; second video-page. Information from Ralph Brown does state that for 0x1110h
    186186; video-page 0 needs to be active, which might not be the case when the custom
    187 ; glyphs are loaded. Switching to 0x1100 solves the problem on the Hp Pavilion
     187; glyphs are loaded. Switching to 0x1100 solves the problem on the HP Pavilion
    188188; and the other test-laptop, which did not have this quirk, still works fine.
    189189; That leaves the question why 0x1110 was chosen by Martin in the first place.
Note: See TracChangeset for help on using the changeset viewer.