Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Эмулятор ДВК (http://zx-pk.ru/showthread.php?t=18351)

Patron 19th January 2014 23:45

Quote:

Originally Posted by Alex_K (Post 663524)
хотелось бы узнать, какова длина ИНДЕКСА

Длина индекса 1000000 нс ( 1 мс ). В момент появления индекса номер текущего байта дорожки обнуляется. Увеличивается номер текущего байта дорожки каждые 32000 нс ( 32 мкс ).


Quote:

Originally Posted by Alex_K (Post 663524)
Соответственно, в чем проблема - линия ИНДЕКС уже неактивна в этой проверке, или значения 0764 слишком мало для ожидания.

Сейчас посмотрю, но кое-что можно сделать самостоятельно.

Если добавить в файл MY.cfg включение дизассемблера:

Code:

[links]
MY_CPU [DisAsm] > Debug


[MY_CPU.ini]
InitialStateOf[DisAsm]=1


[Debug.ini]
InitialStateOf[Log]=1

То все команды, выполняемые процессором КМД, запишутся в файл Debug.log

Alex_K 19th January 2014 23:57

Quote:

Originally Posted by Patron (Post 663571)
Длина индекса 1000000 нс ( 1 мс ). В момент появления индекса номер текущего байта дорожки обнуляется. Увеличивается номер текущего байта дорожки каждые 32000 нс ( 32 мкс ).


Сейчас посмотрю, но кое-что можно сделать самостоятельно.

Самостоятельно уже ничего делать не надо. Длина индекса слишком маленькая. Предварительно записывается 51(8) слово промежутка, потом 12 байт синхрозоны, всего 94 байт. Это по длительности 3008 мкс. Т.е. длину индекса надо сделать хотя бы 3,1 мс. Тогда может и пойдет.

Patron 20th January 2014 00:51

Quote:

Originally Posted by Alex_K (Post 663583)
Длина индекса слишком маленькая.

Я брал длину индекса из описания дисковода. Интересно было бы определить продолжительность этого сигнала экспериментально.

Alex_K 20th January 2014 00:55

Quote:

Originally Posted by Patron (Post 663623)
Я брал длину индекса из описания дисковода. Интересно было бы определить продолжительность этого сигнала экспериментально.

Интересно, из какого? Где-то в форуме проскакивала про это информация, там тоже была ссылка на документацию, но там говорилось от 3 до 5 мс.

Patron 20th January 2014 01:36

Измерил у дискеты ГМД-130 отношение диаметра индексного отверстия к длине окружности с центром в центре вращения дискеты и радиусом, равным расстоянию от центра вращения до центра индексного отверстия - получилось ровно 1/64.

Проверить измерения можно здесь: исходник, построения.

Alex_K 20th January 2014 01:51

Quote:

Originally Posted by Patron (Post 663637)
Измерил у дискеты ГМД-130 отношение диаметра индексного отверстия к длине окружности с центром в центре вращения дискеты и радиусом, равным расстоянию от центра вращения до центра индексного отверстия - получилось ровно 1/64.

Ну у меня получается тоже где-то в этих пределах. Скорость вращения дисковода - 300 об/мин, значит в секунду дискета делает 5 оборотов, отсюда длина дорожки составляет 200 мс. 200 мс делим на 64 - получается 3,125 мс. Но это примерное время, сигнал может увеличиваться во времени за счет схемотехники дисковода, может быть чуть меньше, но я думаю от измеренного показателя можно отталкиваться и сделать 3,125 мс, это где-то 97-98 байт.

Patron 20th January 2014 01:59

Quote:

Originally Posted by Alex_K (Post 663638)
сделать 3,125 мс

Сделал продолжительность сигнала ИНДЕКС = 3125000 нс - всё заработало.

Alex_K 20th January 2014 02:01

Quote:

Originally Posted by Patron (Post 663640)
Сделал продолжительность сигнала ИНДЕКС = 3125000 нс - всё заработало.

Т.е. в TESTMY последовательное чтение секторов идет без ошибок?

Patron 20th January 2014 02:13

Quote:

Originally Posted by Alex_K (Post 663641)
Т.е. в TESTMY последовательное чтение секторов идет без ошибок?

Code:

        Т Е С Т  К М Д  И  Н Г М Д

              ---> ПОСЛЕДОВАТЕЛЬНОЕ ЧТЕНИЕ СЕКТОРОВ
                  ЧТЕНИЕ СЛУЧАЙНЫХ СЕКТОРОВ
                  ПОСЛЕДОВАТЕЛЬНОЕ ЧТЕНИЕ С ПЕРЕЗАПИСЬЮ






---------------------------------------------------------------------------
79ВЕРХ  ПРОХОД  1

ОШИБОК НЕТ
К<ВК>  -  КАРТА НА ТЕРМИНАЛ
КП<ВК> -  КАРТА НА ПЕЧАТЬ
Т<ВК>  -  ТАБЛИЦА НА ТЕРМИНАЛ
ТП<ВК> -  ТАБЛИЦА НА ПЕЧАТЬ
Д<ВК>  -  СОДЕРЖИМОЕ ДОРОЖКИ НА ЭКРАН
ДП<ВК> -  СОДЕРЖИМОЕ ДОРОЖКИ НА ПЕЧАТЬ
М<ВК>  -  ВОЗВРАТ В МЕНЮ


Patron 25th January 2014 19:01

Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_25.01.14_15-40

Изменения:

1. Внесены изменения, описанные ЗДЕСЬ и ЗДЕСЬ.

2. Исправлено несколько серьёзных ошибок.

3. Продолжительность сигнала ИНДЕКС у эмуляторов КМД и КНГМД увеличена до 3.125 мс.

4. Теперь вложенный конфиг можно запускать на эмуляцию в потоке родительского конфига ( это позволяет процессорам, эмулируемым в разных конфигах, синхронизироваться в общем виртуальном времени ). Данная возможность реализуется установкой ненулевого значения параметра RunEmulationInParentThread в разделе [Config.ini].

Так, чтобы перевести эмулятор КМД в режим покомандной синхронизации процессора КМД с процессором ДВК - в файл MY.cfg нужно внести следующее изменение:

Code:

[Config.ini]
ExtendedStartLog=0
InitialStateOf[StatusBar]=1
SaveChangesFor[StatusBar]=0
InitialStateOf[ControlBar]=0
SaveChangesFor[ControlBar]=0
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
RunEmulationInParentThread = 1
ActiveWindowHandle=
ActiveConfigID=



All times are GMT +4. The time now is 02:58.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.