Ignore:
Timestamp:
Apr 12, 2014, 12:36:45 AM (11 years ago)
Author:
Ben Rietbroek
Message:

Now using compressed HidePartTable (auxdebug on) [2012-02-24]

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can DESTROY THE MBR on ALL ATTACHED DISKS!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE THESE COMMITS!!

Fixes

o HidePartTabled now uses a 6-bit compressed format

Bitfield functions are used to manipulate the table.
Modifications mostly in PARTSCAN.ASM, PART_SET.ASM and PARTMAIN.ASM.
TODO: Determine impact on upgrading from previous versions.

Changes

o Changed LVM Label behavior

If they are the same, the LVM VolumeName is synced to LVM PartitionName
so they are the same again after the edit.
If they differ, only the LVM VolumeName is updated.

o Implemented stop scanning when partition limit of 45 is exceeded

User is presented with a warning pop-up.
Pressing a key will continue and the partitions that were found
so far are displayed in the menu.
The color of the selection bar is changed to red to indicate this
overflow situation.

o New overlap macro that works correctly with JWasm and Tasm

Now uses DB n DUP (<filler>) to fill space before a new ORG.
When overlap occurs n goes negative causing assembler error.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BOOTCODE/SPECIAL/CHARSET.ASM

    r29 r45  
    3939   mov    ds, bx                         ; DS==CS
    4040   mov    si, offset CHARSET_Cyrillic
    41    mov    di, offset CharSetTempBuffer+2048
     41   mov    di, offset CharsetTempBuffer+2048
    4242
    4343   mov    dl, 64                         ; Decode 64 character bitmaps
     
    5757      jmp    DecodeLoop
    5858     EndOfStream:
    59       cmp    di, offset CharSetTempBuffer+3840
     59      cmp    di, offset CharsetTempBuffer+3840
    6060      jae    DecodeDone
    6161      add    di, 768                     ; Skip 3x16 char blocks
     
    6868   mov    cx, 0FFh
    6969   xor    dx, dx
    70    mov    bp, offset CharSetTempBuffer ; ES:BP - New charset
     70   mov    bp, offset CharsetTempBuffer ; ES:BP - New charset
    7171   int    10h                            ; VIDEO BIOS: Set new charset table
    7272   mov    ah, 12h
Note: See TracChangeset for help on using the changeset viewer.