Вход

Просмотр полной версии : Проект открытой реплики Союз-Неон ПК-11/16



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

Woland
06.08.2018, 14:43
Здесь, в первом посте, будут выкладываться и актуализироваться все плоды интеллектуального труда участников проекта: схема, трассировка pcb, прошивки ПЛМ, выводы, предположения и прочие аналитические данные.

http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0543_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0543.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0544_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0544.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0545_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0545.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0546_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0546.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0547_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0547.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0549_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0549.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0552_mini.JPG (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/2/IMG_0552.JPG)

http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0099_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0099.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0104_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0104.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0107_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0107.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0121_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0121.JPG) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0098_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0098.jpg)http://files.pk-fpga.ru/storage/fotos/Souz-Neon/pcb/IMG_0514_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/pcb/IMG_0514.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/pcb/IMG_0516_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/pcb/IMG_0516.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/pk11-16_mod_motazh_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/pk11-16_mod_motazh.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/pk11-16_mod_pcb_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/pk11-16_mod_pcb.jpg)http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0527_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0527.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0529_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0529.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0530_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0530.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0531_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0531.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0532_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0532.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0533_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0533.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0535_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0535.jpg) http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0536_mini.jpg (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/vitrina/replica-white/IMG_0536.jpg)

Первый полностью стабильный экземпляр собран, на демке не виснет несколько часов. Вентиляция обязательна, иначе могут начаться глюки. МФМ-часть и FDD работают идеально. Прочий функционал платы пока не тестировался.

65939 65940
Прошивки ПЛМ 1556, ПЗУ КР556РТ2 собранные в результате общего анализа вычиток из экземпляров Неонов Риты (TheGWBV) и Юрия Савчука (ys05).
Анализ проводили troosh, ys05 и pilgrim: 66527
Набор с вероятностью 99.9% совпадает с исходным авторским набором (поскольку сверялся между вычитками из разных наборов ПЛМ от разных машин и даже в разных городах, считанных разными программаторами) и сомнению более не подлежит.
Тот же набор, конвертированный под PALCE16V8/ATF16V8: 66836
Для конвертирования использована утилита PAL2GAL.EXE из проекта 66841: 66840. Пример конвертации утилитой PAL2GAL.EXE:
pal2gal.exe hp4-v1.jed -d p16r4 -g g16v8 -o g16v8-v1.jed
pal2gal.exe hp6-v3.jed -d p16r6 -g g16v8 -o g16v8-v3.jed
pal2gal.exe hl8-p1.jed -d p16l8 -g g16v8 -o g16v8-p1.jed

Также, есть утилита PALTOGAL.EXE: 66837 - с ней не пробовал работать, на вскидку получился какой-то другой результат.

В некоторых экземплярах Союз-Неон ПК-11/16 обнаружена альтернативная прошивка v301, которая ставилась вместо v3. Сверить её не с чем (удалось вычитать только одну ПЛМ с данной прошивкой), но в стендовом Неоне она работает, видимых в работе различий с v3 пока не обнаружено. В архиве приложены оригинальный вариант под КМ1556ХП6 и сконвертированный под atf16v8: 66905

Схемы прошивок: 65937 65938

Логические формулы всех ПЛМок: 65933
(по результатам одновременного моделирования поведения чипов V1/V2/V9/V3/V4 перешёл на другие версии дампов прошивок PAL16R4/V9/07713384_neon1556hp4_v9_brd1.jed и PAL16R4/V4/379daf18_neon1556hp4_v4_add2.jed, - прошлая версия V9 просто криво работала, а V4 похоже была от варианта для 72Гц развёртки).

Граф взаимосвязей V1/V2/V9/V3/V4: 65929
Построен почти автоматом из нетлиста принципиальной схемы и дизассемблера прошивок.

Граф взаимосвязей всех ПЛМ-ок:
65934 - без обратных связей в самих чипах;
65930 - с обратными связями: зелёные через регистры, а красные через комбинаторику, которые потенциально могут также образовывать триггера.

Домены на V... и P... чипах в виде отдельных графов (связаны слабо): 65932, 65931.

Поведенческая модель на Си: 65935
Ревизия №1:
- выполнен повтор оригинала и оттрассирован весь навесной монтаж;
- для дросселя дополнительно разведена альтернативная площадка для чип-варианта 1210;
- на планках памяти площадки под краевые выводные конденсаторы продублированы разводкой под чип-вариант 0805;

На яндекс-диске и dropbox Михаила:
<yadi.sk> (https://yadi.sk/d/3Ant2jl33THhvs) <dropbox.com> (https://www.dropbox.com/sh/cxxczaqy5dhmk53/AAB3w53JPsKHH26_8kheOydna?dl=0) <Зеркало pk-fpga.ru> (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/pcb/pk11-16.rar)

Ревизия №2:
- добавлен переключатель ПД19-2 в качестве кнопки Reset;
- разъем мыши выполнен как угловой DRB-09FA;
- добавлены крепежные отверстия под разъемы ОНП-КГ-56-XX;
- добавлены альтернативные площадки типа 0805 рядом с оригинальными площадками типа 1812 для чип конденсаторов;
- добавлена альтернативная площадка чип-типа 0805 под дроссель L1 рядом с резистором R72.
- созданы гербер-файлы для производства
upd 01.11.2018: обнаружены ошибки трассировки, для исправления:
- соединить выводы 1 и 4 микросхемы D55 (V1);
- развернуть наоборот диод VD11;

<download from pk-fpga.ru> (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/pcb/pk11-16_mod.rar)

Ревизия №2.1:
- fix error: соединены выводы 1 и 4 микросхемы D55 (V1);
- fix error: развернут наоборот диод VD11;
- добавлены схема, трассировка и гербер-файлы модуля памяти размером 1Мбайт;
- сдвинуты влево разъемы XP4, XP5, XP7 для более точного соответствия отверстиям в корпусе;
- отцентрированы по корпусу нижнее левое крепежное отверстие и центральное;
- углублены грани большего выреза с правой стороны платы, иначе слегка упирались в крепежные стойки;
- расширены отверстия для крепления подстроечного конденсатора C33;
- скорректирована шелкография конденсатора C23;

На яндекс-диске Михаила:
<yadi.sk> (https://yadi.sk/d/7cM1OOpF3aEFJT) <download from pk-fpga.ru> (http://forum.pk-fpga.ru/download/file.php?id=477)

Ревизия №2.2:
- вывод 2 разъема XP4 "Видео" подключен к +5V;
- разводка разъема мыши XP7 выполнена под угловой разъем DB-9 "папа" (в прошлых ревизиях был разведен некорректно - внимание при монтаже прошлых ревизий!);
- крепежные отверстия кнопки Reset выполнены с металлизацией;
- аккумулятор отодвинут от подстроечного резистора RP1. Расстояние между контактными площадками резисторов R69 и R70 из-за этого уменьшено с 10 мм до 5 мм - оптимальным будет использование резисторов в мини исполнении (L=3.2mm);
- указана полярность аккумулятора "+" и "-";
- увеличен диаметр отверстий для выводов аккумулятора и добавлены дополнительные контактные площадки;
- увеличен на 0,3 - 0,5 мм вырез с правой стороны платы.

<yadi.sk> (https://yadi.sk/d/7cM1OOpF3aEFJT) <download from pk-fpga.ru> (http://forum.pk-fpga.ru/download/file.php?id=495)

Ревизия №2.3:
- в схеме P-CAD у ИС КМ1801РР1 (KM1801RR1) изменен тип вывода 2: cтало "Open-H" (было "Output"). Влияет только на SCH-схему (на PCB-плату и PDF-файлы не влияет);
- не подключенные входы ИС D6-11, D7-11, D8-11, D9-11 подтянуты к +5V через резистор R75 1 кОм.

<yadi.sk> (https://yadi.sk/d/7cM1OOpF3aEFJT) <download from pk-fpga.ru> (https://forum.pk-fpga.ru/download/file.php?id=498)

Ревизия №2.4:
- исправление полярности конденсатора C24.

<yadi.sk> (https://yadi.sk/d/7cM1OOpF3aEFJT) <download from pk-fpga.ru> (https://forum.pk-fpga.ru/download/file.php?id=503)


Описание сигналов модулей памяти от пользователя Kinder: 73224

Дополнения от Vslav:
- пассивный переходник-разветвитель с разъема XP3 -> MFM-винт, дисковод + вывод питания для них наружу: 69141
- прокладка для разъемов СНП15-48/80-10Р-19-2 в виде текстолита без металлизации (производителю это лучше пояснять): [на исправлении]
Оригинальная прокладка была из пластика толщиной 3мм, поэтому следует заказывать прокладку из текстолита схожей толщины, или по две прокладки на каждый разъем, одну толщиной 1мм, другую 2мм (я выбрал такой вариант с целью удешевления)


1). Толщина медной фольги на базовом материале: 35 мкм.
2). Если судить визуально (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0099.JPG) по резисторам на оригинальной плате, то мощностью 0.25Вт установлено только пять штук: R12, R13, R39, R69 (220 Ом) и R27 (11k).
3). Переключатель ПД19-2 устанавливать на диэлектрическую прокладку!
4). При осмотре фото разных экземпляров Неона, была обнаружена разница в навесном монтаже (в одном месте):
http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_2099.JPG - провод подходит к D12.15;
http://files.pk-fpga.ru/storage/fotos/Souz-Neon/IMG_0088.JPG - провод подходит к D12.16;
Анализ показал, что таким образом на разъемы XS4 и XS5, выведены проводами сигналы старших бит физадреса:
IMG_2099.JPG - PHА17, PHА18, PHА19
IMG_0088.JPG - PHА16, PHА18, PHА19
На основе анализа от troosh было решено трассировать исходя из фото IMG_0088.JPG.
5) Вентиляция в область модулей памяти - обязательна, иначе начинаются глюки.
6) Эксперимент с заменой серии 1556 на atf16v8b-15pc дал такой результат:
V1, V2, V6, P1, P2, P10, P11, P13 - уже точно не заработали в варианте atf16v8b-15pc;
V3, V4, V8, V9, VC, VB, P4, P5, P12, P14 - их замены на atf16v8b-15pc пока считаем условно-рабочие (демка работает с дисковода идентично комплекту, собранному из серии 1556);
V1 пришлось исключить, т.к. приводит к нестабильности видео-сигнала, периодически пропадает или подергивается изображение.
7) В производство направляется только ревизия №2 и далее.

Распиновка кабеля для 40-pin совмещенного разъема FDD+HDD Неона:

НЕОН FDD 34pin MFM HDD 34pin MFM HDD 20pin
1 (out +12V) - - -
2 (out +12V) - - -
3 (out +5V) - - -
4 (out +5V) - - -
5 (out +5V) - - -
6 (out +5V) - - -
7 (GND) - - -
8 34 22 -
9 33 23 -
10 32 14 -
11 31 15 -
12 30 - 17
13 29 - 16
14 28 8 -
15 27 9 -
16 26 10 -
17 25 11 -
18 24 6 -
19 23 7 -
20 22 - 14
21 21 - 15
22 20 24 -
23 19 25 -
24 18 34 -
25 17 33 -
26 16 - -
27 15 - -
28 14 26 -
29 13 27 -
30 12 - -
31 11 - -
32 10 - -
33 9 - -
34 8 20 -
35 7 21 -
36 6 12 13
37 5 13 12
38 4 4 -
39 3 5 -
40 2 18 -

Для первоначального пуска Seagete St-225 на Неоне необходимо загрузиться с дискеты (образ work.dsk) и выполнить команду @HDinit которая произведет последовательное форматирование, инициализацию и разметку диска на 8 разделов hd0: ... hd7: различных размеров, ориентировочно от мегабайта до 4.5Мб.

Загрузочным винт можно сделать скриптами стандартной поставки:
SOUZ-NEON_SYSTEM_0B_IMG/HD1.COM:
init/noq hd1:
copy *.sys,*.prc,*.fon,*.sav,*.mnu hd1:
copy start1.com hd1:starts.com
cop/boot hd1:rt11sj hd1:
cop dk:stamem.com hd1:
SOUZ-NEON_SYSTEM_0B_IMG/HD2.COM:
init/noq hd2:
copy *.sys,*.sav,*.mnu,*.key,*.men hd2:
copy *.mac,*.sml,*.obj,*.dat hd2:
copy start2.com hd2:starts.com
copy/boot hd2:rt11sj hd2:
cop dk:mouse.com hd2:
cop dk:mscr.prc hd2:
cop dk:read1.me hd2:

В процессе работы могут помочь полезные команды:
.type <имя файла> - выводит на экран содержимое текстового файла
.show all - выводит конфигурацию системы на экран
.boot hd0: - загрузка с указанного раздела

Комбинации клавиш:
Ctrl/S - притормозить поток вывода
Ctrl/Q - продолжить
УПР+ФИКС+ЗАБОЙ (Clrt+Alt+Del) - перезагрузка (из полноценно загруженной системы)


https://www.youtube.com/watch?v=XqkVbPySuAo

Миф №1: ПЛМ серии 1556 ужасно боятся перегрева.
Абсолютно не боятся, можно смело выпаивать феном с температурой 300 градусов - считались корректно 16 прошивок из 18-ти. Прошивка V1 не читалась вообще - скорее всего они была дохлая изначально (Неон не включался), а прошивка V301 (альтернативная прошивке V3) оказалась рабочей, но верифицировать её не с чем (неоткуда больше считывать). Итого, 17 рабочих прошивок, одна дохлая микросхема. Но окончательно расставить точки над i в вопросе прошивок было бы значительно труднее, если бы не помощь Юрия Савчука, который любезно согласился вычитать и предоставить прошивки из имеющихся у него нескольких комплектов. И ещё повезло, что экземпляр Sterh st-007 у Юрия не требовал заморозки для корректного считывания прошивок.

Миф №2: Я спалил большую часть прошивок перегревом.
Данный миф усиленно тиражировался по всем форумам двумя отморозками и сопровождался угрозами физической расправы, а также обвинениями в уничтожении раритетов. По факту (см п.№1) ни одной прошивки уничтожено не было. Доказательства могу предоставить любому составу желающих.

Миф №3: С ПЛМ 1556 умеет работать только программатор ChipStar
Опыты показали, что программатор Sterh st-007 также умеет читать и прошивать серию 1556, но с двумя поправками:
- работает только с микросхемами в узком dip-20 корпусе;
- если Sterh st-007 читает или пишет серию 1556 с ошибками, следует перед работой его полчаса подержать в морозилке. Определить, читает ли программатор с ошибками легко: при чтении почти любых чистых 1556ХП4 и 1556ХП6 в некоторых местах считываются несуществующие единицы. Несуществующие единицы считываются также и в прошитых 1556, но там сложнее понять, что эти единицы фиктивны. Собственно это и способствовало появлению Мифа №1, т.к. фиктивные единицы создают впечатление "сожженной" прошивки.
Запись с ошибками - это запись микросхемы фрагментарно, причем повторные проходы записи никак не меняют результат. Микросхема при этом как правило не портится и после охлаждения Sterh st-007 дошивается корректно.

Программатор Sterh st-011 также работает с серией 1556 безо всяких проблем (прошивку секретных бит не проверял).

Кроме того, существует замечательный, но снятый с производства программатор Xeltek Superpro 3000u, который умеет шить серию 1556 под видом импортных аналогов от производителя TI. Причем, по моим наблюдениям, Xeltek 3000u справляется с данной задачей даже лучше, чем какой-либо Sterh.
Одним из холодных февральских вечеров, увидев скриншоты работающего Неон-эмулятора Titus'а (за который ему огромнейшая человеческая благодарность), впервые увидев на фото, как выглядел реальный Неон, влюбился с первого взгляда в это чудо агонизирующего советского компьютеростроения.

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

После недельных переговоров с авторами реплики стало ясно, что ни за деньги (им предлагалось 100 евро за фото демонтированного текстолита или 250 евро за уже имеющиеся у них трассировку и схему), ни бесплатно, делиться какими-либо материалами они не станут.
На тот момент у нас с Ритой осталась лишь надежда хотя бы выменять трассировку, схему и прошивки ПЛМ на хранящийся у Риты Неон (возможно, с разумной доплатой с нашей стороны). Ну ведь в самом деле, глупо делать второй раз уже сделанную работу и из-за этого портить почти единственный на свете Неон 90х годов? Где-то ещё неделю мы ждали милости из Германии (где проживает один из авторов первой рабочей реплики), то согласие получая, то отказ, в итоге получили неопределенный статус: типа буду думать и может быть когда-нибудь...
Единственное поступившее Рите предложение выглядело так: хранимый у Риты Неон в обмен на работающую реплику+250евро. Причем прогноза сроков готовности обменной реплики не было никакого.

В итоге, по сути, выбора у нас не осталось, и авторов реплики мы предупреждали (предупреждали, а не угрожали), что в случае их несогласия на обмен, нам, К ВЕЛИКОМУ СОЖАЛЕНИЮ, ПРИДЕТСЯ произвести демонтаж Ритиного Неона и начать (при неоценимой помощи остальных участников проекта) своими силами делать реплику Неона. Они свой выбор сделали, ну а мы свой.

Увы, на этом история не закончилась и с того дня в наш адрес полился сильнейший негатив, оскорбления, клевета (в т.ч. из под аккаунтов, написанием сильно похожих на мой или Ритин), угрозы (мне) физической расправы. К текущему моменту этот негатив в значительной степени погашен модераторами двух форумов (за что им огромная благодарность), но враждебный настрой авторов первой реплики всё равно чувствуется.

P.S. Наш проект не является никому конкурирующим - это всего лишь хобби заинтересованных лиц и желание сделать этот проект в каком-то смысле социальным и доступным каждому. Если не в виде железа, то хотя бы в виде полных исходников.



Ссылка на тему с эмулятором Союз-Неон ПК-11/16 (http://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html)

Ссылка на исходную страницу проекта (http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617), где в числе прочего можно найти перечень ЭК и варианты их замены.

Ссылка на журнал Downgrade 17'2016, содержащий интервью с Александром Гречишкиным, об истории разработки Союз-Неон ПК-11/16 и его программного обеспечения (http://dgmag.in/N17/DowngradeN17.pdf)

Больше фотоматериалов тут (http://files.pk-fpga.ru/storage/fotos/Souz-Neon/)

tnt23
06.08.2018, 22:36
Я уже всем надоел унылой пропагандой KiCad, но если б вы схему и плату делали в нем, желающих поколлаборационировать было бы больше как минимум на одного :)

Woland
16.08.2018, 11:40
Михаилом выполнена Ревизия №2 печатной платы:
- добавлен переключатель ПД19-2 в качестве кнопки Reset;
- разъем мыши выполнен как угловой DRB-09FA;
- добавлены крепежные отверстия под разъемы ОНП-КГ-56-XX;
- добавлены альтернативные площадки типа 0805 рядом с оригинальными площадками типа 1812 для чип конденсаторов;
- добавлена альтернативная площадка чип-типа 0805 под дроссель L1 рядом с резистором R72.

Ссылка выложена в соответствующем спойлере в первом посте.
5 плат уже заказаны в Китае 25.08.2018.

troosh
24.08.2018, 19:59
Может кому будет интересно, файлики по данной теме храню тут:

https://github.com/troosh/pk11-16
https://github.com/troosh/pk11-16/wiki

P.S. Пропаду ещё минимум недели на две - отдохнуть от всего тоже надо ведь.

Saar
26.09.2018, 10:58
А схема планируется к релизу?

Woland
01.11.2018, 09:41
А схема планируется к релизу?
Выложена в архивах вместе с трассировками.

В данный момент реплика считается условно-рабочей, плата стартует, пробегает счетчик памяти и появляется синий экран, но виснет после 5-10 минут прогрева. Если нажать Reset после прогрева - снова пробегает счетчик памяти, но синий экран уже не появляется. На локализацию слабых звеньев потребуется какое-то время. Прочий функционал платы пока не тестировался.

66792

Готовится к производству скорректированная плата:

Ревизия №2.1:
- fix error: соединены выводы 1 и 4 микросхемы D55 (V1);
- fix error: развернут наоборот диод VD11;
- сдвинуты влево разъемы XP4, XP5, XP7 для более точного соответствия отверстиям в корпусе;
- отцентрированы по корпусу нижнее левое крепежное отверстие и центральное;
- углублены грани большего выреза с правой стороны платы, иначе слегка упирались в крепежные стойки;
- расширены отверстия для крепления подстроечного конденсатора C33;
- скорректирована шелкография конденсатора C23;

troosh
15.11.2018, 23:13
вится к производству скорректированная плата:

Ревизия №2.1:

- Не жалейте доп. конденсаторов у PAL/GAL/РТ2 и ещё где возможно (если не потребуются - можно не запаивать);
- По возможности проводники питания сделать шире;

И да, таки не понял насчет перспектив появления посадочных мест для GAL26V12 поверх РТ2.



P.S. Круче рекомендации тут: http://www.bitsavers.org/components/latticeSemiconductor/_dataBooks/1991_Lattice_GAL_Data_Book.pdf (страницы 213-218, этот файл большой - ~18М, но статья по моему заслуживает быть вырезанной в отдельный файл (https://github.com/troosh/pk11-16/blob/master/PCB/AvoidThePitfallsOfHighSpeedLogicDesign.pdf)). Это что-то Букваря для разработчиков цифровых схем и печатных плат.

Woland
18.11.2018, 11:41
И да, таки не понял насчет перспектив появления посадочных мест для GAL26V12 поверх РТ2.
Уже заказано 20 плат белого цвета в текущей трассировке... Насчет GAL26V12 - я не увидел потребности в этом у большого числа людей... РТ2 дешевы, доступны, и пока я не заметил, чтобы они снижали надежность работы платы.

ram_scan
18.11.2018, 16:57
Уже заказано 20 плат белого цвета в текущей трассировке... Насчет GAL26V12 - я не увидел потребности в этом у большого числа людей... РТ2 дешевы, доступны, и пока я не заметил, чтобы они снижали надежность работы платы.

Просто галки шьются копеешным минипро, а РТ2 прошить нужно своеобразный программатор иметь который на каждом углу не валяется. Хотя можно переходник сделать, корпус галки уже корпуса РТшки, поэтому переходную плату изготовить проблем больших нет.

ram_scan
19.11.2018, 14:10
Кстати там еще и КМ1801РР1 прошивать надо, которые тоже в основном Стерх только умеет (поправьте, если ошибаюсь).

Для 1801РР1 есть вполне рабочий "РЕмулятор", который у тутошнего народу вполне успешно фунциклирует в БКшках. Можно попробовать эту сову на глобус натянуть.

perestoronin
20.11.2018, 00:12
а с 1556 - т.к. их и сложнее заменить и количество их больше в 4.5 раза.
Замены есть на ATF, должны работать, т.к. после пропускания через pal2gal ничего в прошивке не изменилось, кроме как добавились строчки для конфигурации выходов V8, чтобы V8 повторяли старые микросхемы, "всего лишь" осталось номиналы обвеса подобрать, а кое-где новый обвес добавить.

GAL26V12 поверх РТ2.
можно, но лишне пока РТ2 не все из Митино распроданы

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

perestoronin
26.12.2018, 22:45
Для прошивки 1556 в любом случае как минимум надо приобретать Стерх-011 или Стерх-007
Не надо никому ничего из программаторов приобретать.
Кому Woland не прошьет, я прошить попробую, тема в барахолке (https://zx-pk.com/forum/viewtopic.php?f=11&t=3729).
Но микросхемы 1556 и их аналоги будут Ваши, я пока не закупал их. Все ещё надеюсь, что удастся пристроить и ATF16V8 на все позиции.
РТ2 в наличии больше 10 шт и Стерхов-007 два, холодильник тоже есть, морозит хорошо Стерхи, да так что оба шьют РТ2 даже 92 года.

AFZ
27.12.2018, 06:19
Уже заказано 20 плат белого цвета в текущей трассировке Не понял, зачем белого? Ведь через белое покрытие дорожки, обычно, совсем не видно.

troosh
27.12.2018, 08:21
Но микросхемы 1556 и их аналоги будут Ваши, я пока не закупал их. Все ещё надеюсь, что удастся пристроить и ATF16V8 на все позиции.

Я так понял, вряд-ли - решили красоту не портить, конденсаторы не подбирать у кварца, новые конденсаторы, а тем более резисторы не добавлять...


РТ2 в наличии больше 10 шт

Я тут чешу репу, зачем китайцев напрягал, заказывал?.. вот лежат в тумбочке три десятка GAL26V12 (с суффиксами -15 и -20). А кто же делать платки-переходники будет, паять это все будет и куда-то втыкать? Я же спец по "мягкому", а не по "жесткому" - не моё это, я могу софт/прошивки сделать, но не паять...

Та же хрень с контроллерами флопов n82077sl/pc8477bv-1, ещё где-то в пути 8-ми пиновые сепараторы для флопа (если нет желания радикально упрощать контроллер)...

perestoronin
27.12.2018, 09:11
Я так понял, вряд-ли - решили красоту не портить, конденсаторы не подбирать у кварца, новые конденсаторы, а тем более резисторы не добавлять...
Красоту чтобы не портить, smd мелочь паять и клеить на обратной стороне платы можно.

Я тут чешу репу, зачем китайцев напрягал, заказывал?.. вот лежат в тумбочке три десятка GAL26V12 (с суффиксами -15 и -20). А кто же делать платки-переходники будет, паять это все будет и куда-то втыкать? Я же спец по "мягкому", а не по "жесткому" - не моё это, я могу софт/прошивки сделать, но не паять...

Та же хрень с контроллерами флопов n82077sl/pc8477bv-1, ещё где-то в пути 8-ми пиновые сепараторы для флопа (если нет желания радикально упрощать контроллер)...
Не знаю кто будет. Денег нет. И платы пока только белые, для конечных пользователей.
Можете попробовать с коллегой списаться из турецкого университета, он как раз ваяет Днепр2016... (https://zx-pk.com/forum/viewtopic.php?f=6&t=11871&p=115694&hilit=%D0%94%D0%BD%D0%B5%D0%BF%D1%80+2016#p115697) в перерывах между запусками спутников, он где-то мелкие платки заказывает по 2 доллара за шатл с несколькими платками. Возможно он подсобит, нарисует и закажет платок прямо на Ваш ящик почтовый.

AFZ
27.12.2018, 12:18
Я тут чешу репу, зачем китайцев напрягал, заказывал?.. вот лежат в тумбочке три десятка GAL26V12А чем их шить? Бластер может? Блин, сильно понравились...

Woland
27.12.2018, 14:16
Я так понял, вряд-ли - решили красоту не портить, конденсаторы не подбирать у кварца, новые конденсаторы, а тем более резисторы не добавлять...
Основные задачи не решены, потому браться за второстепенные ресурсов нет. Кроме того, "выхлоп" всех этих телодвижений для меня слегка туманен. Ну т.е. когда станет очевидно, что без этого почти никак не обойтись - тогда появится желание за это взяться.

AFZ
28.12.2018, 05:35
А чем их шить? Бластер может? Блин, сильно понравились...Сам разобрался. GALblast может, ATFblast - нет.

MM
15.01.2019, 00:22
Не будет ли возможности выложить дампы прошивок 1801РР1 в 100% виде ( для ознакомления через DESS ) и указать их начальный адрес ?

Woland
15.01.2019, 00:44
А как это в 100%, разве вычитка стерхом это не 100% дамп?

MM
15.01.2019, 02:45
А как это в 100%, разве вычитка стерхом это не 100% дамп?
Нет, там с точки зрения Интел всё представлено.
*
Здесь как раз в 100% формате + какой-то хвост :
http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617

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

Начало младшей 1801РР1 ( 000000 адрес ) :
https://pic.maxiol.com/thumbs/1547509360.531453181.1116000000.jpg (https://pic.maxiol.com/?v=1547509360.531453181.1116000000.jpg)https://pic.maxiol.com/thumbs/1547509462.531453181.1116000400.jpg (https://pic.maxiol.com/?v=1547509462.531453181.1116000400.jpg)
С 500 адреса идет распаковщик.
РНП=000000.
Следует учитывать, что 1801РР1 в М-ЭВМ сидят на инверсной шине, т.е. младшая РР1 - на 160000 адресе, старшая - на 140000.

При внимательном осмотре Э3 выяснилась интересная деталь - МПИ на разъемах инвертирована.:eek:

Woland
15.01.2019, 09:14
Нет, там с точки зрения Интел всё представлено.
CD-Inc недавно выложил утилиту SterhToROM (http://forum.pk-fpga.ru/download/file.php?id=483) для конвертации - может это то, что нужно, если нет - то не знаю, чем помочь.
troosh вроде исходники прошивки выкладывал..

AFZ
16.01.2019, 11:37
При внимательном осмотре Э3 выяснилась интересная деталь - МПИ на разъемах инвертирована.То есть высокий уровень - единица, низкий - ноль, да?

Daniil Chislov 86
11.03.2019, 06:57
А проект уже готов ? Посмотреть на него можно ?

S_V_B
11.03.2019, 08:31
Владельцам УКНЦ.. скидка 10% :)

Woland
11.03.2019, 09:21
А проект уже готов ? Посмотреть на него можно ?
Готов, но не вполне протестирован. МФМ-диск работает крайне нестабильно, флоппи-контроллер портит загрузочные дискеты после первой же успешной загрузки; принтер, мышь, RS-232 вообще никак не тестировались.
В течение пары недель планирую завершить сборку экземпляра для Риты, тогда и выложу фото.

troosh
11.03.2019, 12:18
msg timeout

zebest
11.03.2019, 14:37
Для первоначального пуска Seagete St-225 на Неоне необходимо загрузиться с дискеты

в личных завалах металллома нашел два штук SeagAte, один из них 225, другой наверное 250? Один в полной комплектации, плата откручена, и все, без следов вандализму, а второй без платы, чисто железка неподъемной тяжести. Выкинуть совсем рука не поднялась. Работоспособность точно неизвестна. Так то и 286ю какую запустить можно, и плата контроллера какая то валялась. возможно и мфм-ная. Но точно лень))

S_V_B
11.03.2019, 14:46
Дверь на балконе очень хорошо подпирает...

zebest
11.03.2019, 14:53
ну да)) А кто-то скажет - варвары и вандалы) Сам 3.5" HDD как подставку под шкаф использую, подходящей толщины оказалось. Высокотехнологично, чО.

Daniil Chislov 86
07.04.2019, 11:23
Woland, ну и фиг с ним интересно на трассировку посмотреть )

MiX
27.04.2019, 12:16
ix error: развернут наоборот диод VD11;
Вчера посмотрел схему подзарядки. Получается что подзарядка идет от 12в через резистор R28, а диод VD11 удерживает его до 5в. Почему так сделано, скорее потому чтобы разгрузить блок питания по 5в. При этом при включении, так как 5в больше нагружено, то 12в вырабатывается быстрее и через R28 и VD11 пойдет (12в) на шину 5в. Конечно мощности не хватит чтобы запитать 12вольтами, но для старта помогает подзарядить емкости на плате.

Тем не менее, такую схему я бы не использовал. Можно вместо VD11 поставить резистор R28, тогда подзарядка будет идти от 5в и исключается риск подачи 12в (например при развернутом диоде и отсутствующей батарейки).

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

Да, вместо R28 ничего ставить не надо.
Непонятно зачем ещё подключены ноги процессора 41,42 на подзарядку (в схеме этого не указано, но на плате есть).

Hyperborean
27.04.2019, 12:45
От 12 вольт зарядка запитана для лучшей стабилизации тока заряда аккумулятора (при зарядке от 5В падение на резисторе было бы от 1 до 2В), диод нужен чтобы защитить часы при отключенном или вышедшем из строя аккумуляторе

MiX
27.04.2019, 13:09
От 12 вольт зарядка запитана для лучшей стабилизации тока заряда аккумулятора
Если на то пошло то СЦ32 вообще не аккумулятор, и ток там условно для подзарядки. В случае отсутствия батарейки даёт запуск часов при старте.
Чем 5в хуже стабилизировано?


при зарядке от 5В падение на резисторе было бы от 1 до 2В
В случае сильно разряженного элемента, и 12в не спасет, падение тоже будет, ну может менее чем на 5в.
В любом случае просадка со временем поднимется.


диод нужен чтобы защитить часы при отключенном или вышедшем из строя аккумуляторе
Я и написал что удерживает.

Hyperborean
27.04.2019, 13:24
Если там не аккумулятор был, то моя теория конечно неверна. В таком случае версия о переходных процессах при включении более реалистична.
При изменении падения от 1 до 2 вольт ток будет плавать в 2 раза, а в случае падения 8-9 вольт ток меняется незначительно.

troosh
27.04.2019, 22:24
Непонятно зачем ещё подключены ноги процессора 41,42 на подзарядку (в схеме этого не указано, но на плате есть).

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

Woland
04.05.2019, 21:21
Собрал первую паяную реплику, перенеся на нее микросхемы и Ритин процессор со стендовой реплики. В целом всё хорошо, только вот нелокализованный глюк порчи образов дискет во время загрузки, перешел со стенда на реплику, а на стенде наоборот, устранился. Теперь не очень понятно, где искать проблему, но точно исключены V1, V2, V6, V8, V9, также исключена микросхема контроллера дисковода.

Есть у кого предположение наиболее вероятных виновников?

MM
04.05.2019, 21:26
Есть у кого предположение наиболее вероятных виновников?
Поддайте питания изделию вольт так до 5.80 - может будет получше ?
Или на вход CLK ВМ2 поставить делитель на 2 без поднятия питания - будет ли этот баг ?
https://pic.maxiol.com/thumbs/1556994611.531453409..jpg (https://pic.maxiol.com/?v=1556994611.531453409..jpg)

MiX
04.05.2019, 22:32
Поддайте питания изделию вольт так до 5.80 - может будет получше ?
Чтобы получше дымил? Там и так м/х в горячем режиме, зачем добивать?



Или на вход CLK ВМ2 поставить делитель на 2 без поднятия питания
Причем тут процессор?



а на стенде наоборот, устранился.
Какие действия были произведены?

глюк порчи образов дискет
Эмулятор? Если там защита от записи?

MM
04.05.2019, 23:01
Чтобы получше дымил? Там и так м/х в горячем режиме, зачем добивать?
Подозревается проц, переразогнанный свыше всех допустимых и не допустимых пределов ( 6 мгц - экспериментальный максимум при +5.00 в, и до 7.00 мгц из некотрых свежих партий).


Причем тут процессор?
Сначала читаем ТО, потом задаем вопросы.

Woland
05.05.2019, 00:20
Поддайте питания изделию вольт так до 5.80 - может будет получше ?
Или на вход CLK ВМ2 поставить делитель на 2 без поднятия питания - будет ли этот баг ?
На мой взгляд это едва ли имеет смысл, поскольку с тем же процессором, на той стендовой плате, при том же блоке питания с какого-то момента Неон начал корректно работать с дисководом (после замены какой-то микросхемы).


Какие действия были произведены?
Микросхемы партиями переносились на новую плату, вместо них в стенд втыкались новые и периодически проверялось - ушла ли проблема. Но когда она ушла, я уже запутался и даже примерно не смог понять, какая микросхема помогла в этом (при том, что все они, включая битую, уже запаяны в новую нестендовую реплику).


Эмулятор? Если там защита от записи?
Разницы нет, глюк и в эмуляторе проявляется и на реальных дискетах, а защита от записи не спасает хотя бы потому, что загрузка подразумевает какую-то запись на дискету в процессе загрузки, и если стоит защита - загрузка штатно прерывается.

На текущий момент исключены V1, V2, V6, V8, V9, P1, P2, P4, ВГ72.

MM
05.05.2019, 00:37
глюк и в эмуляторе проявляется и на реальных дискетах
Ну коли и в эмуляторе - тогда нет вопросов :v2_conf3:

Woland
05.05.2019, 01:31
Ну коли и в эмуляторе - тогда нет вопросов :v2_conf3:
Я имел ввиду эмулятор дисковода.

MM
05.05.2019, 02:58
Я имел ввиду эмулятор дисковода.
Значит, имеет место "сбой М-ЭВМ".
Методика поиска источника неисправности :
1. Делим тактовую ВМ2 на 2 :
сбой остался ?
Если да, значит ошибка в логике работы контроллеров ( может быть почти любой ИС М-ЭВМ ).
Если нет - возможные варианты :
1.1. Ошибка логики ВМ2 из-за переразгона.
1.2. Ошибка логики контроллеров из-за недостаточного быстродействия отдельно взятой ИС контроллера.
1.3. Звон шины. Диагностируется установкой кучки антизвонных конденсаторов на шину, в районе 10...43 пф.( все конды = одинаковые ) на все быстрые линии.

Вообще целесообразно было бы установить плавно перестраиваемый ген таковой на ВМ2, для определения порога частоты возникновения сбоя.

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

Почему предлагал временно повысить напряжение питание М-ЭВМ - с повышением питания поднимается максимальное быстродействие ИС, особенно КМОП.

svinka
05.05.2019, 11:20
методика видится такая

выкусывайте по одной микросхеме с новой платы и переносите с работающего стенда

начиная с тракта накопителей потом где временные цепочки формируются

еще может диспетчер памяти глючить

troosh
05.05.2019, 11:29
1.3. Звон шины. Диагностируется установкой кучки антизвонных конденсаторов на шину, в районе 10...43 пф.( все конды = одинаковые ) на все быстрые линии.

Кстати, сокеты на стенде это не только плохие контакты, а также дополнительные ёмкости и индуктивности. Паразитные,.. но могут как раз гасить звон.
Ну а диагностировать лучше хорошим осциллографом, а не "ковровой" установкой конденсаторов.

Woland
05.05.2019, 13:39
Проблема устранена, битой была одна из двух, точнее скажу позднее: P10 или V4. Но теперь выяснилось, что не работает МФМ-винт. Симптомы таковы - разметка дорожек сначала проходила штатно, было слышно перемещение головок, но разметка разделов была неуспешной (размер устройства не определен, ошибка при чтении оглавления). После этого даже разметка стала проходить как-то странно - проскакивает за несколько секунд без звука перемещения головок.
И еще важный симптом: при полностью исправной системе, на старте машины головки винта позиционируются к 0-дорожке и подергиваются там какое-то время в поиске загрузочного сектора - слышен характерный звук. Так вот сейчас этого звука не слышно.

На каких ногах каких микросхем можно проверить наличие-отсутствие этого сигнала, который вызывает подергивание головок в области нулевого сектора?

MiX
05.05.2019, 14:25
На каких ногах каких микросхем можно проверить наличие-отсутствие этого сигнала, который вызывает подергивание головок в области нулевого сектора?
Cигнал ШАГ (STEP) на разъёме. Но винт должен сам позиционироваться после включения, даже при подключении только питания.

Woland
05.05.2019, 15:12
Cигнал ШАГ (STEP) на разъёме. Но винт должен сам позиционироваться после включения, даже при подключении только питания.
Винт позиционируется на старте, но подергивания в попытках чтения нету. На ноге 27 (STEP) контроллера ВГ7 ничего нет. Как предшествующий путь сигнала проходит, где его искать до ВГ7 ?

MiX
05.05.2019, 15:22
На ноге 27 (STEP) контроллера ВГ7 ничего нет. Как предшествующий путь сигнала проходит, где его искать до ВГ7 ?
Контроллер сам подает сигнал на винт, но до этого должна поступить команда на контроллер, и если входящие сигналы его устроят (например готовность) то далее даёт Шаг если нужно переставить головы на другие дорожки. Примерно так.

Woland
08.05.2019, 14:18
Напаял панельку под Н1806ВМ2 на проводках - по 100шт луженые продаются в ПРОФИ, очень удобно и быстро. Как закрепить конструкцию, еще не придумал, но уже попробовал протестировать 14 процессоров двукратным проходом демки:
- 7шт полностью успешно!
- 3шт виснут еще на счетчике памяти при старте машины, или в ходе загрузки с дискеты;
- 4шт виснут при первом прогоне демки, например в момент демонстрации смены яркости окна.

Пока выборка не репрезентативна, но уже вырисовывается статистика около 50% годных. Зависимость от года/партии пока не заметил.

Есть еще одно не очень приятное наблюдение. Серия 1556 при успешной прошивке совершенно не гарантирует 100% работоспособность. Прошил КМ1556ХЛ8-P10 и при первом же использовании увидел (т.к. поменял только её), что машина стала виснуть не доходя до конца загрузки системы. Сначала думал, что виноваты ВМ2 и менял их несколько раз, но потом все-таки вычислил, что новая КМ1556ХЛ8-P10 - битая и после её замены машина снова заработала стабильно.
При этом, читается и верифицируется с исходной прошивкой эта КМ1556ХЛ8-P10 нормально.

Другой экземпляр КМ1556ХЛ8-P10 тоже читается корректно, машина с ним работает стабильно, но при записи портит содержимое дискет!

troosh
08.05.2019, 16:47
Выглядит так, будто каждый экземпляр обладает сильно разным быстродействием (достаточным чтоб выйти из зоны стабильной работы схемы). Перед глазами нет схемы, но если там именно на этом чипе висят RC- цепочки и прочие аналоговые извраты, то могут сказываться различные аналоговые параметры чип (емкости, токи, сопротивления и прочее), что никак на логику работы не влияют, а совместно с аналоговой обвязкой дают глюк.

MM
08.05.2019, 16:53
Не будет ли возможности привести скриншот осциллограммы тактового сигнала Н1806ВМ2 ?

Woland
09.05.2019, 22:40
Не будет ли возможности привести скриншот осциллограммы тактового сигнала Н1806ВМ2 ?

Позднее.

С Днем Победы, товарищи!!! Только что победил первую нестендовую реплику - работают fdd и hdd, причем вся разметка hdd происходит без единой ошибки, чего ещё практически ни разу не было!

̶Б̶у̶д̶у̶ ̶г̶о̶т̶о̶в̶и̶т̶ь̶ ̶м̶а̶ш̶и̶н̶у̶ ̶к̶ ̶т̶о̶р̶ж̶е̶с̶т̶в̶е̶н̶н̶о̶ м̶у̶ ̶в̶р̶у̶ч̶е̶н̶и̶ю̶ ̶Р̶и̶т̶е̶. Фото отчет будет на днях.

Блин, поторопился, вылез глюк в видеочасти - когда в самом начале демки выводится текст на светло-голубом фоне, то у него отсутствуют части символов, как будто отдельные укрупненные пиксели пропали.
Новый гемор - опять искать непонятно где наугад.

svinka
10.05.2019, 04:55
Woland, а что пришлось отладить?? где были косяки???

Woland
10.05.2019, 11:36
Woland, а что пришлось отладить?? где были косяки???

Не очень понятно, то ли таймер дохлый был, то ли контроллер ВГ7, то ли подсьроечный резистор рядом с таймеров повлиял, или всё сразу..

svinka
11.05.2019, 11:22
4мб памяти завелось???

для машинки бы отдельный раздел на форуме. так как она аппаратно не 100 проц pdp-11 совместимая

Woland
13.05.2019, 01:46
4мб памяти завелось???
Пока только обычные модули спаял, 4 модуля спаять - задача не из легких, штыри норовят перекоситься, и лудятся просто никак, приходится кислотой обильно поливать. Если битая РУ7 попадается - потом наугад искать. Короче 4 модуля чуть ли не сутки изготавливал.


скриншот осциллограммы тактового сигнала Н1806ВМ2 ?
https://i.ibb.co/BN11bBG/20190512-221119.jpg (https://ibb.co/BN11bBG)


когда в самом начале демки выводится текст на светло-голубом фоне, то у него отсутствуют части символов
Оказалась битой V4, спасибо за подсказку pilgrim. Теперь машинка работает идеально, в том числе в МФМ-части, и в закрытом корпусе перегрев не приводит к зависанию. Осталось мышь, принтер и rs-232 проверить, но в целом, считаю, проект выполнен. В скором будущем начну продажи реплик и конструкторов.

CodeMaster
13.05.2019, 08:04
Оказалась битой V4
А почему они мрут при переносе с рабочего стенда?

Woland
13.05.2019, 11:11
А почему они мрут при переносе с рабочего стенда?
P10 была дохлая изначально, просто не сразу это было понятно, причины глюков с порчей дискет могли быть какие угодно.
V4 была изначально запаяна рабочая, а потом в процессе поиска глюков с записью дискет, была заменена на недостаточно проверенную новую V4, которая и привнесла глюк.

Фотоотчет в первом посте темы. (https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html)
Также, зеркалкой Canon EOS 700D снято новое видео работающего экземпляра, подготовленного для передачи Рите, использован апскейлер OSSC + 2k монитор.
В начале видео получился расфокус, т.к. за 2 часа возни с зеркалкой я так и не понял, как отключить автофокус в режиме видео (не помог даже рычажок отключения на объективе): при потере контрастности (черный экран для автоматики фотоаппарата = потеря контрастности), фотоаппарат начинает судорожно её искать автофокусом. Также, в борьбе с жутким муаром, намеренно приходится делать легкий расфокус картинки:

https://www.youtube.com/watch?v=XqkVbPySuAo

Titus
13.05.2019, 13:21
зеркалкой Canon EOS 700D снято новое видео работающего экземпляра
Спасибо за четкое видео!
Теперь есть информация для анализа, как сделать бордюры окон такими, какими они должны быть)

Woland
17.05.2019, 18:00
Есть возможность заказать большие количества (от 500шт) HM511000AP-12 (DIP) по очень хорошей цене. Значительно ли будет отличие от TC511000P-10 или можно смело брать?

svinka
17.05.2019, 18:37
Есть возможность заказать большие количества (от 500шт) HM511000AP-12 (DIP) по очень хорошей цене. Значительно ли будет отличие от TC511000P-10 или можно смело брать?
Так посмотрите осциллографом с какой скоростью идет обращение к памяти и сравните с пдфкой на 120наносекундную память
Все остальное у HM511000AP стандартное

zx_
18.05.2019, 11:07
st225 на амазоне продают
https://www.amazon.com/gp/offer-listing/B00456ZFZA/ref=dp_olp_all_mbc?ie=UTF8&condition=all

Titus
18.05.2019, 12:12
Почитал тему внимательнее.

Надо же какой масштабный проект заварился в том числе с подачи моего эмулятора)

troosh
18.05.2019, 13:59
Надо же какой масштабный проект заварился в том числе с подачи моего эмулятора)

Думаю важнее было сохранить/оцифровать ПО девайса, это история...При наличии эмулятора найдутся и те, кто хотя бы сохранит софт. Для меня это, наверное, было основным мотивом пока пилил эмулятор FreeDO.

Woland
30.05.2019, 22:17
Так посмотрите осциллографом с какой скоростью идет обращение к памяти и сравните с пдфкой на 120наносекундную память
Все остальное у HM511000AP стандартное

Посмотрели с Pilgrim тайминги даташитов HM511000AP-12 и РУ7 - там все в порядке, запас есть, так что заказал 500шт HM511000AP-12. Теперь все варианты конструкторов Неонов можно будет комплектовать модулями 4мб ОЗУ.

Благодаря трудам Уважаемого Vslav, в первом посте в спойлере с трассировками плат добавились:
- пассивный переходник-разветвитель с разъема XP3 -> MFM-винт, дисковод + вывод питания для них наружу: 40pin-to-MFM-FDD-adapter.zip (https://zx-pk.ru/attachment.php?attachmentid=69141&d=1559243248)
- прокладка для разъемов СНП15-48/80-10Р-19-2 в виде текстолита без металлизации (производителю это лучше пояснять): SNP-15.ZIP (https://zx-pk.ru/attachment.php?attachmentid=69142&d=1559243254)
Оригинальная прокладка была из пластика толщиной 3мм, поэтому следует заказывать прокладку из текстолита схожей толщины, или по две прокладки на каждый разъем, одну толщиной 1мм, другую 2мм (я выбрал такой вариант с целью удешевления)

В связи с тем, что у меня фактически кончились КМ1801РР1, и конструкторы Неона будет нечем комплектовать помимо РЕмуляторов, очень разыскивается (https://zx-pk.com/forum/viewtopic.php?f=5&t=13486) партия КМ1801РР1 как можно большего объема.

Manwe
31.05.2019, 00:07
за 2 часа возни с зеркалкой я так и не понял, как отключить автофокус в режиме видеопоставить объектив без автофокусировки :)

Woland
28.07.2019, 00:01
Просто галки шьются копеешным минипро, а РТ2 прошить нужно своеобразный программатор иметь который на каждом углу не валяется. Хотя можно переходник сделать, корпус галки уже корпуса РТшки, поэтому переходную плату изготовить проблем больших нет.
Для прошивки 1556 в любом случае как минимум надо приобретать Стерх-011 или Стерх-007, а они оба так или иначе умеют шить РТ2. Либо тогда уж поиски замены надо начинать не с РТ2, а с 1556 - т.к. их и сложнее заменить и количество их больше в 4.5 раза.
Т.е. на мой взгляд, замена РТ2 без замены 1556 никак не упростит задачу программирования комплекта микросхем под Неон. Кстати там еще и КМ1801РР1 прошивать надо, которые тоже в основном Стерх только умеет (поправьте, если ошибаюсь).

Китайцы сработали оперативно и уже прислали HM511000AP, причем прислали все 500шт именно -10, учтя мою просьбу. Уже проверил 8шт из партии - полет нормальный.

Приехали 10шт аккумуляторов 10Pcs-Ni-MH-Button-Rechargeable-Battery-w-tabs-4-8V-20MAH-For-PLC-backup-power (https://www.ebay.com/itm/10Pcs-Ni-MH-Button-Rechargeable-Battery-w-tabs-4-8V-20MAH-For-PLC-backup-power/321869783509?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649)

Опробовал первый на стендовом Неоне, 10 суток часы идут как положено. Так что аккумуляторам подобрана четкая замена.

Очередная насущная проблема: на Неоне не работает мышь MSX (проверял в оболочке ASPEKT). Проверка производилась как с оригинальной заведомо рабочей мышью MSX, так и с двумя типами адаптеров для мыши PS/2, тоже заведомо рабочими. Сама схема включения мыши работает корректно - сигналы от движения мыши поступают в регистр, но дальше ничего не понятно((. Есть у кого идеи? Пробовал заменять КР580ВВ55А и ПЛМ P5 - не помогло. Может ли проблема быть программной, учитывая, что в эмуляторе Неона на этом же образе дискеты мышь работает?

Titus
28.07.2019, 11:36
Очередная насущная проблема: на Неоне не работает мышь MSX (проверял в оболочке ASPEKT). Проверка производилась как с оригинальной заведомо рабочей мышью MSX, так и с двумя типами адаптеров для мыши PS/2, тоже заведомо рабочими. Сама схема включения мыши работает корректно - сигналы от движения мыши поступают в регистр, но дальше ничего не понятно((. Есть у кого идеи? Пробовал заменять КР580ВВ55А и ПЛМ P5 - не помогло. Может ли проблема быть программной, учитывая, что в эмуляторе Неона на этом же образе дискеты мышь работает?

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

Woland
28.07.2019, 11:57
В эмуляторе может быть эмулируется совсем другая мышь, не от MSX. Попробуй другой драйвер мыши. Я помню, что видел два драйвера на дискетках.
Я не силен в RT-11- может подскажете конкретнее, какие файлы попробовать и как это сделать?

И еще - полноценный тест памяти нигде не встречали случайно на дискетах?

Titus
28.07.2019, 12:18
Я не силен в RT-11- может подскажете конкретнее, какие файлы попробовать и как это сделать?
На дискете с ОС Аспект я вижу три драйвера:
MS.PRC - это, наверное, тот, который по умолчанию, и который я поддержал в эмуляторе (самая кривая и сложная мышь).
MSC.PRC - это какая-то slavic-мышь, не знаю, что за мышь
MSXC.PRC - это как раз мышь от MSX (если верить надписи внутри).

Попробуй просто переименовать MSXC.PRC в MS.PRC, и при загрузке системы загрузится драйвер от MSX.
Теоретически, я не пробовал на практике)

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


И еще - полноценный тест памяти нигде не встречали случайно на дискетах?
Не встречал.

Woland
28.07.2019, 14:35
Попробуй просто переименовать MSXC.PRC в MS.PRC, и при загрузке системы загрузится драйвер от MSX.
Теоретически, я не пробовал на практике)
Попробовал, предварительно удалив MS.PRC.
С переименованным драйвером всё идентично - на Неоне мышь не работает, но в эмуляторе мышь с переименованным драйвером работает как ни в чем не бывало. Может просто по-прежнему грузится старый файл... Смущает то, что "MSXC.PRC" упорно не хочет переименовываться в "MS.PRC", а переименовывается в имя с пробелом "MS C.PRC". Такая картина как при переименовании на Неоне, так и при переименовании в программе bkde.exe на PC.

xolod
28.07.2019, 14:36
На дискете с ОС Аспект я вижу три драйвера:
MS.PRC - это, наверное, тот, который по умолчанию, и который я поддержал в эмуляторе (самая кривая и сложная мышь).
MSC.PRC - это какая-то slavic-мышь, не знаю, что за мышь
MSXC.PRC - это как раз мышь от MSX (если верить надписи внутри).

Попробуй просто переименовать MSXC.PRC в MS.PRC, и при загрузке системы загрузится драйвер от MSX.
Теоретически, я не пробовал на практике)

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


Не встречал.
А это обычные rt-11драйвера?
А как должна передовать данные мышка для первого драйвера?

Titus
28.07.2019, 17:57
А это обычные rt-11драйвера?
А как должна передовать данные мышка для первого драйвера?
Вряд ли, т.к. они под систему Аспект.
Откуда я знаю, какие)
Я драйвер ковырял ровно на столько, чтобы понять, как он функционирует в плане работы железа мышки. И все. С системной точки зрения мне это было не интересно. Да и не разбираюсь я особо в РТ-11)

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


Попробовал, предварительно удалив MS.PRC.
С переименованным драйвером всё идентично - на Неоне мышь не работает, но в эмуляторе мышь с переименованным драйвером работает как ни в чем не бывало. Может просто по-прежнему грузится старый файл... Смущает то, что "MSXC.PRC" упорно не хочет переименовываться в "MS.PRC", а переименовывается в имя с пробелом "MS C.PRC". Такая картина как при переименовании на Неоне, так и при переименовании в программе bkde.exe на PC.

Я работаю с файлами RT-11 только в тотал коммандере через плагин Патрона.
Все там переименовывается и копируется.
Поставил драйвер от msx, система Аспект при сагрузке выскочила в отладчик. Вполне такое может быть, мышки-то нет)

xolod
28.07.2019, 18:25
Я драйвер ковырял ровно на столько, чтобы понять, как он функционирует в плане работы железа мышки.

Вот это и интересно, какой там протокол обмена сигналами с мышкой?
Может можно какую-то другую мышку подключить..

Woland
28.07.2019, 22:33
Поставил драйвер от msx, система Аспект при сагрузке выскочила в отладчик. Вполне такое может быть, мышки-то нет)
Увы, на реальном Неоне с подключенной мышкой то же самое. С помощью эмулятора возможно локализовать причину вылета в отладчик?


Вот это и интересно, какой там протокол обмена сигналами с мышкой?
Может можно какую-то другую мышку подключить..
Драйвер под мышь slavic - какая-то "славянская" мышь, может ли это быть Марсианка? Если нет, то какая из советских мышей по принципу действия похожа на MSX?

Titus
29.07.2019, 02:38
Увы, на реальном Неоне с подключенной мышкой то же самое. С помощью эмулятора возможно локализовать причину вылета в отладчик?
Теоретически можно, но это надо разбираться)

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


Вот это и интересно, какой там протокол обмена сигналами с мышкой?
Может можно какую-то другую мышку подключить..
А вот этого я не знаю) Не разбирался же)

Woland
29.07.2019, 11:01
Может кто программку написать для опроса порта мыши напрямую, без драйвера? А то видимо другого выхода нету, как смотреть, что в регистре реал-тайм происходит.

Titus
29.07.2019, 14:28
Может кто программку написать для опроса порта мыши напрямую, без драйвера? А то видимо другого выхода нету, как смотреть, что в регистре реал-тайм происходит.
Как можно написать программу, если не известно, как работает мышь и на каких портах)

xolod
29.07.2019, 14:46
Как можно написать программу, если не известно, как работает мышь и на каких портах)
1.10. ПРОГРАММИРУЕМЫЙ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС
ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС МОЖЕТ ИСПОЛЬЗОВАТЬСЯ ДЛЯ
ПОДКЛЮЧЕНИЯ К МИКРО-ЭВМ РАЗЛИЧНОГО ДОПОЛНИТЕЛЬНОГО ОБОРУ-
ДОВАНИЯ, ВКЛЮЧАЯ ПРИНТЕР. ИНТЕРФЕЙС РЕАЛИЗОВАН НА ОСНОВЕ
БИС КР580ИК55. УСТАНОВКА РЕЖИМОВ РАБОТЫ ДОЛЖНА ВЫПОЛНЯТЬ-
СЯ ПРОГРАММНО. ПРЕРЫВАНИЯ ПРИ РАБОТЕ С ИНТЕРФЕЙСОМ
ОТСУТСТВУЮТ. УПРАВЛЕНИЕ ПРОГРАММИРУЕМЫМ ИНТЕРФЕЙСОМ ОСУ-
ЩЕСТВЛЯЕТСЯ ПОСРЕДСТВОМ НАБОРА РЕГИСТРОВ, ИМЕЮЩИХ СЛЕДУЮ-
ЩИЙ ФОРМАТ:

PPICSR (177520) - РЕГИСТР УПРАВЛЕНИЯ ИНТЕРФЕЙСА:

PPIC (177522) - РЕГИСТР ПОРТА "C"

PPIC (177524) - РЕГИСТР ПОРТА "B"

PPIC (177526) - РЕГИСТР ПОРТА "A"

Интерсует порт С, старшие четыри бита.

pilgrim
30.07.2019, 12:30
Порты вв55 в Неоне имеют следующие значения (в т.ч. и мыши):
PPIA - 161030
PPIB - 161032
PPIC - 161034
PPIP - 161036

xolod
30.07.2019, 14:43
Порты вв55 в Неоне имеют следующие значения (в т.ч. и мыши):
PPIA - 161030
PPIB - 161032
PPIC - 161034
PPIP - 161036

Интересно, а если не секрет это от куда информация?

pilgrim
30.07.2019, 16:24
Это информация из тех описания на союз-неон, здесь главное не путать его с просто пк11. Дополнительно проверил по какому адресу формируется cs для вв55 в Р5. С описанием совпало.

troosh
31.07.2019, 09:15
И еще - полноценный тест памяти нигде не встречали случайно на дискетах?

"в образе ms_010.dsk встречаю программку RAMCH.SAV с такими забавными строчками внутри:

Код:
RAMCH(08-Feb-94):Неисправная память замаскирована Результаты проверки памяти программой RAMCH Проверка сделана Тест памяти Создаются файлы SY:BADRAM.SAV и SY:BADRAM.LST Проверяем свободную память. Проверяем занятую память Всё О.К..
... "
(продолжение тут) (https://zx-pk.ru/threads/29092-replika-pk-11-16.html?p=987959&viewfull=1#post987959)

Woland
31.07.2019, 11:36
в образе ms_010.dsk
А где этот образ взять?

По мыши у Юрия Савчука есть рукописные комментарии в доке:

MSXC - эмулятор мыши MSX
MSCR - эмулятор мыши Корвет
MSC - эмулятор "мыши" альт. клавиш

Titus
31.07.2019, 13:52
По мыши у Юрия Савчука есть рукописные комментарии в доке:

MSXC - эмулятор мыши MSX
MSCR - эмулятор мыши Корвет
MSC - эмулятор "мыши" альт. клавиш

На диске не было MSCR, была только MS, значит, возможно, наша мышь по умолчанию - это и есть корветовская.

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


По мыши у Юрия Савчука есть рукописные комментарии в доке:
Ссылку дай, где именно.

Woland
31.07.2019, 14:41
Ссылку дай, где именно.
Нету ссылки, это он мне в письме сообщил.


наша мышь по умолчанию - это и есть корветовская.
Что же, буду искать корветовскую мышь, может с нею повезет. Получается драйвер MSX-мыши битый (или Aspekt некорректно с ним работает) и возможно MSX-мышь вообще никогда не работала на Неоне.

Titus
31.07.2019, 15:02
Что же, буду искать корветовскую мышь, может с нею повезет. Получается драйвер MSX-мыши битый (или Aspekt некорректно с ним работает) и возможно MSX-мышь вообще никогда не работала на Неоне.
Да возможно, что просто что-то не так подключили или неучли.

Есть документация на MSX-мышь?

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

Нашел вот тут примерно: https://www.msx.org/wiki/General_Purpose_port

xolod
31.07.2019, 15:28
Да возможно, что просто что-то не так подключили или неучли.

Есть документация на MSX-мышь?

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

Нашел вот тут примерно: https://www.msx.org/wiki/General_Purpose_port
https://www.msx.org/wiki/Mouse/Trackball

Передается сначало младшие 4бита по X, потом старшие 4бита по X, потом младшие 4бита по Y и старшие 4бита по Y

Woland
31.07.2019, 16:18
Нашел тут (http://zxpress.ru/book_articles.php?id=875) схему включения корветовской мыши ММ8031 и контроллера КР580ВВ55А (такой же используется в Неоне).
А тут (https://zx-pk.ru/threads/9258-korvet-podklyuchenie-manipulyatorov-tipa-quot-mysh-quot.html?p=329822&viewfull=1#post329822) и тут (https://zx-pk.ru/threads/9258-korvet-podklyuchenie-manipulyatorov-tipa-quot-mysh-quot.html?p=963933&viewfull=1#post963933) выкладывались схема и описание корветовской мыши - не знаю, рабочие ли ссылки, в офисе заблокировны яндекс-диск и народ.ру.

Titus
01.08.2019, 01:46
Передается сначало младшие 4бита по X, потом старшие 4бита по X, потом младшие 4бита по Y и старшие 4бита по Y
Только наоборот. Сперва старшие 4 бита, потом младшие.

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

На порту А все тоже самое, что и у стандартной мышки, которая поддержана моим эмулятором (Корветовская?):

Порт A[7] - строб
Порт A[6] - правая кнопка (инверсная)
Порт A[5] - левая кнопка (инверсная)

Порт C[7..4] - данные (в общем-то тоже как у стандартной мышки, только формат от MSX)

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

В общем, падает в момент переключение процессов. Причем драйвер мыши все еще работает и опрашивает мышь. Есть подозрение, что он что-то где-то портит, а это очень сложно выяснить.


Woland, сфоткай экран после краша.

troosh
01.08.2019, 11:52
А где этот образ взять?

Как где?.. Во Всемирной Библиотеке Наследия Разработчиков Неона, а именно тут: http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/PK11_NEON/MAX_SAPR/ (жаль, что на главной архива нет прямой ссылки на неоновские образы - пришлось долго искать по форуму на телефоне с глючным отельным WiFi).

Titus
01.08.2019, 14:38
Похоже, разобрался, что к чему.

Сперва посмотрел драйвер мыши для мыши Slavic - это оказался тот же самый драйвер, что и для MSX, только без задержек во время опроса портов. На нем Аспект вис тоже. И без какого-либо драйвера тоже вис.

В итоге, имеем 4 драйвера мыши:
MS.PRC - драйвер мыши для ОС Аспект. Единственный драйвер для Аспект'а. Скорее всего мышь корветовская, хотя мне лень было разбираться, как работает корветовская мышь.
MSXC.PRC - драйвер MSX-мыши, но НЕ ДЛЯ ОС Аспект, а видимо, для обычной системы. Он автоматически запускается на дискете с Демо-программой. Может быть там можно как-то мышкой что-то поделать, не знаю.
MSC.PRC - тот же драйвер MSX-мыши, но без задержек. Внутри называется Slavic mouse.
MSCR.PRC - еще один драйвер мыши. Не лазил внутрь, но скорее всего один из клонов MSX-мыши. Внутри называется Rus Mouse.

Итог - последние три драйвера для Аспекта попросту не подходят. Они запускаются под обычной системой.

Если хочется использовать MSX-мышь под Аспект'ом, то надо драйвер MS.PRC под нее переделать. Кстати, это вовсе не сложно, я думаю, т.к. MSX-мышь очень проста в опросе.
Кроме того, MSX-мышь гораздо точнее и плавнее, чем штатная мышь, поэтому подобный вариант был бы предпочтительнее.

Woland, попробуй запусти демо-дискету, и поводи мышкой, может она будет там работать как-то. Хотя, чего-то сомневаюсь, что она там задействована.

Woland
01.08.2019, 22:46
Woland, сфоткай экран после краша.
https://ibb.co/gTTjHXt


Woland, попробуй запусти демо-дискету, и поводи мышкой, может она будет там работать как-то
Увы, не работает.


И вот в образе ms_010.dsk встречю программку RAMCH.SAV
Запустил ее - в эмуляторе она корректно отрабатывает, а на реальном Неоне при переходе к тестированию занятой памяти - заполняет экран сплошным белым и виснет((
Причем на двух разных наборах модулей памяти картина одна и та же (4*256кб и 8*1мб), так что скорее всего дело не в битой памяти. Возможно дело в ПЛМ V4 - текущая используемая глючит в демке в плане маскирования.


Кстати, это вовсе не сложно, я думаю, т.к. MSX-мышь очень проста в опросе.
Если несложно, может сделаешь?)

Titus
01.08.2019, 22:49
Если несложно, может сделаешь?)
Не обещаю, т.к. в августе отпуск, а там у меня компьютера не будет)
Если только после)

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


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

Woland
04.08.2019, 02:21
Запустил ее - в эмуляторе она корректно отрабатывает, а на реальном Неоне при переходе к тестированию занятой памяти - заполняет экран сплошным белым и виснет((
Причем на двух разных наборах модулей памяти картина одна и та же (4*256кб и 8*1мб), так что скорее всего дело не в битой памяти. Возможно дело в ПЛМ V4 - текущая используемая глючит в демке в плане маскирования.
Печаль, заменил V4(1556) на GAL16V8H - маскирование в демке стало работать нормально, а тест памяти так и не работает. И почему именно на тестировании занятой памяти виснет - непонятно.
Вообще, в качестве V4 рекомендуется всегда использовать перепрограммируемый импорт, поскольку 1556 в половине случаев не тянут и глючат при использовании именно в этом функционале.

Опробовал разветвитель, который нарисовал Vslav, очень удобная штучка получилась: https://ibb.co/QNRWGgs

troosh, мне Юра Савчук выслал IDE-контроллер, так что можно будет попробовать проверить его с прошивкой ПЗУ, переделанной под IDE. Насколько я помню, там уже даже скомпилировано было? Можно Вас попросить подготовить при возможности образы ПЗУ для заливки в КМ1801РР1?

troosh
06.08.2019, 14:46
Печаль, заменил V4(1556) на GAL16V8H - маскирование в демке стало работать нормально, а тест памяти так и не работает. И почему именно на тестировании занятой памяти виснет - непонятно.
Вообще, в качестве V4 рекомендуется всегда использовать перепрограммируемый импорт, поскольку 1556 в половине случаев не тянут и глючат при использовании именно в этом функционале.

Асинхронная логика выполненная на чипах разного быстродействия плохая идея...
И проблема с памятью может быть с чем угодно, например, какая-то ошибка в схеме страничной адресации.
Машина точно зависает? Есть какая реакция на клавиши вызова меню оконный системы, можно попытаться в слепую запустить с диска какую-то программу?

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


troosh, мне Юра Савчук выслал IDE-контроллер, так что можно будет попробовать проверить его с прошивкой ПЗУ, переделанной под IDE. Насколько я помню, там уже даже скомпилировано было? Можно Вас попросить подготовить при возможности образы ПЗУ для заливки в КМ1801РР1?

Работает ли этот контроллер (какой это из двух известных)? Какую резидентую программу для этого приходиться запускать?
ПЗУ из источников собирал у себя на github-е, - получался другой вариант, но работающий под эмулятором. Но после добавления драйвера IDE не помещается в ПЗУ. Тут либо более эффективное сжатие применять (а там с этим и так всё отлично, на удивление), либо выпиливать поддержку MFM дисков.

AFZ
07.08.2019, 18:20
Печаль, заменил V4(1556) на GAL16V8H - маскирование в демке стало работать нормально, а тест памяти так и не работает. Галки эти еще то чудо! Новых-то нет, и не будет, их лет, так, 15 назад сняли с производства, в продаже только б/у. Мы с СуперМаксом поставили их (GAL16V8D) в свой контроллер AZ, так результаты не очень. Макс прописал партию, несколько штук не записалось, несколько записались не с первого раза. Полежали месяц, несколько штук перестали работать... В общем, по оценке Макса, процентов 10 Галок - брак!

Woland
17.08.2019, 00:00
Работает ли этот контроллер (какой это из двух известных)? Какую резидентую программу для этого приходиться запускать?
Это тот контроллер, в котором три АП6 и одна 531ИД14. Увы, работает он или нет - непонятно. IDE.PRC непонятного назначения программа, кроме ошибок в служебной области она ничего полезного не показывает. Есть еще программы разметки, но от них мало толку и я не знаю, как с ними работать.

Хорошая новость: мышь ММ8031 (от Корвета) заработала на Неоне в оболочке Aspekt с драйвером по умолчанию.
Таким образом получается, что проблема неработоспособности MSX-мыши сводится исключительно к драйверу, в то время как аппаратная проблема отсутствует.

Titus
17.08.2019, 10:01
Хорошая новость: мышь ММ8031 (от Корвета) заработала на Неоне в оболочке Aspekt с драйвером по умолчанию.
Таким образом получается, что проблема неработоспособности MSX-мыши сводится исключительно к драйверу, в то время как аппаратная проблема отсутствует.

Здорово!

Запиши видео в хорошем качестве работы корветовской мыши.

Woland
18.08.2019, 11:30
Запиши видео в хорошем качестве работы корветовской мыши.
Едва ли есть в этом смысл, эта мышь довольно-таки "деревянная" в сравнении с MSX, потому выглядит эта работа хреновенько. Лучше все же драйвер MSX припилить в Aspekt.
А вот что с IDE делать пока вообще не ясно.

Titus
18.08.2019, 16:22
Мне интересно посмотреть, как работает мышь в реале.

troosh
20.08.2019, 19:35
Едва ли есть в этом смысл, эта мышь довольно-таки "деревянная" в сравнении с MSX, потому выглядит эта работа хреновенько. Лучше все же драйвер MSX припилить в Aspekt.


На образах дискет наблюдается 5 вариантов драйверов мыши (там есть и исходники и бинарники для них всех):

Mscx - "MSX mouse"
Msc16 - "slavic mouse" (отличие только в том, что константы задержек уменьшины в 4 раз, т. е. это просто более быстрый вариант драйвера)
Mscr - "Rus. mouse" - сильно отличающийся по протоколу обмена, но всё ещё использующий тот же разъём для MSX мыши

Gmouse - драйвер Genius мышки подключаемой к последовательному порту (i8251)
Msmous - тоже самое для последовательного порта, но работа по протоколу Microsoft.


А вот что с IDE делать пока вообще не ясно.

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

Titus
21.08.2019, 02:38
На образах дискет наблюдается 5 вариантов драйверов мыши (там есть и исходники и бинарники для них всех):

Эти драйвера не под ОС Аспект.

troosh
21.08.2019, 23:08
Эти драйвера не под ОС Аспект.А какие тогда драйвера мыши под "ОС Аспект"?

Выложил сюда, чтоб лежали рядом: https://github.com/troosh/pk11-16/tree/master/Mouses.drv (с бинарниками пока особо не заморчивался, у них sha1 сумма может быть разная из-за размера, плюс msc16 часто переименовывали в просто msc).

Все они пишут результаты начиная с 176200, хотя по разному регистрируются в системе.

Titus
22.08.2019, 00:02
А какие тогда драйвера мыши под "ОС Аспект"?
Только один драйвер для корветовской мыши. Почитай последние несколько страниц в теме, я же все описал там.

troosh
22.08.2019, 10:53
Можно читать регистры и тыкая через резистор на выводы данных убедиться, что машина видит эти прикосновения к шлейфу ide.

Ну то есть можно попробовать внаглую пультом прочитать регистры IDE, для чего после загрузки ОС нажать клавиши "F12", "H", " W", а затем ввести адрес начала регистров "161120/". После чего стрелочкам ходить по дампу, чтобы регистры перечитывались. Их там 8 штук, плюс перед ними ещё один по адресу 161114 используют (для прерывания, сброса).

Аналогично можно попробовать пультом читать регистры другой периферии, для этого следует ввести "161000/" или дотопать стрелочками.

Если возникнет желание модифицировать какой регистр нужно просто встать по нужному адресу и ввести требуемое значение и нажать клавишу <ВВОД>.

troosh
22.08.2019, 18:46
Если возникнет желание модифицировать какой регистр нужно просто встать по нужному адресу и ввести требуемое значение и нажать клавишу <ВВОД>.

Для удобства работы с регистрами сверстал страничку со всеми адресами ввола-вывода в порядке возрастания адресов: https://github.com/troosh/pk11-16/wiki/pk11regsmap

troosh
22.08.2019, 18:56
Из исходника https://github.com/troosh/pk11-16/blob/master/HDD/IDENT.MAC собрал исполняемый файл (https://github.com/troosh/pk11-16/blob/master/HDD/IDENT.SAV), - можно попробовать считать свойства IDE диска. Этой программе драйвер не нужен (даже вреден, она работает непосредственно с регистрами диска). Если диска нет - зависнет, поэтому стоит вначале убедиться, что чтение регистров при помощи пульта работает.

Woland
22.08.2019, 22:31
Из исходника https://github.com/troosh/pk11-16/blob/master/HDD/IDENT.MAC собрал исполняемый файл (https://github.com/troosh/pk11-16/blob/master/HDD/IDENT.SAV), - можно попробовать считать свойства IDE диска. Этой программе драйвер не нужен (даже вреден, она работает непосредственно с регистрами диска). Если диска нет - зависнет, поэтому стоит вначале убедиться, что чтение регистров при помощи пульта работает.
Не получается проверить - я не знаю, как правильно файл внести в образ дискеты RT-11. Программой BKDE вносится, но после загрузки на реальном Неоне система этот файл не видит.

hobot
22.08.2019, 22:36
Woland,

я не знаю, как правильно файл внести в образ дискеты RT-11
надёжнее всего средствами самой системы, т.е. командой COPY. Эмуляторы Patrona работают с системными папками окошек как с устройствами

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

Woland
22.08.2019, 22:44
либо плагин используйте для тотал командера, он открывает .DSK как архивы копируй туда сюда сколько хлчешь
Где взять этот плагин?

MM
22.08.2019, 23:02
копируй туда сюда сколько хлчешь
В Бочке меда есть ложка дегтя - по неясным причинам копирование некотрых типов файлов может сопровождаться их переконвертацией ( якобы для возможности читать тексты RT-11 в Виндовс ИБМ ЭВМ ).
Т.к. в куче файлов RT-11 попадаются не совсем стандартные типы форматов текстов ( например, от БК0010 с КОИ-8 и вообще смешанные типы файлов ), это скорее неприятнейший баг, чем фича.
Особенно в свете традиций переименовывать некотрые нерабочие бинарные файлы в .TXT , .LST

Woland
22.08.2019, 23:10
Мне интересно посмотреть, как работает мышь в реале.
https://www.youtube.com/watch?v=byOPQuRXO_8

troosh
22.08.2019, 23:41
Не получается проверить - я не знаю, как правильно файл внести в образ дискеты RT-11. Программой BKDE вносится, но после загрузки на реальном Неоне система этот файл не видит.

Сталкивался с таким глюков утилиты BKDE2_x64.exe из BK_v3.9: если имя файла содержит 5 символов, то записывается файл у которого будет только первые три символа из 5-ти... Т. е. IDENT.SAV превратиться в IDE.SAV, проверь каталог до и после добавления файла.

В файловой системе RT11 имена файлов кодируются в radix50 (три символа в 16-ти битах), - видимо отсюда ноги бага..

Woland
22.08.2019, 23:55
Из исходника https://github.com/troosh/pk11-16/bl.../HDD/IDENT.MAC собрал исполняемый файл, - можно попробовать считать свойства IDE диска.
С помощью плагина смог добавить корректно.
Урааа, всё получилось!!!

https://ibb.co/tsKSPvf

Какой дальше план действий, ПЗУ испытывать с IDE прошивкой?

hobot
23.08.2019, 00:06
Где взять этот плагин?
на мордочке хламничка есть прямые ссылки и на плагин и на эмуляторы,
или в темах соотв. на форуме )

troosh
23.08.2019, 01:42
Какой дальше план действий, ПЗУ испытывать с IDE прошивкой?

Подключить какой-то ide диск к контроллера, а тот вставить в машину - после загрузки ОС запустить эту программу ident. Если повезет должно напечатать свойства диска (модель, версия прошивки и прочее).

Иначе нужно осваивать пульт, выяснить по каким адресам откликается плата, все ли биты данных проходят (как я писал выше: через ограничивающий резистор подключемся к каждой сигнальной линии на шлейфе используя противоположный уровень земля/+5в и изучаем как изменяется содержимое регистров). При поиске адресов регистров на которые эта плата откликается, можно использовать осциллограф - двигаться по дампу регистров в пульте и смотреть управляющие выводы на АПешках.

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

С ПЗУ сейчас можно разве что убедиться, что собранный вариант работает на реальном железе (не разобрались как в программаторе можно инвертиваровать адреса и данные, как задать по каким адресам должна откливаться ПЗУшка? все ещё нужно конвертировать образ под программаторы которые это не умеют?)

Woland
23.08.2019, 11:24
Если повезет должно напечатать свойства диска (модель, версия прошивки и прочее).
Так я же скриншот выложил, что всё получилось: https://ibb.co/tsKSPvf
А как там дальше с драйвером пробовать я хз..


не разобрались как в программаторе можно инвертиваровать адреса и данные, как задать по каким адресам должна откливаться
Тут (http://forum.pk-fpga.ru/viewtopic.php?f=4&t=5369) товарищ CD-Inc выкладывал утилиту для преобразования прошивки из формата Стерха в формат эмулятора. Нам я так понимаю нужно обратное преобразование? Можно попробовать попросить его написать обратную утилиту..

troosh
23.08.2019, 18:37
Так я же скриншот выложил, что всё получилось: https://ibb.co/tsKSPvf
А как там дальше с драйвером пробовать я хз..

Поздравляю! IDE контроллер живой...

А далее, записать на дискету образ ms_010 и загрузиться с неё - там в старовом скрипте STARTS.COM уже прописана загрузка драйвера MFM+IDE (правда там ещё много чего лишнего запускается).

Ну либо на любую другую любимую дискету записать файл IDE.PRC и в файл STARTS.COM прописать строку "prun ide.prc", как можно выше сразу после строк начинающихся с set (если они есть).

IDE диск вешается но 240 вектор, а вот каким именам (типа fd0: fd1: hd0: ...), это соответствует мне не понятно... Возможно запуск программы RESORC может на это ответить... Или "SHOW DEVICES".

В виде исходника, очень хорошо задокументированного кстати, есть драйвер DH, так там упоминаются dh0: dh1: устройства (HD перевернули - получили DH).


Ну а прежде ide диск нужно отформатировать (надеюсь на нём нет неоновского софта), вроде как в этом должна помочь утилита IDHARD.SAV.

Ещё есть забавная программа PLAY которая умеет выводить wav файл с диска (начальнвй сектор забит прямо в исходнике, бинарник нужно делать), вывод на covox подключенный на принтерный порт.

hobot
23.08.2019, 20:47
на дискету образ ms_010
просьба дайте ссылку, для копирования вот в эту папку того, что в ней нет, но могло бы быть (копия в несгораемый шкап так сказать) >>> http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/PK11_NEON/

Woland
23.08.2019, 21:36
Ну а прежде ide диск нужно отформатировать (надеюсь на нём нет неоновского софта), вроде как в этом должна помочь утилита IDHARD.SAV.
Совершенно непонятно, как ею пользоваться, какие параметры вбивать, например что такое size, precomp, gap3 в первой таблице и по какому принципу вторую заполнять. В частности на примере параметров из указанного выше скриншота. Как потом это все сохранить и как форматировать?


Мне интересно посмотреть, как работает мышь в реале.
Я тут пообщался с Caro на предмет реализации им в его адаптере варианта прошивки для эмуляции мыши ММ8031. Он запросил такую информацию:

Описание мышки ММ8031 нашел, в принципе сделать прошивку можно.
Но для отладки желательно иметь информацию о способе опроса мышки.
В частности очень важен темп опроса, поскольку современные мышки
имеют большое разрешение, а от ММ8031 информация передается только
4-мя битами на координату. Придется масштабировать.
Да и времянку опроса желательно иметь.

Учитывая твой опыт реализации алгоритма мыши ММ8031 в эмуляторе, можем ли мы ему как-то помочь с информацией?


просьба дайте ссылку, для копирования вот в эту папку того, что в ней нет
Образ ms_010.dsk можно взять тут: http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/PK11_NEON/MAX_SAPR/

Titus
23.08.2019, 21:41
Я тут пообщался с Caro на предмет реализации им в его адаптере варианта прошивки для эмуляции мыши ММ8031. Он запросил такую информацию:

Описание мышки ММ8031 нашел, в принципе сделать прошивку можно.
Но для отладки желательно иметь информацию о способе опроса мышки.
В частности очень важен темп опроса, поскольку современные мышки
имеют большое разрешение, а от ММ8031 информация передается только
4-мя битами на координату. Придется масштабировать.
Да и времянку опроса желательно иметь.

Учитывая твой опыт реализации алгоритма мыши ММ8031 в эмуляторе, можем ли мы ему как-то помочь с информацией?

Поддержка корветовской мыши в ОС Аспект сделана кривовато, с ошибками. Я писал об этом подробно в теме с эмулятором. Да и сама мышь имеет плохое разрешение. Кое-какую коррекцию удалось сделать весьма хитрыми алгоритмами, но все равно конфетки из нее не сделаешь.
Я бы рекомендовал сделать драйвер замечательной MSX-мыши для Аспект, и на этом успокоиться.

Woland
23.08.2019, 23:41
Более-менее разобрался с программой idhard.sav, по аналогии набросал разметку, перерассчитал размеры, записал U и W - правда в файл ниче не сохраняется походу, т.к. вычитать не нашел способа, в каком файле сохраняет - тоже хз. Потом попытался 0й раздел форматить, ничего не вышло, ошибка:
https://ibb.co/R6ZS0GX

Делаю это всё, загружаясь с образа ms_010, он автоматически грузит prun ide.prc, при этом единожды мигает светодиод на винте.

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

troosh
23.08.2019, 23:50
troosh, может, чтобы наверняка, написать софтину разметки без драйвера? Драйвер-то грузится, но работает он или нет - не ясно.

(вначале нужно сделать на том, что есть + я врчд ли смогу этим заняться)

При записи разметки светодиод мигал? Он вообще мигал хоть раз во время экспериментов?

Так что выдаёт "sh dev"? Нужно узнать какие буковки сапоставляются с 240-м вектором.

После разметки разделов диска их нужно отформатировать - скорее всего на hd0: ide- дней диск не будет откликается.

Прежде чем форматировать нужно загрузить драйвер дисков "prun ide.prc"

Woland
24.08.2019, 00:15
При записи разметки светодиод мигал? Он вообще мигал хоть раз во время экспериментов?
Проверил еще раз: светодиод мигает единожды и ТОЛЬКО при автоматической загрузке prun ide.prc, в процессе загрузки образа ms_010. При разметке светодиод не мигает, и разметка не происходит - вообще не ясно чем он занят вместо разметки.
prun ide.prc - грузится автоматически. Также, если загрузить вручную - светодиод тоже мигает.

Вот вывод команды show all:
https://www.youtube.com/watch?v=Z__3RyW2n14

В starts.com после команды prun ide.prc прописана команда bo st: - так что судя по всему, IDE-винт вешается на устройства st0: .. st7:

troosh
24.08.2019, 00:17
Насчет мыши MSX - там тот Аспект грузится в два этапа:
1) исполняется скрипт starts.com где стоит запуск ms.sav (иногда.sav опускают)
2) затем работает asp.com

Возможно файл ms.sav нужно всегда предварительно запускать (подробно не смотрел, но похоже именно в этом файле хранится изображения стрелок), а может и нет...

Этот файл ms.sav прописан в первом скрипте, там много печатей, можно не увидеть.

Т.е.нужно проверить оба варианта: с и без предварительной загрузкой ms.sav запустить "prun MSXc.Prc" (именно так все •.prc следует пускать через prun, более того некоторые .sav файлы в этом нуждаются)

И если выдаются какие-то ошибки, то хотелось бы их видеть.

troosh
24.08.2019, 00:22
В starts.com после команды prun ide.prc прописана команда bo st: - так что судя по всему, IDE-винт вешается на устройства st0: .. st7:

Светодиод на "dir st0:" реагирует?

Woland
24.08.2019, 00:24
Светодиод на "dir st0:" реагирует?
Неа, на st1, hd0, hd1 тоже не реагирует.

Titus
24.08.2019, 03:05
Т.е.нужно проверить оба варианта: с и без предварительной загрузкой ms.sav запустить "prun MSXc.Prc" (именно так все •.prc следует пускать через prun, более того некоторые .sav файлы в этом нуждаются)
Так запусти на эмуляторе и проверь)

troosh
05.09.2019, 13:38
В общем, ms.sav это два драйвера в одном: драйвер мыши и процесс рисования графического курсора. Заставить его подхватывает другие драйвера не получилось, нужно его похоже патчить...
Протокол там реализуется точно такой как в MSCR.MAC, но в последнем закомментирован весь код нанокостылей с анализом предыдущих смещений и нелинейности.

Мышь для последовательного использует два раздельных драйвера (брать на диске ms_002.dsk):
GMOUSE.PRC - связь с самой мышкой через i8251 и средний канал левого по схеме таймера i8253.
GMXP.PRC - процесс рисования курсора с учетом того, что его части могу оказаться в четырех окнах с разным разрешением и масштабом.
Замечательно то, что исходники этих файлов доступны...

Если в скрипте asp.com диска с Аспектом вместо одной строки MS.PRC (или просто ms), прописать эти два файла, то на экране курсор появляется, но ес-но не управляется он. Сам симулятор спамит сообщениями "PICMR = 76--3-1-".
Имеет смысл попробовать на реальной машине...

Titus
05.09.2019, 19:15
В общем, ms.sav это два драйвера в одном: драйвер мыши и процесс рисования графического курсора. Заставить его подхватывает другие драйвера не получилось, нужно его похоже патчить...

Я думаю, что запатчить не сложно. Надо только взять и сделать)

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


Если в скрипте asp.com диска с Аспектом вместо одной строки MS.PRC (или просто ms), прописать эти два файла, то на экране курсор появляется, но ес-но не управляется он. Сам симулятор спамит сообщениями "PICMR = 76--3-1-".
Имеет смысл попробовать на реальной машине...
А эта мышь по последовательному протоколу в природе доступная?
И есть документация по протоколу?

troosh
05.09.2019, 23:25
А эта мышь по последовательному протоколу в природе доступная?
И есть документация по протоколу?

Это обычные PC-шные мышки, которые были до PS/2 мышей. Новых наверняка не купить, но их было очень много выпущено, вряд ли это дефицит.

Протокол - вот первое что попалось:https://courses.cs.washington.edu/courses/cse477/00sp/projectwebs/groupb/PS2-mouse/mouse.html

Ну и в драйвере расписаны те три байта, которые ожидаются от мыши при любом передвижении: https://github.com/troosh/pk11-16/blob/26160c6b2a492e8eb1d888db0e0c2af953b39739/Mouses.drv/MSMOUS.MAC.utf8#L257

Из-за скорости 1200 бод, эти пачки из трёх байт не могу приходить чаще 40 раз в секунду.

troosh
05.09.2019, 23:44
Корветовская мыша ММ8031 мне почему-то по протоколу напомнила MSX трекбол, возможно вся та магия с нелинейностями это изначальная попытка решить проблемы именно с треболом (пальцем можно придать большое ускорение шару трекбола, а мыши с ускорением не двигают обычно).

Woland
06.09.2019, 22:19
Попробовал провести разметку с обновленным ide6v.prc от troosh, результат неудовлетворительный. Кроме того, если дать команду dir st0: с драйвером
ide6v.prc - выдает ошибку ?MON-F-No device 001410

troosh
08.09.2019, 15:37
Я думаю, что запатчить не сложно. Надо только взять и сделать)

Вот тут: https://github.com/troosh/pk11-16/tree/master/Mouses.drv/exp выложил разные варианты хакнутого драйвера мыши, там же описание.

Titus
08.09.2019, 18:30
Файлы MSCR1.PRC и MSCR2.PRC работают по эмулятором из-за удаления кода в
драйвере, которые реализовывал нелинейность при интерпретации приращений
(но в эмуляторе-то всё осталось как и было, там обратную нелинейную функцию
никто отменял).

Не совсем понятно. Работают под эмулятором или НЕ работают?

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

troosh
08.09.2019, 21:14
Не совсем понятно. Работают под эмулятором или НЕ работают?

Оба эти файла работают под эмулятором, но отклик на движения мыши становится странным..
Тут бы проверить на реальной машине и мышке ММ8031, на каком драйвере реакция более адекватная будет (попытаться на экране курсором провести круги разного диаметра, линии параллельно сторонам экрана и диагональные, с разной скоростью и резкой сменой направления).
Может это будет субъективное решение, но можно будет понять зачем две варианта драйвера для этого типа мышей на дисках неонов оказалось.



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

Было озвучено, что MSX мыши доступнее и эстетичнее, да и подключаются они через тот же специально предусмотренный для этого разъём (точно также как и ММ8031). Буквально, пишут что лежит рядом с ррепликой а как проверить непонятно...
Они ближе всего к современным PS/2 и USB мышам, значит эмулировать проще.

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

Что есть "Славик[emoji769] моузе" сие тайна велика, но выглядит как турбо вариант MSX протокола, а значит на работу с ней меньше будет отвлекаться процессор (если это вообще заметно).

Под эмулятором, если откинуть вариант с поддержкой все типов мышей, лучше поддержать тот вариант мыши, который будет использоваться с "живыми" машинами. Я за MSX мыши.

Titus
16.09.2019, 15:45
Вот тут: https://github.com/troosh/pk11-16/tr...Mouses.drv/exp выложил разные варианты хакнутого драйвера мыши, там же описание.
Попробовал твой драйвер MSCX1. Он почему-то не работает. Вызов инициализации есть (0x532), откуда 2 раза вызывается чтение мыши. И все, больше мышь не читается. Т.е. функция опроса (0x572) не вызывается.

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

Так же непонятно, что делает драйвер здесь:

call mouse
mov (sp)+, PICMR ;restore picmr
mov #m.tio, mflg
add r0, r1
bcc 10$
clr mflg
10$:

Т.е. при инициализации мы опрашиваем мышь, затем складываем r0 (смещение по X) и r1 (смещение по Y), и устанавливаем флаг, если оба этих смещения отрицательные. Зачем, не понятно)

troosh
17.09.2019, 00:16
Т.е. при инициализации мы опрашиваем мышь, затем складываем r0 (смещение по X) и r1 (смещение по Y), и устанавливаем флаг, если оба этих смещения отрицательные. Зачем, не понятно)

Могу пофантазировать на счёт того зачем так сделали...

Если мышь не подключена, то вычитаются все по обоим направлениям -1 (за счёт подтягивающих резисторов) , сложение 0xFFff + 0xFFff даст перенос - мышки нет, сбрасываем признак её наличия и эмулируем её за счёт прослушивания нажатии на клавиатуре.

А вот если мышка есть, то первое к ней обращение вычитает текущие приращения (которые не будут использованы) и главное счётчики внутри мышки сбросятся. Второе обращение к мыши производится настолько быстро, что ни один из счётчиков не успевает измениться - они остаются нулевыми. Ноль плюс ноль - переноса не даст, значит мышка есть.

Кажется, что перемещая мышь очень быстро про диагонали (так чтобы приращения были отрицательными по обоим координатам и это дало перенос), и мышь не определится... Но считывание с мыши идёт без паузы (при том с запрещенными прерываниями!), а от обоих оптопар должны прийти фронты, прежде счётчик там изменит своё состояние. Наверное можно задался целью с какой скоростью при этом должна двигаться мышь, но мне влом... К тому же, если у кого руки дрожат, то нечего ему мышь за 50$ доверять.

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

Titus
17.09.2019, 01:31
Если мышь не подключена, то вычитаются все по обоим направлениям -1 (за счёт подтягивающих резисторов) , сложение 0xFFff + 0xFFff даст перенос - мышки нет, сбрасываем признак её наличия и эмулируем её за счёт прослушивания нажатии на клавиатуре.

А вот если мышка есть, то первое к ней обращение вычитает текущие приращения (которые не будут использованы) и главное счётчики внутри мышки сбросятся. Второе обращение к мыши производится настолько быстро, что ни один из счётчиков не успевает измениться - они остаются нулевыми. Ноль плюс ноль - переноса не даст, значит мышка есть.

Думаю, что ты прав. Очень все логично)

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

troosh
17.09.2019, 10:13
На той же самой корветовской мышке признаком ее отсутствия, если не ошибаюсь, было число 8, считанное из одного из счетчиков. Вот тут - точно не понятно, почему)

В корветовской мышке (или в той, которая была прообразом и по-моему это был msx трекбол), использовали в качестве счётчиков микросхему из имеющего ряда, нужно была такая чтобы её можно было сбросить не уровнем сигнала, а в момент его фронта или спада. Нашлась такая, у которой при этом происходила установка в произвольное состояние задаваемое 4-ми пинами. Ну а далее видимо просто выбрали код максимально удаленный от значения 0xF (мышь неподключена), т.е. в любом направлении (инкремент/декремент) потребуется больше всего импульсов чтобы перейти из 8 в 0xF. Ну а потом в драйвере эту восьмёрку вычитают, чтобы получилось число со знаком...

У корветовской мышки счёт происходит пока сигнал строб в нуле, при этом на выход к 4-х битной шине подключен счетчик dx. Когда пришло время опрашивать мышь считывается это накопившееся значение dx, затем строб устанавливают в "1", - к выходам подключается счётчик dy, который затем считывают. После строб снимают и на этом переходе строка "1"->"0" оба счётчика сбрасываются в значение "8", и далее начинают подсчитывать импульсы с оптопар (от каждой оптопары должно прийти по изменению уровню прежде чем счётчик продвинется, а их фаза определяет направление).
Для определения наличия корветовской мыши быстро передёргивают строб "0"->"1"->"0" без вычитывания ненужных для этого значений, и уже после считывают как бы второй раз dx, который должен быть "8"-кой, т.к. его только что сбросили. Там нет двойного вызова полной процедуры вычитывания dy/dx/keys так как всё проще из-за того, что счётчики всего лишь 4-х битные. Но идея та же...

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

Woland
17.09.2019, 17:40
Попробовал провести разметку с обновленным ide6v.prc от troosh, результат неудовлетворительный. Кроме того, если дать команду dir st0: с драйвером
ide6v.prc - выдает ошибку ?MON-F-No device 001410

Проверил также новые варианты ide2v.prc и ide7v.prc - ошибка форматирования #10. В общем, принципиально ничего не поменялось. Может эти драйвера рассчитаны на контроллер с другой принципиальной схемой - от руки которая нарисована была.. Или они равнозначны скорее всего???
Может контроллер банально неисправен, но тогда почему позволяет параметры винта вычитать..

troosh
17.09.2019, 23:22
Проверил также новые варианты ide2v.prc и ide7v.prc - ошибка форматирования #10. В общем, принципиально ничего не поменялось. Может эти драйвера рассчитаны на контроллер с другой принципиальной схемой - от руки которая нарисована была.. Или они равнозначны скорее всего???
Может контроллер банально неисправен, но тогда почему позволяет параметры винта вычитать..

Что такое ошибка форматирования?
Чтобы не гадать какой именно вариант нужно с пользоваться нужно на чипе i8259 посмотреть куда приходят (и приходят ли) сигналы прерывания от ide.
Судя по исходникам везде используют одинаковые адреса регистров, видимо схемы отличаются дешифратором адресов (на рассыпухе или на дешифраторе).
Для вычитывания параметров диска как раз прерывания не используют.
Также прерывания не использует драйвер DH, но он у тебя виснет как и тест памяти

Woland
18.09.2019, 14:56
Что такое ошибка форматирования?

https://ibb.co/R6ZS0GX

troosh
19.09.2019, 00:12
https://ibb.co/R6ZS0GXА теперь понял. Код возврата этот драйвер выдаёт если сам диск сообщает о своём аварийном состоянии, либо когда от него не пришло прерывание.

Надеюсь ты запускал IDHARD.SAV, а не просто HARD.SAV? (они визуально не различаются)

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

Программа HARD.SAV написана на Си и этот исходник я нашел на дисках, IDHARD.SAV очень похожа, но исходник у неё был другой - нужно будет разбираться по дизассемблеру...

Woland
19.09.2019, 00:26
Надеюсь ты запускал IDHARD.SAV, а не просто HARD.SAV? (они визуально не различаются)
Использовал именно IDHARD.SAV

Titus
19.09.2019, 18:50
Ну а далее видимо просто выбрали код максимально удаленный от значения 0xF (мышь неподключена), т.е. в любом направлении (инкремент/декремент) потребуется больше всего импульсов чтобы перейти из 8 в 0xF. Ну а потом в драйвере эту восьмёрку вычитают, чтобы получилось число со знаком...

Тут все проще. Просто у этой мыши инвертированный знак. Таким образом, -8 - это нулевое смещение с отрицательным знаком. Т.е. если мышь подключена, но по X не перемещается, то смещение всегда равно 0. Инвертируем знак, получаем -8 (т.к. у нас 4-битный счетчик со знаком). Вот эту восьмерку при инициализации драйвер и проверяет.

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

В общем, систематизировал особенности работы драйверов MSX-мыши и Корветовской мыши:



При инициализации мыши MSX:

Первый опрос мыши MSX:
Write word 0x00E0 to unrealized CPU register PPIA from location PC = 0x580 (строб 1)
Read word from CPU register PPIC from location PC=0x588
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x58A (строб 0)
Read word from CPU register PPIC from location PC=0x5A2
Write word 0x00E0 to unrealized CPU register PPIA from location PC = 0x5A4 (строб 1)
Read word from CPU register PPIC from location PC=0x5BC
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x5BE (строб 0)
Read word from CPU register PPIC from location PC=0x5D6
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x5F0 (сброс строба перед опросом кнопок)

Второй опрос мыши MSX:
Write word 0x00E0 to unrealized CPU register PPIA from location PC = 0x580 (строб 1)
Read word from CPU register PPIC from location PC=0x588
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x58A (строб 0)
Read word from CPU register PPIC from location PC=0x5A2
Write word 0x00E0 to unrealized CPU register PPIA from location PC = 0x5A4 (строб 1)
Read word from CPU register PPIC from location PC=0x5BC
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x5BE (строб 0)
Read word from CPU register PPIC from location PC=0x5D6
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x5F0 (сброс строба перед опросом кнопок)


При инициализации мышки Корвет:

Write word 0x00E0 to unrealized CPU register PPIA from location PC = 0x546
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x54C
Read word from CPU register PPIC from location PC=0x550 (X-смещение) ($8 - для стоячей мыши (-0))


Опрос мышки Корвет:

Read word from CPU register PPIC from location PC=0x580 (X-смещение)
Write word 0x00E0 to unrealized CPU register PPIA from location PC = 0x582 (строб 1)
Read word from CPU register PPIC from location PC=0x5B8 (Y-смещение)
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x5BA (строб 0)
Write word 0x0060 to unrealized CPU register PPIA from location PC = 0x600 (сброс строба перед опросом кнопок)

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

Для переключение на корветовскую мышь - это:
Строб=1, затем строб=0, без промежуточных чтений порта C.
(данное состояние происходит при инициализации Корветовской мыши)

А переключение на MSX-мышь - это:
Строб=0, затем строб=1, без промежуточных чтений порта C.
(данное состояние происходит между двумя чтениями MSX-мыши)

Есть еще и третье подобное состояние, которое встречается перед чтением кнопок для Корветовской мыши:
Строб=0, затем строб=0, без промежуточных чтений порта C.
Но оно ни на что не влияет, и отслеживать его не нужно.

Woland
19.09.2019, 19:21
Таким образом, можно выделить признаки, по которым со стороны эмулятора можно четко определить, какую мышь опрашивает драйвер
Это для чего определять? Написание универсального драйвера для обоих типов мышей?

Titus
19.09.2019, 19:26
Это для чего определять? Написание универсального драйвера для обоих типов мышей?
Чтобы эмулятор мог работать с любым типом мыши автоматически.

troosh
19.09.2019, 20:19
Чтобы эмулятор мог работать с любым типом мыши автоматически.Как насчёт работы с любым жестким диском (MFM/IDE)?.. ;)

Titus
19.09.2019, 21:33
Как насчёт работы с любым жестким диском (MFM/IDE)?.. ;)
Смысл и документация?
С образом или железным?

troosh
19.09.2019, 23:29
Смысл и документация?
С образом или железным?Избавляться нужно от MFM-го наследия репликах, чтоб там вместо этого работал IDE диск, причем в виде CompactFlash карты. Они доступны пока даже в размерах 64M, 128M и 256М, а дальше идут размером 2G, 4G и более (но такое уже наивно не подцепить в rt11, где обычно 8 разделов максимум по 32М, т. е. более 256М в сумме обычно не использовали, да и что туда писать?).

Но начинается проблема курица/яйцо... Есть непонятно как работающее железо у одного, желание сдвинуться с мертвой точки по софту у другого.

Поддержав в эмуляторе ide (минимальное подмножество операций: чтение/запись сектора, получение свойств диска и форматирование), можно делать драйвер IDE и образ ПЗУ куда он внедрён (вместо mfm-ского). Там меньше десятка регистров, DMA не используется. Пришла команда - сделали трансляцию голова/трек/сектор из соответствующих регистров в смещение в образе диска на хост машине, через некоторое время имитируем прерывание по завершению операции, данные гоняются через один 16-ти битный регистр. Не видно там особых сложностей...

Заработает на эмуляторе - можно будет доводить на реальном железе. Не такие железки на симуляторах подымали...

Titus
19.09.2019, 23:38
Поддержав в эмуляторе ide (минимальное подмножество операций: чтение/запись сектора, получение свойств диска и форматирование), можно делать драйвер IDE и образ ПЗУ куда он внедрён (вместо mfm-ского). Там меньше десятка регистров, DMA не используется. Пришла команда - сделали трансляцию голова/трек/сектор из соответствующих регистров в смещение в образе диска на хост машине, через некоторое время имитируем прерывание по завершению операции, данные гоняются через один 16-ти битный регистр. Не видно там особых сложностей...

Это, считай, надо делать некий новодел. Может лучше сделать преобразователь MFM->IDE, и не вмешиваться в драйвера и ПЗУ?

troosh
19.09.2019, 23:56
Это, считай, надо делать некий новодел. Может лучше сделать преобразователь MFM->IDE, и не вмешиваться в драйвера и ПЗУ?Ну не знаю, работающих оригинальных машинок наверное пару штук найдется. Гонять IDE через MFM протокол туда и обратно это реально сложно. Лучше уж в слот расширения второй контроллер ide устанавливать.

А IDE это и есть MFM диск в который с платы компьютера переполз контроллер MFM. Т. е. для драйвера это практически одно и тоже с некоторыми наворотами и расширениями у ide...

Titus
20.09.2019, 00:02
А IDE это и есть MFM диск в который с платы компьютера переполз контроллер MFM. Т. е. для драйвера это практически одно и тоже с некоторыми наворотами и расширениями у ide...
Я думаю, сначала надо подержать MFM-диск, только нужна документация подробная.

Woland
20.09.2019, 00:25
Это, считай, надо делать некий новодел. Может лучше сделать преобразователь MFM->IDE, и не вмешиваться в драйвера и ПЗУ?

Учитывая, как монструозно выглядят известные миру эмуляторы МФМ, это никак не может быть лучше)))

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


Я думаю, сначала надо подержать MFM-диск, только нужна документация подробная.
Так, а что с драйвером для живой msx под aspect? Надеяться можно? Или от меня нужна еще какая-то инфа?

Titus
20.09.2019, 00:28
Так, а что с драйвером для живой msx под aspect? Надеяться можно? Или от меня нужна еще какая-то инфа?
Ничего не нужно. Драйвер же уже написал troosh, и опубликовал в этой теме.

Прикреплю тут на всякий случай.

troosh
20.09.2019, 01:25
Я думаю, сначала надо подержать MFM-диск, только нужна документация подробная.Для начала скачивается pdf на wd1010-05 или на wd2010-05 (там отличия непринципиальные), регистры байтовые этого чипа начинаются с адреса 0161040 с шагом два байта. У него нулевого регистра на самом деле нет - там регистр данных, через него считываются или записываются данные каждого сектора.

Интересные там только описание регистров и команд, ну а как там работает, форматируется тот MFM диск уже не интересно (по сути огромный по объёму и быстрый флоп).

Woland
20.09.2019, 16:07
Ничего не нужно. Драйвер же уже написал troosh, и опубликовал в этой теме.

Прикреплю тут на всякий случай.
Драйвер заработал, но надо инвертировать направление вправо-влево, сейчас оно наоборот работает (как на родной мыши, так и на двух типах адаптеров).

troosh
20.09.2019, 20:04
Драйвер заработал, но надо инвертировать направление вправо-влево, сейчас оно наоборот работает (как на родной мыши, так и на двух типах адаптеров).Сделал инверсию по Y и выложил на github файл MSCX2... Ой, перечитал ещё раз - нужно было по X, а это сложнее... Тогда потом сделаю.

P. S. А славиковский драйвер не пробовал?

Woland
23.09.2019, 11:26
P. S. А славиковский драйвер не пробовал?
Какой именно?


Также прерывания не использует драйвер DH, но он у тебя виснет как и тест памяти
С тестом памяти проблема решилась: вернул серию 1556 с прошивками VB и VC вместо перепрограммируемых ATF16V8 и тест стал работать корректно. Драйвер DH по-прежнему виснет.

Titus
23.09.2019, 12:33
Сделал инверсию по Y и выложил на github файл MSCX2... Ой, перечитал ещё раз - нужно было по X, а это сложнее... Тогда потом сделаю.
Потом уже настало? )

troosh
24.09.2019, 12:00
Потом уже настало? )Только что настало, но я не проверял ни под эмулятором, ни под дизассемблером. Файлы MSCX3.PRC и MSCS3.PRC. Сложность там была в том, нет там места под дополнительный "NEG R1".

troosh
24.09.2019, 12:04
Какой именно?

На странице https://github.com/troosh/pk11-16/tree/master/Mouses.drv/exp есть описание файлов в конце, если не показывает, то в файле README.txt. Последний вариант это файл: MSCS3.PRC.

Titus
24.09.2019, 14:39
Только что настало, но я не проверял ни под эмулятором, ни под дизассемблером. Файлы MSCX3.PRC и MSCS3.PRC. Сложность там была в том, нет там места под дополнительный "NEG R1".
Интересно, как так получилось, MSX-мышка для обычной системы работает нормально, а тот же самый драйвер, но включенный в состав Aspect-драйвера - инвертирует направления?

troosh
24.09.2019, 23:30
Интересно, как так получилось, MSX-мышка для обычной системы работает нормально,

Это как? Я тут не очень понял какой именно драйвер, что за обычная система?..


а тот же самый драйвер, но включенный в состав Aspect-драйвера - инвертирует направления?

Я включаю не драйвер, а всего лишь две функции: определения присутствия мыши и считывания пакета параметров от мыши (оба приращения и состояние кнопок), - последняя функция в сыром виде получает данные от мыши, т. е. там приращения не инвертируются.
А вот сам "аспектовский" драйвер уже имеет своё представление, где верх, где низ, где лево-право. Под него приходится подстраиваться, т.к. внедряю туда и пользуюсь тем что есть. Все эти заготовки патчейесть на гитхабе в файлах X.MAC, S.MAC, X3.MAC, S3.MAC - там совсем чуть-чуть кода... А из их SAV файлов брал hex строки и выставлял их в донорский MS.SAV.

Photocor
01.10.2019, 21:17
Коллеги, подскажите: а конструктор Союз-Неон "как продукт" еще не существует? Я просто на примере набора "конструктор Поиск-2" нахожусь под впечатлением того, как можно из покупного набора собрать весьма точную реплику желаемого компьютера.

Woland
02.10.2019, 22:16
А вот сам "аспектовский" драйвер уже имеет своё представление
Проверил MSCX3.PRC - супер, работает корректно, но только по ощущениям медленнее раза в 1.5-2, чем мышка на PC - одним движением не удается на полэкрана протянуть - короче не комфортно работать.
MSCS3.PRC - для MSX-мышей не годится - все летает из конца в конец, абсолютно не рабочий вариант.


Коллеги, подскажите: а конструктор Союз-Неон "как продукт" еще не существует?
В теории уже существует, можно садиться и начинать комплектовать и продавать. Но пока рутины много, раньше чем месяца через 2 за первый конструктор не возьмусь.

Titus
02.10.2019, 23:35
Проверил MSCX3.PRC - супер, работает корректно, но только по ощущениям медленнее раза в 1.5-2, чем мышка на PC - одним движением не удается на полэкрана протянуть - короче не комфортно работать.
MSCS3.PRC - для MSX-мышей не годится - все летает из конца в конец, абсолютно не рабочий вариант.

Странно) Они же отличаются только задержками внутри опроса регистров мышки)
Может быть не летает из конца в конец, а просто хаотично глючит?

Если сравнить мышь от корвета и MSX, на какой приятнее и плавнее двигается стрелка? Ведь на MSX?

Woland
03.10.2019, 22:15
Может быть не летает из конца в конец, а просто хаотично глючит?
Ну да, скорее так.


Если сравнить мышь от корвета и MSX, на какой приятнее и плавнее двигается стрелка? Ведь на MSX?
Да, определенно MSX плавнее. Хотя для объективности следовало бы вынуть шарик из корветовской мыши и пальцем плавно покрутить колесики. Но у меня уже не будет такой возможности.

Vogul
07.12.2019, 16:54
В теории уже существует, можно садиться и начинать комплектовать и продавать. Но пока рутины много, раньше чем месяца через 2 за первый конструктор не возьмусь.


Уже интересно, только пока слабо представляется конечный результат этих усилий. Почитал по СОЮЗ-НЕОН статейку, посмотрел демку. А есть какой-то набор/архив софта, ради которого все усилия по разработке/сборке этого чуда?

Titus
07.12.2019, 19:55
А есть какой-то набор/архив софта, ради которого все усилия по разработке/сборке этого чуда?
Операционная система, уникальные игрушки. Несколько штук)

svinka
16.02.2020, 23:47
Если при повторении реплики применять хотя бы часть импортных радиодеталей то получится Союз-Апполон :D

IgorR76
22.06.2020, 18:19
Совместно с xolod собрали и запустили реплику Неона.
Комплект компонентов проверялся на рабочем экземпляре, и устанавливался на цанговые панели.
После сборки комп запустился сразу. Изображение, клавиатура.
На изображении были артефакты в виде вертикальных полос на нерабочей (незанятой окнами) области. Также не работало чтение с эмулятора дисковода Gotek.
Проблемы решились после правки таймингов задающего генератора.
Теперь комп вполне рабочий. Работает более 4х часов без сбоев и перезагрузки. Редкие ошибки чтения с диска присутствуют. Плата без корпуса и вентиляции.
Жесткий диск подключать не планируется.
Спасибо создателям реплики!

MM
22.06.2020, 19:55
После сборки
Использовали 1801РР1 ?

Titus
22.06.2020, 20:54
Совместно с xolod собрали и запустили реплику Неона.
Так, глядишь, и софт новый появится. Может даже под Aspekt.

xolod
22.06.2020, 22:07
Использовали 1801РР1 ?

Да сейчас стоят РР1 но эмулятор РР1 тоже планируется проверить.

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


Так, глядишь, и софт новый появится. Может даже под Aspekt.

А вот было бы очень интересно взять и написать хотябы Intro с целью пощупать на что способна графическая часть Неона. Андрей, не хочешь тряхнуть старяной? ;-)

Titus
22.06.2020, 22:08
А вот было бы очень интересно взять и написать хотябы Intro с целью пощупать на что способна графическая часть Неона. Андрей, не хочешь тряхнуть старяной? ;-)
Неть)

IgorR76
22.06.2020, 23:04
Неть)

Ну и воть. Значит, нового софта не будеть...

Titus
22.06.2020, 23:56
Ну и воть. Значит, нового софта не будеть...
Пишите и будет)

Manwe
23.06.2020, 20:30
А вот было бы очень интересно взять и написать хотябы Intro с целью пощупать на что способна графическая часть Неона. Андрей, не хочешь тряхнуть старяной? ;-)Я хочу, только мой Союз-Неон не загружается с дисковода. Тест памяти проходит, а дальше всё. Пробовали с Назимом менять память и микросхемы в кроватках - не помогло.

xolod
23.06.2020, 20:35
Manwe, Мы все это прошли и решили. Если кратко то надо подбирать элементы в основном генераторе на 16мгц и в генераторе дисковода. Можем помочь запустить, но нужен как минимум хороший осцилограф. Или привозите пациента..

IgorR76
26.08.2020, 03:24
Я хочу, только мой Союз-Неон не загружается с дисковода.

И вот уже всё загружается и надёжно работает для написания софта.
Ждём с нетерпением новых демосцен и музыки!

shattered
26.08.2020, 15:55
Good Apple when? :)

Titus
26.08.2020, 16:05
Ждём с нетерпением новых демосцен и музыки!
Демосцена - это не дема) Некоторые в наше время стали называть демонстрации демосценами. Но это разные понятия. Демонстрация (дема [читается, как дЭма]) - это музыкальная и/или графическая программа, показывающая возможности программиста/машины.
Демосцена - это тематическая группа людей, которая занимается написанием дем, показом дем, конкурсами связанными с демами.

Black Cat / Era CG
26.08.2020, 18:43
Вот постоянно почему-то так ошибаются. И поправляться не желают.

Titus
26.08.2020, 18:47
Вот постоянно почему-то так ошибаются. И поправляться не желают.
Я думаю, что, возможно, есть определенный круг лиц, среди которых некий человек, имеющий авторитет, употребляет это искаженное понятие. И даже вроде бы я знаю, что это за группа по имени Hype)

NEO SPECTRUMAN
26.08.2020, 18:50
Демосцена - это тематическая группа людей, которая занимается написанием дем
а я бы сюда отнес и килотонны уже готовой продукции

но называть одни только демы демосценной не есть правильно...
тк это более глобальное понятие

Black Cat / Era CG
26.08.2020, 18:51
И даже вроде бы я знаю, что это за группа по имени Hype)
Не. Я слышал, что так говорят люди, совсем не имеющие к сцене отношения.

IgorR76
26.08.2020, 19:15
Демосцена - это не дема)
Конечно же, имелись ввиду демонстрации (demo).

Manwe
27.08.2020, 21:06
Пофиксите кто-нибудь RT-11 на Союз-Неоне, чтобы она понимала дату 2020-ый год. Ну, в смысле, просто 20-ый.
Пожалуйста! :)

Manwe
08.09.2020, 13:44
Есть рациональное предложение.

У Союз-Неона ужасные слоты для памяти. Платы памяти буквально шатаются в этих слотах. Можно переставить компьютер на другой стол - и всё, память уже не контачит.
Кроме того, 4 слота поставлены настолько тесно, что микросхемы соседних плат буквально касаются друг друга ножками. Приходится прокладывать картонку между ними, но со временем острые ножки протыкают картон и микросхемы замыкаются.

Каждый слот - 4 блока по 9 ножек, итого 36. Ширина примерно 10 сантиметров. Высота разъёма и платы памяти примерно 4 сантиметра. Стандартный корпус имеет запас по высоте почти 6 сантиметров.

Я предлагаю вместо этих ужасных разъёмов использовать SL-72. У него два ряда по 36 контактов, выходят на разные стороны.

https://imageup.ru/img5/3651273/sl-72.png

Длина разъёма 9.8 сантиметра, ширина 0.9 см.
Высота 1,6 сантиметра плюс вставляемая плата будет сантиметра 2.5-3 (длина микросхемы памяти чуть больше 2 сантиметров). Можно даже уложиться в 4 сантиметра, как в оригинале.

На плате Союз-Неона новые разъёмы SL-72 разместятся так (показано толстой красной рамкой):

https://imageup.ru/img12/3651279/sl-72-on-motherboard.png

В разъём предполагается вставлять плату из тонкого текстолита. Микросхемы памяти с обоих сторон платы. Может быть удастся напаивать их поверхостным монтажом (звучит непривычно, но в теории возможно после подгибания ножек). Либо можно сдвинуть микросхемы на разных сторонах платы относительно друг друга.

В Союз-Неоне допускается такая установка памяти: либо в слоты 1 и 3, либо во все четыре слота. Значит, можно сделать два вида плат памяти: односторонние (на каждой 1 Мб) и двухсторонние (на каждой 2 Мб).

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

troosh
08.09.2020, 14:13
У Союз-Неона ужасные слоты для памяти. Платы памяти буквально шатаются в этих слотах. Можно переставить компьютер на другой стол - и всё, память уже не контачит.
...

Наверное, развести дорожки от микросхем на 72 контакта будет непросто.

О,.. хороший контекст, чтоб поиграться с тестами памяти (https://github.com/troosh/pk11-16/tree/master/Soft/RAMTEST).

Вряд ли это усложнит разводку - там будет довольно много одинаковых сигналов с двух сторон.

MM
08.09.2020, 14:43
делают многослойные платы
4СПП в рамках 10х10 см весьма недорогие.

SuperMax
08.09.2020, 16:38
на сколько я понимаю можно сделать память вторым этажом как к примеру в Э85 или ямахе - и контакт хороший и никаких приседаний с 4х слойкой
причем и разводку менять не надо - надо просто запаять туда стандартные линейки-мамы
а сверху туда втыкать не 4 платки вертикально а одну горизонтально

pilgrim
09.09.2020, 07:20
Как вариант, сделать рамку с направляющими для памяти.

IgorR76
09.09.2020, 13:17
Протестировал реплику тестом speed.sav . Результат во вложении.
Стоит отметить, что прерывания от часов в реплике - 64гц. В оригинале - 50гц. Влияет ли это на результаты теста - не знаю.

Titus
09.09.2020, 13:28
Влияет ли это на результаты теста - не знаю.
Безусловно влияет, но вряд ли значительно.

Hunta
09.09.2020, 13:33
Делить на 1.28

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

Пардон, ошибся, умножать на 1.28
Программа думает, что оттикала 1 секунда - и показала миллион, а на самом деле оттикало 50/64-ых секунды, то есть правильное число - 1 280 000

Alex
09.09.2020, 13:34
Интересно, а если поставить стандартные панельки под 30-pin SIMM? И вставить модуль памяти на 4 мегабайта. Конечно SIMM модули уже ушли из широких масс, они доступнее SIPP, но их пока ещё есть со старых компьютеров.... Правда их на 16-бит шину ставят парами.

Что-то помню, что слышал, можно к SIMM ножки припаивать, для установки в Союз-Неон ПК-11/16 превращая в SIPP... или это я ошибаюсь?

troosh
09.09.2020, 14:00
Интересно, а если поставить стандартные панельки под 30-pin SIMM?
Нельзя стандартные модули памяти: там разрешение записи до байта, а ПК11/16 нужны планки памяти с точностью до двух бит. Т.е. там 4-ре сигнала вместо одного write enable на байт в SIMM.

Manwe
09.09.2020, 14:16
Протестировал реплику тестом speed.sav
MUL R2,R0 - 11.27 mks
На БК 0011М с процессором ВМ1г (у него есть аппаратное умножение) при частоте 4 МГц результат в среднем 64 мкс (зависит от аргументов). При теоретическом разгоне до 8 МГц (как у Союз-Неона) было бы 32 мкс, то есть в 2.8 раз медленней, чем ВМ2.

Hunta
09.09.2020, 14:47
Протестировал реплику тестом speed.sav
MUL R2,R0 - 11.27 mks

На БК 0011М с процессором ВМ1г (у него есть аппаратное умножение) при частоте 4 МГц результат в среднем 64 мкс (зависит от аргументов). При теоретическом разгоне до 8 МГц (как у Союз-Неона) было бы 32 мкс, то есть в 2.8 раз медленней, чем ВМ2.

Учитывая, что там 64 Гц, а не 50 - умножение - 8.8 мкс, соответственно - в 3.6 раз медленнее
И до 8 ещё надо разогнать.

Alex
09.09.2020, 14:53
Нельзя стандартные модули памяти: там разрешение записи до байта, а ПК11/16 нужны планки памяти с точностью до двух бит. Т.е. там 4-ре сигнала вместо одного write enable на байт в SIMM.
То есть в Союз-Неон ПК-11/16 нестандартные SIPP???

Так как, когда я был на "Кванте", там местный народ утверждал, что Союз-Неон ПК-11/16 стандартные модули SIPP... Типа можно докупить ...
То ли сами не знали что да как, то ли врали...

Manwe
09.09.2020, 14:59
И до 8 ещё надо разогнать.Либо Союз-Неон опустить до 4 :)

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


То есть в Союз-Неон ПК-11/16 нестандартные SIPP???Я в начале 90-ых думал, что стандартные - уж больно были похожи на PC-ую память издалека. И только год назад узнал, что память совсем другая. Побитовый доступ к памяти нужен для спрайтов, насколько я понимаю. Чтобы перетирать не байт целиком, а допустим только одну точку в 2-битном цветовом режиме.

Alex
09.09.2020, 15:09
И сколько же пинов в SIPP от "Кванта"?

Hunta
09.09.2020, 15:28
Либо Союз-Неон опустить до 4
Программу не интересует оптимальность выполнения операций по клокам - для неё миллион - это миллион. Так что 1801ВМ1Г пока проигрывает 1806ВМ2 в 7.2 раза. Который, в свою очередь, проигрывает моему J11 в 2 раза.

Manwe
09.09.2020, 16:32
Так что 1801ВМ1Г пока проигрывает 1806ВМ2 в 7.2 раза.В связке с памятью разница на MOVах в 3-5 раз: тест SPEED.SAV на оригинале Союз-Неон (https://zx-pk.ru/threads/25778-otechestvennye-kompyutery-bystrodejstvie.html?p=1080230&viewfull=1#post1080230).

xolod
10.09.2020, 10:24
А теперь понял. Код возврата этот драйвер выдаёт если сам диск сообщает о своём аварийном состоянии, либо когда от него не пришло прерывание.

Надеюсь ты запускал IDHARD.SAV, а не просто HARD.SAV? (они визуально не различаются)

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

Программа HARD.SAV написана на Си и этот исходник я нашел на дисках, IDHARD.SAV очень похожа, но исходник у неё был другой - нужно будет разбираться по дизассемблеру...

В теме https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html?p=1080297#post1080297
Делаем IDE в эмуляторе. Identify Device уже работает.
У меня вопрос по драйверу DH я правильно понимаю что он может работать на RT11 на стандарном BIOS без ide поддержки? По исходнику мне показалось что после его запуска он перезапускает машину и пытается загрузится с IDE, это так? ( это из-за того что это процесс виртуальной машины союз-неона?)
Еще непонятно зачем нужна утили форматирования для IDE? Она просто таблицу разделов создает? Т.к. низкоуровневое форматирование на IDE ненужно.
Мое видение такое, нужен обычный драйвер для RT11 .SYS котороый можно просто положить на загрузочный диск и протестировать чтение записть на IDE в эмуляторе. Или сделать userspace утилиту (типа IDENT.SAV) которая сможе просто читать и писать сектора на IDE.

troosh
10.09.2020, 13:08
У меня вопрос по драйверу DH я правильно понимаю что он может работать на RT11 на стандарном BIOS без ide поддержки? По исходнику мне показалось что после его запуска он перезапускает машину и пытается загрузится с IDE, это так? (это из-за того что это процесс виртуальной машины союз-неона?)

Ну выглядит это так, будто этот драйвер IDE должен жить независимо от драйвера FD+MFM. Ну да, там какая-то магия с холодным сбросом и загрузкой с этого нового диска (видимо предполагается, что там уже есть файловая система и файлы для загрузки RT11, но это не точно...)
В эту магию я даже не пытался вникать (может в эмуляторе этот признак типа старта и возможность перезагрузки не поддержана).

Я не понимаю на какие буквы должен, точнее как цепляться этот драйвер (по "show dev" должна появится строка с CSR=177134 Vector=240). Логично что должно быть "DH", да и в исходнике упоминается DH0:, DH1,... [/QUOTE]




Еще непонятно зачем нужна утили форматирования для IDE? Она просто таблицу разделов создает? Т.к. низкоуровневое форматирование на IDE ненужно.

Я так понимаю у RT11 есть лимит в 32 Мбайта на раздел (том, образ диска или как это там правильно называется...), поэтому заводят обычно до 8 разделов на диске. Это позволяет задействовать до 250М диски (тогда 40М было круто).
На других машинах встречал упоминаник, что разделов может быть больше (до 64 или 99, хз). Это позволит еще больше утилизировать пространства диска в ОС RT11.

Драйвер DH не хранит на диске таблицу разделов, она в него вшита. В отличие от гибридного "FDD+HDD(MFM+IDE)" IDE.MAC, который я зачем-то пытался засунуть в ПЗУ, но тот туда не помещается. Так вот, там таблица разделов еще и проверяется на валидность - что-то не понравилось, значит диска нет...

Форматирование там конечно не низкоуровневое, как у флопа и МФМ диска. Просто нужно сделать разметку файловой системы, чтоб RT11 признал еë как свою (это что-то вроде "быстрого форматирования" в винде).

Sergei Frolov
10.09.2020, 13:14
А у Союз-Неона есть ИРПС?

xolod
10.09.2020, 13:20
А у Союз-Неона есть ИРПС?

Есть.

troosh
10.09.2020, 13:24
Мое видение такое, нужен обычный драйвер для RT11 .SYS который можно просто положить на загрузочный диск и протестировать чтение записть на IDE в эмуляторе. Или сделать userspace утилиту (типа IDENT.SAV) которая сможе просто читать и писать сектора на IDE.

Если бы не было готовых решений DH/IDE (которое мы похоже просто пока не понимаем как должно использоваться), то начинать можно было бы с драйвера RAM диска. Пример его использования:



prun MDc.prc
set size=1000
ins md
lo md
ini/noq md:

сор *.prc md:


Полезно после каждой строки проверять "show dev", "mem" и "dir md:"

Исходник этого драйвера тут (https://github.com/troosh/pk11-16/blob/master/Soft/UTILIT.DSK/MDC.MAC), он правда без комментариев...

troosh
10.09.2020, 13:39
А у Союз-Неона есть ИРПС?Если сделать "prun DLc.prc" то подымется его драйвер. Себя он называет "DL 176500 300", но в образе что штатно запускается под симулятором его грузят под именем "Serial_interface". Только в STARTS.COM его загрузка закомментирована символом "!". Наверное потому, что эмулятор начинает ругаться на маску разрешенных прерываний в ВН59.

Под этот последовательный порт еще какой-то софт есть для модема на дисках. Там чуть ли не какая-то BBS станция могла запускаться в те фидошные времена.

Режима работы там как-то переключается: Стык С2 или rs232...


Есть там также драйвер принтера LPc.Prc, также обычно не загружается.

Sergei Frolov
10.09.2020, 13:42
Режима работы там как-то переключается: Стык С2 или rs232...


Наверно Стык С2 или ИРПС?

troosh
10.09.2020, 13:52
Наверно Стык С2 или ИРПС?Ну в этом я могу ошибаться. В общем том по схеме там программно переключаемый режим работы. Сейчас уже не помню и лень схему искать - вроде просто инверсия сигналов.

xolod
10.09.2020, 14:07
Наверно Стык С2 или ИРПС?
Из ТО:
Путем введения дополнительной логики достигнута возможность подключения внешних устройств имеющих порты либо "Токовая петля" либо "RS-232С".

PPIC 161034 (чтение/запись)
1 PС1 ─ 1 ─ RS232С; 0 ─ "токовая петля"

Manwe
18.11.2020, 13:11
Ребят, допилите схему Союз-Неона, чтобы можно было адресовать 8 мегабайт памяти. Там один свободный бит в адресе есть. Старший как раз.

Titus
18.11.2020, 13:37
Ребят, допилите схему Союз-Неона, чтобы можно было адресовать 8 мегабайт памяти. Там один свободный бит в адресе есть. Старший как раз.
Так это и прошивку придется менять.
Смысл какой в 8Мб, если даже 4Мб для такой машинки многовато. Софта нет, который бы это использовал.

Manwe
18.11.2020, 13:51
Так это и прошивку придется менять. Смысл какой в 8Мб, если даже 4Мб для такой машинки многовато. Софта нет, который бы это использовал.Софт будет, не переживай :) Памяти много не бывает!
Ну а прошивку - да, поменять чуть. Обратная совместимость же останется.

S_V_B
08.03.2021, 18:28
Кстати я думал что Титус в эмуляторе начудил.. что в демке такие уродливые бордюры на окнах.. нет .. на реале также.

CodeMaster
08.03.2021, 18:36
Кстати я думал что Титус в эмуляторе начудил.. что в демке такие уродливые бордюры на окнах.. нет .. на реале также.

Он же рамки окон правил по фото с реала.

S_V_B
08.03.2021, 19:04
Привет всем.. выдалось время запустил таки НЕОН. Категорически хочу чтобы модераторы сделали отдельную тему для Неона, а не подтему для ДВК.. т.к. они рядом не стояли..(Пришел БП.. (5,12,-12) 55-Вт подходит в корпус.. с GBS-Control.. еще разбираюсь.. ранние версии вообще не работают.. последняя отлично настраивается.. только периодически срывается синхронизация.. так было и с УКНЦ.. Вопрос.. демка "которую все видели" она со звуком?


Он же рамки окон правил по фото с реала.
Значит когда демо писали.. про рамки не подумали.. (хотя мое мнение (если это не технические проблемы) рамки весьма сомнительное решение)

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

Про вынос темы ПК 11/16 - Союз-Неон обращайтесь к администраторам форума. Здесь демонстрации устраивать не надо.
Модератор.

hobot
08.03.2021, 20:00
ссылки по машинке на темы к ней относящиеся

https://zx-pk.ru/threads/28944-programmirovanie-dlya-pk-11-16-%C2%ABsoyuz-neon%C2%BB.html

https://zx-pk.ru/threads/30992-kontroller-ide-dlya-soyuz-neon-pk-11-16.html

https://zx-pk.ru/threads/32144-eshchjo-odin-rabochij-original-soyuz-neon.html

https://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html

https://zx-pk.ru/threads/30895-operatsionnaya-sistema-quot-aspekt-quot-(c)-a-s-p-jes.html

https://zx-pk.ru/threads/29092-replika-pk-11-16.html

https://zx-pk.ru/threads/29408-proekt-rabochej-repliki-soyuz-neon-pk-11-16.html

https://zx-pk.ru/threads/29018-pk-11-16-obsuzhdenie.html

https://zx-pk.ru/threads/9925-pk-11-soyuz-neon.html

S_V_B начни хотя бы FAQа черновичок для нового раздела

S_V_B
08.03.2021, 21:14
Кому писать-то?? После просмотра видео... (я к тому.. что мы ему не очень уперлись) Модератор раздела не может задать вопрос??

Писать администратору CityAceE. Или в Оптимизация разделов (https://zx-pk.ru/threads/32772-optimizatsiya-razdelov/page2.html). Модератор тут причем?

S_V_B
23.01.2022, 12:40
Драйвер IDE (LBA) для НЕОНа:
https://disk.yandex.ru/d/wv7Bi1ZLxOmpWg
USE:

INS HZ
LO HZ
INI/SEG:31 HZ0:
COP/SYS DK: HZ0:
COP/BOO DK:RT11SJ.SYS
BOO HZ0:

Из непонятного - не инициализируется диск HZ1:, остальные вроде норм. (нужно разбираться).

S_V_B
24.01.2022, 15:23
В режиме LBA драйвер получается достаточно простой и само собой напрашивается сделать поддержку >256Мб CF.
Как реализовать количество юнитов>8? По моему Form говорил, что это возможно. Или нужно будет патчтить систему?

xolod
26.01.2022, 11:58
Драйвер IDE (LBA) для НЕОНа:
https://disk.yandex.ru/d/po9AmPQ_OG6AsQ
USE:

INS HZ
LO HZ
INI/SEG:31 HZ0:
COP/SYS DK: HZ0:
COP/BOO DK:RT11SJ.SYS
BOO HZ0:

Из непонятного - не инициализируется диск HZ1:, остальные вроде норм. (нужно разбираться).


S_V_B, А расскажите пожалуйста подробней о вашем драйвере. Он как-то совместим с работой troosh, https://github.com/troosh/pk11-16/tree/master/HDD ?
Еще бы сделать загрузку с IDE в BIOSе.

S_V_B
26.01.2022, 13:08
Он как-то совместим с работой troosh
Нет, совсем несовместим. Работает в режиме LBA, а не CHS. Нет разбивки на партишины. Все проще, в биты 16-23 LBA кладем номер юнита и таким образом получаем N дисков по 32Мб.

Тот драйвер (от troosh) судя по всему для другого контроллера и запустить его не удалось никому.

S_V_B
03.02.2022, 19:11
Переписал драйвер в multiple mode.
В архиве загрузочный диск для Готека и имидж винта для CF (винт разбит на 8 дисков по 32мб. HZ0 - загрузочный).
https://disk.yandex.ru/d/nO24NZLRSKi2MQ
После старта с Готека перегрузится с винта.

S_V_B
06.02.2022, 13:10
Вопрос к ув. Titus, возможно ли добавить к EmuStudio PK-11 хоть какой-нибудь дебаггер или хотя бы трейсер. Это сильно облегчило бы жизнь в изучении ПК11/16 :)

Titus
06.02.2022, 13:25
Вопрос к ув. Titus, возможно ли добавить к EmuStudio PK-11 хоть какой-нибудь дебаггер или хотя бы трейсер. Это сильно облегчило бы жизнь в изучении ПК11/16
В одной из версий я открывал дебаггер, хотя и примитивный. Не помню уже в какой, надо читать тему.

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

S_V_B
06.02.2022, 13:46
Я не тороплю, мне важен принципиальный ответ. У меня в кармане всегда микрописи, а реал не всегда рядом. И я не любитель теоретических изысканий, для меня проще и по времени и по нервным затратам сразу посмотреть в чем косяк нежели неделю обсасывать это в уме:)

Titus
06.02.2022, 13:49
Я не тороплю, мне важен принципиальный ответ. У меня в кармане всегда микрописи, а реал не всегда рядом. И я не любитель теоретических изысканий, для меня проще и по времени и по нервным затратам сразу посмотреть в чем косяк нежели неделю обсасывать это в уме
Когда я его еще пересоберу и доделаю. Лучше поищи на форуме версию с отладчиком. Я помню, что я ее выкладывал, т.к. кто-то просил.

S_V_B
06.02.2022, 14:17
Ок. Просто на будущее, чем больше функционала, тем быстрее разработка :) Трудно все продвигается.

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

Насколько я понял доки на Неон писали чтобы быстрее акты выполненных работ подписать.

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

Так-то комп достаточно мутный. Но при известном желании игруху можно сделать мощную :). В мечтах.. некий открытый мир основанный на скриптах.. Типа Wasteland..

Titus
06.02.2022, 18:48
Насколько я понял доки на Неон писали чтобы быстрее акты выполненных работ подписать
Я по докам эмуль сделал, так что все написано хорошо.

S_V_B
06.02.2022, 19:21
Я по докам эмуль сделал, так что все написано хорошо.
Значит я немножко туповат..не все до конца понимаю.. Везет тебе..

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


Объясни пожалуйста что значит фраза «у компьютера нет прерываний».. Почему тогда работают программы RT-11..без всяких объявлений и пр.

Titus
06.02.2022, 20:12
Объясни пожалуйста что значит фраза «у компьютера нет прерываний».. Почему тогда работают программы RT-11..без всяких объявлений и пр.
У Союз-Неона есть прерывания)

xolod
07.02.2022, 00:25
Я по докам эмуль сделал, так что все написано хорошо.
А объясните мне пожалуйста как получается физический адрес RAM из регистров менеджера памяти?
Как это-то складывается и что с битом A12 адреса?

Эта схема из документации мне не совсем понятна:


16─разрядный адрес (64К)
╔════════╦══╦═══ ════════════════ ══════════════╗
║15 14 13 ║12 ║ 11 10 9 8 7 6 5 4 3 2 1 0║
╚════════╩══╩═══ ════════════════ ══════════════╝
номер регистра │
диспетчера 0─7 │
┌─────────────┘ + (сумма с переносом в разряды 13─19)

╔═══════════════ ══════════╦══╗
║21 ║12║ │ регистр диспетчера памяти
╚═══════════════ ══════════╩══╝

22─разрядный адрес (4М)
╔═══════════════ ════════════════ ════════════════ ════════════════
║21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0║
╚═══════════════ ════════════════ ════════════════ ════════════════

Titus
07.02.2022, 00:59
А объясните мне пожалуйста как получается физический адрес RAM из регистров менеджера памяти?
Как это-то складывается и что с битом A12 адреса?
Не помню документацию, но эмулятор делает так.
Берет 16-битный адрес и прибавляет к нему адрес из таблицы менеджера памяти по формуле. RealAdr = Adr + MMU[(Adr >> 13) & 7].
Для режима USER и HALT разные таблицы.

xolod
07.02.2022, 01:29
RealAdr = Adr + MMU[(Adr >> 13) & 7].

Это понятно, а покажи какие биты складываются в Adr и MMU[..] ?

S_V_B
07.02.2022, 06:24
Не совсем правильно выразился.


3.2. Векторные прерывания

В ПЭВМ отсутствуют векторные прерывания. Однако они
необходимы для правильной эмуляции "стандартных устройств", без
которых не может обойтись ДОС. Поэтому предусмотрены
соответствующие аппаратно-программные средства, позволяющие
эмулировать векторные прерывания. ВПО содержит специальную
таблицу-список, в которой хранится информация о всех векторных
прерываниях, "выставленных" эмуляторами. Эмулятор выставляет
"запрос на прерывание" специальным запросом ВПО - SETINT. Снятие
запроса на прерывание выполняется запросом RESINT.
Эмуляция векторных прерываний происходит только для одного
процесса. Этот единственный процесс должен содержать в слове
P.MASK своего дескриптора установленный в 1 разряда в соответствии
смаской V.VRQ. Этим единственным процессом является процесс
дисковой ОС.

Когда происходит инициализация, из пзу во время запуска компа? Если процесс один и он принадлежит дисковой ОС то мы ничего и поменять-то не можем. Зачем тогда акцентировать на это внимание? Ну или хотя бы немного расписали что и когда происходит.

При создании нового процесса используют SETINT, WAITINT, а если нужно подменить обработчик прерывания? Как это правильно сделать при наличии нескольких процессов?

Titus
07.02.2022, 13:29
Это понятно, а покажи какие биты складываются в Adr и MMU[..] ?
У меня все складываются) Все биты Adr и все биты базового адреса в таблице MMU.

S_V_B
08.03.2022, 18:44
Кто-нибудь запустил винт с моим драйвером?

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

Мне просто интересно, нужно это кому-нибудь. Так-то я хочу пойти своим путем..отличным от РТ-11..

Да и еще раз повторюсь.. документация.. Г. Лишбы сдать..но мне до пенсии и после.. На возраст 'Дожития' хватит развлечений..некоторые вещи у этого компа работают действительно быстро.

Alex
09.03.2022, 09:00
Ну пойти своим путём реально, но пользоваться этим мало кто будет :(
Но если хочется развлечься чисто самому, то почему бы и нет...
Вполне можно написать что-то оригинальное ;)

Под RT11 есть определённый инструментарий.
Ради этого софта и городилась совместимость со средой RT-11.
В случае своего пути - этой совместимости не будет :(

Hunta
09.03.2022, 10:35
Ну пойти своим путём реально, но пользоваться этим мало кто будет
Тут даже не то, что бы пойти своим путём. А тупо - количество.
Сколько работающих экземпляров у людей, которые хотя бы ХОТЯТ писать что то под Союз-Неон?
И сколько из них реально что-то пишут?
А учитывая самобытность-нестандартость архитектуры - представим себе, что что то в нём из железа вылетело?
Как быстро (в среднем) оно будет починено?

Alex
09.03.2022, 18:57
Ну да, всё перечисленное домножается на коэффициент неведомости уникального ПО...
Хотят чего-то написать более одного явно, и скорее всего они тут есть на форуме.
По поводу починки - вопрос неоднозначный.
Из идей - чисто теоретически можно ведь RSX-11 переписать или UNIX, заменив работу с диспетчером памяти...
Для начала, какую-то из старых версий(меньший объём) :)
Хоть и сложно, но реально.
Однако вопрос главный в том, как и куда графику прикручивать???
Как X-терминал в случае UNIX ??? Ну а смысл в этом??? Надо что-то оригинальное и красивое ;)
Есть конечно специальная операционная среда ОС АСПЕКТ, но как я понимаю, её недопилили... :( не успели ...
Я думаю, что реально разработать какую-то среду программирования, типа Turbo-BASIC, Turbo-C...
И попробовать туда перетащить, что было понаписано в Turbo-...
Но это огромный объём работы...
Но по крайней мере при перетаскивании - с воображением проблем менее ;)
И самое печальное, что не будут использованы все плюшки Союз-Неон ПК-11/16

Hunta
09.03.2022, 19:00
чисто теоретически можно ведь RSX-11 переписать
Боюсь - написать почти с нуля


или UNIX
Тут ничего не скажу


Но это огромный объём работы
А учитывая уникальность (в смысле количества рабочих экземпляров) компьютера и программо-писателей (под него)...