Инструменты пользователя

Инструменты сайта


msx:nextor:disk_basic

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
msx:nextor:disk_basic [2020-04-15 15:25]
GreyWolf [Программа разметки блочном устройств (дисков)]
msx:nextor:disk_basic [2020-04-15 15:45]
GreyWolf [Работа с секторами диска]
Строка 17: Строка 17:
 ===== Свободное место на диске ===== ===== Свободное место на диске =====
  
-Оригинальная функция [[msx:​basic_programming_guide:​09#​dskf|DSKF()]],​ указывающая свободное место на диске, возвращает число свободных кластеров в [[msx:​dos|]]. В [[msx:​nextor:​nextor|Nextor]] поведение этой команды было изменено:​ теперь возвращает количество свободных Кб.+Оригинальная функция ​''​[[msx:​basic_programming_guide:​09#​dskf|DSKF()]]''​, указывающая свободное место на диске, возвращает число свободных кластеров в [[msx:​dos|]]. В [[msx:​nextor:​nextor|Nextor]] поведение этой команды было изменено:​ теперь возвращает количество свободных Кб.
  
 Это эти изменения кардинально отличают её поведение от [[msx:​dos|]]. Однако большинство существующих программ,​ использующих эту команду,​ на самом деле не рассчитывают количество свободного пространства в Кб, вместо этого отображается необработанный счётчик кластеров для пользователя. Кроме того, в течение многих лет наиболее популярным носителем данных для компьютеров MSX была дискета 2DD, размер кластера которой составлял 1 КБ, поэтому многие пользователи ошибочно полагали,​ что команда ''​DSKF''​ все равно возвращает значение в Кб. Это эти изменения кардинально отличают её поведение от [[msx:​dos|]]. Однако большинство существующих программ,​ использующих эту команду,​ на самом деле не рассчитывают количество свободного пространства в Кб, вместо этого отображается необработанный счётчик кластеров для пользователя. Кроме того, в течение многих лет наиболее популярным носителем данных для компьютеров MSX была дискета 2DD, размер кластера которой составлял 1 КБ, поэтому многие пользователи ошибочно полагали,​ что команда ''​DSKF''​ все равно возвращает значение в Кб.
Строка 26: Строка 26:
 ===== Работа с секторами диска ===== ===== Работа с секторами диска =====
  
-Оригинальные функция [[msx:​basic_programming_guide:​09#​09#​dski|DSKI$()]] и команда [[msx:​basic_programming_guide:​09#​09#​dsko|DSKO$]],​ которые позволяют считывать и записывать один сектор диска соответственно,​ теперь принимают 32–битные номера секторов,​ что позволяет получить доступ к любому сектору диска, а не только к первым 65536 секторам.+Оригинальные функция ​''​[[msx:​basic_programming_guide:​09#​09#​dski|DSKI$()]]'' ​и команда ​''​[[msx:​basic_programming_guide:​09#​09#​dsko|DSKO$]]''​, которые позволяют считывать и записывать один сектор диска соответственно,​ теперь принимают 32–битные номера секторов,​ что позволяет получить доступ к любому сектору диска, а не только к первым 65536 секторам.
  
 Чтобы получить доступ к секторам с номерами свыше 32767, номер сектора должен быть указан как константа одинарной или двойной точности,​ выражение или переменная. Если указано значение с одинарной точностью,​ а число настолько велико,​ что одна или несколько младших цифр номера теряются из–за округления,​ эти команды завершатся с ошибкой «Overflow»(переполнение). Это разработано таким образом,​ чтобы предотвратить случайный доступ к неправильному сектору. Чтобы получить доступ к секторам с номерами свыше 32767, номер сектора должен быть указан как константа одинарной или двойной точности,​ выражение или переменная. Если указано значение с одинарной точностью,​ а число настолько велико,​ что одна или несколько младших цифр номера теряются из–за округления,​ эти команды завершатся с ошибкой «Overflow»(переполнение). Это разработано таким образом,​ чтобы предотвратить случайный доступ к неправильному сектору.
msx/nextor/disk_basic.txt · Последние изменения: 2022-09-09 22:25 — GreyWolf