Когда на твой вопрос отвечает философ, перестаешь понимать вопрос
при переходе в трдос у скорпиона несколько необычная процедура для вг93 выполняется, без задержек (nodelay) она зависает...
---------- Post added at 23:30 ---------- Previous post was at 23:26 ----------
скорей всего загрузчик расчитывает на приход прерывания индексного отверстия, т.к. после отключения мотора диск все-еще крутится по инерции. нужно проверить, но похоже в эмуляторе вг93 эта инерция при отключении двигателя не предусмотрена и получается что индексное прерывание после отключения двигателя уже никогда не приходит...
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Ну это просто максимализм у вас. Или всё или ничего. Я не настолько амбициозен, чтобы охватить "всё", включая самопальный клон клона Балтика, выпиленный лобзиком из металлолома в Урюпинске. Меня вполне устроил бы охват, скажем, 70-80 процентов парка машин.
Насколько я знаю, в данный момент не существует ни одной программы с мультиколором, которая работала бы на всех официальных версиях спектрума (48, 128, +2/+3), плюс, работала бы на основных клонах (в моём представлении, это - пентагон, профи, атм и скорпион). Программа, которая сможет работать с этим набором, будет, в моём представлении, решать эту задачу.
---------- Post added at 22:20 ---------- Previous post was at 22:19 ----------
Ёлки-палки, до чего же здорово!
Нее, дело не в этом. Сейчас проверил работу загрузчика в разных вариантах:
т.е. убрал команду прерывания выполнения команды. Turboloader работает нормально, только с какого-то фига "головка дисковода" таки лезет на 0 трек (с чего бы?) при выполнении первой команды связанной с портом ВГ-шки, в данном случае out (#7f),track. Но далее командой "позиционирование" возвращается на нужный трек и все ок.Код:xor a out (#1f),a ret
Собственно, дальше turboloader также работает нормально, возвращая "головку дисковода" на нужное место командой "позиционирование".Код:Здесь я несколько изменил процедуру, добавив ожидание выполнения команды: xor a out (#1f),a #3fe5 in a,(#ff) - происходит позиционирование на 0 трек (с чего бы?) and #c0 jr z,#3fe5 ret m
В связи с этим возникает вопрос: каким образом происходит эмуляция команды "восстановление" при условии того, что bit 3 (загрузка головки) в 0? На реале, чтобы диск раскрутился этот бит всегда должен быть в 1, собственно этим нулевым битом и происходит торможение и гашение лампочки. Следующий вопрос: что происходит в эмуляции ВГ-шки, после выполнения команды "прерывание выполнения предыдущей команды"? Что там с сигналами intrq и drq? Почему после выполнения последовательности
приходит "капец"?Код:xor a out (#1f),a ld a,#d0 out (#1f),a
Чего же тут здорового? )) Это наоборот печаль.
Когда на твой вопрос отвечает философ, перестаешь понимать вопрос
Если под основными клонами вы имеете в виду то же самое, что и ранее в обсуждении ("тиражные машины") -- то я убежден, что это не пентагон, профи, атм и скорпион, к тому же в точности соответствующие некому эталону. Это машины на схемах второго поколения (скажем так) -- уже экономичные (40-50 корпусов), но еще без наворотов. Именно они разошлись по всей стране гигантским тиражом в виде самоделок и изделий разных кооперативов и МП (вполне возможно речь идет о миллионах экземпляров).
Просто от того, что вы по каким-то непонятным причинам не верите в существование машин с 216 или 256 тактами в строке (http://zx.pk.ru/showpost.php?p=589535&postcount=13) они не перестают существовать. Наверняка были/есть машины с хорошо реализованной кадровой 60 Гц -- там тактов в строке может быть еще больше.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не должна! Т.к. bit 3 нулевой. На этом и построена процедура гашения лампочки дисковода/торможение диска.
Восстановление 0000hvxx - команда восстановления используется для инициализации микросхемы КР1818ВГ93, обеспечивая установку магнитной головки выбранного дисковода в исходное состояние (на нулевую дорожку). Команда имеет следующие параметры:
h - бит определяет положение магнитной головки дисковода во время выполнения команды. Если он обнулен, то головка поднята, если установлен - находится в рабочем положении (опущена на дискету). Следует учитывать, что при h=0, контроллер не выдает сигнал на включение двигателя дисковода.
Источник: А. Ларченко, Н. Родионов. "ZX-Spectrum & TR-DOS Для пользователей и программистов", с.203
Когда на твой вопрос отвечает философ, перестаешь понимать вопрос
Это дисковод не включается, а ВГ93 команду выполняет. Выдает 256 импульсов "шаг".
попробую объяснить словами.
жёлтая полоса идёт 8?пикс. до экрана и 104 дальше.
её высота сбоку экрана 6пикс.
квадраты получаются шириной 24, высотой 23
в ширину у меня экран целиком на монитор не влазит, но я могу его двигать.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)