Поленился смотреть даташит, цитата из
Щелкунов, Дианов "Микропроцессорные средства и системы", стр. 99
При записи нового управляющего слова все буферные регистры портов устанавливаются в 0
Поленился смотреть даташит, цитата из
Щелкунов, Дианов "Микропроцессорные средства и системы", стр. 99
При записи нового управляющего слова все буферные регистры портов устанавливаются в 0
Так, но у меня еще добавлена задержка
https://github.com/svofski/vector06c...7eb53a74f2e1d5
почему я это сделал, хоть убей не могу вспомнить. Скорее всего это были не навороченные демки, а какая-то с виду безобидная программа, которая например слишком много времени проводила в обработчике прерывания и делала загрузку скролла в самом конце. Одна из таких зловредных программ, кстати, это Бейсик Корвет. Там как-то очень странно опрашивается клавиатура. Помню, что он долгое время у меня дергался экраном, пока я что-то не сделал. Может быть это оно и есть.
Больше игр нет
Таки да, нашелся, причем аж в 2009. На данный момент в vv и v06cc все ОК, в emu разница на 4 такта.
Имеется ввиду линия с битами, или линия бордюра?
Я пока сделал в начале отображения именно линии с битами.
Как вообще лучше называть часть экрана с битами для краткости? Экран, дисплей - это общее название включающее и бордюр...
- - - Добавлено - - -
ivagor,
я не понял что должно происходить на экране. Там говорится про какие-то скачки. У меня ничего не скачет и картинка идентична первой по вашему линку.
На emu от b2m та же самая картинка и ничего не скачет.
- - - Добавлено - - -
а... нашел кнопки управления в этом ребусе
у меня так же как в реале получается:
1й скачок - из 13 в 14
2й скачок - из 17 в 18
- - - Добавлено - - -
svofski,
Я видел эту конструкцию у вас. Выходило что запись происходит где-то в строке, когда уже выводятся биты. Мне показалось это странным.
- - - Добавлено - - -
svofski, b2m
наверное вопрос к вам. По поводу FDD.
Какой размер сектора используется в Векторе? Наверное, стоит уточнить: какой размер сектора используется в имиджах FDD?
Есть ли у FDD файла заголовок и где взять описание если заголовок имеется?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я потому и не советую. Когда я делал свой Вектор, информации было очень мало, все приходилось собирать по крупицам. Не было ни тестов, ни реала, эмуляторы тогда были все только глючные. Даже схем было не найти. Поэтому у меня залипло много артефактов, результатов поиска на ощупь. Эта задержка как и та, что в прерывании, странная и может быть их вместе можно сократить одну с другой.
Хорошо бы иметь настоящий большой тест, в котором собрано все вместе. Тогда можно было бы быстро проверять, сломал чего-то, или нет. А так это минное поле.
- - - Добавлено - - -
Про флоп:
https://github.com/svofski/vector06c...ware/floppysrc
fddimage.h описывает заголовок
fddimage.c собственно
config.h определяет в частности размер сектора. Вроде бы он мог быть разным, но фактически образы fdd все 1024.
Больше игр нет
это заголовок вашей внутренней структуры, а не файла.
Судя по коду, у FDD нет заголовка, а конфигурация фиксированная:
а количество трэков вычисляется делением длины файла на длину трэка в байтах.Код:#define FDD_SECTOR_SIZE 1024U #define FDD_NSIDES 2U #define FDD_NSECTORS 5U #define SECTOR_SIZE_CODE 3U // 0 = 128, 1 = 256, 2 = 512, 3 = 1024
Еще вопрос возник:
а нужно эмулировать задержки готовности позиционирования на трэк и времени поиска сектора?
Просто я планирую работать с образом, который целиком в SDRAM. Естетсвенно, задержек тут быть не может.
А вот как программы на это будут реагировать?
Еще думаю сделать чтение данных сектора в ритме как читает их прога в Векторе. То есть без потери данных если не успела.
Последний раз редактировалось Saar; 01.03.2016 в 12:51.
А, ну да. Сам файл вообще просто данные сплошным потоком. Задержки вроде не должны быть важны, у дисковода они тоже не жесткие.
Больше игр нет
svofski,
сначала в файле идет side=1 а потом side=0?Код:uint32_t offset = FDD_NSIDES*fdd->cur_track + (1-fdd->cur_side);
нумерация секторов с 1?Код:offset += fdd->cur_sector - 1;
вообще расположение данных в FDD имидже получается так:
байты 0-1023
сектора 1-5
стороны 1-0 (наверное 1-2?)
Трэки 0-(сколько влезет)
правильно?
Последний раз редактировалось Saar; 01.03.2016 в 13:31.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)