
С другой сороны, только что отключали лехтронергию, смею заверить, що керосиновая лампа и кирпичная печь - рулят.

Moderator: Shaos
Мне иногда кажется, что всё придумали древние римляне с греками: всё назвали нужнымиjdigreze wrote:"Всё, что мы думаем, уже делается, всё, а что мы придумали, уже снято с производства".![]()
В общем мысль у меня к Галаксии периодически возвращается, тем более что у нас теперь есть модель z80 aka 580ВМ80 для Протезуса.Lavr wrote:Учтём параметры полного телевизионного сигнала системы SECAM:
• Номинальная длительность строки Н = 64 мкс;
• Длительность гасящего импульса строк а = 12 мкс;
- (Откуда видимая часть строки = 52 мкс )
...
Рассмотрим всё же как оно по правде будет: 52 мкс / (4 такта * 1/F мкс)
F=2.0МГц 4 такта по 500нс = 2000нс = 2.000мкс - 26 символов в строке Кварц- 8 МГц
F=2.5МГц 4 такта по 400нс = 1600нс = 1.600мкс ~ 32 символа в строке Кварц- 10 МГц
F=2.7МГц 4 такта по 370нс = 1481нс = 1.481мкс ~ 35 символов в строке Кварц- 10.8 МГц
F=3.0МГц 4 такта по 333нс = 1332нс = 1.333мкс ~ 39 символов в строке Кварц- 12 МГц
F=3.5МГц 4 такта по 286нс = 1143нс = 1.143мкс ~ 45 символа в строке Кварц- 14 МГц
F=4.0МГц 4 такта по 250нс = 1000нс = 1.000мкс - 52 символа в строке Кварц- 16 МГц
Именно это я и придумал, а потом ещё и увидел, что так же сделано в zx80, обсуждали мы это прямо в этой ветке несколько страниц назад.b2m wrote:А ты уже придумал, как ты без регистра регенерации памяти будешь видео выводить в варианте Галаксии на 580ВМ80?
Я уже не помню где (может даже на этом форуме), но была вроде идея на время формирования строки видео
запускать процессор по видеопамяти, но он при этом должен получать NOPы, а считанные из ОЗУ байты должны записываться
в сдвиговый регистр.
Что из этого, или из того, чего здесь нет, может помешать сделать "Галаксию" на современном z80?R: Регистр регенерации памяти, 8 бит. Увеличивается на 1 после каждой выборки команды, но инкремент затрагивает только младшие 7 бит, старший бит не меняется и может быть использован в программах.
- При выборке команды с префиксом, R увеличивается еще на 1. В блочных командах R увеличивается на 2 в каждой итерации.
- Для правильной работы LD A, R и LD R, A увеличение R должно происходить до выполнения команды.
- Прием прерывания увеличивает R на единицу.
http://zxpress.ru/book_articles.php?id=2054Lavr wrote:Я вот думаю, а не поставить ли таймер типа 8253 на формирование строчных и кадровых импульсов?
Да нет... разговор здесь о том, как генерировать видео-сигнал программно-аппаратным способом,fifan wrote:Мне кажется здесь разговор пошёл не о Галаксии, а о ZX80. Может всё это в другую тему?
Code: Select all
0C000…0C01F - 1100000000011111
0C020…0C03F - 1100000000111111
0C040…0C05F - 1100000001011111
0C060…0C07F и т.д.
Не получится. Я рассчитываю для К580ВМ80А на тактовой частоте 2.5 МГц при частоте выдачиShaos wrote:а если сразу VGA сделать? там времянки другие - может удобнее будет?
Я бы и все 384 точки хотел бы... но проц не потянет... так что только 256.Shaos wrote:а ты много точек хочешь? ну тогда да
а то можно было бы при 31778 Гц строчной частоты и 5 МГц пиксельклока утолкать 157 точек в строку
Глядя на свои расчеты и на план видео-ОЗУ, я пока сомневаюсь в подобной резвости К580ВМ80А на выбранной частоте.Shaos wrote:можно процессор прерывать с частотой 31778 Гц, чтобы он выплёвывал видеостроку побайтно, а в конце видимого растра выдавал бы короткий импульс (и отпускал прерывание) и по этому импульсу простая схемка их резисторов и кондёра делала бы строчный синхроимпульс с нужными задержками
Code: Select all
0C000…0C02F - 1100000000101111 - 0-я строка
0C030…0C05F - 1100000001011111 - 1-я строка
0C060…0C08F - 1100000010001111 - 2-я строка
0C090…0C0BF - 1100000010111111 - 3-я строка
и т.д.