Jump to content

    

USB MASS storage эмуляция большего размера

Почему показывает 32 КБ вместо 6 Мб сказать пока не могу, т.к. считаю что должно показывать 8Мб, а не 6Мб. Полагаю что в первую очередь нужно исправить это.

Обратите внимание, что в BS указана длина диска 0xF0,0x40 - 16624 сектора, или 8511488 байт. Т.е. размер диска должен быть 8.5 Мбайт, или около того.

Но Windows определяет этот размер как 5.29 Мбайт. Почему так?

 

У вас длина таблицы FAT равна одному сектору (где это указано - картинка внизу).

Считаем, что из этого получается.

В один сектор FAT12 помещается 341 описатель кластеров (512 байт / 1.5 = 341). Каждый кластер равен 32 сектора, или 16кб (512 * 32 = 16384).

Таким образом, в таблице FAT описан только 341 кластер по 16 кБайт каждый, а всего 5586944 байт. Вот это число, скорее всего, и является тем что видит Windows.

Приведите сначала количество секторов FAT (2, 3, или сколько понадобится) в соответствие с размером диска - 0xF0,0x40 секторов.

А там посмотрим.

post-45309-1522521626_thumb.png

Edited by controller_m30

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this