• Julie Stamp's avatar
    Fix check-byte for laying out defect list on big discs · 1bce8e2c
    Julie Stamp authored
    Detail:
    s.FormSWIs
    LayoutBootBlock:
    Calculate the checkbyte for the second defect list (>512M) in accordance with the PRM:
    "The byte yy is a check-byte calculated from the previous words in the second defect list"
    Currently the code includes all of the first defect list including its terminator when calculating the check-byte for the second defect list.
    
    As a result an empty defect list goes from
    &20000000
    &40000020
    
    to
    
    &20000000
    &40000000
    
    I do not believe this code would ever have been used before, since FileCore_LayoutStructure
    is only used in the OS
    1) To format floppies, which are smaller than 512MB and
    2) To format the RAM disc, which up till now has been smaller than 512MB.
    
    FileCore never looks at the >512M defect list outside of FileCore_LayoutStructure, the defect command is not able to add defects to the second list.
    
    HForm already calculates the checkbyte in accordance with the PRM, and this change ensures
    that large RAM discs will conform.
    
    Admin:
    Tested by examining 600MB RamDisc0.
    
    Version 3.76. Tagged as 'FileCore-3_76'
    1bce8e2c
FormSWIs 52.2 KB