Вход

Просмотр полной версии : Орион-128: Сборка и настройка компьютера



Страницы : 1 2 [3] 4 5

Shumadan
05.12.2018, 22:10
Спаял RGB адаптер на трех транзисторах, резисторах, диодах. Подключаю к ЖК ТВ через СКАРТ - пустой экран. Хотя подключал к нему и АГАТ и Синклер, получал приемлемое изображение. Не могу въехать чего не хватает.

Denn
05.12.2018, 22:40
Первое что приходит на ум: сравнить вид и уровни сигналов на входе адаптера. Вспоминаю из детства - настройки телика под Синклер и под Орион различались кардинально! Для перенастройки приходилось крутить подстроечники на плате внутри телевизора.

Shumadan
05.12.2018, 22:54
Первое что приходит на ум: сравнить вид и уровни сигналов на входе адаптера. Вспоминаю из детства - настройки телика под Синклер и под Орион различались кардинально! Для перенастройки приходилось крутить подстроечники на плате внутри телевизора.

понимаю, что нужно крутить.
Может у кого то есть готовое решение)

slammy
05.12.2018, 22:58
Shumadan, у меня адаптер спаян по такой схеме и все работает отлично. Кстати, Орион на новой плате хорошо работает? Нет таких проблем, как у меня?
67179

ABRAMKA0, я разводил и заказывал себе несколько штук. Вроде сейчас и на барахолке в теме у Cornelius'а планируется продажа аналогичных.

Denn, сегодня успел поковырять немного Монитор. При заполнении памяти начиная с адреса 1000H в верху экрана начинают появляться полоски (видно на фото)
67180
При этом в памяти
67181
И если опять пройти директивой M
67182
Получается идет параллельная запись по нескольким адресам ОЗУ вместо одного?
Проверил тест ОЗУ, за 30 минут ни единой ошибки.

Denn
05.12.2018, 23:55
Это какой-то интересный аппаратный косяк с ОЗУ. Странно, что его не выявляет тест. Хотя понять можно, ведь тест довольно примитивный и такую ситуацию он физически не в состоянии отловить. Даже не знаю что посоветовать... Если есть возможность, то я бы проверил чипы ОЗУ на другой системе, а дальше уже смотреть по ситуации.

- - - Добавлено - - -

Склоняюсь к мысли о неисправности м/сх ОЗУ. Потому как даже не представляю себе какие сигналы на плате Ориона можно замкнуть, чтобы высечь такой глюк.
Как вариант ещё попробовать махнуть местами чипы, скорее всего глюк переместится в другую область ОЗУ, что подтвердит предположение о неисправности чипа(ов). Возможно, таким образом удастся локализовать до конкретного чипа.

- - - Добавлено - - -

Кстати, а если заполнять ОЗУ FFh'ами с адреса 0000h, то не будут ли вылезать полоски с крайнего левого верхнего угла экрана?

Sancho45
06.12.2018, 09:29
Denn, сегодня успел поковырять немного Монитор. При заполнении памяти начиная с адреса 1000H в верху экрана начинают появляться полоски (видно на фото)


Это какой-то интересный аппаратный косяк с ОЗУ.


В формировании полоски участвуют 8 бит, те 8 микросхем озу, в каждой по биту. Вряд ли 8 микросхем глючат в одной области. По моему мнение идет пересечение адресов, старших разрядов, тк софт работает в младших адресах (облать работы в пределах младших разрядов адресов). Возможно проблема с одной из микросхем D25 или D26 (кп2 которые) или звон.

Порекомендовал бы проверить питание и шумы по питанию, поставить электролит не меньше 1000 мкф возле кп2 (для преверки), проверить монтаж и/или заменить кп2 на другую мсх или серию(может брак), по фото- 1533 серия.

Запустить серьезный софт, более 4-8 кб, проверить, работает или нет..
Пропробовать заполнить разные области разными кодами, помотреть, где идет пересечение адресов.

b2m
06.12.2018, 09:57
Это какой-то интересный аппаратный косяк с ОЗУ.
Не обязательно ОЗУ. Если тест ОЗУ не выдаёт ошибок, а при использовании клавиатуры для заполнения памяти есть косяк, то я бы в сторону ВВ55 клавиатуры посмотрел.

Denn
06.12.2018, 11:41
В формировании полоски участвуют 8 бит, те 8 микросхем озу, в каждой по биту. Вряд ли 8 микросхем глючат в одной области. По моему мнение идет пересечение адресов, старших разрядов...

Я чуть позже тоже об этом подумал, в связи с чем дописал вопрос:


Кстати, а если заполнять ОЗУ FFh'ами с адреса 0000h, то не будут ли вылезать полоски с крайнего левого верхнего угла экрана?




Возможно проблема с одной из микросхем D25 или D26 (кп2 которые) или звон.

Имхо, скорее слипание адресных линий на ОЗУ, или обрыв.





...и/или заменить кп2 на другую мсх или серию(может брак), по фото- 1533 серия.

У меня как раз стоят 16 шт. РУ7 и все мультиплексоры 1533КП2, никаких проблем с такой связкой.




Запустить серьезный софт, более 4-8 кб, проверить, работает или нет..

Несерьёзный не работает, а серьёзный тем более не будет.



Пропробовать заполнить разные области разными кодами, помотреть, где идет пересечение адресов.

Вот это скорее. Я бы написал простой код, который заполняет ОЗУ по следующему принципу:
0000..00FFh - кодом 00h
0100..01FFh - кодом 01h
0200..02FFh - кодом 02h
и т.д. до В000h

А потом М128 проверил что получилось в ОЗУ.

- - - Добавлено - - -


...при использовании клавиатуры для заполнения памяти есть косяк, то я бы в сторону ВВ55 клавиатуры посмотрел.

Связи клавиатуры (порта) с ОЗУ нет. Да и глюк проявлялся без участия клавиатуры - когда автоматически пытался стартовать Нортон при загрузке. Тут именно косяк с адресацией ОЗУ.

- - - Добавлено - - -

Странно ещё вот что. Заполнение ОЗУ вручную сделано равномерно, а "прострелы в экран" (полоски) идут с большим разрывом. Т.е. не похоже на дублирование адресов 1000h=D000H, соответственно на тупое слипание ША ОЗУ не похоже.

- - - Добавлено - - -

Вот что ещё странное заметил! На скриншотах очевидно дефолтное заполнение ОЗУ после включения питания, при этом паттерн странный: FF 00 FF 00 и т.д..
Сколько собирал Орионы, всегда и везде был такой паттерн при включении: FF 00 00 FF FF 00 00 FF и т.д.

Полагаю, содержимое ОЗУ определяется внутренней архитектурой, и должно быть у всех одинаковое.

b2m
06.12.2018, 11:43
на тупое слипание ША ОЗУ не похоже.
Ну значит слипается при надавливании на плату (через клавиатуру?). Можно попробовать запустить тест ОЗУ и понажимать на плату в разных местах.

Denn
06.12.2018, 11:56
b2m, не, там фиксированный баг похоже. Просто он какой-то хитро-изощрённый :)

- - - Добавлено - - -

Мне кажется сбитый паттерн заполнения ОЗУ может дать ключ к разгадке. ЧТо-то где-то перекручено/перекроссировано?

- - - Добавлено - - -


Я бы написал простой код, который заполняет ОЗУ по следующему принципу:
0000..00FFh - кодом 00h
0100..01FFh - кодом 01h
0200..02FFh - кодом 02h
и т.д. до В000h

А потом М128 проверил что получилось в ОЗУ.



Вот код такого теста:



B000h: 21 00 00 74 23 7C FE B0 C2 03 B0 C3 00 F8


Вбить с помощью директивы "М" Монитора или с помощью М128. Внимание, набирать с адреса B000h!
Далее запустить "G B000" или "GOTO B000" в М128.

Sancho45
06.12.2018, 12:32
Вот код такого теста:

Код:

B000h: 21 00 00 74 23 7C FE B0 C2 03 B0 C3 00 F8

Вбить с помощью директивы "М" Монитора или с помощью М128. Внимание, набирать с адреса B000h!
Далее запустить "G B000" или "GOTO B000" в М128.


в этом коде переход на холодный старт монитора, при этом экранная область очистится. Лучше на теплый старт, что бы посмотреть, какой код будет в экранной области при пересечени адресов. Не помню точку входа

slammy
06.12.2018, 12:51
Sancho45, Denn, судя по кодам монитора, в ячейке F3D8 адрес теплого старта F958. Прогнал код в эмуляторе, заполняет поблочно память с адреса 0000. Сегодня вечером опробую на железе. Но не покидают меня смутные сомнения, что что-то не правильно со схемой расширения на РУ7, надеюсь, что еще-кто-нибудь соберет и обкатает Ориона на новой плате, чтобы знать, в ней ли дело.

Denn
06.12.2018, 12:58
в этом коде переход на холодный старт монитора, при этом экранная область очистится.

Я предлагаю универсальный вариант - для запуска из командной строки Монитора-1 и для запуска из ОРДОС/М128. Соответственно, тестируется только область 0000-AFFFh.



Лучше на теплый старт, что бы посмотреть, какой код будет в экранной области при пересечени адресов.

Да, можно добавить в код приостановку с ожиданием любой клавиши:

Вместо хвоста:


C3 00 F8

Пишем:


CD 03 F8 C3 00 F8




Не помню точку входа

ЕМНИП F86Ch

- - - Добавлено - - -


Но не покидают меня смутные сомнения, что что-то не правильно со схемой расширения на РУ7

На платах "рев.512" всё работает без проблем, полагаю решение обкатано давно и вопросов быть не должно. Разве что косяк конкретной платы.
Можно попробовать сравнить схемотехнику этого узла с таковой в "рев.512".

Sancho45
06.12.2018, 12:59
Сегодня вечером опробую на железе. Но не покидают меня смутные сомнения, что что-то не правильно со схемой расширения на РУ7

Еще двое тут собрали на этой плате, они не сообщали о подобной проблеме

Denn
06.12.2018, 13:07
Еще двое тут собрали на этой плате, они не сообщали о подобной проблеме

Значит дело не в правильности схемы и разводки платы. Либо брак конкретного экземпляра платы, либо косяк пайки (залипуха), либо неисправность м/сх.


П.С. интересно какой паттерн инициализации ОЗУ у других собравших?

Sancho45
06.12.2018, 13:08
Может еще не успели ))

Denn
06.12.2018, 13:19
Может еще не успели ))

Включить? ))

slammy
06.12.2018, 13:27
Denn, ну а что, даже если включить, но программы не запускать и в оперативку не лезть, то будет выглядеть вполне рабочим

Sancho45
06.12.2018, 13:27
Включить? ))

доломать ))
тут вроде все работает https://zx-pk.ru/threads/9679-orion-128-sborka-i-nastrojka-kompyutera.html?p=988372&viewfull=1#post988372

slammy
06.12.2018, 13:30
Sancho45, это другая печатка, без 512к (на 512к в нижнем ряду д.б. еще одна микросхема)

Denn
06.12.2018, 13:33
Denn, ну а что, даже если включить, но программы не запускать и в оперативку не лезть, то будет выглядеть вполне рабочим

Увы, но это практически тренд уже (( Т.е. собрать, включить, увидеть приглашение Монитора и положить на полку. Утрировано, конечно, но примерно так и есть. По прямому назначению большинство компьютером не пользуется.

Sancho45
06.12.2018, 13:41
Sancho45, это другая печатка, без 512к (на 512к в нижнем ряду д.б. еще одна микросхема)

Точно, не проверил(

Тогда расширение 512 надо проверить в первую очередь, тем более, что уже одна ошибка найдена. Дело 15 -30 минут, и дорожки перепроверить, возможно все идет в соответствии с инструкцией, но подключенно еще к чему -то , ошибка при разводке

Denn
06.12.2018, 14:10
Будет чрезвычайно странно, если окажется ошибка в разводке платы. На дворе 2018-ый! Их быть не должно в принципе.

- - - Добавлено - - -

И всё же, похоже, где-то перекроссировка адресации ОЗУ. Перевёрнутый паттерн в ОЗУ как бы намекает...

- - - Добавлено - - -

FF 00 00 FF FF 00 00 FF... - должно быть
FF 00 FF 00 FF 00 FF 00... - имеем

Shumadan
06.12.2018, 14:54
Может еще не успели ))

Я тут после двухнедельного перерыва снова сел за плату. Самое смешное не могу подключить цвет. По ч/б выходу изображение есть, по RGB адаптеру - нет. Самое интересное выходные сигналы все есть, а растра нет. Сравнил схемы свою и то что дал slammy, почти похожи и номиналы те же. Уже стал косить на КП2, может с ней что то не так. Дело в том что Green-сигнал сильно подсаживается на адаптере, по сравнению с другими цветами. Но ведь чб изображение есть. Поэтому проверить пока косяк с ОЗУ не могу, хочу добить эту проблему

slammy
06.12.2018, 16:38
Shumadan, На разъеме X1 перепутаны дорожки, сам с этим столкнулся и пришлось все вызванивать в ручную. Может в этом дело?

- - - Добавлено - - -


Будет чрезвычайно странно, если окажется ошибка в разводке платы. На дворе 2018-ый! Их быть не должно в принципе.
Пока есть Sprint Layout, ошибки будут продложаться вечно :v2_dizzy_facepalm:

Проверил элементы для 512к, вроде бы все в порядке. Запущу сегодня тест.

Shumadan
06.12.2018, 16:39
Не-а) Я все предварительно вызвонил от ног микросхем

+5 R I B G си 5+
х о х х х х х о о х
о о о о о о о о о о
х о о о о о о о о х
<- земля ->

Denn
06.12.2018, 17:08
Shumadan, могу конечно ошибаться, но однопроводной ч/б сигнал "видео" и RGB строятся по-разному. Для ч/б нужна синхросмесь кадровых и строчных + цветовые (в базовом варианте Ориона используется только зелёный цвет). Для RGB подключения нужны отдельные H.Sync, V.Sync + цвета. На 100% не уверен, т.к. разбирался со всем этим около 20 лет назад, уже смутно помню...

DIMKA55
06.12.2018, 17:57
https://ibb.co/QJs1Gcj
https://ibb.co/yXVLc17

Мой адаптер в градациях серого.

slammy
06.12.2018, 19:03
Вот это уже интересно: сбой в ОЗУ по адресу, кратному 4.
671936719467195

Shumadan
06.12.2018, 20:24
с адапером разобрался...частично.
Номиналы выходных резюков были критичные 75 ом, поставил 22 ом. Появился цвет. Правда только зеленый. Выдача цветов настроена видимо в монохроме. Поэтому в конце теста возникает не лоскутное одеяло, а чисто белый квадрат.
Куда делись R&B? То что вторая банка памяти не установлена может влиять?

slammy
06.12.2018, 20:28
Shumadan, да, вторая банка отвечает за цвет. Даже на 512к с РУ7.

Shumadan
06.12.2018, 21:40
еще вопрос. У первой банки не было контакта 1 вывода РУ7 с мультиплексором. У второй линейки 1 выводы куда тянуть?

slammy
06.12.2018, 21:47
Shumadan, нужно соединить все в.1 РУ7 вместе и притянуть к мультиплексору.

Shumadan
06.12.2018, 22:29
запаял вторую банку.
Тест кажет что обе исправны, правда цветная картинка мне не очень нравиться. Это какой то свитер) Или я отвык от восьмибиток.
https://i.ibb.co/kyTMydX/DSC-0818.jpg (https://ibb.co/kyTMydX)

Denn
06.12.2018, 22:55
Вот это уже интересно: сбой в ОЗУ по адресу, кратному 4.
671936719467195

Не то чтобы сбой, а там ничего общего с записываемым. Такое ощущение, что там ОЗУ живёт своей жизнью. Какая-то адресная линия в воздухе висит.

- - - Добавлено - - -


правда цветная картинка мне не очень нравиться. Это какой то свитер) Или я отвык от восьмибиток

В 90-ых от этого "свитера" был неподдельный оргазм!

Shumadan
07.12.2018, 21:16
прошил Монитор 1 (или 0?) Наконец то появилась заветная надпись)
https://i.ibb.co/qBvZ0ZC/DSC-0820.jpg (https://ibb.co/qBvZ0ZC)

Сейчас надо собирать ROM диск.У меня тут как раз ждет 27с1001.
Вот эта схема мне подойдет? https://zx-pk.ru/threads/18954-sborka-orion-128-rev-512.html?p=946988&viewfull=1#post946988

slammy
07.12.2018, 22:47
Shumadan, если есть возможность, проверьте, как ОЗУ работает на запись, тут выше обсуждалось и программка на 15 байт была, или просто содержимое после перезагрузки, например командой D.
А по поводу ром-диска, ордос понимает не больше 64к, больший объем поддерживает только spdos, которая тут активно разрабатывается.

Denn
08.12.2018, 11:42
прошил Монитор 1 (или 0?) Наконец то появилась заветная надпись)

Поздравляю! :)

Это "Монитор-1" от авторов Ориона. Нужен только для начальной отладки ПРК.

Боевой - "Монитор-2", с ROM-диском лучше его использовать.



Вот эта схема мне подойдет? https://zx-pk.ru/threads/18954-sborka-orion-128-rev-512.html?p=946988&viewfull=1#post946988

Вполне. Она полностью обратно совместима с родным ROM-диском.

- - - Добавлено - - -


А по поводу ром-диска, ордос понимает не больше 64к

Вроде были какие-то доработки ORDOS, которые позволяли странично видеть больший объём... возможно путаю с банками квазидиска.



больший объем поддерживает только spdos, которая тут активно разрабатывается.

DSDOS.

Shumadan
08.12.2018, 13:33
Shumadan, если есть возможность, проверьте, как ОЗУ работает на запись, тут выше обсуждалось и программка на 15 байт была, или просто содержимое после перезагрузки, например командой D.
А по поводу ром-диска, ордос понимает не больше 64к, больший объем поддерживает только spdos, которая тут активно разрабатывается.
Да, проверю. Только мне еще клаву надо подпаять.

Shumadan
10.12.2018, 13:52
толком еще не припаял клавиатуру, но сразу проверил - такая же фигня
https://i.ibb.co/9Yqky3T/DSC-0823.jpg (https://ibb.co/9Yqky3T)

Denn
10.12.2018, 14:12
Интересно, как вы такое высекаете? :)

Вот типичный "ковёр" у меня на всех Орионах:

0000 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF
0010 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF
и т.д..

Shumadan
10.12.2018, 14:57
Интересно, как вы такое высекаете? :)

Вот типичный "ковёр" у меня на всех Орионах:

0000 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF
0010 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF
и т.д..

т.е. для Ориона это норма?

Denn
10.12.2018, 15:16
Shumadan, это я пытаюсь обобщить для всех Орионов исходя из трёх своих (О-128 на РУ5, О-128/512 на РУ7 и О-ПРО на РУ7).

- - - Добавлено - - -

Было бы хорошо, если бы владельцы железных Орионов отписались по данному вопросу, тогда бы была более-менее статистика.

Sancho45
10.12.2018, 22:18
Интересно, как вы такое высекаете? :)

Вот типичный "ковёр" у меня на всех Орионах:

0000 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF
0010 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF
и т.д..

это не показатель, тк зависит от типа микросхем и от......, только создателю)) чипов известно от чего ......
у меня с импортом 8 байт 00, потом 8 байт FF

Denn
10.12.2018, 22:48
Прошу прощения за дезу!! Перепроверил на Орион-ПРО с РУ7-ыми, картинка как у Shumadan:

https://pp.userapi.com/c844722/v844722023/157d29/-PebL5oXWEc.jpg

- - - Добавлено - - -

Только с точностью до наоборот (инверсно) :)

slammy
10.12.2018, 23:34
Значит с разводкой платы все в порядке? Попробую тогда мультиплексоры поменять, может они шалят.

Denn
11.12.2018, 11:49
Значит с разводкой платы все в порядке? Попробую тогда мультиплексоры поменять, может они шалят.

Я бы сперва лог. пробником проверил, прежде чем мучить плату..

slammy
11.12.2018, 12:23
Denn, я осциллографом смотрел, на всех линиях адреса ОЗУ движение присутствует, RAS и CAS имеются. Попробую на КПшки сверху поочередно исправные по одной поставить и посмотреть на сигналы, может увижу просадку. По крайней мере, у меня других идей пока нет.

Denn
11.12.2018, 12:33
slammy, косячит один единственный 4-ый столбец... тут бы сперва мозговым штурмом понять какой участок схемы может за него отвечать, а потом уже прицельно искать в том районе. Если м/сх не на кровати, то, как правило, процесс перепайки даёт большую нагрузку на нервную систему и позволяет вспомнить самые глубины словарного запаса)

Shumadan
11.12.2018, 12:34
Случайно коротнул пинцетом в районе D57 около первых выводов- исчез курсор. Похоже какая микросхема вылетела.(

Denn
11.12.2018, 13:06
Shumadan, курсор - это клавиатура, а клавиатура это DD53, DD27, WR (DD59), RD (DD15).

Shumadan
11.12.2018, 13:22
Shumadan, курсор - это клавиатура, а клавиатура это DD53, DD27, WR (DD59), RD (DD15).

точно!
отошел шлейф клавиатуры)

Denn
11.12.2018, 13:57
отошел шлейф клавиатуры)

Плёночная клавиатура? :v2_dizzy_coder:

slammy
11.12.2018, 14:53
Denn, если поразмыслить логически - с ША до мультиплексоров все в порядке, иначе бы были проблемы с чтением с ПЗУ и ордос вообще бы не запустился. Судя по ранее проведенным опытам, данные бьются при записи в ячейки xxx3h, xxx7h, xxxCh, xxxFh - 0011b, 0111b, 1011b, 1111b, т.е. когда два младших бита адреса - единицы. За них ответственна DD26. Причём на ней же висят два старших бита, поэтому данные могут разрушаться и "вверх" по адресному пространству. На сколько верна моя теория?

Denn
11.12.2018, 15:39
slammy, вероятно. Ещё момент, насколько я вижу по скриншотам, в проблемных адресах не мусор (00/FF), а какие-то данные откуда-то, явно из какой-то осмысленной области. Складывается ощущение, что считывается не оттуда, куда записывалось.

П.С. я бы всё таки попробовал сперва "прозвонить" DD26 в статических режимах. Например "притормаживать пинцетом" задающий генератор и смотреть состояния входов/выходов на предмет адекватности таблицы истинности для КП2.

slammy
11.12.2018, 21:13
Ну все, проблема вроде решена заменой DD26!
67289

Cornelius
11.12.2018, 21:31
Bingo! Поздравляю. Осталось сдвиг картинки поправить.

Denn
11.12.2018, 21:55
Ну все, проблема вроде решена заменой DD26!
67289

Отлично! Теперь похоже у нас тридцатник (https://zx-pk.ru/threads/27165-perepis-naseleniya.html) :)

slammy
11.12.2018, 22:15
Сдвиг по горизонтали вылечил конденсатором к в.4 DD10. При установке диода в разрыв в.13 DD7 изображение начинает прыгать, видимо телевизор не может синхру поймать. Пока вывод просто оторвал, изображение опустилось, но недостаточно. Буду думать.

Denn, еще раз спасибо за программу для теста памяти, очень выручила!

Cornelius, кстати, хотел спросить, на плате есть узел усилителя звука на КТ315 и КТ361, а на герберах только КТ361. В чем отличия и по какой схеме запаиваться?

Cornelius
11.12.2018, 22:29
узел усилителя звука
Для этого варианта платы взял схему звука на отдельный разъём от Специалиста.

67292

На Х2 вывод звука без усиления, по классике.

Sancho45
11.12.2018, 23:18
Ну все, проблема вроде решена заменой DD26!
67289



было очевидно еще 5 страниц назад



https://zx-pk.ru/threads/9679-orion-128-sborka-i-nastrojka-kompyutera.html?p=990125&viewfull=1#post990125

slammy
12.12.2018, 21:51
Sancho45, нужно было время, чтоб дойти до этой идеи :v2_dizzy_vodka:

Да, еще одно замечание по плате - чтобы заработал усилитель звука нужно повернуть транзисторы на 180 градусов относительно шелкографии.

Denn
12.12.2018, 22:09
slammy, а DD26 была новая из магазина или выпаянная из какой-то техники? Перегрев при пайке? Или может во время замены рассосалась еле заметная сопля?

slammy
12.12.2018, 22:23
Denn, была новая, да и соплей я не видел когда выкусывал. Ну, всякое в жизни бывает, главное, что проблема решена и главное, что без перепайки половины платы.

Shumadan
22.12.2018, 22:20
Закончил свой Орион. Собрал еще ROM диск. Гонял 4 часа - работает без сбоев. Напомню, в компьютере использованы в основном 555 серия, включая и критичные узлы (возможно мне просто повезло):)
Спасибо, всем участникам и просто наблюдателям.
https://i.ibb.co/vc1sfgx/DSC-0853.jpg (https://ibb.co/vc1sfgx)
https://i.ibb.co/5jwp61v/DSC-0854.jpg (https://ibb.co/5jwp61v)

Cornelius
22.12.2018, 22:58
Закончил свой Орион.
Ещё не всё. Шильдик бы поправить на правильный.

А внутреннее убранство и разъёмы на задней стенке можно увидеть?

HardWareMan
23.12.2018, 11:01
Гонял 4 часа - работает без сбоев. Напомню, в компьютере использованы в основном 555 серия, включая и критичные узлы (возможно мне просто повезло):)
Всё работает, говорите? Ну-ну.
https://jpegshare.net/images/fd/c6/fdc64b82bd99b07f672845008f238912.png

slammy
25.12.2018, 22:02
А я заказал печатки IDE и Z80-card. Буду пробовать запустить СР/М.

Error404
26.12.2018, 07:31
А я заказал печатки IDE и Z80-card. Буду пробовать запустить СР/М.

Если работает дисковод, то можно попробовать релизы CP/M из 90х - там большая часть для 8080

slammy
26.12.2018, 08:43
Error404, дисковода нет и, к сожалению, в форм-фактор апогеевского корпуса его огромная плата вряд ли впишется, а коробку городить не хочу. А загрузку по IDE поддерживают только мониторы-Z, так что Z80-card тоже необходима, плюсом еще будет увеличение производительности. Главное, чтобы по высоте уместилась.

slammy
22.01.2019, 14:02
Запустил я Z80Card, все работает, тесты проходит. Однако, возник странный глюк - иногда экран начинает мерцать и вместо картинки появляется содержимое другого банка ОЗУ (горизонтальные полосы) примерно на 0,5 секунды, видимо, переключение банков происходит позже цикла формирования кадра. Притом интервалы возникновения мерцания могут быть разные. В чем может быть дело?

Error404
22.01.2019, 15:44
Запустил я Z80Card, все работает, тесты проходит. Однако, возник странный глюк - иногда экран начинает мерцать и вместо картинки появляется содержимое другого банка ОЗУ (горизонтальные полосы) примерно на 0,5 секунды, видимо, переключение банков происходит позже цикла формирования кадра. Притом интервалы возникновения мерцания могут быть разные. В чем может быть дело?

В орионе ЕМНИП переключение экранов синхронизировано по кадру, для этого там на порту последовательно две половинки ТМ7 (в одну половинку пишет пользователь, в другую=выходную данные переписываются по кадровым СИ из "пользовательской"). Все остальные переключения портов привязывать к кадру смысла нет (и они не привязаны). То что наблюдается в вашем случае - это какой-то аппаратный глюк (или программный, что впрочем маловероятно). Смотреть я бы стал в области дешифратора портов и регистра экранных областей.

slammy
22.01.2019, 23:07
Error404, поскольку единственная связь между Z80Card и DD28 - сигнал 50 Гц, я отсоединил int от Z80card и глюк пропал. Подключив осциллограф, увидел следующую картину:
Провод отсоединен:
67801
Провод соединен:
67802
Видимо при подключении заваливаются фронты сигнала.

Error404
23.01.2019, 11:59
Error404, поскольку единственная связь между Z80Card и DD28 - сигнал 50 Гц, я отсоединил int от Z80card и глюк пропал. Подключив осциллограф, увидел следующую картину:
Провод отсоединен:
67801
Провод соединен:
67802
Видимо при подключении заваливаются фронты сигнала.

В Z80 CardII формирование короткой иголки /INT из достаточно продолжительного сигнала гасящего КСИ сделано на диф. цепочке (диод, резистор, конденсатор) - плагиат с Спектрума-Ленинград. Наверное надо подобрать эти компоненты (качественный керамический кондёр, тут писали еще что помогает поставить диод Шоттки вместо Д9). Сейчас какие применены?
Также, возможно конкретный экземпляр процессора может быть чувствителен к иголке на INT (они кстати и на ПРО, где эта цепь полностью цифровая из аж трех корпусов ИС, к /INT бывают капризны). В обоих режимах (Турбо/нетурбо) глюк проявляется?

slammy
23.01.2019, 12:39
Error404, наврено я не совсем корректно отписал, эти осцилограммы с ноги DD28, видимо RC-цепочка чутка заваливает сигнал переключения триггера. Попробую сделать буфер на двух свободных элементах ЛН1 для этого сигнала.
------
Подсоединил к в.4 DD13 свободный инвертор из DD59 и подвел сигнал на Z80Card. Прерывания работают, экраны не глючат. Спасибо за помощь!
И еще такой вопрос - стоит ли пытаться гнать процессор до 10 МГц, или он все время будет в WAITах сидеть?

Cornelius
24.01.2019, 14:50
Подсоединил к в.4 DD13 свободный инвертор из DD59
Через 1 элемент НЕ? Или всё же через 2?
На плате Z80Card есть свободный элемент 4.ЛИ1, можно использовать его для этой задачи?

Error404
24.01.2019, 16:21
И еще такой вопрос - стоит ли пытаться гнать процессор до 10 МГц, или он все время будет в WAITах сидеть?

При базовой 2,5М, 5М+Wait дает примерно 3,4-3,9 реальных (зависит от схемы) и 10М+Wait дает примерно 4,9-5,1 Мгц реальных (зависит от схемы). Т.е. смысл конечно есть. Но в схему на одной Ле1 (где не используется Wait, а переключается тактирование) "в лоб" подать 10М не получится, я не разбирался что там к чему. Нужно другой вариант где именно с Wait.

slammy
24.01.2019, 20:58
Cornelius, на плате есть инвертор для 50 Гц сигнала (один из элементов DD1), а так да, что-то я просмотрел свободный элемент ЛИ1, мог бы немного МГТФа сэкономить.

Error404, понятно, не стоит овчинка выделки :)

Cornelius
24.01.2019, 21:58
Понятно. Интеграция ZCARD по этой методе (https://zx-pk.ru/threads/17580-sborka-i-nastrojka-z80-card-dlya-orion-128-3-faq.html?p=491836&viewfull=1#post491836) делалась?

slammy
25.01.2019, 08:54
Cornelius, нет, в темах по наладке часть информации для предыдущих версий Z80Card. Я по топологии ПП из этой темы https://zx-pk.ru/threads/17329-tekh-razdel-orion-128-reviziya-512.html (откуда же и брал саму Z80Card) подключался. В принципе ничего сложного нет, все дорожки для разрезания вполне доступны.

Sancho45
12.02.2019, 19:57
При установке диода в разрыв в.13 DD7 изображение начинает прыгать, видимо телевизор не может синхру поймать. Пока вывод просто оторвал, изображение опустилось, но недостаточно. Буду думать.


Этот диод- это полна шляпа )))
я так понимаю ноги отсюда https://zx-pk.ru/threads/18954-sborka-orion-128-rev-512.html?p=589214&viewfull=1#post589214
Более ранних сообщений я не видел. Этот диод ничего не делает, кроме разрыва цепи, возможно вы его наоборот припаяли, но его можно вообще не паять, а 13 вывод DD7.4 просто отрезать от схемы и подтянуть к +5в, эффект будет тот же, что вами и сделано. Экран сместится на 4 строки вниз. У этого способа есть побочный эффект, синхроимпульс растягивается и выдается второй раз, как помеха длительностью 200нс, и некоторые ТВ могут сбиваться такой синхронизацией. К тому же 4 строки недостаточно, надо минимум 8 строк сместить.



П.П.С.(мечтательно...) сделал бы кто-нибудь из прошаренных орионожелезячников доброе дело - разобрался в причинах кривоты родного синхрогена Ориона-128 и скорректировал бы схему.


Если это кому то нужно, выложу на днях корректировку схемы, нужен будет один корпус ТТЛ

Error404
13.02.2019, 00:58
Если это кому то нужно, выложу на днях корректировку схемы, нужен будет один корпус ТТЛ

Да, нужно. В идеале, если получится иметь несколько положений центрирования.

Sancho45
13.02.2019, 06:13
Можно сместить на 8 строк или на 16 строк. 8 строк должно в большинстве случаев хватить. Снизу запас достаточный и я предпочитаю 16 строк сместить. Но у особо упоротых тв ящиков , пару нижних строк могут уйти. Если оба варианта сразу или комбинацию, то слишком много порезов будет. А так 4 пореза и один ттл корпус

- - - Добавлено - - -

Сделаю фото и решим голосованием )))

Denn
13.02.2019, 12:23
Этих доработок не хватает в составе новодельных плат https://vk.com/emoji/e/e2989df09f8fbb.png

Sancho45
13.02.2019, 12:58
Я пользуюсь монитором через VGA адаптер, подключил к ТВ исключительно для демонстрации доработки.

Картинка до доработки
https://i.ibb.co/NKDwBsB/20190213-151039.jpg (https://ibb.co/NKDwBsB)


картинка со смещением 8 строк
https://i.ibb.co/ZT5WV8D/20190213-152851.jpg (https://ibb.co/ZT5WV8D)

И картинка со смещением 16 строк
https://i.ibb.co/ySz1DWT/20190213-153357.jpg (https://ibb.co/ySz1DWT)

Можно сделать коммутацию смещения 8/16 или сделать промежуточно 12 строк, но это лишние перемычки....

Кто хочет запилить доделку вечером, готовим корпус к155ла1 и проверяем есть ли в вашей ревизии платы свободный элемент 2или-не, DD10.4 который. В журнальной схеме он свободен , а вот например в ревизии Рябцова- ОРИОН-512-УКНЦ, этот элемент задействован и мне пришлось задействовать 3или-не с другого корпуса.
Вечером в отдельном теме сделаю статейку по доработке. Обошлось всего тремя порезами )))

- - - Добавлено - - -

Интересно, почему за 19 лет не допилили до этого ????

Error404
13.02.2019, 13:03
смещение в 8 строк выглядит приличнее всего.
Но это может быть индивидуально (по телекам)

Cornelius
13.02.2019, 14:33
почему за 19 лет не допилили
В телевизорах с ЭЛТ можно картинку растягивать по вертикали и горизонтали. Поэтому, было невостребовано.
В журнале Радио за 93 год, была статья об успешной разработке светодиода синего свечения. Про телевизоры LCD были статьи у Айзека Азимова :)

Sancho45
13.02.2019, 15:03
В телевизорах с ЭЛТ можно картинку растягивать по вертикали и горизонтали.
Растягивание не поможет, нужно смещение, и в телевизорах с ЭЛТ тех годов была ручка центровки и растяжения, ни та, ни другая не всегда помогали(от ТВ зависит), и то это были ручки в ламповых телеках, а в большинстве полупроводниковых без снятия крышки вообще не выкрутишь. Так что знаем..........

- - - Добавлено - - -

Да из тех пор прошло уже кучу лет, как LCD и др современные тв в ходу.

- - - Добавлено - - -

Да и куда проще один раз доработать, чем десять ручку крутить...........

Stampmaker
13.02.2019, 15:14
лично я бы предпочёл полную схему варианта 8/12/16, в которой можно было бы джампер(-ом, -ами) выбирать желаемое смещение.

Cornelius
13.02.2019, 15:14
прошло уже кучу лет
Так и компьютеры стали чуть другие...

На форуме как-то пролетала схема с тремя диодами и инвертором, как раз для решения проблемы обрезки строк в LCD.
Микросхема - 74AC1G14 / 74AC1G04 / 74HC1G14 / 74HC1G04 (1 гейт инвертора с/без триггера Шмитта).
3 входа подключаются к ногам 8,9,11 DD4, выход - к ноге 13 DD7.4 (соответственно, дорожку ведущую к н.13 DD7 нужно обрезать рядом с DD7).

Sancho45
13.02.2019, 15:22
На форуме как-то пролетала схема с тремя диодами и инвертором,
Это шляпа, там смещение максимум 4 строки, как и с диодом(точнее с разрывом 13 выв DD7.4) и к тому же сильно коверкается синхроимпульс, так что мимо........


Так и компьютеры стали чуть другие...
А тут не о других компьютерах, а об орионе-128 по заголовку, так что и тут мимо



лично я бы предпочёл полную схему варианта 8/12/16, в которой можно было бы джампер(-ом, -ами) выбирать желаемое смещение.
Статья редактируется, будет вам сколько надо, сами выберете !

Stampmaker
13.02.2019, 15:25
На форуме как-то пролетала схема с тремя диодами и инвертором

эта?

68060



P.S.
делал я это, 4 строки всего смещает

Cornelius
13.02.2019, 15:30
эта?
Да, похоже эта.

В режиме удвоения строк фишка 8/12/16 тоже работает?

denis74
15.02.2019, 22:29
Ещё один не решённый вопрос остался (или не нашёл) - согласование по уровням RGB для SCART 0,35 и 0,7В при яркостном сигнале I 0/1 ,схемы которые здесь выложены выдают искажённые цвета, может кто поделится?

Cornelius
16.02.2019, 17:15
согласование по уровням RGB для SCART
Как сейчас подключен SCART, по какой схеме?
SCART в телевизоре полный?
Возможно выложить искажённые цвета ввиде фото?
Не пробовали подключить через Video или S-Video, VGA?
Здесь http://zxbyte.ru/byte_connection_to_tv_and_monitors.htm много простых (макетных) вариантов.
Здесь вариант был: Пост (https://zx-pk.ru/threads/9679-orion-128-sborka-i-nastrojka-kompyutera.html?p=990086&viewfull=1#post990086)

denis74
16.02.2019, 22:47
1.Собрал несколько разных схем, во всех выходной сигнал RGB около 2в т.е. в 3раза превышает норму ,заменил выходные резисторы на переменники ,добился более менее адекватного уровня ,но яркостный сигнал не соответствовал 50% ,вообщем придётся рассчитать схему на кт315 с ОК если никто не поможет .Странно что никто ,касаемо Ориона ,этим вопросом не озадачился ,с zx Addison рассчитал ,но схемы за давностью лет исчезли.
2.Телеков перепробовал много ,остановился на гнусмасе le26b450 (всех ...b450 касается) , они с голимой схемой смещения на диоде показывают всю картинку ,SCART естественно полный .И самое главное - пропорции изображения как в разрешении 1:1.5 те 256:384.
3.Через AV in всё гуд ,там уровень правильный ,через RGB - VGA адаптер конечно здорово ,чётко ,но есть искажения в пропорции и разрешение выдаёт 700х575 что не соответствует хотя бы 2х от родного Орионовского 768х512.

Stampmaker
16.02.2019, 23:24
я себе вот такую схему собирал
уровни я не измерял
но визуально меня устраивает

https://c.radikal.ru/c40/1902/82/80a6f43ddf9et.jpg (https://c.radikal.ru/c40/1902/82/80a6f43ddf9e.jpg)

denis74
17.02.2019, 08:04
Тоже на этой схеме остановился но номиналы резисторов явно не по закону ома считалась...
1.Почему R1=R5 R2=R6 R3=R7 ,в расчёт сопротивление элемента на транзисторе не берётся? и будут ли отличаться уровни на базах кт315 при высоких сигналах цветов и смене яркости с 0 на 1 ? Думаю нет, или не значительно ,а надо 50%.
2.резисторы R17 R18 R19 с каких соображений 1ком ? Входное у телека 75ом ,даже не учитывая внутреннее сопротивление транзистора у этого делителя на выходе более 0.3в ну никак не получится ,а надо 0.7в.
Вот если в эту схему переменники поставить ,причём по одному достаточно вместо двух R1 R5 на 3к например и т.д. по всем цветам, и вместо R17 R8 на 680ом и откалибровать до 0.35в и 0.7в .Хотя лучше считать конечно, но лень.

Stampmaker
17.02.2019, 09:34
denis74, ко мне эта схема перекочевала из ж.Радио за 1992 год, №2,стр.31
я убрал всё лишнее, что мне не нужно, и оставил только согласователь.

скачать можно здесь:
http://radiolub.ru/page/zhurnal-radio-1992-2-3

HardWareMan
17.02.2019, 09:39
а надо 50%.
Кто так сказал?

denis74
17.02.2019, 14:15
denis74, ко мне эта схема перекочевала из ж.Радио за 1992 год, №2,стр.31
я убрал всё лишнее, что мне не нужно, и оставил только согласователь.

скачать можно здесь:
http://radiolub.ru/page/zhurnal-radio-1992-2-3

Там так и написано - "подбором резисторов R19-R21 получают необходимую контрастность изображения и соотношение цветов" т.е. методом тыка в зависимости от модели телека потому что не было стандартного SCART разъёма.Это ладно ,решаемо,но почему по 680ом в базу идёт с яркостного и цветового каналов? непонятно...

- - - Добавлено - - -


Кто так сказал?

Линейна ли данная цветовая модель RGB ? Думаю что да. То есть очень хотелось бы в это верить ,иначе расчёты усложнятся.

Sancho45
17.02.2019, 15:00
В режиме удвоения строк фишка 8/12/16 тоже работает?

о чем это ?

slammy
18.02.2019, 20:39
Не у кого случаем не завалялось образа жесткого диска для Ориона с СР/М и каким-нибудь софтом на пробу? Хочу проверить контроллер HDD.

Cornelius
18.02.2019, 21:32
Образ HDD (https://cloud.mail.ru/public/5str/iSKnWN8Vw)
В архиве образ дискеты и образ HDD, содержащие релиз Altair-DOS с поддержкой IDE-устройств. Грузится с дисковода при помощи мониторов-3, содержащих загрузчик с дисковода. Грузится с IDE при помощи мониторов-3 M35ZRKH.BIN, M35ZMSH.BIN, находящихся в архиве.

Electricman
04.04.2019, 20:19
Давно не появлялся, форум видоизменился) Ну да ладно, вопрос не об этом.

Кто подскажет, где в родном, первом мониторе расположены команды EI и DI? Таки портят жизнь при попытке подружить орион с контроллером прерываний. Попытки дизассемблировать провалились.)

Ну и таки ещё вопрос, может кто поможет - прикрутил винт к ориону, довольно древний, посему с CHS адресацией. Работает железобетонно, но мне естественно такая адресация не нравится. Попытки прикрутить жёсткий диск с LBA дают один и тот же эффект - при записи и последующем чтении стандартно 8 байт сбиваются, соответственно смысл в таком хранении информации отпадает. Где копнуть?

Denn
05.04.2019, 00:20
Кто подскажет, где в родном, первом мониторе расположены команды EI и DI? Таки портят жизнь при попытке подружить орион с контроллером прерываний. Попытки дизассемблировать провалились.)

Эти команды используются подпрограммой генерации звука, обычно вызывается по адресу F83Fh, но насчёт М1 не уверен, надо смотреть.
Можно "зайти" и через п/п вывода символа F809h, но там придётся "разматывать" вывод кода 07h...



Попытки прикрутить жёсткий диск с LBA дают один и тот же эффект - при записи и последующем чтении стандартно 8 байт сбиваются, соответственно смысл в таком хранении информации отпадает. Где копнуть?

Поддержка LBA-адресации в крайних версиях DSDOS, например. Работает без проблем.

Denn
05.04.2019, 11:52
Кто подскажет, где в родном, первом мониторе расположены команды EI и DI?

Подпрограмма генерации звука вызывается по адресу FE1Bh.

Конкретно в ней команда EI находится по адресу FE1Fh, а команда DI по адресу FE25h.

Denn
05.04.2019, 17:45
Попытки дизассемблировать провалились.)

В качестве развлечения "расковырял" сегодня в течении рабочего дня:



; МОНИТОР-1 для ПРК "ОРИОН-128.2"
; Disassembler v2.1 (DSDOS)
; 05.04.2019 by Denn /SPb/

STACK:EQU 0F3C9h ; вершина стэка

C_DSCR:EQU 30C0h ; параметры окна экрана
C_TAPE:EQU 6040h ; константы чтения/записи МГ

RD_BOOT:EQU 0B800h ; а/н загрузчика ROM-диска
GO_BOOT:EQU 0BFFDh ; адрес старта загрузчика

RamTOP:EQU 0BFFFh ; верхняя граница ОЗУ пользователя

B_FONTS:EQU 0F000h ; а/н знакогенератора


; Порт клавиатуры (ВВ55)

PT_KB_A:EQU 0F400h ; выход на матрицу
PT_KB_B:EQU 0F401h ; вход от матрицы
PT_KB_C:EQU 0F402h ; упр. клавиши, с/д и МГ
PT_KB_CFG:EQU 0F403h ; настройка порта


; Порт ROM-диска (ВВ55)

PT_RD_DAT:EQU 0F500h ; данные
PT_RD_ADR:EQU 0F501h ; адрес
PT_RD_CFG:EQU 0F503h ; настройка порта


; Порты видео и ОЗУ

PT_MODE:EQU 0F800h ; порт видеорежима
PT_BANK:EQU 0F900h ; порт банков ОЗУ
PT_SCRN:EQU 0FA00h ; порт экранов

M_ExUSR:EQU 0F3CAh ; вектор п/п F821h
M_ExPRC:EQU 0F3CDh ; вектор п/п F809h


; Системные переменные

M_BSCR:EQU 0F3CFh ; ст.байт а/н экрана
M_WSCR:EQU 0F3D0h ; ширина экрана

M_BFNTS:EQU 0F3D1h ; а/н знакогенератора
M_INVRS:EQU 0F3D3h ; 00-прямой, FF-инверсный
M_START:EQU 0F3D8h ; адрес запуска
M_cSvMG:EQU 0F3DAh ; константа записи на МГ
M_cLdMG:EQU 0F3DBh ; константа чтения с МГ

M_LdbMG:EQU 0F3DCh ; переменная п/п LdByteMG
M_PosXY:EQU 0F3D4h ; позиция курсора
M_MdPRC:EQU 0F3DDh ; переменная п/п MonPRC
M_SfSTK:EQU 0F3DFh ; сохр-е стека (MonPRC)

M_RTOP:EQU 0F3E3h ; адрес верхней границы ОЗУ
M_RuLa:EQU 0F3E5h ; 00h-LAT, FFh-РУС
M_AUTO:EQU 0F3E6h ; автоповтор клавиатуры
M_ADDR:EQU 0F3EEh ; сохр-е адреса (CMDL)

B_CMDL:EQU 0F3F0h ; а/н командной строки
B_CMDP:EQU 0F3F1h ; параметры в командной строке

ExUSR:EQU 0F3C9h ; адрес п/п MonUSR
ExPRC:EQU 0F3CCh ; адрес п/п MonPRC


ORG 0F800h

; керналь переходов на стандартные п/п монитора
MF800:JMP RESET
MF803:JMP MonKEY
MF806:JMP LdByteMG
MF809:JMP ExPRC
MF80C:JMP SvByteMG
MF80F:JMP MonPRA
MF812:JMP MonTST
MF815:JMP MonPRH
MF818:JMP MonMSG
MF81B:JMP MonSCN
MF81E:JMP MonASK
MF821:JMP ExUSR
MF824:JMP CMD_I
MF827:JMP CMD_O
MF82A:JMP MonSUM
MF82D:JMP MonUZG
MF830:JMP GetTOP
MF833:JMP SetTOP
MF836:JMP LdBYTE
MF839:JMP SvBYTE
MF83C:JMP MonCUR
MF83F:RET

DW 0


RESET:
; "Холодный" сброс ПРК [F800h]
LXI SP,STACK
XRA A
STA PT_MODE
STA PT_BANK
STA PT_SCRN
STA M_INVRS
STA PT_KB_C
MVI A,0C3h
STA ExPRC
STA ExUSR
CALL SetVARS
; инициализация констант чтения/записи
LXI H,C_TAPE
SHLD M_cSvMG
LXI H,T_MAIN
CALL MonMSG

HotSTART:
; "Горячий" сброс ПРК [F86Ch]
LXI SP,STACK
; настройка порта клавиатуры
MVI A,8Ah
STA PT_KB_CFG
; вывод промпта
LXI H,T_PRMPT
CALL MonMSG
STA M_RuLa
LXI H,PrERROR
SHLD M_START
; адрес возврата (HotSTART)
LXI H,HotSTART
PUSH H
CALL INPUT
CALL PrENTER
CALL GetPARAM
; меню команд монитора
LDA B_CMDL
CPI 'M'
JZ CMD_M
CPI 'D'
JZ CMD_D
CPI 'I'
JZ CMD_I
CPI 'O'
JZ CMD_O
CPI 'R'
JZ CMD_R
CPI 'Z'
JZ GO_BOOT
CPI 'C'
JZ CMD_C
CPI 'G'
JNZ PrERROR
PCHL


SetVARS:
; распаковка знакогенератора
LXI H,B_FONTS
SHLD M_BFNTS
CALL MonUZG
; инициализация окна рабочего экрана
LXI H,C_DSCR
SHLD M_BSCR
; инициализация векторов п/п F809 и F821
LXI H,MonPRC
SHLD M_ExPRC
LXI H,MonUSR
SHLD M_ExUSR
; инициализация верхней границы ОЗУ польз.
LXI H,RamTOP
SHLD M_RTOP

MonUSR:
RET


INPUT:
; Ввод данных в командную строку
LXI D,B_CMDL

INPUT1:
CALL MonKEY
CPI '.'
JZ PrERROR
CPI 7Fh ; [ЗБ]
JZ INPUT3
CPI 18h ; []
JZ INPUT5
CPI 08h ; []
JNZ INPUT4
MVI A,0F0h
CMP E
JZ INPUT1

INPUT2:
MVI A,8
DCX D

INPUT3:
CALL MonPRA
JMP INPUT1

INPUT4:
STAX D

INPUT5:
CALL MonPRA
CPI 0Dh ; [Enter]
RZ
INX D
MOV A,E
CPI 0FFh
JNZ INPUT1
JMP INPUT2


GetPARAM:
; Взятие параметров из командной строки
LXI D,B_CMDP
CALL GetADDR
SHLD M_ADDR
RC
CALL GetADDR
XCHG
LHLD M_ADDR
RET

GetADDR:
; Взятие адреса из командной строки
LXI H,0
MOV B,L
MOV C,L

GetADDR1:
DAD B
LDAX D
INX D
CPI 0Dh ; [Enter]
JZ GetADDR3
CPI ','
RZ
SUI '0'
JM PrERROR
CPI 10
JM GetADDR2
CPI 11h
JM PrERROR
CPI 17h
JP PrERROR
SUI 7

GetADDR2:
MOV C,A
DAD H
DAD H
DAD H
DAD H
JNC GetADDR1

PrERROR:
; обработка ошибки в параметрах
MVI A,'?'
CALL MonPRA
JMP HotSTART

GetADDR3:
LXI D,0
STC
RET


PR[M]:
MOV A,M

MonPRH:
; Вывод [A] в HEX-виде
PUSH PSW
RRC
RRC
RRC
RRC
CALL MonPRH1
POP PSW

MonPRH1:
ANI 0Fh
CPI 10
JM $+5
ADI 7

;$+5
ADI '0'
PUSH B
MOV C,A
CALL MF809 ; MonPRC
POP B
RET


MonMSG:
; Вывод сообщения [HL]
MOV A,M
ANA A
RZ
PUSH B
MOV C,A
CALL MF809 ; MonPRC
POP B
INX H
JMP MonMSG


MonSUM:
; Подсчет контрольной суммы
LXI B,0

MonSUM1:
MOV A,C
ADD M
MOV C,A
PUSH PSW
CALL TSTHD
JZ PswRET
POP PSW
MOV A,B
ADC M
MOV B,A
INX H
JMP MonSUM1

PrEntHL:
CALL PrENTER
CALL PR_SPC

PR[HL]:
MOV A,H
CALL MonPRH
MOV A,L
CALL MonPRH

PR_SPC:
MVI A,' '
JMP MonPRA


TSTHD:
MOV A,H
CMP D
RNZ
MOV A,L
CMP E
RET


MonASK:
; Запрос позиции курсора
LHLD M_PosXY
MOV A,L
RRC
RRC
MOV L,A
RET


MonCUR:
; Установка позиции курсора [HL]
MOV A,L
RLC
RLC
MOV L,A
SHLD M_PosXY
RET


SetTOP:
; Установка верхней границы ОЗУ пользователя
SHLD M_RTOP

GetTOP:
; Запрос верхней границы ОЗУ пользователя
LHLD M_RTOP
RET


MonUZG:
; Распаковка знакогенератора в F000h
LXI H,B_CFNTS
LXI D,B_FONTS

MonUZG1:
MVI C,7
XRA A
STAX D
INX D

MonUZG2:
MOV A,M
RLC
RLC
RLC
ANI 7
MOV B,A

MonUZG3:
MOV A,M
ANI 1Fh ; 0001 1111
STAX D
INX D
DCR C
DCR B
JP MonUZG3
INX H
MOV A,H
ANA A
RZ
MOV A,C
ANA A
JNZ MonUZG2
JMP MonUZG1


LdBYTE:
; Чтение байта из доп. страницы ОЗУ
STA PT_BANK
MOV C,M

SetBANK0:
XRA A
STA PT_BANK
RET

SvBYTE:
; Запись байта в доп. страницу ОЗУ
STA PT_BANK
MOV M,C
JMP SetBANK0


LdNxtByte:
; Загрузка байта с магнитофона
; без поиска синхробайта
MVI A,8

LdByteMG:
; Загрузка байта с магнитофона
; I: [A]=FFh - с поиском синх/байта, 08h-без
PUSH B
PUSH D
PUSH H
MVI C,0
MOV D,A
LDA PT_KB_C
RRC
RRC
RRC
RRC
ANI 1
MOV E,A

LdByteMG1:
MOV A,C
ANI 7Fh ; 0111 1111
RLC
MOV C,A
MVI B,0

LdByteMG2:
DCR B
JNZ LdByteMG3

GoSTART:
LHLD M_START
PCHL

LdByteMG3:
LDA PT_KB_C
RRC
RRC
RRC
RRC
ANI 1
CMP E
JZ LdByteMG2
ORA C
MOV C,A
CALL WaitLdMG
LDA PT_KB_C
RRC
RRC
RRC
RRC
ANI 1
MOV E,A
MOV A,D
ORA A
JP LdByteMG6
MOV A,C
CPI 0E6h
JNZ LdByteMG4
XRA A
STA M_LdbMG
JMP LdByteMG5

LdByteMG4:
CPI 19h
JNZ LdByteMG1
MVI A,0FFh
STA M_LdbMG

LdByteMG5:
MVI D,9

LdByteMG6:
DCR D
JNZ LdByteMG1
LDA M_LdbMG
XRA C

AllRET:
POP H
POP D
POP B
RET


SvWordMG:
; Запись слова на магнитофон
; I: [HL] - слово
MOV C,H
CALL SvByteMG
MOV C,L

SvByteMG:
; Запись байта на магнитофон
; I: [C] - байт
PUSH PSW
PUSH D
PUSH B
MVI D,8

SvByteMG1:
MOV A,C
RLC
MOV C,A
MVI A,1
XRA C
STA PT_KB_C
CALL WaitSvMG
XRA A
XRA C
STA PT_KB_C
CALL WaitSvMG
DCR D
JNZ SvByteMG1
POP B
POP D

PswRET:
POP PSW
RET


WaitSvMG:
; задержка импульса записи на МГ
LDA M_cSvMG
JMP WAIT_A

WaitLdMG:
; задержка импульса чтения с МГ
LDA M_cLdMG

WAIT_A:
DCR A
JNZ WAIT_A
RET


CMD_M0:
INX H

CMD_M:
; Модификация ячеек ОЗУ
CALL PrEntHL
CALL PR[M]
CALL PR_SPC
CALL INPUT
LXI D,B_CMDL
LDAX D
CPI 0Dh ; [Enter]
JZ CMD_M0
PUSH H
CALL GetADDR
XCHG
POP H
MOV M,E
JMP CMD_M0


CMD_D:
; Вывод дампа ОЗУ
MOV B,E

CMD_D1:
CALL PrEntHL

CMD_D2:
CALL PR_SPC
MOV A,B
ANA A
JZ CMD_D3
CALL LdBYTE
MOV A,C
JMP CMD_D4

CMD_D3:
MOV A,M

CMD_D4:
CALL MonPRH
INX H
MOV A,L
ANI 0Fh
JNZ CMD_D2
MOV A,L
ANA A
JNZ CMD_D1
CALL INPUT
JMP CMD_D1


CMD_I:
; Загрузка файла с магнитофона
MVI A,0FFh
CALL LdWordMG
XCHG
CALL LdNxtWordMG
XCHG
PUSH H

CMD_I1:
CALL LdNxtByte
MOV M,A
CALL TSTHD
INX H
JNZ CMD_I1
MVI A,0FFh
CALL LdWordMG
MOV B,H
MOV C,L
POP H
CALL PR[HL]
XCHG
CALL PR[HL]
XCHG
PUSH B
CALL MonSUM
POP D
MOV H,B
MOV L,C
CALL PR[HL]
CALL TSTHD
RZ
JMP GoSTART


LdNxtWordMG:
MVI A,8

LdWordMG:
; Чтение слова с МГ
CALL LdByteMG
MOV H,A
CALL LdNxtByte
MOV L,A
RET


CMD_O:
; Запись файла на магнитофон
; I: [HL]-а/н, [DE]-а/к массива
PUSH H
CALL MonSUM
POP H
PUSH B
PUSH H
LXI B,0

CMD_O1:
CALL SvByteMG
DCR B
JNZ CMD_O1
MVI C,0E6h
CALL SvByteMG
CALL SvWordMG
XCHG
CALL SvWordMG
XCHG
POP H

CMD_O2:
MOV C,M
CALL SvByteMG
CALL TSTHD
INX H
JNZ CMD_O2
LXI H,0
CALL SvWordMG
MVI C,0E6h
CALL SvByteMG
POP H
CALL SvWordMG
JMP PR[HL]


CMD_C:
; Окраска экрана
MOV C,L
MVI A,6
STA PT_MODE
MVI A,1
STA PT_BANK
LXI H,M_INVRS
MOV D,M
MOV M,C
CALL MFE00
MOV M,D
XRA A
STA PT_BANK
RET


MonTST:
; Тест состояния клавиатуры
; O: [A]=00h-не нажата, FFh-нажата клавиша
XRA A
STA PT_KB_A
LDA PT_KB_B
XRI 0FFh
RZ
MVI A,0FFh
RET


CMD_R:
; Запуск загрузчика из ROM-диска
LXI D,RD_BOOT
MOV H,E
MOV L,E
MVI A,90h
STA PT_RD_CFG

CMD_R1:
SHLD PT_RD_ADR
LDA PT_RD_DAT
STAX D
INX D
INX H
MOV A,H
CPI 8
JNZ CMD_R1
JMP GO_BOOT


MonKEY:
; Ввод символа с клавиатуры
PUSH B
PUSH D
PUSH H
CALL MonSCN
CPI 0FFh
JNZ MonKEY1
STA M_AUTO

MonKEY1:
MVI D,0

MonKEY2:
INX D
DCR E
INR E
CZ PrCURS
CALL MonSCN
INR A
JZ MonKEY2
PUSH PSW
MOV A,D
RRC
CNC PrCURS
POP PSW
DCR A
JP MonKEY4
; инверсия с/д РУС/LAT
LXI H,M_RuLa
MOV A,M
CMA
MOV M,A
STA PT_KB_C

MonKEY3:
CALL MonSCN
INR A
JNZ MonKEY3
CALL PrCURS
JMP MonKEY1

MonKEY4:
MOV E,A
MVI D,14h
LXI H,M_AUTO
CMP M
JZ MonKEY6

MonKEY5:
DCR D
JZ MonKEY6
CALL MonSCN
CMP E
JZ MonKEY5

MonKEY6:
CALL SOUND
MOV M,E
CALL PrCURS
MOV A,E
JMP AllRET


MonSCN:
; Сканирование клавиатуры
PUSH B
PUSH D
PUSH H
LXI H,AllRET
PUSH H
MVI B,0
MVI D,9
MVI C,0FEh

MonSCN1:
MOV A,C
STA PT_KB_A
RLC
MOV C,A
LDA PT_KB_B
CPI 0FFh
JZ MonSCN2
MOV E,A
CALL MonSCN11
LDA PT_KB_B
CMP E
JZ MonSCN4

MonSCN2:
MOV A,B
ADI 8
MOV B,A
DCR D
JNZ MonSCN1
LDA PT_KB_C
ANI 80h
MVI A,0FEh
RZ
INR A
RET

MonSCN3:
INR B

MonSCN4:
RAR
JC MonSCN3
MOV A,B
ANI 3Fh
CPI 10h
JC MonSCN9
CPI 3Fh
MOV B,A
MVI A,' '
RZ
LDA PT_KB_C
MOV C,A
ANI 40h
JNZ MonSCN5
MOV A,B
ANI 1Fh
RET

MonSCN5:
LDA M_RuLa
ANA A
JNZ MonSCN10
MOV A,C
ANI 20h
MOV A,B
JZ MonSCN6
CPI 1Ch
JM MonSCN7
CPI 20h
JM MonSCN8
JMP MonSCN7

MonSCN6:
CPI 1Ch
JC MonSCN8

MonSCN7:
ADI 10h

MonSCN8:
ADI 10h
POP H
JMP AllRET

MonSCN9:
LXI H,B_CtrKEYS
MOV C,A
MVI B,0
DAD B
MOV A,M
RET


B_CtrKEYS:
DB 0Ch ; [Home]
DB 1Fh ; [СТР]
DB 1Bh ; [AP2]
DB 00h ; [F1]
DB 01h ; [F2]
DB 02h ; [F3]
DB 03h ; [F4]
DB 04h ; [F5]
DB 09h ; [Tab]
DB 0Ah ; [ПС]
DB 0Dh ; [ВК]
DB 7Fh ; [ЗБ]
DB 08h ; [<-]
DB 19h ; [Up]
DB 18h ; [->]
DB 1Ah ; [Down]

MonSCN10:
MOV A,C
ANI 20h
MOV A,B
JZ MonSCN6
CPI 1Ch
JM MonSCN7
CPI 20h
JM MonSCN8
ADI 40h
RET

MonSCN11:
LXI H,0B00h

MonSCN12:
DCX H
MOV A,H
ORA L
JNZ MonSCN12
RET

PrENTER:
MVI A,0Dh
CALL MonPRA
MVI A,0Ah

MonPRA:
PUSH B
MOV C,A
JMP MonPRC1


MonPRC:
; Вывод символа [C]
PUSH B

MonPRC1:
PUSH D
PUSH H
PUSH PSW
MOV A,C
CPI 7Fh
JNZ MonPRC2
; инверсия вывода
LDA M_INVRS
CMA
STA M_INVRS
JMP ALLRET

MonPRC2:
MVI H,20h
SUB H
JC MonPRC4
; вычисление начала образа символа в ZG
MOV L,A
DAD H
DAD H
DAD H
XCHG
LHLD M_BFNTS
DAD D
XCHG
CALL MonPRC14
XCHG
MVI A,16h

MonPRC3:
PUSH PSW
PUSH H
LDA M_INVRS
XRA M
ANI 3Fh ; 0011 1111
MOV L,A
LDA M_MdPRC
DCR A
MVI H,0

;$-3
DAD H
DAD H
INR A
JNZ $-3
XCHG
MOV A,B
XRA M
ANA M
ORA D
MOV M,A
INR H
MOV A,C
XRA M
ANA M
ORA E
MOV M,A
DCR H
INR L
XCHG
POP H
INX H
POP PSW
SUI 3
JP MonPRC3
LXI H,0FD85h ; %%
CPI 0F8h
JNZ MonPRC3

MonPRC4:
; код меньше 20h
LHLD M_PosXY
CALL MonPRC10
DAD B
MOV A,H
CPI 19h
JC MonPRC9
JNZ MonPRC8
INR D
MOV H,D
JZ MonPRC9
PUSH H
LXI H,0
DAD SP
SHLD M_SfSTK
LDA M_WSCR
MOV B,A
LDA M_BSCR
MOV H,A
MVI L,0Ah
SPHL
MVI L,0

MonPRC5:
MVI C,3Ch

MonPRC6:
POP D
MOV M,E
INR L
MOV M,D
INR L
POP D
MOV M,E
INR L
MOV M,D
INR L
DCR C
JNZ MonPRC6
LDA M_INVRS

MonPRC7:
INX SP
MOV M,A
INR L
JNZ MonPRC7
INR H
DCR B
JNZ MonPRC5
LHLD M_SfSTK
SPHL
POP H

MonPRC8:
MVI H,18h

MonPRC9:
SHLD M_PosXY

ALLRET:
POP PSW
JMP AllRET

MonPRC10:
LXI B,0100h
MOV D,C
INR A
CZ MFE00
JZ MonPRC12
CPI 0EBh
RZ
DCR D
ADI 5
RZ
INR D
MVI B,0FFh
INR A
RZ
MVI C,0FCh
CPI 0EFh
RZ
LXI B,0
CPI 0F0h
JNZ MonPRC11
MOV A,L
ANI 0E0h
ADI 20h
MOV L,A
RET

MonPRC11:
MVI C,4
INR A
RZ
CPI 0EFh
JZ SOUND
ADI 0Bh
JZ MonPRC13
INR A
RNZ

MonPRC12:
MOV H,D

MonPRC13:
MOV L,D
MOV B,D
MOV C,D
RET

MonPRC14:
LHLD M_PosXY
MOV A,L
RRC
MOV L,A
RRC
ADD L
MOV B,A
MOV L,H
LDA M_BSCR
MOV H,A
MOV A,B
DCR H

MonPRC15:
INR H
SUI 4
JNC MonPRC15
STA M_MdPRC
PUSH H
LXI H,00FCh

MonPRC16:
DAD H
DAD H
INR A
JNZ MonPRC16
MOV B,H
MOV C,L
POP H
MOV A,L
RLC
RLC
RLC
ADD L
ADD L
MOV L,A
RET


PrCURS:
; Вывод (инверсия) курсора
CALL MonPRC14
ADI 9
MOV L,A
MOV A,B
XRA M
MOV M,A
INR H
MOV A,C
XRA M
MOV M,A
RET


MFE00:
PUSH PSW
PUSH H
LDA M_BSCR
MOV H,A
LDA M_WSCR
ADD H
MOV C,A
MVI L,0
LDA M_INVRS
MOV B,A

;$-4
MOV M,B
INX H
MOV A,H
CMP C
JNZ $-4
POP H
POP PSW
RET


SOUND:
; Звук через EI/DI [MFE1Bh]
LXI B,4014h

SndLOOP:
MOV A,B

;$-2
EI
DCR A
JNZ $-2
MOV A,B

;$-2
DI
DCR A
JNZ $-2
DCR C
JNZ SndLOOP
MOV B,C
RET


T_MAIN:
; Текст приглашения монитора [MFE30h]
DB 31,' orion-128.2',0

T_PRMPT:DB 13,10,10,' =>',7,0

DB 53H
DB 56H

B_CFNTS:
; Упакованный знакогенратор [MFE48h]
DATA M1.CFT ; здесь вставка бинарника

END




Описание п/п Монитор-1 тут (http://www.danbigras.ru/Orion/Program/SoftWare.html)

BYTEMAN
05.04.2019, 18:00
Мне кажется, или есть авторские исходники Монитора-1?

OrionExt
05.04.2019, 18:39
Мне кажется, или есть авторские исходники Монитора-1?Порвал жевот

:v2_clap2:

- - - Добавлено - - -

Тут как бы авторы не частые гости, и реагируют на наш оффтоп, не всегда адекватно (дедушки:)).

denis74
05.04.2019, 19:43
МОНИТОР-1 С архива.
; МОНИТОР-1 (уже с исправлениями для DIR_R из РАДИО 08.1990)

.Z80
aseg
ORG 100H

STACK EQU 0F3C9H

J_F821 EQU 0F3C9H
V_F821 EQU 0F3CAH
J_COUT EQU 0F3CCH ; вход в векторизованный CONOUT
V_COUT EQU 0F3CDH

PPAKBD EQU 0F400H
DOPPPA EQU 0F500H


HISCRN EQU 0F3CFH ; нач.адрес экрана
WIDTH EQU 0F3D0H ; ширина экрана в байтах
AFONT EQU 0F3D1H ; адрес фонта
INVERS EQU 0F3D3H ; признак инверсии символов
POSX EQU 0F3D4H ; N столбца курсора (в М2 это 0F3D6H)
POSY EQU 0F3D5H ; N строки курсора (в М2 это 0F3D7H)

ERRMG EQU 0F3D8H ; адрес вылета по TAPE LOAD ERR
CSV EQU 0F3DAH ; конст. SAVE
CLD EQU 0F3DBH ; конст. LOAD
INVMG EQU 0F3DCH ; флаг инверсии мг
OSTAT EQU 0F3DDH ; рабочая в П/П WRSYM
; ESC EQU 0F3DEH ; обработка ESC-КОДОВ
TMPSP EQU 0F3DFH ; рабочая
RAMTOP EQU 0F3E3H ; !! в М2 это так же (но в некоторых М3 иначе)
RUSLAT EQU 0F3E5H ; =0-ЛАТ, #0-РУС.
REPEAT EQU 0F3E6H ; для автоповтора
ASTART EQU 0F3EEH ; адр. массива в п/п LDMAS
COMBUF EQU 0F3F0H

; ──────────────── ──────────────── ────────────

.phase 0F800H

JP START
JP CONIN
JP LDBYTE ; A=8/FF. Если A=FF, то с поиском с/байта
CONOUT: JP J_COUT
JP SVBYTE
JP SCOUTA
JP STATUS
JP HEX_A
JP MSSG
JP XF81B
JP RDCURS
JP J_F821
JP DIR_I
JP DIR_O
JP CH_SUM
JP RASPAK
JP RDTOP
JP WRTOP
JP RRAM
JP WRAM
JP WRCURS

RET ; в M2 и М3 это BEEP
NOP
NOP ; зачем терять 2 байта?

; ──────────────── ──────────────── ────────────

START: LD SP, STACK

XOR A
LD (0F800H), A
LD (0F900H), A
LD (0FA00H), A

LD (INVERS), A
LD (PPAKBD+2), A

LD A, 0C3H
LD (J_COUT), A
LD (J_F821), A

CALL INIT

LD HL, 6040H ; Константы чтения и записи
LD (CSV), HL

LD HL, TITR
CALL MSSG

@WARMST:

if @WARMST ne 0F86CH
if1
.printx ' WARMST address shifted !'
endif
endif
LD SP, STACK
LD A, 8AH
LD (PPAKBD+3), A

LD HL, PROMPT
CALL MSSG

LD (RUSLAT), A ; A=0

LD HL, ERROR
LD (ERRMG), HL

LD HL, @WARMST ; 0F86CH
PUSH HL

CALL DIRMON
CALL CR
CALL LD_PRM ; первый параметр в HL, второй в DE

LD A, (COMBUF) ; АДРЕС КОМ.СТРОКИ

CP 'M'
JP Z, DIR_M
CP 'D'
JP Z, DIR_D
CP 'I'
JP Z, DIR_I
CP 'O'
JP Z, DIR_O
CP 'R'
JP Z, DIR_R
CP 'Z'
JP Z, 0BFFDH
CP 'C'
JP Z, DIR_C
CP 'G'
JP NZ, ERROR
JP (HL)

; ──────────────── ──────────────── ────────────

INIT: LD HL, 0F000H
LD (AFONT), HL

CALL RASPAK

LD HL, 30C0H
LD (HISCRN), HL

LD HL, COUT_C
LD (V_COUT), HL

LD HL, @RET
LD (V_F821), HL

LD HL, 0BFFFH
LD (RAMTOP), HL
@RET: RET

; ──────────────── ──────────────── ────────────

DIRMON: LD DE, COMBUF ; ввод команды
CMDLOO: CALL CONIN
CP '.'
JP Z, ERROR
CP 7FH
JP Z, GETCM3
CP 18H
JP Z, GETCM5
CP 8
JP NZ, GETCM4
LD A, low COMBUF ; 0F0H
CP E
JP Z, CMDLOO
GETCM1: LD A, 8
GETCM2: DEC DE
GETCM3: CALL SCOUTA
JP CMDLOO

; ──────────────── ──────────────── ────────────

GETCM4: LD (DE), A
GETCM5: CALL SCOUTA
CP 13
RET Z
INC DE
LD A, E
CP 0FFH
JP NZ, CMDLOO
JP GETCM1

; ──────────────── ──────────────── ────────────

LD_PRM: LD DE, COMBUF+1
CALL PRM_HL
LD (ASTART), HL
RET C
CALL PRM_HL
EX DE, HL
LD HL, (ASTART)
RET

; ──────────────── ──────────────── ────────────

PRM_HL: LD HL, 0
LD B, L
LD C, L
AF92F: ADD HL, BC
LD A, (DE)
INC DE
CP 13
JP Z, AF960
CP ','
RET Z
SUB 30H ; '0'
JP M, ERROR
CP 10
JP M, AF950
CP 11H
JP M, ERROR
CP 17H
JP P, ERROR
SUB 7
AF950: LD C, A
ADD HL, HL
ADD HL, HL
ADD HL, HL
ADD HL, HL
JP NC, AF92F
ERROR: LD A, '?'
CALL SCOUTA
JP @WARMST

; ──────────────── ──────────────── ────────────

AF960: LD DE, 0
SCF
RET

; ──────────────── ──────────────── ────────────
hexA: LD A, (HL)
HEX_A: PUSH AF ; это очень неэффективный HEX_A
RRCA ; без PUSH/POP BC он даёт 1СH байтов
RRCA ; а хороший алгоритм даёт
RRCA ; всего 14H байтов
RRCA
CALL NIBBLE
POP AF
NIBBLE: AND 0FH
CP 0AH
JP M, NBL1
ADD A, 7
NBL1: ADD A, 30H
PUSH BC
LD C, A
CALL CONOUT
POP BC
RET

; ──────────────── ──────────────── ───────────────

MSSG: LD A, (HL)
AND A
RET Z
PUSH BC ; дурь... заменяется на CALL SCOUTA
LD C, A
CALL CONOUT
POP BC
INC HL
JP MSSG

; ──────────────── ──────────────── ───────────────

CH_SUM: LD BC, 0
AF991: LD A, C
ADD A, (HL)
LD C, A
PUSH AF
CALL CMPDH
JP Z, POP_AF
POP AF
LD A, B
ADC A, (HL)
LD B, A
INC HL
JP AF991

; ──────────────── ──────────────── ───────────────

CRHEX@: CALL CR
CALL SPACE
HEXHL@: LD A, H
CALL HEX_A
LD A, L
CALL HEX_A
SPACE: LD A, 20H
JP SCOUTA

; ──────────────── ──────────────── ───────────────

CMPDH: LD A, H
CP D
RET NZ
LD A, L
CP E
RET

; ──────────────── ──────────────── ───────────────

RDCURS: LD HL, (POSX)
LD A, L
RRCA
RRCA
LD L, A
RET

; ──────────────── ──────────────── ───────────────

WRCURS: LD A, L
RLCA
RLCA
LD L, A
LD (POSX), HL
RET

; ──────────────── ──────────────── ───────────────

WRTOP: LD (RAMTOP), HL
RDTOP: LD HL, (RAMTOP)
RET

; ──────────────── ──────────────── ───────────────

RASPAK: LD HL, PFONT
LD DE, 0F000H
RSPLOO: LD C, 7
XOR A
LD (DE), A
INC DE
RASP_2: LD A, (HL)
RLCA
RLCA
RLCA
AND 7
LD B, A
RASP_3: LD A, (HL)
AND 1FH
LD (DE), A
INC DE
DEC C
DEC B
JP P, RASP_3
INC HL
LD A, H
AND A
RET Z
LD A, C
AND A
JP NZ, RASP_2
JP RSPLOO

; ──────────────── ──────────────── ────────────

RRAM: LD (0F900H), A
LD C, (HL)
RDB_1: XOR A
LD (0F900H), A
RET

; ──────────────── ──────────────── ───────────────

WRAM: LD (0F900H), A
LD (HL), C
JP RDB_1

; ──────────────── ──────────────── ────────────

; < NO PROGRAMM PATH TO HERE > ; вход LDBS забить, это ненужный кусок ПЗУ РК86

LDBS: LD A, 8 ; Флаг, что не нужен поиск с/байта E6

LDBYTE: PUSH BC ; если A=FF, то с поиском с/байта
PUSH DE
PUSH HL
LD C, 0
LD D, A
LD A, (PPAKBD+2)
RRCA
RRCA
RRCA
RRCA
AND 1
LD E, A
AFA1D: LD A, C
AND 7FH
RLCA
LD C, A
LD B, 0
AFA24: DEC B
JP NZ, AFA2C
TM_OUT: LD HL, (ERRMG)
JP (HL)

; ──────────────── ──────────────── ────────────

AFA2C: LD A, (PPAKBD+2)
RRCA
RRCA
RRCA
RRCA
AND 1
CP E
JP Z, AFA24
OR C
LD C, A
CALL TM_LD
LD A, (PPAKBD+2)
RRCA
RRCA
RRCA
RRCA
AND 1
LD E, A
LD A, D
OR A
JP P, AFA66
LD A, C
CP 0E6H
JP NZ, AFA5A
XOR A
LD (INVMG), A
JP AFA64

; ──────────────── ──────────────── ────────────

AFA5A: CP 19H ; инвертированный с/байт E6
JP NZ, AFA1D
LD A, 0FFH
LD (INVMG), A
AFA64: LD D, 9
AFA66: DEC D
JP NZ, AFA1D
LD A, (INVMG)
XOR C
POPREG: POP HL
POP DE
POP BC
RET

; ──────────────── ──────────────── ───────────────

SV_HL: LD C, H ; вывод на ленту адреса из HL
CALL SVBYTE
LD C, L
SVBYTE: PUSH AF
PUSH DE
PUSH BC
LD D, 8
AFA7C: LD A, C
RLCA
LD C, A
LD A, 1
XOR C
LD (PPAKBD+2), A
CALL TM_SV
XOR A
XOR C
LD (PPAKBD+2), A
CALL TM_SV
DEC D
JP NZ, AFA7C
POP BC
POP DE
POP_AF: POP AF
RET

; ──────────────── ──────────────── ────────────

TM_SV: LD A, (CSV)
JP TMA

TM_LD: LD A, (CLD)
TMA: DEC A
JP NZ, TMA
RET

; ──────────────── ──────────────── ────────────

NEXT_M: INC HL
DIR_M: CALL CRHEX@
CALL hexA
CALL SPACE
CALL DIRMON
LD DE, COMBUF ; адрес ком.строки
LD A, (DE)
CP 13
JP Z, NEXT_M
PUSH HL
CALL PRM_HL
EX DE, HL
POP HL
LD (HL), E
JP NEXT_M

; ──────────────── ──────────────── ────────────

DIR_D: LD B, E
AFAC7: CALL CRHEX@
AFACA: CALL SPACE
LD A, B
AND A
JP Z, AFAD9
CALL RRAM
LD A, C
JP AFADA

; ──────────────── ──────────────── ────────────

AFAD9: LD A, (HL)
AFADA: CALL HEX_A
INC HL
LD A, L
AND 0FH
JP NZ, AFACA
LD A, L
AND A
JP NZ, AFAC7
CALL DIRMON
JP AFAC7

; ──────────────── ──────────────── ────────────

DIR_I: LD A, 0FFH
CALL LDHL_2 ; читаем 2 байта (НА) с поиском с/байта
EX DE, HL
CALL LDHLBS ; читаем 2 байта (КА) без с/байта
EX DE, HL
PUSH HL
L53: CALL LDBYTE
LD (HL), A
CALL CMPDH
INC HL
JP NZ, L53
LD A, 0FFH
CALL LDHL_2
LD B, H
LD C, L
POP HL
CALL HEXHL@
EX DE, HL
CALL HEXHL@
EX DE, HL
PUSH BC
CALL CH_SUM
POP DE
LD H, B
LD L, C
CALL HEXHL@
CALL CMPDH
RET Z
JP TM_OUT

; ──────────────── ──────────────── ────────────

LDHLBS: LD A, 8 ; читает 2 байта (без поиска с/байта)
LDHL_2: CALL LDBYTE
LD H, A
CALL LDBYTE
LD L, A
RET

; ──────────────── ──────────────── ────────────

DIR_O: PUSH HL
CALL CH_SUM
POP HL
PUSH BC
PUSH HL
LD BC, 0
AFB3B: CALL SVBYTE
DEC B
JP NZ, AFB3B
LD C, 0E6H
CALL SVBYTE
CALL SV_HL
EX DE, HL
CALL SV_HL
EX DE, HL
POP HL
AFB50: LD C, (HL)
CALL SVBYTE
CALL CMPDH
INC HL
JP NZ, AFB50
LD HL, 0
CALL SV_HL
LD C, 0E6H
CALL SVBYTE
POP HL
CALL SV_HL
JP HEXHL@

; ──────────────── ──────────────── ────────────

DIR_C: LD C, L
LD A, 6
LD (0F800H), A
LD A, 1
LD (0F900H), A
LD HL, INVERS
LD D, (HL)
LD (HL), C
CALL L93
LD (HL), D
XOR A
LD (0F900H), A
RET

; ──────────────── ──────────────── ────────────

STATUS: XOR A
LD (PPAKBD+0H), A
LD A, (PPAKBD+1)
XOR 0FFH
RET Z
LD A, 0FFH
RET

; ──────────────── ──────────────── ────────────

DIR_R: LD DE, 0B800H ; загрузка ORDOS из ROM-диска
LD H, E
LD L, E
LD A, 90H
LD (DOPPPA+3), A
DIRRLO: LD (DOPPPA+1), HL
LD A, (DOPPPA)
LD (DE), A
INC DE
INC HL
LD A, H
CP 8
JP NZ, DIRRLO
JP 0BFFDH

; ──────────────── ──────────────── ────────────

CONIN: PUSH BC
PUSH DE
PUSH HL
CALL XF81B
CP 0FFH
JP NZ, AFBBD
LD (REPEAT), A
AFBBD: LD D, 0
AFBBF: INC DE
DEC E
INC E
CALL Z, AFDF2
CALL XF81B
INC A
JP Z, AFBBF
PUSH AF
LD A, D
RRCA
CALL NC, AFDF2
POP AF
DEC A
JP P, AFBED
LD HL, RUSLAT
LD A, (HL)
CPL
LD (HL), A
LD (PPAKBD+2), A
AFBE0: CALL XF81B
INC A
JP NZ, AFBE0
CALL AFDF2
JP AFBBD

; ──────────────── ──────────────── ────────────

AFBED: LD E, A
LD D, 14H
LD HL, REPEAT
CP (HL)
JP Z, AFC02
AFBF7: DEC D
JP Z, AFC02
CALL XF81B
CP E
JP Z, AFBF7
AFC02: CALL CLIK
LD (HL), E
CALL AFDF2
LD A, E
JP POPREG

; ──────────────── ──────────────── ────────────

XF81B: PUSH BC
PUSH DE
PUSH HL

LD HL, POPREG
PUSH HL

LD B, 0
LD D, 9
LD C, 0FEH
AFC1A: LD A, C
LD (PPAKBD), A
RLCA
LD C, A
LD A, (PPAKBD+1)
CP 0FFH
JP Z, AFC33
LD E, A
CALL PAUSE
LD A, (PPAKBD+1)
CP E
JP Z, INK5
AFC33: LD A, B
ADD A, 8
LD B, A
DEC D
JP NZ, AFC1A
LD A, (PPAKBD+2)
AND 80H
LD A, 0FEH
RET Z
INC A
RET

; ──────────────── ──────────────── ────────────

; ЧТО-ТО ЕСТЬ

INK3: INC B
INK5: RRA
JP C, INK3
LD A, B
AND 3FH
CP 10H
JP C, INK6
CP 3FH
LD B, A
LD A, 20H
RET Z
LD A, (PPAKBD+2)
LD C, A
AND 40H
JP NZ, AFC65
LD A, B
AND 1FH
RET

; ──────────────── ──────────────── ────────────

AFC65: LD A, (RUSLAT)
AND A ; OR A
JP NZ, AFCA6
LD A, C
AND 20H
LD A, B
JP Z, AFC80
CP 1CH
JP M, AFC85
CP 20H
JP M, AFC87
JP AFC85

; ──────────────── ──────────────── ────────────

AFC80: CP 1CH
JP C, AFC87
AFC85: ADD A, 10H
AFC87: ADD A, 10H
POP HL
JP POPREG

; ──────────────── ──────────────── ────────────

INK6: LD HL, TABK1
LD C, A
LD B, 0
ADD HL, BC
LD A, (HL)
RET

; ──────────────── ──────────────── ────────────

TABK1: defb 0CH,1FH,1BH,0,1,2,3,4
defb 9,10,13,7FH,8,19H,18H,1AH

; ──────────────── ──────────────── ────────────

AFCA6: LD A, C
AND 20H
LD A, B
JP Z, AFC80
CP 1CH
JP M, AFC85
CP 20H
JP M, AFC87
ADD A, 40H
RET

; ──────────────── ──────────────── ────────────

PAUSE: LD HL, 0B00H
PAUS_1: DEC HL
LD A, H
OR L
JP NZ, PAUS_1
RET

; ──────────────── ──────────────── ────────────

CR: LD A, 13
CALL SCOUTA
LD A, 10
SCOUTA: PUSH BC
LD C, A
JP JJJ_01 ; намного лучше defb 06H

; ──────────────── ──────────────── ────────────

COUT_C: PUSH BC
JJJ_01: PUSH DE
PUSH HL
PUSH AF
LD A, C
CP 7FH
JP NZ, L81
LD A, (INVERS)
CPL
LD (INVERS), A
JP POPALL

; ──────────────── ──────────────── ────────────

L81: LD H, 20H
SUB H
JP C, L83
LD L, A ; ПЕЧАТАЕМЫЙ СИМВОЛ
ADD HL, HL
ADD HL, HL
ADD HL, HL
EX DE, HL
LD HL, (AFONT)
ADD HL, DE
EX DE, HL
CALL MASKA
EX DE, HL
LD A, 16H
L87: PUSH AF
PUSH HL
LD A, (INVERS)
XOR (HL)
AND 3FH
LD L, A
LD A, (OSTAT)
DEC A
LD H, 0
L86: ADD HL, HL
ADD HL, HL
INC A
JP NZ, L86
EX DE, HL
LD A, B
XOR (HL)
AND (HL)
OR D
LD (HL), A
INC H
LD A, C
XOR (HL)
AND (HL)
OR E
LD (HL), A
DEC H
INC L
EX DE, HL
POP HL
INC HL
POP AF
SUB 3
JP P, L87
LD HL, ZERO
CP 0F8H
JP NZ, L87
L83: LD HL, (POSX)
CALL L89
ADD HL, BC
LD A, H
CP 25
JP C, L8A
JP NZ, L8B
INC D
LD H, D
JP Z, L8A

; SCREEN ROLL

PUSH HL

LD HL, 0
ADD HL, SP
LD (TMPSP), HL

LD A, (WIDTH)
LD B, A
LD A, (HISCRN)
LD H, A
LD L, 10
LD SP, HL
LD L, 0
AFD58: LD C, 3CH
AFD5A: POP DE
LD (HL), E
INC L
LD (HL), D
INC L
POP DE
LD (HL), E
INC L
LD (HL), D
INC L
DEC C
JP NZ, AFD5A
LD A, (INVERS)
AFD6B: INC SP
LD (HL), A
INC L
JP NZ, AFD6B
INC H
DEC B
JP NZ, AFD58
LD HL, (TMPSP)
LD SP, HL
POP HL
L8B: LD H, 24
L8A: LD (POSX), HL
POPALL: POP AF
JP POPREG

; ──────────────── ──────────────── ────────────

L89: defb 01H ; LD BC, 100H
ZERO: DW 100H
LD D, C
INC A
CALL Z, L93
JP Z, L94
CP 0EBH
RET Z
DEC D
ADD A, 5
RET Z
INC D
LD B, 0FFH
INC A
RET Z
LD C, 0FCH
CP 0EFH
RET Z
LD BC, 0
CP 0F0H
JP NZ, L95
LD A, L
AND 0E0H
ADD A, 20H
LD L, A
RET

; ──────────────── ──────────────── ────────────

L95: LD C, 4
INC A
RET Z
CP 0EFH
JP Z, CLIK
ADD A, 0BH
JP Z, L96
INC A
RET NZ
L94: LD H, D
L96: LD L, D
LD B, D
LD C, D
RET

; ──────────────── ──────────────── ────────────

MASKA: LD HL, (POSX)
LD A, L
RRCA
LD L, A
RRCA
ADD A, L
LD B, A
LD L, H
LD A, (HISCRN)
LD H, A
LD A, B
DEC H
L97: INC H
SUB 4
JP NC, L97
LD (OSTAT), A
PUSH HL
LD HL, 0FCH
L99: ADD HL, HL
ADD HL, HL
INC A
JP NZ, L99
LD B, H
LD C, L
POP HL
LD A, L ; MULT10:
RLCA
RLCA
RLCA
ADD A, L
ADD A, L
LD L, A
RET

; ──────────────── ──────────────── ────────────

AFDF2: CALL MASKA
ADD A, 9
LD L, A
LD A, B
XOR (HL)
LD (HL), A
INC H
LD A, C
XOR (HL)
LD (HL), A
RET

; ──────────────── ──────────────── ────────────

L93: PUSH AF
PUSH HL
LD A, (HISCRN)
LD H, A
LD A, (WIDTH)
ADD A, H
LD C, A
LD L, 0
LD A, (INVERS)
LD B, A
AFE11: LD (HL), B
INC HL
LD A, H
CP C
JP NZ, AFE11
POP HL
POP AF
RET

; ──────────────── ──────────────── ────────────

CLIK: LD BC, 4014H
CLK_1: LD A, B
CLK_2: EI
DEC A
JP NZ, CLK_2
LD A, B
CLK_3: DI
DEC A
JP NZ, CLK_3
DEC C
JP NZ, CLK_1
LD B, C
RET

; ──────────────── ──────────────── ────────────

TITR: defb 1FH,' orion-128.2',0
PROMPT: defb 13,10,10,' =>',7,0

; ──────────────── ──────────────── ────────────

defb 53H,56H

PFONT: defb 0C0H, 84H, 0, 4, 4AH, 60H, 2AH, 1FH
defb 0AH, 1FH, 2AH, 4, 0FH, 14H, 0EH, 5
defb 1EH, 4, 18H, 19H, 2, 4, 8, 13H
defb 3, 4, 2AH, 0CH, 15H, 12H, 0DH, 26H
defb 2, 4, 40H, 2, 4, 48H, 4, 2
defb 8, 4, 42H, 4, 8, 0, 4, 15H
defb 0EH, 15H, 4, 0, 0, 24H, 1FH, 24H
defb 0, 40H, 2CH, 4, 8, 40H, 1FH, 40H
defb 80H, 2CH, 0, 1, 2, 4, 8, 10H
defb 0, 0EH, 11H, 13H, 15H, 19H, 11H, 0EH
defb 4, 0CH, 64H, 0EH, 0EH, 11H, 1, 6
defb 8, 10H, 1FH, 1FH, 1, 2, 6, 1
defb 11H, 0EH, 2, 6, 0AH, 12H, 1FH, 22H
defb 1FH, 10H, 1EH, 21H, 11H, 0EH, 7, 8
defb 10H, 1EH, 31H, 0EH, 1FH, 1, 2, 4
defb 48H, 0EH, 31H, 0EH, 31H, 0EH, 0EH, 31H
defb 0FH, 1, 2, 1CH, 0, 2CH, 20H, 2CH
defb 2CH, 0, 2CH, 4, 8, 2, 4, 8
defb 10H, 8, 4, 2, 20H, 1FH, 0, 1FH
defb 20H, 8, 4, 2, 1, 2, 4, 8
defb 0EH, 11H, 1, 2, 4, 0, 4, 0EH
defb 11H, 13H, 15H, 17H, 10H, 0EH, 4, 0AH
defb 31H, 1FH, 31H, 1EH, 31H, 1EH, 31H, 1EH
defb 0EH, 11H, 50H, 11H, 0EH, 1EH, 89H, 1EH
defb 1FH, 30H, 1EH, 30H, 1FH, 1FH, 30H, 1EH
defb 50H, 0EH, 11H, 30H, 13H, 11H, 0FH, 51H
defb 1FH, 51H, 0EH, 84H, 0EH, 61H, 31H, 0EH
defb 11H, 12H, 14H, 18H, 14H, 12H, 11H, 90H
defb 11H, 1FH, 11H, 1BH, 35H, 51H, 31H, 19H
defb 15H, 13H, 31H, 0EH, 91H, 0EH, 1EH, 31H
defb 1EH, 50H, 0EH, 51H, 15H, 12H, 0DH, 1EH
defb 31H, 1EH, 14H, 12H, 11H, 0EH, 11H, 10H
defb 0EH, 1, 11H, 0EH, 1FH, 0A4H, 0B1H, 0EH
defb 51H, 2AH, 24H, 51H, 55H, 0AH, 31H, 0AH
defb 4, 0AH, 31H, 31H, 0AH, 64H, 1FH, 1
defb 2, 0EH, 8, 10H, 1FH, 0EH, 88H, 0EH
defb 0, 10H, 8, 4, 2, 1, 0, 0EH
defb 82H, 0EH, 0EH, 11H, 80H, 0A0H, 1FH, 12H
defb 35H, 1DH, 35H, 12H, 4, 0AH, 31H, 1FH
defb 31H, 1FH, 30H, 1EH, 31H, 1EH, 92H, 1FH
defb 1, 6, 6AH, 1FH, 11H, 1FH, 30H, 1EH
defb 30H, 1FH, 4, 1FH, 35H, 1FH, 24H, 1FH
defb 11H, 90H, 31H, 0AH, 4, 0AH, 31H, 31H
defb 13H, 15H, 19H, 31H, 15H, 11H, 13H, 15H
defb 19H, 31H, 11H, 12H, 14H, 18H, 14H, 12H
defb 11H, 7, 89H, 19H, 11H, 1BH, 35H, 51H
defb 51H, 1FH, 51H, 0EH, 91H, 0EH, 1FH, 0B1H
defb 0FH, 31H, 0FH, 5, 9, 11H, 1EH, 31H
defb 1EH, 50H, 0EH, 11H, 50H, 11H, 0EH, 1FH
defb 0A4H, 51H, 0AH, 4, 8, 10H, 11H, 35H
defb 0EH, 35H, 11H, 1EH, 31H, 1EH, 31H, 1EH
defb 50H, 1EH, 31H, 1EH, 51H, 19H, 35H, 19H
defb 0EH, 11H, 1, 6, 1, 11H, 0EH, 11H
defb 95H, 1FH, 0EH, 11H, 1, 7, 1, 11H
defb 0EH, 95H, 1FH, 1, 51H, 1FH, 41H, 0DFH

.dephase

end

Error404
06.04.2019, 01:13
denis74, уберите дамп под спойлер - теги [SP OILER] [/SP OILER] (без пробела)

BYTEMAN
06.04.2019, 01:35
Порвал жевот

:v2_clap2:

- - - Добавлено - - -

Тут как бы авторы не частые гости, и реагируют на наш оффтоп, не всегда адекватно (дедушки:)).
Зря смеётесь, почти все авторское давно лежит в этих ваших энтюрьнетах (и распространялось из рук в руки на небезызвестном "диске от CHRV").

Electricman
06.04.2019, 14:53
Denn, "поддержка" и у меня есть, ну как, могу записать и прочитать сектор/сектора. Но на жёстком диске с ЛБА - таки возникают проблемы, или с чтением, или с записью, или и с тем, и другим. В принципе, мне жёсткий диск то и нужен, чтобы уйти от магнитофона, который, впрочем, неплохо работает, но искать муторно)

А полноценную ОС ставить - не знаю, у меня 3.5 прикладные программы, и их надо просто хранить. :)

Про команды EI/DI усвоил, гляну и выкошу)

Denn
06.04.2019, 16:15
Electricman, в чём именно проблемы с чтение/записью через LBA-адресацию?

- - - Добавлено - - -

Electricman, с помощью ОС удобно и 1,5 программы запускать ;)

Да и аппетит, как известно, приходит во время еды. Жёсткий диск это несомненно удобная штука, магнитофоны своё отслужили.

Electricman
06.04.2019, 17:36
Дак, выше написал - с жёстким диском, который поддерживает ЛБА - происходит чтение с ошибкой, последние 8 байт рандомные, а в теле массива где-то выпадают эти самые байты, смещая конец. Проверено попытками записи-чтения монитора.

Мои программы рвут всё, в случае ошибки, хотя так то подумать, но это нужен будет другой контроллер винта, а я таки ленив, и всё делаю медленно) Мне просто надо хранить инфу, и не более :)

Копейкин
06.04.2019, 23:41
Извините за оффтопик, но не могли бы подсказать - где взять средства разработки программ для Орион, 86РК на платформе 580ИК80. Может есть тема, посвященная разработке?

Denn
07.04.2019, 02:14
Electricman, а что за КНЖМД используется?

- - - Добавлено - - -


Извините за оффтопик, но не могли бы подсказать - где взять средства разработки программ для Орион, 86РК на платформе 580ИК80. Может есть тема, посвященная разработке?

Имеется в виду для писи?

Копейкин
07.04.2019, 07:55
Да, для писи.

Denn
07.04.2019, 12:14
Да, для писи.

Думаю, таковых попросту нет в природе. Как и результатов такой деятельности.

- - - Добавлено - - -


...происходит чтение с ошибкой, последние 8 байт рандомные, а в теле массива где-то выпадают эти самые байты, смещая конец.

Затрудняюсь представить такое. Работа с IDE в меру проста и в достаточной степени грамотна, чтобы не было таких казусов - либо не работает вообще, либо работает правильно.
Невозможно передать неполный сектор, равно как и что-либо там сместить в данных. Возможно, имеет место какая-то хитрая неисправность внутри накопителя, но это уже совсем другая история.



...я таки ленив, и всё делаю медленно) Мне просто надо хранить инфу, и не более :)

Без ОС хранение инфы на НЖМД вряд ли можно назвать простым.

П.С. можно прошить ОС с поддержкой НЖМД в ром-диск, и решить сразу все вопросы :)

Electricman
07.04.2019, 13:24
Контроллер - свой, ну как, контроллер - дешифратор адресов и пара регистров для старшего байта. Где-то была схема.

Что касается сбоя - то мне кажется, ошибка где-то между винтом и компом. Такое было при первых играх с диском на метровом шлейфе без буферных усилителей. Но сейчас шлейф 10см, ЦХС-жёсткие диски - работают идеально. Может жёсткий диск такой, но 40гб туда ставить - жирновато)

Ну про хранение - таки несложный интерфейс можно сделать, а-ля забиваешь адрес в жд и пишешь/читаешь. У меня в мониторе выкошены п/п чтения и записи на магнитофон, на 300 байт можно разгуляться с любой подпрограммой)

Denn
07.04.2019, 18:55
Контроллер - свой, ну как, контроллер - дешифратор адресов и пара регистров для старшего байта. Где-то была схема.

Адресация по какому стандарту?



Что касается сбоя - то мне кажется, ошибка где-то между винтом и компом.

Между компом и винтом - простая проводка, она не умеет генерировать интеллектуальные ошибки :)



...но 40гб туда ставить - жирновато)

Имхо, 120 Гб в самый раз на Орионе ;)



Ну про хранение - таки несложный интерфейс можно сделать, а-ля забиваешь адрес в жд и пишешь/читаешь.

Это эмуляция магнитофона с помощью НЖМД, я бы сказал.



У меня в мониторе выкошены п/п чтения и записи на магнитофон, на 300 байт можно разгуляться с любой подпрограммой)

Кмк, своё ПО логичнее в РОМ-диске держать, а ПЗУ монитора пусть будет стандартным..

Electricman
07.04.2019, 19:06
Адресация - стандартная, портовая, по адресам F700-F70F.

Мне для всего хватает трети кассеты, а уж 120гб - это по миллиону раз продублировать программы мои можно. :)

РОМ-диск делать надо, а тут уже под жёсткий диск всё выточено - И блок питания усилен, и корзина. :)

Denn
07.04.2019, 20:15
Адресация - стандартная, портовая, по адресам F700-F70F.

Нет, это нестандартная. По стандарту там КНГМД.

К сожалению, на ОРИОН-128 "стандартом" стало подключение "КНЖМД" к порту пользователя: F600..F602h.
Попытка стандартизировать нормальный контроллер (по схемотехнике NEMO_IDE) привела к посадке в адреса F790..F79Fh.



а уж 120гб - это по миллиону раз продублировать программы мои можно. :)

Это всего навсего практически неограниченное кол-во подкаталогов, т.е. просто удобство, не более того.



РОМ-диск делать надо, а тут уже под жёсткий диск всё выточено - И блок питания усилен, и корзина. :)

РОМ-диск должен рождаться ещё до появления Ориона! Это ж основная фишка ПРК, кмк. Интерфейс М1 это черечур винтажно, по задумке авторов он был придуман только для отладки ПРК, не более того.

Electricman
07.04.2019, 20:58
Ну, для меня стандартная. :) Так как я этот порт больше никуда не использовал, а софт, написанный мною, гвоздями приколочен к портам F5 и F6, в том числе родной программатор ПЗУ.

РОМ-диск я не делал по простым причинам - во-первых, комп делался для проверки, что я могу, во-вторых - программировал я ручным программатором (угу, 2кб вбивать - то веселье), ну и я как-то сразу прирос к М1. Единственное, что было бы удобнее - думпкор какой-нибудь.

Denn
07.04.2019, 21:05
Единственное, что было бы удобнее - думпкор какой-нибудь.

Увы, в свободные 300 байт он не влезет..

Electricman
07.04.2019, 21:26
Да я знаю, 512 самый минимальный. Но интерфейс работы с НЖМД - можно утроить, по крайней мере, начальный загрузчик, который в верх памяти закинет всё, что надо. :)

Схема КНЖМД от меня. В принципе, можно перецепить на любой порт.
http://ipic.su/img/img7/tn/YKS2lA4GTiU.1554661376.jpg (http://ipic.su/img/img7/fs/YKS2lA4GTiU.1554661376.jpg)

Denn
07.04.2019, 22:40
Схема КНЖМД от меня.

Это и есть вариация на тему NEMO_IDE. С ней известная проблема: не все экземпляры винчестеров работают, т.к. времянки завязаны непосредственно на "длины" сигналов RD/WR МПС.

Electricman
07.04.2019, 23:23
Ну, эту я кроил сам. Про времянки - знаю, задумывался, но ничего не придумал.

Denn
07.04.2019, 23:53
Про времянки - знаю, задумывался, но ничего не придумал.

Я придумал растягивать времянки доступа к IDE программно-аппаратно: с помощью триггеров ТМ2. Но это решение пока только в теории на бумаге, нужно макетировать и проверять на практике.

Electricman
08.04.2019, 00:47
Я придумал растягивать времянки доступа к IDE программно-аппаратно: с помощью триггеров ТМ2. Но это решение пока только в теории на бумаге, нужно макетировать и проверять на практике.

Но по идее, более новые ЖД более шустры, и получается, что времянки ориона должны быть слишком длинны для них. Ведь древний гигабайтный диск работает адекватно, ни одного сбоя не было с ним, подкачивала адресация. А программный перевод делать не хочется.

Error404
08.04.2019, 01:09
А программный перевод делать не хочется.

Там полсотни байт кода (если речь про преобразование CHS <-> LBA), и LBA всё равно надо, т.к. сквозная адресация секторов устройства одним целочисленным числом - это надо для любой современной файловой системы, и вообще всё от этого построенное получается математически красиво и просто, а там где завязано на геометрию (как например в CP/M и прочих выросших из дисководов системах) - там ненужное усложнение и ограничения.

denis74
10.05.2019, 17:36
Методика отбора хорошей памяти.
Собрал плату Орион 512 с даунгрейдом до 128 всю на цанге ,серия пока км155 и 565ру5г ,ни одного блокировочного конденсатора и электролита не ставил ,едут с китая ,жду,ну думаю ,запусчу без них ,включил - тест памяти идёт и мусор на экране ,поменял несколько рушек сбойных на другие и всё гуд ,тест раз 10 запускал , монитор1 работает ,сбоев нет ,перетестил все имеющиеся ру5 и оказалось что четверть микросхем готовы работать при напряжении 4.5в и помехах около 1в.

Denn
10.05.2019, 18:24
denis74, а что за БП используется и какая длина проводов от него до платы Ориона?

denis74
10.05.2019, 19:58
Блок от терминала 5в 5а ,длинна проводов 1.5м ,на выходе из бп 5.3в до модулей памяти доходит 4.5в, потребление Ориона на серии км155 без допов с внутренним преобразователем 2.25а.С лабораторным блоком комп стабильно работает(тест памяти проходит) при понижении питания до 4.3в (помехи в районе памяти около 1в).Все эксперименты проводил без электролитов и блокировочных кондёров.
Прикупил ещё комплекты 555 серии и 1533 ,попробую поэкспериментировать с помехоустойчивостью и прожорливостью Ориона. Может ещё импорта какого нибудь раздобуду.

denis74
19.05.2019, 20:48
В общем без ёмкостей в конфигурации 128кб на oki 41256 с внутренним преобразователем следующие результаты тестов получились:
в комплектации км155 - минимальное напряжение при сохранении работоспособности 4.25в тест памяти проходит
(есть небольшие помехи на экране ,при 4.5в картинка нормальная).
Потребление - 1.75а
стандартное напряжение -5в потребление 2.16а
максимальное напряжение при сохранении работоспособности 6в тест проходит ,потребление 2.8а

в комплектации кр1533(где это возможно) и к555 ,из 155х остались только ир13
работоспособность сохранялась в пределах от 4.7в до 5.3в
при питающем напряжении 5в ток потребления составил 1.78а
но работа была крайне не стабильная ,тест памяти мог зависнуть на третьем или четвёртом проходе ,комп не всегда успешно
стартовал ,приходилось жать сброс ,появилась фантомная информация в дисках с и д ,при сбрасывании с ром диска данных
возникали ошибки.
После замены особо нагруженных элементов на 155ю серию ситуация не сильно изменилась.
Поэтому вернул всё на км155 и сделал вывод что для ориона 155серия - самое то.
Единственное ,что при замене DD1 на 1533лн1 на изображении исчезла полоска слева (раньше лечилось кондёром 300пф на кп2)

И особое внимание пришлось уделить памяти ,наша память (кр565 ) полное г. Те микросхемы (а их не много) которые заработали на 4.3в - отказались работать на 5.2 и выше.Поставил oki 41256 и ситуация изменилась. Память проходила тест даже на 3.8в и на 6в (картинка сбоила и пропадала а память работала)

Плата использовалась от Cornelius первой ревизии.

bigmal
20.05.2019, 09:11
Странно требовать от микросхем чего-то такого, что не прописано в их параметрах. А тем более записывать их из-за этого в г...

Denn
20.05.2019, 12:07
максимальное напряжение при сохранении работоспособности 6в тест проходит ,потребление 2.8а

А дальше? :)

OrionExt
20.05.2019, 12:24
Забавные тесты :)


Поставил oki 41256 и ситуация изменилась. Память проходила тест даже на 3.8в и на 6в (картинка сбоила и пропадала а память работала)Это как же она тестилась, когда для работы этого типа памяти нужна не малая обвязка (1/4 1/2 всей схемы).

А так то питание микрух из этого разлива =5В +/-5%. Все остальное – колдунство ;)

Xrust
20.05.2019, 12:44
Если не учитывать частное мнение, а только факты, то исследование полезное :)
У меня тоже OKI, дешево и сердито.

- - - Добавлено - - -


для работы этого типа памяти нужна не малая обвязка
В каком смысле?

OrionExt
20.05.2019, 12:58
Если не учитывать частное мнение, а только факты, то исследование полезное :)
У меня тоже OKI, дешево и сердито.Исследование только и забавное. А то, что с OKI все будет ОК, не кто не сомневается :)


В каком смысле?В простом смысле – схема регенерации динамической памяти ;)

Xrust
20.05.2019, 13:27
В простом смысле – схема регенерации динамической памяти
Ну так в Орионе оная присутствует :)

OrionExt
20.05.2019, 13:33
:D


Память проходила тест даже на 3.8в и на 6в (картинка сбоила и пропадала а память работала)И работает от 3.8 вольт. Cхема регенерации.

Xrust
20.05.2019, 13:45
OrionExt, а эта память длительное время после выключения информацию сохраняет, даже без регенерации. Это видно: питание отключаешь кратковременно, потом включаешь, а картинка сохраняется. Так что если даже со сбоями будет работать, через раз, информация сохранится.

Denn
20.05.2019, 13:48
Имхо, опыты на крайние значения питания нужно проводить с блокировочными конденсаторами, причём обязательно присутствие на плате как больших (220..1000 мкф) банок, так и керамики/плёнки непосредственно на выводах м/сх, согласно рекомендации для соотв. серий. Плюс утолщение дорог питания, чтобы падение в дальнем конце платы было не более 0,1в.

OrionExt
20.05.2019, 13:50
Xrust, дык не кто не спорит. То, что она работает, на мизерных требованиях ОРИОН-128. Но хотелося, чтобы она работала на фулл режиме. И не как некое ПЗУ на 30сек.

denis74
20.05.2019, 13:58
А дальше? :)

Да ,это правильный вАпрос )
А дальше ничего не сгорело (хотя был готов и приготовил 3 комплекта микросхем) на 6.2в появились сбои и чем сильнее нагревался тем больше глюков.На 6в проработал пару кругов теста памяти дальше мучить не стал.

- - - Добавлено - - -


OrionExt, а эта память длительное время после выключения информацию сохраняет, даже без регенерации. Это видно: питание отключаешь кратковременно, потом включаешь, а картинка сохраняется. Так что если даже со сбоями будет работать, через раз, информация сохранится.

Подтверждаю ,до 5сек примерно сохраняет информацию.

- - - Добавлено - - -


:D

И работает от 3.8 вольт. Cхема регенерации.

Да ,работает и даже без ёмкостей с помехами до 1в (только на 155серии)

OrionExt
20.05.2019, 14:02
Из жизни. Когда я включил ямаху после длительного хранения и подгрузил в ОЗУ некий ром-игра. Случилось чудо. После выключения, этот ром-игра продолжала загружаться после 5мин паузы в питании. Я уже часом начал думать, что деградация ОЗУ – и у меня 128К ПЗУ. А нет, отпустило после 15мин. И ОЗУ начало выполнять свою задуманную функцию :)

denis74
20.05.2019, 14:12
Имхо, опыты на крайние значения питания нужно проводить с блокировочными конденсаторами, причём обязательно присутствие на плате как больших (220..1000 мкф) банок, так и керамики/плёнки непосредственно на выводах м/сх, согласно рекомендации для соотв. серий. Плюс утолщение дорог питания, чтобы падение в дальнем конце платы было не более 0,1в.

Согласен что надо тестить с ёмкостями и на правильной плате (на плате от Cornelius максимальное падение 0.15в в удалённых местах при токе 2а с лишним и это хороший показатель) Но имеет значение же и помехоустойчивость хелеза.

Жду китайцев, ужо месяц с лишним посылка с наборами ёмкостей идёт ,получу и обязательно проверю с ними.

OrionExt
20.05.2019, 14:17
На китайских бюджетный платах не чего тестить, разве что перетрасировать классику. Или, то что касается питания, ободрать лак и обильно полить припоем:D

Denn
20.05.2019, 14:19
А дальше ничего не сгорело...

До скольки хватило нервов поднять? ;)

Вроде от 7в не сгорают ещё, а вот 9 это уже интересно... :)

OrionExt
20.05.2019, 14:38
Нервы нервами, но вроде до 7В держут микрухи. Так что для экспериментаторов это не придел :)


Вроде от 7в не сгорают ещё, а вот 9 это уже интересно... НЕТ уж 12В. Только питать от лабораторного в режиме тока – 5А, что бы дорожки не испарились :D

- - - Добавлено - - -

Забавный тест – забавное обсуждение. Предлагаю модератору, потом перенести в отдельную тему.

denis74
20.05.2019, 14:38
На китайских бюджетный платах не чего тестить, разве что перетрасировать классику. Или, то что касается питания, ободрать лак и обильно полить припоем:D
Насчёт где сделаны платы не знаю как проверить ,но Юрий писал что делает в Германии с другим большим заказом где китайское какчество не приемлемо.)

OrionExt
20.05.2019, 14:40
Насчёт где сделаны платы не знаю как проверить ,но Юрий писал что делает в Германии с другим большим заказом где китайское какчество не приемлемо.)ОХ, 35 микрон медь (КИТАЙ). В германии сейчас гайки закручивают только за евро5 за оборот. А меди (снега, зимой) не допросится.

denis74
20.05.2019, 15:05
До скольки хватило нервов поднять? ;)

Вроде от 7в не сгорают ещё, а вот 9 это уже интересно... :)

Не ,парни ,дальше вы сами справитесь )

- - - Добавлено - - -


Нервы нервами, но вроде до 7В держут микрухи. Так что для экспериментаторов это не придел :)

НЕТ уж 12В. Только питать от лабораторного в режиме тока – 5А, что бы дорожки не испарились :D

- - - Добавлено - - -

Забавный тест – забавное обсуждение. Предлагаю модератору, потом перенести в отдельную тему.

Ну вобщем км155ла3 от 12в работает но потребляет на 350% больше.

OrionExt
20.05.2019, 15:12
Ну вобщем км155ла3 от 12в работает но потребляет на 350% больше.:v2_jawdr:

Vladimir_S
20.05.2019, 15:16
Вроде от 7в не сгорают ещё, а вот 9 это уже интересно...
На работе для проверочного стенда делал генератор продвигающих импульсов на 176 серии. И вставил туда К155ИД3 (сгорит так сгорит). Несколько лет проработал в круглосуточном режиме от 9 вольт. ИД3 горячая, но пока не отпала надобность работала.

Denn
20.05.2019, 15:18
Vladimir_S, можно же было наоборот: 176-я от 5 Вольт отлично работает..

dmi
21.05.2019, 16:54
Всем привет! Я больше в "детстве" Спектрумами занимался. Почитал про Орион в интернет - захотел собрать.
Единственное, я не особо в теме схем и того, где они публиковались. Купил комплект плат, сама плата приедет в июне.
Хочу подобрать пока детали по списку.
Можно ли ставить все микросхемы в панельки или лучше паять? С какого номера Радио читать про Орион )
Помогите, пожалуйста, новичку.

viktstep
21.05.2019, 17:06
dmi, начните читать журнал Радио с первого номера за 1990 год и потом в течении двух лет были публикации про него.

denis74
21.05.2019, 19:42
Всем привет! Я больше в "детстве" Спектрумами занимался. Почитал про Орион в интернет - захотел собрать.
Единственное, я не особо в теме схем и того, где они публиковались. Купил комплект плат, сама плата приедет в июне.
Хочу подобрать пока детали по списку.
Можно ли ставить все микросхемы в панельки или лучше паять? С какого номера Радио читать про Орион )
Помогите, пожалуйста, новичку.
Проц,порты,память и пзу в цанговые панельки остальное паять.
Могу на почту выкопировки с журнала скинуть.
А так тут архив размещали со всем нажитым с 90 года.
Где плату брать будете?

Xrust
21.05.2019, 20:47
dmi,Орион-128 (http://www.emuverse.ru/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D 1%8F:%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-128).
Какой вариант платы выбрали?

dmi
21.05.2019, 21:12
Проц,порты,память и пзу в цанговые панельки остальное паять.
Могу на почту выкопировки с журнала скинуть.
А так тут архив размещали со всем нажитым с 90 года.
Где плату брать будете?

Спасибо, у меня, в принципе, есть подшивки Радио и подсказали в wiki список.
Плату я выбрал у Cornelius (из этой темы) - взял все платы Орион, комплект.

denis74
12.06.2019, 11:21
В общем на серии км155 с памятью 565ру5г с достаточным количеством ёмкостей (максимальные пульсации по питанию в области микросхем памяти 0.15в )
мимальное рабочее напряжение 4.35в.
С памятью oki либо samsung 3.95в.
На серии 1533 результат тот же ,при потреблении на 0.35а меньшем.
D2-D6 ,D12 обязательно 155 серия.
В плате Юрия на 512 обнаружил ещё один недочёт - резистор R3 одним выводом висит в воздухе.

Denn
12.06.2019, 13:07
С памятью oki либо samsung...

Вроде неоднократно писали, что импорт в О-128 неработоспособен из-за регенерации "не той системы".. /-)

Xrust
12.06.2019, 13:22
Denn, наоборот писали, что всё работает.

Denn
12.06.2019, 15:59
Xrust, емнип речь была про аналоги РУ7, видимо тут не тот случай, поэтому и работает.

denis74
12.06.2019, 16:57
использовал samsung KM4164B-10 ,OKI M41256A-10.
Едет импорт логика 74 серии , посмотрим как она себя покажет.

Cornelius
18.06.2019, 14:46
Схема чёрной платы (https://zx-pk.com/forum/viewtopic.php?f=7&t=11524) Орион-512 https://cloud.mail.ru/public/52Vh/p1Knr1PMZ

АлександрПП
28.06.2019, 23:23
Орион-Экспресс, черная плата, юбилейная.
Спаял, запустил тест.Добился нормальной яркости - контрастности экрана. После сброса на экране ритмичное мельтешение горизонтальных черточек. Посмотрел осциллографом и понял, что тест работает как надо. Выход видео идет с вывода 9 DD56. После окончания теста и вывода им "цветного матраса" сигнал выходит с 7 и 9 выводов DD56,57.
Похоже что вывод видеоинформации идет в другую область памяти.
Что смотреть в первую очередь?
Есть ли какие-либо особенности в этой плате?
У кого-нибудь она уже собрана?

Sancho45
29.06.2019, 10:34
Без проца или без пзу картинка какая?

АлександрПП
29.06.2019, 13:08
Чистое белое поле.

Denn
29.06.2019, 13:58
Без проца и/или ПЗУ должна быть псевдо-рандомная картинка мусора в ОЗУ.

Xrust
29.06.2019, 15:41
А эта картинка сильно зависит от типа применённого ОЗУ. Белый экран будет если нет ОЗУ.

АлександрПП
29.06.2019, 18:51
Стоят РУ7. Причем все микросхемы на плате проверены тестером перед запайкой.
Такое впечатление, что чтение ИЗ ОЗУ идет или не оттуда, откуда надо, или не в то время, когда надо.

Error404
29.06.2019, 20:14
Стоят РУ7. Причем все микросхемы на плате проверены тестером перед запайкой.
Такое впечатление, что чтение ИЗ ОЗУ идет или не оттуда, откуда надо, или не в то время, когда надо.

Переключите джамперы на Ру5 (и если стоят РУ7 на старший адрес подать 0). Т.е. проверить плату в "журнальном" варианте.

АлександрПП
30.06.2019, 14:50
Переключите джамперы на Ру5
Имеются ввиду SJ1-SJ5 ? Замкнутые разрезать, незамкнутые соединить?
Никак не могу найти тему, где обсуждалась эта плата.

Sancho45
01.07.2019, 03:12
Имеются ввиду SJ1-SJ5 ? Замкнутые разрезать, незамкнутые соединить?
Никак не могу найти тему, где обсуждалась эта плата.

Нет,эти перемычки к делу не относятся ! Схема этой платы на предыдущей странице. И судя по ней, ошибочно подключены контакты 3 и 13 D29, надо поменять местами !

- - - Добавлено - - -

Как все заработает, фото бы с экрана тв, на центровку глянуть ))

АлександрПП
01.07.2019, 12:52
ошибочно подключены контакты 3 и 13 D29
О, это существенно!
К сожалению исправить смогу только послезавтра. Нахожусь на острове посреди Волги. Красота!!!

Alitius
25.07.2019, 15:28
Собрал черную юбилейную плату, запустилась с первого раза, точнее со второго, в первый ТМ8 поставил наоборот и немного подымил :smile: Ну без запаха жаренного и запуск не запуск =)) Ошибку исправлял только одну, которая от 1-й ноги памяти. Тесты проходят, разные ПЗУ стартуют. Теперь жду детали и буду собирать RGB и другой обвес.


https://i.ibb.co/c1XYBcZ/P90725-144312.jpg (https://ibb.co/c1XYBcZ) https://i.ibb.co/1JTJSpS/P90725-144258.jpg (https://ibb.co/1JTJSpS) https://i.ibb.co/hmf7wYJ/P90725-145701.jpg (https://ibb.co/hmf7wYJ) https://i.ibb.co/3ppf1Vs/P90725-150303.jpg (https://ibb.co/3ppf1Vs)

Denn
25.07.2019, 16:04
Чёрная плата хороша! В неё прямо просится белый керамический ВМ80... =)

OrionExt
26.07.2019, 03:37
Отлично не значит стабильно. Поглядим на полке, через пять лет. ох.


А так-то Ориону и адептам. Пока собирают юбилейную плату, звучит звук OPM на другой платформе, на деюсь не похоронный, а мог бы и тут OPM гимн играть.

АлександрПП
27.07.2019, 15:35
Ошибку исправлял только одну, которая от 1-й ноги памяти
Что за ошибка? Где описана?

Sancho45
27.07.2019, 20:49
Например тут (https://zx-pk.ru/threads/9679-orion-128-sborka-i-nastrojka-kompyutera.html?p=987794&viewfull=1#post987794)

Ошибка разводки перекочевала с предыдущей ревизии !?

АлександрПП
27.07.2019, 21:35
Интересно! На моей плате это соединение есть.

Sancho45
27.07.2019, 21:48
Интересно! На моей плате это соединение есть.

А предыдущее мое сообщение проверили ? Где по схеме перепутаны 3 и 13 контакты ? У меня этой платы нет, поэтому могу судить только по выложенной схеме!
Получается черные платы тоже разных ревизий !? Или какая-то другая ошибка связанная с 1-ым контактом ру7 !?

АлександрПП
27.07.2019, 22:42
3 и 13 выводы у меня на плате перепутаны по сравнению со схемой в журнале. Сделал по классике, ничего у меня не поменялось. Тест работает, судя про осциллографу, но картинка где-то в стороне.

Sancho45
27.07.2019, 23:25
3 и 13 выводы у меня на плате перепутаны по сравнению со схемой в журнале. Сделал по классике, ничего у меня не поменялось. Тест работает, судя про осциллографу, но картинка где-то в стороне.

По инструкции журнала радио, черные вертикальные линии выходят? Когда бит данных любой ОЗУ на землю?
И видео бы, как там мельтешит , на белом черные или на черном белые ?

АлександрПП
28.07.2019, 12:00
Линии выходят.
Ссылка на видео теста:
https://yadi.sk/i/tW6Qm2yld4LP2Q

denis74
28.07.2019, 12:27
Попробуйте по инструкции.И фото платы не плохо бы в студию.
http://www.danbigras.ru/Orion/Test/Naladka.html

OrionExt
28.07.2019, 14:22
Да уж видео зачетное (по бесполезности).

Поставите всего один чип ОЗУ, не напрягайте шину данных и остаток ОЗУ. И копайте в сторону ЦПУ в пошаговом режиме. Могу еще предложить китайский аналайзер, снимите инфу с шины данных после старта и просто проанализируйте поток команд ЦПУ.

Линии говорят только о прямом (не косом) доступе к видео части и конечно правильной работе видео части схемы.

Sancho45
28.07.2019, 18:46
3 и 13 выводы у меня на плате перепутаны по сравнению со схемой в журнале.

эта ошибка подтверждается изображниями сборщика на предыдущей странице (68стр), там видно, что все остальные банки битые, что показано сплошными белыми квадратами. С этой ошибкой будет работать только 0-ая банка озу, точнее не правильно будут переключатся другие банки.

По поводу мельтешения- это скорее всего другая ошибка, но она на запуск не влияет. О ней позже.... Кстати, без пзу мельтешение есть ?


Посмотрел осциллографом и понял, что тест работает как надо.

Откуда уверенность в запуске теста ? Есть сигнал на 18 ножке ПЗУ (CS), так же на WE0, выв. 3 озу ?
Тест для 128 кб длится примерно 35 сек., при выводе цветной картинки, должна измениться яркость , даже если вывод из ОЗУ не проходит.
Может сопля где на ША или ШД, осцил. при этом будет вменяемую картинку светить.

Если есть уверенность, что тест запускается, значит нет выборки озу при записи.

Удивляет отсутствие рандомной картинки без проца и/или пзу, хотя -

По инструкции журнала радио, черные вертикальные линии выходят?

Линии выходят.

- - - Добавлено - - -

Так же открытый вопрос по поводу -

Ошибку исправлял только одну, которая от 1-й ноги памяти.
не понятно , о какой ошибке идет речь, если -

На моей плате это соединение есть.

- - - Добавлено - - -


О ней позже....
4 вывод D23 должен на землю в варианте РУ7, а по схеме он идет на счетчик ие5, как в варианте ру5

slammy
28.07.2019, 21:03
АлександрПП, посмотрите мои посты в этой теме и теме в барахолке. Я собирал первую ревизию, как раз где 1 выв. РУ7 не соединены. Помню, там есть несколько исправлений, возможно они перенеслись и в эту ревизию.

Alitius
29.07.2019, 16:16
Интересно! На моей плате это соединение есть.

Возможно оно и есть, я сначала тему прочитал, вроде как речь о последней плате шла, поэтому не проверил. Там резать ничего не надо было, поэтому отнесся несерьезно.



Ссылка на видео теста:
https://yadi.sk/i/tW6Qm2yld4LP2Q
У меня такая картинка была когда я сжег ТМ8.

Черная плата мной запущена - https://zx-pk.ru/threads/9679-orion-128-sborka-i-nastrojka-kompyutera.html?p=1021513&viewfull=1#post1021513 , поэтому могу ручаться, что ошибок, препятствующих запуск, на плате нет. Ищите соплю, непропай или что-то дохлое из микросхем. Я микрухи предварительно проверял почти все, перед тем как вставлять в плату.

АлександрПП
30.07.2019, 23:03
ошибочно подключены контакты 3 и 13 D29, надо поменять местами
Также на схеме вывод 4 DD23 идет в шину под номером 52, т.е. на вывод 11 DD4. На плате же он идет на общий провод.

luzanov
10.08.2019, 19:15
Спаял плату Ориона-128 и контроллер клавиатуры PS2. Дальше нужно подключать магнитофон. Подскажите, как перевести RKO в MP3? И еще, когда нажимаю в мониторе Орион-128.2 директиву I, то сразу получаю знак "?". Так должно быть?

Denn
10.08.2019, 21:31
И еще, когда нажимаю в мониторе Орион-128.2 директиву I, то сразу получаю знак "?". Так должно быть?

Да, всё верно. Для загрузки файлов нужно нажимать <ВК> после ввода директивы в момент, когда зазвучит раккорд.

luzanov
10.08.2019, 21:45
Да, всё верно. Для загрузки файлов нужно нажимать <ВК> после ввода директивы в момент, когда зазвучит раккорд.
У меня пока не подключен магнитофон (смартфон). И нет ни одной программы на WAV/MP3. Сейчас ищу способ как перевести. Может где лежать проги в WAV?

Error404
11.08.2019, 02:50
Под CP/M я слышал еще и перфокарты можно использовать (ее можно запускать их ПЗУ).

Но я бы предложил к ВВ55 порта F600 подключить контроллер IDE (+ 1 лн1, работает как в DS-DOS, так и в CP/M) или контроллер SD-карт (+0 MСХ, работает в SD_OS). ИМХО, это не сложнее чем пляски с магнитофоном, пускай даже и МР3.

ABRAMKA0
13.08.2019, 17:56
Что за BIOS MC12?

Error404
14.08.2019, 13:52
Что за BIOS MC12?

Не слышал такого. Добавьте вложение - хоть посмотрим что за зверушка.

ZPilot
15.08.2019, 00:46
Всем добрых суток! Собрал черную плату Орион Экспресс. Работает https://i.ibb.co/XVZ163T/20190814-152700.jpg (https://ibb.co/XVZ163T) (ру7 во 2 банке битые)
Пока искал косяк, собрал пошаговый режим, похоже, что на плате есть ошибка: по схеме DD18 вывод 6 идет на резистор R3, но на плате он просто висит в воздухе. Не критично, но без этого соединения пошаговый режим не работает.

OrionExt
15.08.2019, 14:57
Пока искал косяк, собрал пошаговый режим, похоже, что на плате есть ошибка: по схеме DD18 вывод 6 идет на резистор R3, но на плате он просто висит в воздухе. Не критично, но без этого соединения пошаговый режим не работает.Вроде в оригинальной схеме было несколько перемычек. Некоторые из них позволяли перевести CPU в пошаговый режим + схема "шагателя".

Может, чего путаю. Или то были перемычки для беспрепятственного прохождения сигналов для отладки видео-подсистемы.

ZPilot
15.08.2019, 15:28
Перемычки все есть, я имел в виду, что на черной плате Орион Экспресс нет соединения DD18 и R3, хотя по схеме оно есть. Без этого шагатель - не шагатель.

OrionExt
15.08.2019, 15:33
Перемычки все есть, я имел в виду, что на черной плате Орион Экспресс нет соединения DD18 и R3, хотя по схеме оно есть. Без этого шагатель - не шагатель.Ок. Я потерялся в новоделах.

Чуть углублю. Почему то на новоделах теряются нюансы. Толи это резистор или перемычка. Вот резистор для 155 и нафиг не нужен, а 555 будет бесится.

ABRAMKA0
17.08.2019, 07:40
Не слышал такого. Добавьте вложение - хоть посмотрим что за зверушка.

Смотрите скрины экранов Ориона в посте №680 от Alitius

Denn
17.08.2019, 10:25
Смотрите скрины экранов Ориона в посте №680 от Alitius

На скринах заставка обычного журнального М1

luzanov
17.08.2019, 15:01
Собираю Орион-128.2 Как подключить SD? Есть печатная плата под ЛУТ?

ABRAMKA0
18.08.2019, 07:44
На скринах заставка обычного журнального М1
Это на 4 фотке,а на 3-й? Вот по этой ссылке: https://i.ibb.co/qr5yVJ3/P90725-145701.jpg

Это совсем не М1.
Насколько я помню (давно у меня был Орион классический) М1 при старте пишет "ввод" и ждет загрузки с магнитофона.А на 4-й фотке - это стартовая строка М2,или М3(?).Когда у меня был старый Орион,я прошивал и М1 и М2 и М3.1
Наверное ответ может дать Alitius

Alitius
19.08.2019, 16:24
Это на 4 фотке,а на 3-й? Вот по этой ссылке: https://i.ibb.co/qr5yVJ3/P90725-145701.jpg

Это совсем не М1.
Насколько я помню (давно у меня был Орион классический) М1 при старте пишет "ввод" и ждет загрузки с магнитофона.А на 4-й фотке - это стартовая строка М2,или М3(?).Когда у меня был старый Орион,я прошивал и М1 и М2 и М3.1
Наверное ответ может дать Alitius
Все прошивки я брал из шапки этой темы - https://zx-pk.ru/threads/16816-orion-128-cborka-i-nastrojka-varianta-2011-orion-128-2-fak.html , там архивы к ней прицеплены.
Клаву для ориона я пока не доделал, поэтому продемонстрировать больше строки приглашения пока не смогу.

ABRAMKA0
20.08.2019, 19:53
Все прошивки я брал из шапки этой темы - https://zx-pk.ru/threads/16816-orion...128-2-fak.html , там архивы к ней прицеплены.
А какую прошивку монитора конкретно Вы использовал,что она дает такую надпись при старте,никогда не видел такой (имею ввиду фото №3)

Alitius
20.08.2019, 20:41
А какую прошивку монитора конкретно Вы использовал,что она дает такую надпись при старте,никогда не видел такой (имею ввиду фото №3)
С отпуска выйду 5-го числа, посмотрю, плата на работе осталась, на память не помню какая из них.

Sancho45
22.08.2019, 16:12
А какую прошивку монитора конкретно Вы использовал,что она дает такую надпись при старте,никогда не видел такой (имею ввиду фото №3)


MS7007.DAT название файла из архива по ссылке выше, обычным поиском находится.

ABRAMKA0
22.08.2019, 21:18
MS7007.DAT название файла из архива по ссылке выше, обычным поиском находится.
Ну тогда ясно,мне она не подходит,у меня клава РК86

shapipovo
07.09.2019, 17:24
Собрал черную юбилейную плату, запустилась с первого раза, точнее со второго, в первый ТМ8 поставил наоборот и немного подымил :smile: Ну без запаха жаренного и запуск не запуск =)) Ошибку исправлял только одну, которая от 1-й ноги памяти. Тесты проходят, разные ПЗУ стартуют. Теперь жду детали и буду собирать RGB и другой обвес.


https://i.ibb.co/c1XYBcZ/P90725-144312.jpg (https://ibb.co/c1XYBcZ) https://i.ibb.co/1JTJSpS/P90725-144258.jpg (https://ibb.co/1JTJSpS) https://i.ibb.co/hmf7wYJ/P90725-145701.jpg (https://ibb.co/hmf7wYJ) https://i.ibb.co/3ppf1Vs/P90725-150303.jpg (https://ibb.co/3ppf1Vs)

Вы перемычки какие нибудь запаивали?

Alitius
09.09.2019, 10:03
Вы перемычки какие нибудь запаивали?
Нет, перемычек не ставил

Cornelius
09.09.2019, 23:37
На "жёлтых" и "чёрных" платах вот это:

ошибочно подключены контакты 3 и 13 D29, надо поменять местами !

делать не надо! На платах разведено всё верно, согласно журнальной схемы! Кто уже сделал - верните взад.

Alitius
25.10.2019, 12:06
Коллеги, есть кто еще собрал и запустил черную плату?
Клавиатуру кто подключил? Наконец появилось свободное время, собрал платку мини-клавиатуры, подключаю в X4, светодиод питания на ней горит, на кнопки не реагирует. Курсора вообще нет.
Заметил, что курсор появляется только если снять ВВ55 ( это происходит даже при отсутствии клавиатуры), это нормально?
ВВ55 пробовал штук 5 разных, при нажатии на кнопку клавиатуры +5в приходит на соответствующий пин ВВ55 и усе.

Denn
25.10.2019, 12:38
при нажатии на кнопку клавиатуры +5в приходит на соответствующий пин ВВ55 и усе.

Матрица клавиатуры устроена иначе. Вне подпрограммы опроса клавиатуры вообще ничего меняться при нажатиях не будет. На соотв. входах ВВ55 везде будет лог."1" (+5в через резисторы подтяжки 2ком).
В момент опроса линейки матрицы, зажатая клавиша будет выдавать импульсы лог."0" на соотв. входе ВВ55.

Alitius
29.10.2019, 12:11
Матрица клавиатуры устроена иначе. Вне подпрограммы опроса клавиатуры вообще ничего меняться при нажатиях не будет. На соотв. входах ВВ55 везде будет лог."1" (+5в через резисторы подтяжки 2ком).
В момент опроса линейки матрицы, зажатая клавиша будет выдавать импульсы лог."0" на соотв. входе ВВ55.
Пока не выходит у меня каменный цветок. Снял пока клавиатуру и возникает вопрос - это нормально, что при вставленной ВВ55 курсор уходит в правый угол нижнего экрана и учащенно мигает?
https://i.ibb.co/YRb6nLr/IMG-20191029-113304-raz.jpg (https://ibb.co/YRb6nLr)

Соответственно если вынуть ВВ55, курсор возвращается на место и мигает как положено.
https://i.ibb.co/Y7D8T4B/IMG-20191029-113405-raz.jpg (https://ibb.co/Y7D8T4B)

Мне кажется это ненормально, в чем может быть косяк? Пины ВВ55 на коротыш и между собой отзвонил, также как и разъем клавиатуры. Сами микросхемы пробовал разные (штук пять).

BYTEMAN
29.10.2019, 12:17
если мне не изменяет память, с отключенной клавиатурой и вставленной ВВ курсор как раз таки "улетает".

Denn
29.10.2019, 12:32
....возникает вопрос - это нормально, что при вставленной ВВ55 курсор уходит в правый угол нижнего экрана и учащенно мигает?

Да, вполне возможно. Зажата какая-то клавиша или группа клавиш. Если по факту клавиатуры нет, то нажатия имитируют наводки на открытые входы ВВ55.

Alitius
29.10.2019, 16:23
Коллеги, спасибо за пояснения!
Перешел к проверке платы мини-клавиатуры от Corenlius (тема продажи - https://zx-pk.com/forum/viewtopic.php?f=7&t=11524, выглядит вот так - https://cloud.mail.ru/public/8tHH/nt129diKn), нашел сразу несколько ошибок на плате.
Анод светодиода V2 (рус/лат) почему-то подключен к земле, хотя должен быть подключен к +5В, также к земле также подключены все резисторы! Хотя они также должны быть подключены +5В. Дорожки порезал, клавиатура, запустилась, но не реагирует на переключение РУС/ЛАТ, переключаю замыканием контактов разъема пальцем в районе С7-С10, что-то на +5В сажаю, разбираюсь дальше.

Denn
29.10.2019, 16:48
...но не реагирует на переключение РУС/ЛАТ, переключаю замыканием контактов разъема пальцем в районе С7-С10

РУС/ЛАТ, НР и УС как раз должны замыкать входы ВВ55 на землю.

Alitius
29.10.2019, 17:24
РУС/ЛАТ, НР и УС как раз должны замыкать входы ВВ55 на землю.
Ну да, эти три кнопки почему-то были подключены к другим кнопкам, на которых вместо +5В была земля. Я цепи порубил и подцепил на +5В, завтра буду думать как их лучше отрезать от этих кнопок. Что-то мне подсказывает, что это будет сделать очень проблематично, ибо металлизация платы под лаком подключена к +5В и чтобы их отключить, надо будет выжигать пятаки. Плюс еще есть подозрение, что эти три кнопки сдвинуты на один пин, ибо переключение раскладки происходит когда я прикасаюсь к пину разъема С8, а кнопка РУС/ЛАТ на клавиатуре висит на С7.
Отложу до завтра, пускай мозги остынут.

Cornelius
29.10.2019, 19:57
три кнопки почему-то были подключены к другим кнопкам
Похоже Вы просто неправильно впаяли некоторые кнопки, они и замкнули что-то. Выводы в кнопках соединены внутри попарно. Плата сделана по этой схеме (https://cloud.mail.ru/public/3QMM/4AR6KkjcV) и собрана уже не раз. Всё рабочее.

Alitius
29.10.2019, 22:04
Похоже Вы просто неправильно впаяли некоторые кнопки, они и замкнули что-то. Выводы в кнопках соединены внутри попарно. Плата сделана по этой схеме (https://cloud.mail.ru/public/3QMM/4AR6KkjcV) и собрана уже не раз. Всё рабочее.
Если бы я впаял кнопки "боком", то получилась бы нажатая кнопка, что отразилось бы на выводе. Я поменял местами только +5в и Землю на резисторах и светодиоде, после чего клавиатура запустилась (если бы была кнопка боком, то это бы отразилось и на этом этапе). Путать там особо нечего, диоды все катодами к разъему, резисторы и конденсаторы без полярностей.

Никто больше не отписался по этой плате, я завтра доберусь до платы и отпишусь конкретно где и что я нашел, если вас не затруднит, проверьте на своих.

И еще, можно приложеную вами схему посмотреть в более лучшем качестве? Она вроде не отличается от схемы в продажной теме, кроме отсутствия электролита, но хотелось бы рассмотреть.

Alitius
30.10.2019, 07:24
Cornelius, Выложенная Вами схема как раз и подтверждает мои слова. У вас на схеме (и на плате клавиатуры) на пине А10 - +5В, а С10 это GND. Если мы смотрим на схему ориона, то мы видим, что там А10 это земля, а С10 +5В, то бишь наоборот. При использовании МГТФ при подключении это не сыграет никакой роли, НО при использовании разъемов для подключения (как у меня), поменять их местами не совсем просто!

Alitius
30.10.2019, 11:13
Ну все, плата микроклавиатуры полностью запущена, как я и предполагал, контакты кнопок РУС/ЛАТ, СС, на плате клавиатуры сдвинуты на один пин влево. Это становится понятно, если мы смотрим старую схему ориона, в котором на клавиатурном разъеме пин разъема С5 вообще не используется, а на миниклавиатуре там висит кнопка CC.

Для тех кто желает подключать плату через разъем, получает вот такого ежика :smile:

https://i.ibb.co/Fn2SsqD/IMG-20191030-105048-1.jpg (https://ibb.co/Fn2SsqD) https://i.ibb.co/PgX2Rhs/IMG-20191030-105408.jpg (https://ibb.co/PgX2Rhs)

Итак, немного подытожу, чтобы другим было проще:

Пин на микроклаве -> Пин на разъеме Ориона

A10 -> C10
C10 -> A10
C5 -> C6
C6 -> C7
C7 -> C8

Остальные пины совпадают.

Cornelius, вы не могли бы выложить вашу схему контроллера PS/2 для ориона? А то я ее собрал, но она не але, надо разбираться, а без схемы оно не очень :smile:

Denn
30.10.2019, 17:09
Подскажите, для чего на плате клавиатуры для чисто русского ПРК, не имеющего поклонников заграницей от слова "вообще", сделаны надписи: "LEFT", "RIGHT", "HOME", "SPACE"... и, внезапно, "PS" ?

А надписи: "ВК", "СТР", "АР2" там на каком языке?

И почему тогда уж не "ENTER", "CLS", "Esc" ?..

Black Cat / Era CG
30.10.2019, 17:16
Для чего хватило латиницы, то написали на Кириллице, используя Латиницу.

Denn
30.10.2019, 17:27
Для чего хватило латиницы, то написали на Кириллице, используя Латиницу.

А что, в 2019-ом году ещё есть компьютеры и/или программы с болезнями времён Win'95 ?

Black Cat / Era CG
30.10.2019, 19:12
А что, в 2019-ом году ещё есть компьютеры и/или программы с болезнями времён Win'95 ?
Не знаю. Я посмотрел на надписи и догадался.

Alitius
06.11.2019, 16:41
Оставляю для отчетности.
Запустил контроллер PS/2 от Cornelius для той же черной платы. На плате контроллера присутствует одна ошибка, но очень неудобная, 7-й вывод Atmega (PB6) висит в воздухе, а должен идти на пин B7 разъема. Соплю пришлось вешать прямо на ногу атмеги. Прошивки брал отсюда - https://zx-pk.ru/threads/9294-orion-128-kontroller-ps-2-klaviatury.html
https://i.ibb.co/KqHT4Lz/P91106-162351.jpg (https://ibb.co/KqHT4Lz)

Запускаем периферию дальше.

Alitius
29.11.2019, 14:43
Продолжаю собирать периферию для черной платы Ориона, докидываю для отчетности:
Маленькая плата ROM запускается сходу, DSDOS стартует -
https://i.ibb.co/DMpCFNR/IMG-20191129-134712.jpg (https://ibb.co/DMpCFNR)

Гибридная плата ROM/RAM Disk, с ней немного сложнее, ROM я запустил, RAM пока не хочет.
При запуске, обратите внимание на разницу между схемой https://zx-pk.ru/threads/25367-gibridnyj-elektronnyj-disk-dlya-prk-orion.html?p=954203&viewfull=1#post954203 и платой, на плате, рядом с большим разъемом надписи сделаны наоборот - С1#F4 идет на B10, а С2#F4 идет на B9. По схеме B10 идет на C2#F4 (DD53/16), а B9 на С1#F4 (DD53/15).

Также ноги 22 и 24 IC1 EPROM (сигнал CSR) висят в воздухе, надо повесить любую из них на катод диода D2 или D4. После этого ROM диск стартует стабильно.
https://i.ibb.co/xSnnwZd/IMG-20191129-134739-1.jpg (https://ibb.co/xSnnwZd) https://i.ibb.co/JrDvzRC/IMG-20191129-134751.jpg (https://ibb.co/JrDvzRC)

C RAM пока не разобрался.

Denn
29.11.2019, 16:36
Alitius, если не пользуетесь интерфейсом магнитофона, то рекомендую вынуть (благо, она стоит в панельке) ЛА3 слева от ВВ55 порта клавиатуры. В результате в ОС DSDOS у Вас будет корректно определяться тип клавиатуры [PS/2] и русские буквы будут на своих местах - согласно "писишной" маркировке.

- - - Добавлено - - -


Гибридная плата ROM/RAM Disk, с ней немного сложнее, ROM я запустил, RAM пока не хочет.
При запуске, обратите внимание на разницу между схемой https://zx-pk.ru/threads/25367-gibridnyj-elektronnyj-disk-dlya-prk-orion.html?p=954203&viewfull=1#post954203 и платой, на плате, рядом с большим разъемом надписи сделаны наоборот - С1#F4 идет на B10, а С2#F4 идет на B9. По схеме B10 идет на C2#F4 (DD53/16), а B9 на С1#F4 (DD53/15).

Косяк серьёзный, в таком виде работать не будет.

А на чёрной плате эти доп. линии уже разведены к разъёму порта?

Error404
29.11.2019, 19:31
рекомендую вынуть (благо, она стоит в панельке) ЛА3 слева от ВВ55 порта клавиатуры. В результате в ОС DSDOS у Вас будет корректно определяться тип клавиатуры [PS/2]


А отчего такой эффект?

Alitius
29.11.2019, 19:59
А на чёрной плате эти доп. линии уже разведены к разъёму порта?
Нет, мгтфить нужно, я сначала кинул ориентируясь по надписям на плате, а потом уже отзванивать начал, когда не запустилось :)

Denn
30.11.2019, 00:18
А отчего такой эффект?

К сожалению, это была единственная зацепка для автоматического программного определения типа клавиатуры. Ну и логично предположить, что во времена подключения PS/2-клавиатуры интерфейс магнитофона не актуален.

shapipovo
30.11.2019, 09:21
По поводу "мгтфить нужно". Я купил на Мешке фторопластовые трубки, очень удобные при пайке.

Alitius
02.12.2019, 10:53
Alitius, если не пользуетесь интерфейсом магнитофона, то рекомендую вынуть (благо, она стоит в панельке) ЛА3 слева от ВВ55 порта клавиатуры. В результате в ОС DSDOS у Вас будет корректно определяться тип клавиатуры [PS/2] и русские буквы будут на своих местах - согласно "писишной" маркировке.
Убрал, теперь так и есть =)

RAM начал запускаться, определяется размер, но при попытке обратиться пишет "Не готов диск". Вроде ошибок на плате больше нет. Грешу конечно на память, она не новая, но с другой стороны, если была бы битая память, она наверное вообще не определялась бы?!

https://i.ibb.co/FBv9QHP/IMG-20191202-095429.jpg (https://ibb.co/FBv9QHP) https://i.ibb.co/sKmwWtN/IMG-20191202-095543.jpg (https://ibb.co/sKmwWtN) https://i.ibb.co/K6tJqFJ/IMG-20191202-095724.jpg (https://ibb.co/K6tJqFJ) https://i.ibb.co/N3xkmDR/IMG-20191202-102824.jpg (https://ibb.co/N3xkmDR)

Sancho45
02.12.2019, 10:59
RAM начал запускаться, определяется размер, но при попытке обратиться пишет "Не готов диск".

эта ошибка исправлена ? (https://zx-pk.ru/threads/30858-orion-128mk2-ryzhie-platy-vypuska-08-2019-ot-cornelius-sborka-i-nastrojka.html?p=1034860&viewfull=1#post1034860)

Alitius
02.12.2019, 11:13
эта ошибка исправлена ?
Да. Но она по-моему к RAM-диску мало отношения имеет, я в посте выше про него писал ;)

Sancho45
02.12.2019, 11:18
Да. Но она по-моему к RAM-диску мало отношения имеет, я в посте выше про него писал ;)

Речь идет про доп рам диск ? тогда ошибочка )))

- - - Добавлено - - -

не правильно понял

Alitius
02.12.2019, 11:25
Приношу извинения, все, RAM-диск стартует, я его просто не отформатировал, не проснулся видать еще. Таким образом ошибки на плате гибридного ROM/RAM диска всего две, первое перепутанная надпись на шелкографии C1#F4 и С2#F4 (при подключении меняем местами) и висящие в воздухе ноги 22 и 24 EPROM.

Denn
02.12.2019, 12:45
Alitius, всё верно. Не успел написать, действительно для пользования диском требуется его форматирование.

П.С. Битых ячеек у СОЗУ ни разу в жизни не встречал, равно как и тестов для такого типа памяти :)

Alitius
06.12.2019, 16:32
Коллеги, собрал плату расширения ОЗУ 512 Кб, правда пока без блокировочных кондеров. Отсюда вопрос, должен ли DSDOS показывать эту память? Да и как вообще понять, что она подцепилась и протестировать?
https://i.ibb.co/hfmh6Fk/P91206-160420.jpg (https://ibb.co/hfmh6Fk)https://i.ibb.co/ynDGcZv/P91206-160404.jpg (https://ibb.co/ynDGcZv)

Denn
06.12.2019, 17:40
должен ли DSDOS показывать эту память?

Был уверен, что должен. Но проверил исходники, и увидел, что в версии 3.92 стоит ограничение в 512 Кб.
Вероятно потому, что не встречал таких конфигураций железа даже в теории.


Да и как вообще понять, что она подцепилась и протестировать?

Тестов 1 Мб ОЗУ для Ориона пока не создано, т.к. таких конфигураций ИРЛ ранее не встречалось.

- - - Добавлено - - -


Коллеги, собрал плату расширения ОЗУ 512 Кб

А порт переключения страниц #F9 умеет активировать эту память?


- - - Добавлено - - -

П.С. раз появляются такие конфигурации, то придётся выпускать патч :)

Error404
06.12.2019, 18:17
А порт переключения страниц #F9 умеет активировать эту память?


Вроде бы да. Если используется доработка ОЗУ такая же как в Ревизии-512 (где в порт F9 добавляются 2 бита на половинке ТМ7), то установкой платы-бутерброда из 3 и 4 линеек РУ7 (+2 буфера) в те же дырки что и при расширении до total256k бутербродом на РУ5, при выставленных джамперами режимах "РУ7" ОЗУ должно расширяться до 1Мб. Единственно, в ревизии512 есть "секретный хак": там на плате расширения дорожка A8(выв.1) от РУ7х на полсантиметра не доходит до нужного контакта разъема платки расширения. :) Это я сомневался взлетит/не_взлетит. На расширение на РУ5 это, понятно, не влияет.

Alitius
06.12.2019, 19:48
П.С. раз появляются такие конфигурации, то придётся выпускать патч :)

Будем ждать обновления :) Ну и заодно проверю доведены ли все дорожки.