-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Возврат ошибки при чтении с дисковода #12
Comments
Попробуйте запретить все прерывания вначале (или добавить векторы обработки). Если поможет -- у меня есть объяснение происходящему — при входе в бутлоадер прерывания разрешены, а векторы их неопределены. |
|
А какая версия ukncbtl у Вас? У меня тестовая программа работает очень долго, если не нажимать кнопки. Если нажимать -- иногда вываливается 102. |
Если смотреть по About - версия 2024.1, revision 746, build date Mar 8 2024 |
Нашел странный баг в UKNCBTL. При определенных параметрах ломается чтение дорожки дисковода.
Читается через канал 2 вроде стандартным способом.
Читаем 10001 слово поначалу с дорожки 0, сектор 2, нижняя сторона. Размер специально такой чтобы баг вылез - если взять 10000 слов например - баг может не вылезти.
Затем в цикле начинаем читать дорожку 1, сектор 1, нижняя сторона размером в 12000 слов. Через некоторое количество чтений получаем возврат ошибки.
Ошибка всегда 102 (что-то типа счетчик оборотов диска обнулился).
Возможно связано с предыдущей проблемой с программируемым таймером в ПП ибо код читалки диска в ПЗУ очень сильно его использует.
Прикладываю тестовую программу. (скомпилять в .dsk вид, в батнике написано каким образом, запустить как образ дискеты, там-же уже есть скомпиленный .dsk).
dtest.zip
The text was updated successfully, but these errors were encountered: