Последний раз редактировалось tnt23; 10.06.2017 в 22:28.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
barsik, традиционный вариант это сравнение, переход по результатам сравнения, а потом действия. Все остальное оптимизация. Так или иначе Ваша оптимизация ничуть не короче оптимизации Седова. Но он - творец, а Вы - критик. Как говориться, художника всякий обидеть может...
Я предполагаю, что Е.Седов использовал как раз МИКРОШУ, отчего и конструктив плат КНГМД для МИКРОШИ. Возможно он вначале имел МИКРОШУ, но переделал её в РК86, чтобы сделать версии программ для РК86 для журнала РАДИО и для коммерческих продаж через КООП "Лианозово". Очевидно, что раз КНГМД для МИКРОШИ, то и RK-DOS это ДОС МИКРОШИ и всё ПО для неё - для МИКРОШИ. И несомненно существовали версии всех программ, в том числе и нортона для МИКРОШИ. Т.е Вам достаточно найти версии всех программ для МИКРОШИ.Сообщение от tnt23
Я дизассемблировал очень давно. С целью изучения на предмет конверсии для RK-DOS ОРИОНА. Етественно я не получал полноценного исходника. Что было и не так просто сделать на убогом дизассемблере МИКРОН, теперь получить полноценный исходник с помощью IDA намного проще. Но я сразу же увидел, что там идёт наглая прямая работа с экранной областью, отчего для ОРИОНА проще написать визуализатор (например на прерываниях, визуализировать экран пару раз в секунду), чем трахаться и разбираться и переделывать всю логику работы программы. Или проще написать свой Нортон, чем трахаться в тщетных попытках конвертировать ПО для другой ЭВМ.
Непонятно зачем было Е.Седову во всех своих системных программах "лазить" в экран. Ведь искейп-код для позиционирования курсора есть, - отпозиционировал и вывел подпрограммой CONOUT F809. Скоростных проблем тоже нет. Лазить в экран надо только, чтобы выводить вне "основного поля", куда монитор не выводит (хотя его можно заставить это делать, если нагло влезть и в системные ячейки). Ладно, я понимаю, когда напрямую читают три спец.клавиши, что вне основного поля матрицы (в порту C клавиатуры), т.к их стандартной подпрограммой не считать.
Я не разбирался, но, вероятно, проблемы с клавиатурой связаны с другим адресом порта клавиатуры и с другой схемой её включения, а проблемы с экраном могут быть связаны с тем, что как недавно выяснилось, у МИКРОШИ есть существенные отличия в ROM-BIOS. Не пробовали использовать тот совместимый с РК монитор, что опубликовали в ж.РАДИО?
А вообще-то, вероятно, несложно адаптировать вариант этой программы под МИКРОШУ. Судите сами. Служебные ячейки те же и там же. Экран там же и организован так же. Значит несовместимость только из-за ROM-BIOS, адресов портов и иной схемы клавиатуры. Для клавиатуры надо поменять прямые обращения в порт A на обращения в порт B. А те вызовы ROM-BIOS, что отсутствуют в МИКРОШЕ, надо вставить прямо в код программы.
Нашёл старый листинг, там видно, что есть прямые обращения на C000 (ВГ75) и чтение порта C клавиатуры. А вызовов подпрограмм выше F818 нет, что как раз и свидетельствует о том, что программа изначально была написана для МИКРОШИ. Возможно и лезть в экран понадобилось потому, что не хватило возможностей усечённого ROM-BIOS МИКРОШИ. Могут быть ещё и вызовы нестандартных точек в ПЗУ, но думаю, Е.Седов был достаточно грамотным, чтобы опускаться до такого. Попробуйте хотя бы изменить адрес порта клавиатуры и ВГ75. Ведь в порту С клавиатуры спец.клавиши стоят там же.
Последний раз редактировалось barsik; 11.06.2017 в 01:17.
Мне тоже этого когда-то нехватало. Поэтому я и встроил в свои форматёры для РК-КНГМД индикацию трека и стороны. Т.е во время формата в строке 'TRACK nn SIDE n' меняются цифры, а затем появляются "плюсики". Т.е выводится вот такая строкаСообщение от tnt23
TRACK nn SIDE n ....+ + + + + + +
Где плюс означает, что сектор отформатирован и в тесте после формата трека был считан нормально. А если выводится '-', то значит сектор дохлый, не считался, тогда делается ВК и новая строка TRACK выводится уже на следующей строке. Таким образом после окончания формата на экран выведена карта дохлых треков.
В приложении исходник универсального форматёра для РК-КНГМД. Т.е для формата с секторами в 256, 512 или 1024 байта. С любым числом секторов на треке. С интерливингом и без. Одна сторона (SS) или две (DS).
- - - Добавлено - - -
Нашёл какой-то форматёр и для RK-DOS. Но он был для ОРИОНА. Я сейчас встроил в него условную трансляцию и для РК86, но на практике проверить не могу (нет соответствующего железа). Так что сами странслируйте, проверьте в реале и сообщите подробности.
Последний раз редактировалось barsik; 11.06.2017 в 19:34.
cy6(10.11.2023)
barsik, у меня почему-то ваш архив не распаковывается. Можете перепаковать в ZIP?
tnt23, нормально все открывается
С уважением, Дмитрий.
Karabas-Go
Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
ZXM-Phoenix в Телеграмм
А разве матрица клавиш в Микроше не другая? Видимо, потому и не работает.
Дистрибутивный SE я уже выкладывала.
При исследовании длины трека оказывается, что длина трека разная в пределах одного диска даже.
То есть скорость дорожек у центра выше, чем у края диска. Соответственно, вместимость (байт) лучше мерять у самого центра (минимальную).
Интересно, когда меряют скорость диска, какую дорожку имеют ввиду, нулевую (у края) видимо?
Думаю, размер трека лучше фиксировать на условных 3125 байт, чтобы можно было начало трека в файле образа быстро найти. Сама длина понятно будет разная.
Глазами образы смотреть уже напрягает, нужно писать прогу для работы с образами РК в Windows.
Вот образ трека с номером 1, с отформатированной дискеты. Чтение достоверное, без ПДП.
TRACK01_0.zip
wtf
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)