- Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x
-
? Voland@ - 30.12.2013 15:57
Начинается разработка нового комплексного устройства для БК0010 / БК0011М, ориентировочные сроки выпуска в продажу - май-июнь 2014.
¤
Функциональные узлы модуля
● SMK-512 без разъема IDE (останется только слот CF) по причине дефицита места; габаритная ПЗУ 27C210 (dip-40) будет заменена на компактную флеш-микросхему
● GPU (от БК12) с DVI выходом и поддержкой расширенных графических режимов
● 32Mb DRAM, включая стандартные 512кб памяти SMK, экранные буферы GPU и электронный диск
● Ядро процессора NIOS со встроенными графическими и аудио (mp3) тестами
● PS/2-контроллер для мыши и клавиатуры с эмуляцией [кнопка PC] = [кнопка БК]
● FPGA-реализация AY-3-8910
● mp3-чип STA015 с DAC и общим усилителем с FPGA-AY
● Реализациея com-порта по стандарту ИРПС-блока БК на базе КР1801ВП1-065 (разъем idc-10)
● Шина специализированного коммерческого стандарта UEXT (разъем idc-10)
● Картоприемник SD-card (драйверная поддержка не предусмотрена)
● (опционально) Быстродействующий fpga- ВМ1/ВМ3 из БК12 (потребует установки EP3C10E144C8N вместо EP3C5E144C8N)
● Флеш-память для хранения ПЗУ SMK512, тестов GPU и ВМ3 и т.п.
¤
Основные используемые компоненты
● EP3C5E144C8N / EP3C10E144C8N - FPGA Cyclone III на 5000/10000 ячеек (10000 потребуется в случае установки ускоренного ВМ1/ВМ3 в fpga)
● MT48LC16M16A2P-75 - sdr sdram, общий объем 32 mb, 16-разрядная (под видеобуферы, электронный диск, и стандартное ДОЗУ 512кб для SMK)
● Chrontel CH7301C - одноканальный DVI-передатчик, поддерживающий вывод аналогового видеосигнала RGB через три 10-битных цифро-аналоговых конвертера
● FT2232h - двухканальный аппаратный USB-мост, UART, асинхронное FIFO, MPSSE и синхронное FIFO (программирование FPGA и флеш через USB-B)
● STA015 - mp3-чип
● opa2134 - тональнозвуковой операционный усилитель
● CS4344 - аудио ЦАП
● Флешь-память (конкретный чип пока не выбран)
¤
Глазами пользователя и программиста
Подключаемый к МПИ модуль, содержащий в "одном флаконе" практически всё необходимое для БКшника, включая стандартный SMK-512 для работы с дисководом/винчестером и стандартный БКшный com-порт. Прошивать FPGA, на которой построен модуль, будет возможно по USB-кабелю за счет входящей в состав модуля микросхемы FT2232h. За счет этого же чипа будет возможен вывод изображения стандартных БКшных видеорежимов через USB-кабель в окно Windows-приложения на PC. Предполагается, что само приложение будет написано силами энтузиастов (есть некоторые договоренности).
Стандартные БКшные видеорежимы, как и расширенные видеорежимы, будут также выводиться через DVI-выход на современный монитор. Предполагается, что максимальный видеорежим будет составлять порядка 800*600 точек при 16-битной цветности.
Процессор NIOS в составе модуля будет использован не столько в качестве привлекательного функционала, сколько в качестве суровой практической необходимости: писать тесты GPU и mp3 на ассемблере БК некому, а для NIOS существует компилятор C, под который есть масса готовых исходников, позволяющих решать указанные задач.
DVI-выход по умолчанию будет выдавать цветное изображение, имея на одной из ног разъема монохромный композитный сигнал. Как и на БК12, будет возможным переключение видеорежимов нажатием кнопки F10 клавиатуры PS/2 (поочередная смена видеорежимов ЦВ / ЧБ / МОНОХРОМ). Без клавиатуры PS/2 такое переключение будет возможно только тактовой кнопкой на верхней плате блока.
¤
Форм-фактор
Блок будет реализован в формате двухэтажной платы под стандартный заводской корпус увеличенной высоты (такой используется для модуля АЦП/ЦАП). Конкретное расположение выходных разъемов будет установлено в процессе разводки платы, пока предположительно на нижней плате в торце блока будут расположены DVI-выход, два PS/2-разъема (мышь и клавиатура) и разъем idc-10 с реализацией com-порта (по стандарту ИРПС-блока БК на базе КР1801ВП1-065). Разъем CF-50 будет распложен с правой стороны нижней платы, как и сейчас в SMK-512.
Нижняя и верхняя платы будут соединены межплатным соединителем (ориентировочно на 40 соединений), расположенным примерно там, где сейчас в SMK-512 располагается FDD-разъем. Также для скрепления двух плат будут использованы 1-2 стягивающие стойки с диаметром резбовой части М2.5. На верхней плате в торце блока будут располагаться разъемы UEXT (idc-10), Audio (розетка jack 3.5), FDD-разъем (idc-34), разъем USB-B. В левой части верхней платы будет расположен картоприемник под SD-флэш (т.е. над разъемом CF-50), программная реализация обмена с которым будет отдана на откуп энтузиастам (пример - использование SD в качестве эмулятора дисковода или замены IDE-накопителя).
На верхней плате блока будут располагаться две тактовые кнопки, одна - RESET (Как сейчас в SMK512), вторая - поочередная смена видеорежимов ЦВ / ЧБ / МОНОХРОМ на DVI-выходе.
¤
Блок перемычек модуля
● отключение FPGA-AY-3-8910 (замкнута=включено, разомкнута=отключено)
● исключение из адресного пространства БК регистров всех новых устройств - GPU, электронный диск, PS/2, NIOS, STA015 (замкнута=исключены, разомкнута=присутствуют)
● эмуляция подключенной мыши "Марсианка" при наличии PS/2 мыши (замкнута=эмулируется, разомкнута=не эмулируется)
● три зарезервированные перемычки
¤
Открытые вопросы
● распределение регистров новых, нестандартных для БК устройств, в адресном пространстве БК
● концепция сопряжения центрального ВМ1 с ускоренным fpga-вариантом ВМ1/ВМ3
● организация доступа к электронному диску
● способ запуска встроенных тестов GPU и mp3 (предварительно - запуск по зажатой при старте БК кнопке переключения видеорежимов DVI, или ручной старт по нужному адресу)
● другие интересные пожелания и замечания (что-то выкинуть, что-то добавить, изменить расположение разъемов, конкретные архитектурные решения)
¤
Ориентировочная стоимость
● 3500 руб в виде конструктора для самостоятельной сборки
● 4500 руб в виде собранного и протестированного изделия
-
? Voland@ - 30.12.2013 15:58
Также обсуждение вынесено сюда http://zx.pk.ru/showthread.php?p=657196#post657196
и сюда http://www.phantom.sannata.ru/forum/index.php?t=14963#last
-
? MSV - 30.12.2013 17:51
Очевидное достоинство - цена. Недостатки - ... напомню анекдот. Новый авиалайнер. В пассажирский салон входит стюардесса:
- Вы находитесь на нашем новом авиалайнере, в носовой части самолета у нас находится кинозал, в хвостовой - зал игровых автоматов, на нижней палубе - бассейн, на верхней - сауна. А теперь, уважаемые господа, пристегните ремни, и со всей этой чертовщиной мы попытаемся взлететь. (смайл)
-
? Дмитрий - 30.12.2013 23:00
Экипаж прощается с вами и желает приятного полета! Так точнее... Не закончив одно, сразу кидать на другое. БК12 еще свет не видел, а тут уже все-в-одном приблуда к нему. Зачем?
-
? Voland@ - 30.12.2013 23:08
Приблуда совершенно не к нему, а к стандартной БК0010/0011М. Выйдут в продажу они (я надеюсь), примерно одновременно. Хотя возможно, данная приставка выйдет пораньше, т.к. в БК12 помимо стандартных режимов и GPU еще куча всего, что надо будет как-то протестировать.
Ранее мы выпустили СМК512, который фактически стал побочным продуктом БК12, теперь приставка будет таким же продуктом.
-
? MM@ - 30.12.2013 23:54
1.Существенные и принципиальные рекомендации давать поздно - они будут восприняты скорее как троллинг, т.к. костяк проекта уже, видимо, готов.
2.О регистрах.
2.1.Следует составить табличку регистров собственно (1801)ВМ3, а лучше - 1831ВМ1/хххх - по этим адресам совсем не следует ничего делать, особенно портит малину блок регистров ВМ3 в адресах группы 172ххх.
2.2.Следует так же составить табличку базовых адресов от ДВК-4 - МС1201.04, МУ, КНГМД, КЖД, КТЛК6 - 1 и 2 вариант, КЦГД.
В МС1201.04 следует принимать во внимание 2 режима адресации порта принтера и 2 адреса ИРПС.
2.3.На Э60 и Э85 предлагаю забить - так вообще от BS7 ничего может не остаться, если по промышленным контроллерам бегать.
2.4.Предлагаю зарезервировать за ОЗУ пульта ВМ3 адреса 172600-172777, самый шик бы был сделать еще и регистрик странички этого окна, где-нибуть в адресах группы 172ххх, сбрасываемый по сигналу INIT.
2.5.Предлагаю зарезервировать адреса 172100-172137 под управление мостом МПИ-ИСА.
2.6.Предлагаю зарезервировать адреса 160000-167777 под ПЗУ КНГМД/IDE.
2.7.Если будет возможность, как-нибуть зарезервировать адреса 170000-171777 под страницу ввода-вывода моста МПИ-ISA. Можно сделать эту страницу отключаемой. Впрочем, возможны варианты...
2.8.Адреса 173000-173777 следует оставить под программу начального пуска ВМ3 - или даже расположить там ПЗУ, можно даже скрытое от ВМ1.
2.9.Если применять контроллер исключительно с БК11/М, целесообразно разместить страницу ввода-вывода электродиска по адресу 100000-137777 в какой-нибуть страничке ПЗУ БК11, а регистр номера страницы - 177666, сбрасываемый по INIT. Максимальная емкость такого ЭД - 16 кбайт х 65536 = ( 1 Гбайт ). Можно, как вариант, назначить биты разрядов регистра 177666 - "100000" и "040000" - как "недоступна запись" и "недоступно чтение". При наличии двух этих битов одновременно - недоступна страница ввода-вывода ЭД.
2.10.Регистры порта USB целесообразно вывести на адреса группы 176ххх - кроме 176560-176577 - это 2-й адрес порта ИРПС в ДВК4.
2.11.Для служебного ОЗУ драйвера винчестера целесообразно предусмотреть отключаемое окно ОЗУ, может быть в адресах 175000-175777 ?
3.Сопряжение 1801ВМ1 в составе БК11 и ВМ3 в составе блока целесообразно организовать по ПДП, причем в динамическом режиме -
т.е. что бы внешнее устройство, использующее ПДП ( пока это только МУ от ДВК ), могло работать как с ВМ3, так и с ВМ1 в составе БК11. Вариант для БК10 - доработка самой БК10 - вывести на разъем МПИ сигналы ПДП 1801ВМ1 по образцу БК11.
Почему это желательно - в перреспективе мост МПИ-ISA будет поддерживать ПДП, там это весьма желательно.
-
? MSV - 31.12.2013 01:29
А вот и грабли! Какой сюрприз! (смайл)
Самое простое решение, как уже говорилось ранее - дополнительная память, под флаги доступа к тем или иным ячейкам памяти. И отдельный диспетчер их управления и обработки. Но этого - не будет сделано. Встречпем очередного монстра - вещь в себе. (добронушный смайл)
-
? TheGWBV@ - 31.12.2013 01:42
RE: ? Voland @ - 30 декабря 15:57
"● (опционально) Быстродействующий fpga- ВМ1/ВМ3 из БК12 (потребует установки EP3C10E144C8N вместо EP3C5E144C8N)" - я бы не стала на это распылять силы для этого изделия, делая при этом из него, по сути, автономный микрокомпьютер. И без этой опции будет чем голову занять системным программистам: научиться кодить работу с PS/2, GPU и mp3, 32Mб DRAM (а ведь некоторые ещё и 512Кб СМК не освоили), и хотя бы UART из состава UEXT. Тем более, что и так планируется интегрировать микроконтроллер для системы самодиагностики изделия на ядре NIOS, который ненароком может стать и ЦПУ изделия при соответствующей прошивке ПО во флеш, например, на базе μClinux или FreeRTOS.
-
? Voland@ - 08.01.2014 23:55
К сожалению выяснился неприятный нюанс, точнее даже несколько:
1. Технически невозможно через МПИ-блок имитировать нажатия БК-клавиатуры внешней PS/2-клавиатурой, т.к. будет конфликт регистров. Придется отключать определенные ноги ВП1-014 и двух регистров УП (т.к. с имитацией "Марсианки" через PS/2 примерно та же беда). Т.е. что-то вроде тумблера понадобится, ну или навсегда перерезать две-три дорожки в общей сложности.
2. 144 ног ПЛИС не хватает на реализацию обмена с STA015, потому придется от нее отказаться и реализовывать проигрывание mp3 на NIOS (но разработчик скорее всего заниматься этим не станет).
-
? Дмитрий - 09.01.2014 00:24
1) А сделать клаву PS/2 на отдельный регистр типа 177662? Допустим, мл. байт будет содержать код клавиши, а старший - регистром состояния.
2) Проигрывание мп3 не цель создания. Надо будет кому-то - сделают.
-
? Voland@ - 09.01.2014 01:25
1. Так новый регистр можно будет использовать только в новых программах, а в старых толку от него не будет никакого.
2. Посмотрим, вроде есть какие-то решения http://www.alterawiki.com/wiki/MP3_Player
насколько они применимы, надо смотреть, т.к. бесплатный NIOS медленный и может не потянуть mp3.
-
? MM@ - 09.01.2014 01:59
Отключка ВП1-014 возможна так же по сигналу CS177660-177662, который для нее вырабатывает ВП1-037 на своем выводе 38.
Для этого на разъем МПИ надо вывести выв. 38 ВП1-037 - сигнал "BS", который соединяется с выв. 30 ВП1-014 - его тоже вывести на разъем МПИ, а между ними вставить резистор( т.е. перерезать этот трек на матери вблизи ВП1-014), например 2.2 ком ( не более ) и не менее 1 ком.
Сигнал нажатия кнопки на клаве - бит #100 в 177716 - его легко выводить на МПИ, т.к. сигнал доступа к 177716 выведен на ногу Б9 разъема МПИ - при уровне 0в. на нем осуществляется ввод данных с регистра 177716.
Существует возможность конфликта устройств при их одновременной работе - необходим диспетчер состояний, для обслуживания которого понадобится сигнал с выв. 09 АП2 - при его уровне 0в. кнопка на клаве БК11 нажата, при уровне +5в. - отпущена. Так вот, имеется вероятность, что ВП1-014 запросит прерывание при нажатии на кнопку - в таком случае надо разрешить доступ именно к ВП1-14.
Для отключению ВП1-014 на ее ногу 30 надо подать уровень +5в - например, с выхода ИС КР1533ЛН1 или аналогичных ИС.
*
Около 20 лет назад я собирал внешний переходник на МПИ для отсечки ВП1-014 и эмуляции ее деятельности на небольшой платке,
в составе которой были : КМ1801ВМ1А-4 мгц, ИС КМ1801РР1, ИС 62256 - 2 шт, КР1533ИР23 - несколько, мелкота. Размер - с плату КНГМД, причем как раз крепился над ней 2-м этажом. Для современных реалий РР1 отлично заменяется 2х2764. Причем ПС/2 вешал как раз на порт 177714 встроенного в переходник ВМ1А - для удобства отладки. Кроме бита чтения там необходим и бит записи - для управления лампочками в клаве. ( Эмулировалась МС7004 ).
*
Есть мнение, что целесообразно вывести побольше линий порта 177714/177716 встроенного в переходник процессора ВМ1А - что бы к этому устройству цеплять пассивную клаву от ноутбука.
-
? MSV - 09.01.2014 02:16
(с)майл
-
? MSV - 09.01.2014 03:08
Неправильная трактовка мнения.
Правильная, как я говорил ранее - использовать плюшку, аналог-замену 014-й, имеющую несколько быстрых последовательных интерфейсов, коммутируя к ним отдельные плюшки для пассивной клавиатуры, к примеру. Почему отдельную? Потому что - клавиатуры ноутбуков бывают разные, а так же бывают и PS/2 клавиатуры, и USB-клавиатуры. Получим - универсальное решение. Цены плюшек - 300 долларов кучка, в кучке 100 штучек. (С)майл
-
? MM@ - 09.01.2014 03:17
Все очень хорошо, насчет замены однокристалкой ВП1-014, да с входом ПС/2 - я целиком одобрямс.
А теперь спустимся на землю Москвы ( и области ). Кто будет ее кодить и сколько запросит ?
А тот модуль на ВМ1А, что я упомянул - его и я могу закодить, это не подвиг особый. Да мне что-то представляется, на этом форуме найдется несколько человек, могущих это сделать быстрей и лучше меня. ( И даже разработать прошивки под самые разнообразные пассивные клавы. )
-
? MSV - 09.01.2014 03:28
Действительно, бесплатно это никто не сделает. Однако, есть предположение, что это не так дорого, как может показаться. Большей проблемой является - подобрать к БК, идеологически правильную, низко потребляющую плюшку. Как Энергию к Буран`у. (широкий (С)майл)
-
? Voland@ - 09.01.2014 10:50
Боюсь, что замена на плате БК11М-01 оригинальной ВП1-014 на любую ПЛИС приведет к большим баталиям на тему идеологичности и аутентичности.
Хотя, в целом можно было бы сделать так:
1. Сейчас в Booster-11 сделать анализ сигнала с какой-либо свободной ноги МПИ, по которому решать, подключать или не подключать регистр-заменитель клавиатуры. В БК11М для возможности подключения через приставку дублирующей клавиатуры PS/2 перерезать необходимые дорожки и заводить на соответствующую ногу МПИ нужный сигнал.
2. Когда-то, когда будет новая редакция БК11М с замененной ВП1-014 на ПЛИС, перерезать дорожки и ставить тумблер (для возврата режима оригинальной клавиатуры) уже не понадобится, будет достаточно сигнала от приставки к новой ВП1-014(на плис) для отключения внутреннего регистра.
Конечно на самом деле всё это как-то через зад получается, возможно лучше из приставки вообще выкинуть PS/2 как таковой и делать его уже в качестве замены ВП1-014 на ПЛИС (Vslav в дальнейшем это вроде как планировал сделать)?
-
? Kisser - 09.01.2014 11:53
А будут ли исходники ПЛИС с ВП1-14 доступны после релиза?
-
? Voland@ - 09.01.2014 12:50
Те, что в рамках БК12 выполнены - будут, те что Vslav планирует делать - наверное тоже будут, но я не в курсе, когда он планируется взяться за эту работу.
Но опять же, много ли людей готовы покупать новую БК только ради переделанного на ней ВП1-14 под ПЛИС-вариант с поддержкой PS/2. Мне представляется, что не очень много...
-
? Kisser - 09.01.2014 13:36
Ну, я, думаю, готов бы был купить плис ВП1-14 ))) но, наверное, без новой БК )))
Или самому ее когда-нить реализовать...
-
? TheGWBV@ - 09.01.2014 15:11
RE: ? Voland @ - сегодня 10:50
Не хотелось бы резать дорожки в единственной и любимой БК-ашке :) Проще (морально-любознательно) АНДОС с МКДОС-ом подправить и пяток других любимых прог под новую клаву, изображающую из себя регистр порта ввода-вывода данных, в котором появляются байтики со значениями соответствующими родной клаве БК на ВП1-014.
Мысль вслух: регистр этот по чтению сделать клавой (мл. байт) и состояния+мышь (старший байт), а по записи сделать ЦАП (под стерео-ковокс, например, и прослушивание wav-ов)...
-
? Voland@ - 09.01.2014 15:31
Ну если без новой БК, то это надо делать либо в составе Booster-11, либо платкой, вставляющейся в цанги, запаянные вместо трех шлейфовых разъемов на плате БК11М, а с этой платы в боковину корпуса БК11М будет "смотреть" разъем PS/2. Это будет адаптер клавиатуры PS/2, "нажимающий" кнопки клавиатуры БК11М на входах ВП1-014. Также на этой платке можно и продублировать разъемы под оригинальную клавиатуру БК11М, чтобы она параллельно могла работать.
Еще вариант: пин-2-пин эмулятор ВП1-014 (типа как сейчас РЕмулятор РР1), на платке которого будет вход PS/2, куда параллельно оригинальной клавиатуре можно будет подключать дублирующую PS/2. такой вариант был бы самым щадящим для аутентичности платы БК.
-
? Voland@ - 09.01.2014 18:02
>> Не хотелось бы резать дорожки в единственной и любимой БК-ашке :)
так их надо будет резать только если кто-то захочет дублировать клавиатуру, а если не захочет - будет только из нового регистра PS/2 доступно.
>> АНДОС с МКДОС-ом подправить и пяток других любимых прог
Будет ли кто-то их править.. по идее можно еще и мониторе поправить.. но все равно это не решит проблему многих игр, где подозреваю, работа напрямую идет с клавиатурой, а не через монитор или ОС.
-
? TheGWBV@ - 09.01.2014 18:32
Игры, как правило, представляют собой некий "движок", обеспечивающий визуализацию в виде мультфильма. С какой то частотой, в одном-двух местах "движка", опрашиваются регистры состояния и данных клавиатуры, плюс, в меню настройки/выбора Игры, переходе на другой уровень. В 15,5 кбайтах их найти не так сложно, а в мониторах и подавно :)
-
? Дмитрий - 09.01.2014 21:20
В играх, емнип, всегда юзали напрямую. Мониторную же реализацию ввода символа (ЕМТ 6) использовали для ввода имени, адреса и прочего.
-
? Voland@ - 07.03.2014 21:11
Предварительный вид в 3D нижней платы Booster-11:
http://www.forum.pk-fpga.ru/viewtopic.php?f=15&t=5510
¤
Поскольку я временно заблокирован на zx.pk.ru, прошу кто-нибудь, кто зарегистрирован там, сделайте репост сюда
http://zx.pk.ru/showthread.php?t=22400&page=2
-
? Дмитрий - 07.03.2014 21:48
1) Зря убран IDE
2) В упор не вижу разъема FDD - при отсутствии нормального СМК как народ будет копировать еще сохранившиеся дискеты на CF/винт?
3) Колодку конфигурационных разъемов сделать бескорпусную. Желательно развернуть ее на 90 градусов (как CF-слот) и вывести наружу, чтобы для отключения блоков не приходилось каждый раз раскручивать корпус и ползать внутрь.
¤
В таком случае это уже не СМК. При наличии 32мб ЭД память СМК становится ненужной. Мое имхо: зачем убран FDD из реализации (судя по отсутствующему разъему уже выкинут), вернуть IDE, убрать поддержку памяти СМК. На крайний случай убрать CF-слот - есть адаптеры CF-IDE. Плюс даст возможность цеплять SATA через адаптер SATA-IDE. И все же крайне желательно попытаться оставить IDE+CF. Весьма сомнительна важность мп3-чипа вообще. Так же был обещан Ethernet. Вот его нужность выше мп3.
-
? Дмитрий - 07.03.2014 21:49
Р8 и Р10 что за коннекторы?
-
? Дмитрий - 07.03.2014 21:51
Сорри, не прочитал текст. Вопрос про FDD снят.
-
? MSV - 07.03.2014 22:11
Вопросы:
1. Почему разъёмы USB размещены на одной стороне платы, а не на двух, один под другим?
2. Почему выбран мини-USB разъём, и вариант его монтажа - физически ненадёжный? При частом использовании, он может быть оторван от платы, вместе с контактными площадками.
3. Почему рядом с разъёмом SD, не разведёны контакты под разъём micro-SD? Свободного места вполне хватит для RJ45 и ENC28J60. (смайл)
-
? Voland@ - 07.03.2014 23:18
>> Свободного места вполне хватит для RJ45 и ENC28J60
Варианты разъемов, которые обязательно потребуют самопальных переходников - не рассматриваются.
¤
>> не разведёны контакты под разъём micro-SD?
Ну как бы перебор, три флешки на одной платке.. мы же не картридер делаем.. и как правило, в комплекте с microSD обычно идет переходник на SD.
¤
>> Почему выбран мини-USB разъём
Дефицит места. Не лезет туда крупный разъем. Перетасовка разъемов ничего не даст, ибо не влезет какой-нибудь другой - уперевшись в крепежное отверстие на плате.
¤
>> Почему разъёмы USB размещены на одной стороне платы
это как, снизу платы? а как она тогда в корпус стандартный влезет? там от платы до корпуса 3мм.
-
? Аноним - 07.03.2014 23:55
Не понял про самопальные переходники. https://www.google.ru/#newwindow=1&q=RJ45+и+ENC28J60 http://s9.postimg.org/ro9nimdsv/erik.png Дешевле сразу 2 разъёма напаять, рядом, SD и micro-SD. Найти переходник - сложнее. Разъём micro-SD - занимает очень мало места. 3 миллиметра снизу? Тогда почему не напаять один двух-этажный разъём? Если не хватает 5 мм сверху - вырез под разъём в плате сделать, и утопить разъём на 5 мм вниз. Mini-USB разъём лучше выбрать такой, который устанавливается в отверстия в плате.
-
? MSV - 07.03.2014 23:56
Выше моё сообщение.
-
? Voland@ - 08.03.2014 00:54
>> Р8 и Р10 что за коннекторы?
Это межплатные соединители, там вторым этажом будет узкая платка с разъемами UEXT, FDD, jack 3.5
¤
>> Не понял про самопальные переходники
Можете поконкретнее? То что существуют какие-то схемы, не значит, что на каждом углу такие переходники продаются. Каждый должен будет себе искать где-то и заказывать какие-то переходники? Или паять самостоятельно?
¤
>> Дешевле сразу 2 разъёма напаять, рядом, SD и micro-SD.
Я все-таки не вижу проблемы. Вот допилить VHDL, чтобы эта флешка работала - это проблема, желающих найти реально в 100 раз сложнее, чем найти переходник, или найти SD вместо microSD.
¤
>> 3 миллиметра снизу? Тогда почему не напаять один двух-этажный разъём?
Потому что по высоте не лезет, вырез делать не вариант, потому что
1. верхняя платка будет итак узкая, чтобы в ней еще вырезы делать по 18-20 мм глубиной
2. Там она будет во всю длину разъемами забита, так что вырез один фиг не катит.
¤
>> Mini-USB разъём лучше выбрать такой, который устанавливается в отверстия в плате.
Не смог нагуглить маркивку. Две нашел, но по ним нет у местных поставщиков широкого наличия.
¤
>> Колодку конфигурационных разъемов сделать бескорпусную.
Собственно туда какую угодно паять можно, хоть корпусную, хоть бескорпусную, хоть прямую, хоть угловую, разводка платы не меняется от этого.
¤
>> чтобы для отключения блоков не приходилось каждый раз раскручивать корпус
О каких блоках речь?
¤
>> При наличии 32мб ЭД память СМК становится ненужной.
Память СМК будет в составе этого же чипа 32мб. Т.е. 512кб будут адресоваться как в СМК, а все 32МБ (включая те же 52кб) - новым методом. Отказываться от старой адресации 512Кб нельзя - нужна обратная совместимость.
¤
>> Весьма сомнительна важность мп3-чипа вообще. Так же был обещан Ethernet.
Не думаю, что mp3 лишним будет. Ethernet в Booster никогда не заявлялся. Это видимо создали путаницу предложениями сетевых разъемов в качестве клавиатурных.
¤
>> Зря убран IDE
Увы, но IDE некуда размещать, а выкидывать CF в его пользу совсем не хочется, кроме того, тогда придется выкинуть и SD, поскольку ноги IDE на него попадут.
Да и нет никакого практического смысла менять массово доступные CF на уже отмершие и громоздкие винты IDE.
-
? MSV - 08.03.2014 01:00
Опять не понял, про какие переходники речь? Можете поконкретнее?
-
? MSV - 08.03.2014 01:11
Зачем пилить VHDL? Развести контактные пдощадки 2-й разъём, не более.
-
? Voland@ - 08.03.2014 01:34
>> Опять не понял, про какие переходники речь? Можете поконкретнее?
объясните, в чем вопрос? мы о каких-то разных вещах говорим. Досконально объясните мне, что именно Вы хотите?
¤
>> Зачем пилить VHDL?
Затем, что ни SD, ни microSD не будут работать, пока кто-то не приделает соответствующий VHDL. Пока SD реализуется как формальная железка, доступа к которой не будет из адресного пространства ВМ1.
-
? MSV - 08.03.2014 01:46
RJ45 и ENC28J60 - Ethernet, аналогично SD, тоже могут присутствовать на плате, но не работать, пока кто-то не приделает соответствующий VHDL.
https://www.google.ru/#newwindow=1&q=RJ45+и+ENC28J60
Пример, не более. http://s9.postimg.org/ro9nimdsv/erik.png
¤
Иногда ходите по ссылкам (смайл)
-
? Voland@ - 08.03.2014 12:10
Там итак будет UEXT, для которого продаются платы Ethernet именно на этой микросхеме (у этой микросхемы процессорный интерфейс SPI), и никакой VHDL не будет нужен. В противном случае это решение просто физически всунуть будет тяжело и свободных ног плис уже ни одной нет.
-
? Дмитрий - 08.03.2014 16:39
>> О каких блоках речь?
Блок перемычек модуля
● отключение FPGA-AY-3-8910 (замкнута=включено, разомкнута=отключено)
● исключение из адресного пространства БК регистров всех новых устройств - GPU, электронный диск, PS/2, NIOS, STA015 (замкнута=исключены, разомкнута=присутствуют)
● эмуляция подключенной мыши "Марсианка" при наличии PS/2 мыши (замкнута=эмулируется, разомкнута=не эмулируется)
-
? Voland@ - 08.03.2014 17:45
С блоком перемычек проблема - на него не хватило ног ПЛИС. Будем делать программное переключение через регистр, запись нужного значения будет равносильна перемычкам, а делать это можно функционалом монитора БК11М.
-
? anonymous - 08.03.2014 20:08
И это гораздо правильнее перемычек.
-
? Дмитрий - 09.03.2014 14:12
Возникло еще несколько вопросов по данному блоку:
1) fullspeed частота "проца" БК12 будет в районе 50МГц. Макс. частота МПИ в районе 10МГц (поправьте если неправ). Как это все будет согласовываться?
2) Бустер будет в виде блока удвоенной высоты. Это все супер для ретро-корпуса БК. А как быть с miniITX-корпусом? Блок будет висеть в воздухе? Его надо будет крепить куда-то. Следовательно, нужен шлейф от МПИ к бустеру. А БП в корпусе будет дешевым китайским, который будет шпарить помехами. Отсюда вывод: помехи от БП + первый вопрос приведут к помехам в шлейфе. Как этот вопрос будет решаться?
3) В СМК эмулятор 128-ой будет также работать на макс. частоте или на жестко закрепленной 4/6МГц?
-
? anonymous - 09.03.2014 14:44
Дмитрий, бустер не подключается к БК12, он уже в нее встроен... И было вроде решено, что itx-формфактор платы не будет иметь мпи...
-
? Voland@ - 09.03.2014 22:16
>> бустер не подключается к БК12, он уже в нее встроен
Всё верно, за исключением чипа mp3, который ставится в Booster-11, в остальном возможности Booster будут присутствовать в плате БК12. По mp3 много нюансов, разработчик сильно против использования этого чипа (не конкретно этого, а вообще mp3-чипа), потому хотел узнать, это как обычно только мне надо, или кто-то поддерживает наличие mp3-чипа? ИМХО - это единственная реальная возможность на стандартной БК получить полноценный звук.
¤
>> В СМК эмулятор 128-ой будет также работать на макс. частоте
А причем тут 6мГц? Она жестко имитирует работу оригинала - 4мГц.
¤
>> И было вроде решено, что itx-формфактор платы не будет иметь мпи...
МПИ не выкидывается, т.к. и люди против и выкидывать уже жалко, работы много проделано. В основном МПИ нужна для скоростного режима БК11М, для полноскоростного толку от неё мало, т.к. её предельная скорость останется невысокой. Потому для полноскоростного режима предусмотрена шина LPC - для проектирования каких-либо более быстрых устройств.
-
? Дмитрий - 10.03.2014 12:47
Не нужен там мп3. Если кому надо - вот на UEXT есть https://www.olimex.com/Products/Modules/MP3/
-
? Дмитрий - 10.03.2014 12:52
Лучше вместо мп3 извернуться и все-таки приделать IDE разъем. Будет универсал.
-
? Voland@ - 10.03.2014 13:44
Если убрать mp3, то это практически никак не поможет установке IDE. Для его установки придется обязательно выкинуть CF.
Что касается mp3 на UEXT, то он обойдется минимум 1150руб без учета доставки, и как я понял из описания, там отсутствует усилитель. Если кого-то сильно пугает стоимость чипа STA015 в составе Booster-11, ну можно продавать не впаивая его, на 150руб дешевле, но т.к. он является сквозным для звука с FPGA-AY, придется извращаться, чтобы вывести вручную на внутренний усилитель бустера звук с FPGA-AY.
Кстати, кому-нибудь известна наиболее полноценная реализация FPGA-AY ? А то вроде как в инете их несколько разных и все с какими-то косяками...
-
? anonymous - 10.03.2014 15:35
На правах извращения сделать платку-переходник обратную, CF->PATA, втыкать в CF-слот и получать выход на обычный 40/44/80-жильный кабель.
-
? MSV - 10.03.2014 15:57
Если без переходников не обойтись, то разумнее на плате использовать не IDE\CF, а два интефейса SATA. К интерфейсу SATA - предусмотреть подкюченме переходннмка SATA>IDE, а к интерфейсу IDE - переходнмк IDE>CF. Есть более разумные предложения?
-
? Дмитрий - 10.03.2014 17:27
>> Для его установки придется обязательно выкинуть CF.
Я про это и говорю. Дешевых адаптеров CF-IDE и IDE-SATA море. Обратных переходников нет. IDE универсален. К нему проще подключить другие интерфейсы. Есть даже SD-IDE, правда этот адаптер дороже. SD в бустер без поддержки ставить нет смысла. Попробовать выкинуть mp3/SD/CF и поставить IDE. Если удастся сохранить CF, то будет супер.
¤
Это что касается бустера для 11М. Теперь вопрос про БК12 miniITX-плату. Там все останется? SD/CF/IDE/FDD? SD/CF можно вывести на заднюю панель, IDE/FDD внутри.
-
? Дмитрий - 10.03.2014 17:29
Кстати, забыл спросить. У CF будет переключатель master/slave? По идее можно подключить винт+CF, поставив dbyn мастером, а перемычкой CF slave, либо наоборот. Так как CF подключен параллельно IDE.
-
? MSV - 10.03.2014 17:49
Bi-directional SATA < --> Ultra ATA-133 Converter Board (Двунаправленный конвертер IDE - SATA) http://www.nix.ru/autocatalog/adapters_switches/Bidirectional_SATAUltra_ATA133_Converter_Board_SATA_67743.html
-
? Voland@ - 10.03.2014 18:39
>> У CF будет переключатель master/slave?
Нет, у CF такого понятия нету, да и какой смысл, это надо разводить две CF на одной плате, а с одной вообще никакого смысла. Обычно переключатель master/slave реализуется на плате переходника IDE-CF, на котором разведены сразу две CF.
На самом деле я не понимаю, зачем на ретро-БК цеплять IDE-винты, SATA-винты безумных с точки зрения БК объемов, жрущих немеряно тока, если можно поставить CF ?
¤
Проблема может быть только в одном случае: если из продажи вдруг пропадут CF-карты, но даже тогда, я уверен, еще лет 20 минимум их будет завались на барахолках. Ну если всё совсем станет плохо, можно довольно легко переразвести плату, выкинув SD, СF и поставить на их место IDE-разъем, VHDL-код переделывать не придется.
¤
Просто практический смысл подключения в нашей ситуации к IDE чего-либо помимо CF я не понимаю.. Я как-то покупал CF 4Gb на молотке за 50руб. Их валом, любых емкостей.
-
? Дмитрий - 10.03.2014 19:56
>> Нет, у CF такого понятия нету, да и какой смысл, это надо разводить две CF на одной плате, а с одной вообще никакого смысла
У карты нет. Есть у интерфейса. А смысл есть. Поскольку CF разведен параллельно IDE, то воткнув одновременно винт и карту, получим кашу. А так ставим на винте мастер, а на карте слейв (или наоборот) - получаем два работоспособных устройства. Это я про бустер на плате БК12. Надеюсь там будут все разъемы? Кстати, на этот вопрос ответа я не получил :)
¤
>> Обычно переключатель master/slave реализуется на плате переходника IDE-CF, на котором разведены сразу две CF
У меня на адаптере он есть даже с 1 разъемом под карту, второй разъем просто не разведен.
¤
>> можно довольно легко переразвести плату, выкинув SD, СF и поставить на их место IDE-разъем
Плата будет предоставляться бесплатно, в обмен на старую? Лучше сразу сделать универсально. IDE->CF/SD/SATA.
-
? Voland@ - 10.03.2014 21:29
>> Плата будет предоставляться бесплатно, в обмен на старую?
Это я к тому, что катастрофы не будет, а если вдруг и будет (но её не будет), есть простой стратегический выход)))
¤
>> Лучше сразу сделать универсально. IDE->CF/SD/SATA.
Ну не вижу смысла. Никто мне логически не объяснил, в чем такая критическая потребность подключать винты IDE/SATA при наличии CF? Универсальность только ради универсальности? Ну так тогда еще много чего прикрутить можно, только зачем? Я больше чем уверен, что те кто купили СМК512 (порядка 12 человек) используют их в основном с CF-картой. Не уверен, что ради виртуальной универсальности они готовы были бы мучиться с переходниками IDE-CF (на которые еще и внешнее питание подводить надо).
¤
>> CF разведен параллельно IDE, то воткнув одновременно винт и карту, получим кашу
не факт, надо проверять. В текущей конфигурации СМК512 карта CF видится как Master-винт, и если повесить на IDE slave-винт, то скорее всего будет всё корректно. Но мы опять же говорим о каких-то виртуальных случаях, которые никто по вынужденной потребности делать не будет, 99 человек из 100 на БК цеплять два винта не будут, а 100-й прицепит ради эксперимента, а не ради потребности.
¤
>> У меня на адаптере он есть даже с 1 разъемом под карту, второй разъем просто не разведен.
Если уж будет такая крайняя нужна принудительно сделать CF-карту на плате СМК512/Booster-11 master или slave-винтом, можно напаять проводок на соответствующие ноги CF-разъема.
¤
>> Это я про бустер на плате БК12. Надеюсь там будут все разъемы?
Там будут все: SD, CF, IDE, FDD, МПИ, УП, UEXT, USB, PS/2, Ethernet, DVI, com (под вопросом).
На БК12 я не вижу никакого смысла предусматривать совместную работу IDE-винта и CF-карты, у нас гораздо более важные проблемы есть, чем все возможные извращения предусматривать)) ну вот серьезно, это никому не нужная в практическом плане универсальность, особенно учитывая, что весь софт БК за всю его историю с головой влазит в 200Мб.
¤
В общем, вероятность всех этих проблем настолько мала, что лучше думать, как win-компилятор Си получить для БК12, без которого точно никто не напишет столько софта для БК12, чтобы забить два огромных SATA/IDE-винта, и 128Мб ОЗУ.
Теоретически, там можно было бы воткнуть дырки под разъем 2.5-IDE (ноутбучный винт), который паялся бы для единичных покупателей вместо CF и SD, но SATA-переходников под них нет, да и тяжело там будет развести, разработчик уже матерится, когда слышит такие предложения (особенно учитывая, что все это в последний момент ему сообщается).
-
? Дмитрий - 11.03.2014 00:30
>> в чем такая критическая потребность подключать винты IDE/SATA при наличии CF?
Главная причина - имеющиеся у некоторых товарищей винты от БК. Они и так-то не знают как вытащить оттуда образы, а с одной только CF добавится проблема перегона образа винта на карту.
¤
>> думать, как win-компилятор Си получить для БК12
Я уже говорил. Нужен толковый программист, который напишет frontend и backend для GCC. Тогда будут доступны многие языки. Один выстрел - куча зайцев. Кстати, PDP-11 GCC поддерживает хрен знает с какого года. Так что, по идее, асм БК он "знает". Но надо уточнять.
-
? Voland@ - 11.03.2014 11:51
>> Главная причина - имеющиеся у некоторых товарищей винты от БК.
Я думаю это все-таки частные случаи, и как правило те, у кого есть винты, уже либо купили СМК64/512, либо имели СМК64 еще с тех времён. Ну если 1-2 человекам и потребуется перегнать с винтов образы на CF, думаю им смогут помочь (я или еще кто-то), но для этого человеку придется научиться хотя бы на PC образ винта снимать, т.к. если он не в Москве, придется по инету всё делать.
¤
>> толковый программист, который напишет frontend и backend для GCC
Так в этом и проблема. Даже за деньги пока желающих не видел, а если найдутся, там будут запредельные суммы.
¤
>> PDP-11 GCC поддерживает хрен знает с какого года. Так что, по идее, асм БК он "знает"
Насколько я знаю, у БК процессорные коды не совпадают с PDP-11, так что с наскока там даже ассемблер не будет работать. Но даже если и будет, толку мало, на ассемблере сейчас серьезный софт никто писать не будет.
-
? Дмитрий - 11.03.2014 14:31
>> Насколько я знаю, у БК процессорные коды не совпадают с PDP-11
Да ладно! За исключением спец. команд все основные точно такие же.
-
? Дмитрий - 11.03.2014 14:39
В смысле и мнемоника, и коды.
-
? Дмитрий - 11.03.2014 21:13
>> Даже за деньги пока желающих не видел, а если найдутся, там будут запредельные суммы.
http://freelancer.ru или другой проект фрилансеров. Попробовать там создать предложение. По крайней мере, за спрос денег не берут и будет понятно хотя бы о какой сумме идет речь.
-
? Дмитрий - 12.03.2014 12:01
Кстати, прежде чем писать компилятор, нужна ОСь, под которую и будет заточен получаемый код. Или разработать хотя бы библиотеку функций (через ЕМТ) для обращения к менеджеру памяти, дисковые операции, графический интерфейс через бустер и т.д. И вот с учетом этих функций писать компилятор. Standalone код будет очень громоздким, неэффективным и медленным. За исключением простого вычислительного кода, не требующего всего вышеперечисленного.
-
? Voland@ - 12.03.2014 12:08
Решил попытать счастья:
https://freelance.ru/projects/349990/
¤
30000 - очень мало, шансов почти нет, но это та сумма, большую часть которой есть шанс "отбить" добровольными пожертвованиями или продажами копий (хотя такое в наше время наверное невозможно - в смысле защита такая).
¤
>> нужна ОСь, под которую и будет заточен получаемый код.
Ну так я же и говорю - реальных проблем масса, а мы всё пытаемся какие-то виртуальные проблемы решать.
-
? Дмитрий - 12.03.2014 12:55
Хм, мы вообще-то говорили не об играх, а о среде разработки. Нужна среда разработки программного обеспечения! Игры есть в эмуляторах и тратить 30к на это - пустое.
-
? Voland@ - 12.03.2014 12:59
Это проба пера. Новые игры тоже нужны без них платформа не живет.
Компилятор - это вообще совершенно иной уровень сложности и объема работ, там на ценник порядка 300 тыс руб надо рассчитывать. Если за игру никто не возьмется, то с компилятором вообще смысла нет что-то искать, пока не найдется меценат, решивший проекту отвалить 0.5-1 лям.
-
? Дмитрий - 12.03.2014 13:04
На асме их писать никто не будет. Без среды разработки ничего не будет. Вы пытаетесь приготовить омлет не разбив яйца.
-
? Voland@ - 12.03.2014 13:09
Ну так зарегистрируйте про компилятор чего-нибудь. Боюсь результат будет удручающим.
-
? Дмитрий Николаевич - 01.04.2014 17:30
Итак. Плата уходит в производство ( судя по http://zx.pk.ru/showthread.php?t=22400&page=2 ), но нигде толком не уточнена окончательная цена готового комплекта деталюшек или полностью собранного блока. Озвучите?
¤
P.S.: Если циферки в рублях уже упоминались, не гоняйте ссылками, скажите суммы :)
P.S.S.: Смешно вы тут обсудили вопрос о переводе данных с HDD на CF методом "по интернету" или "поможем", тогда как проще подключить второй HDD и с драйвером two_hdd2 от Новака В.Е. (под CSIDOS) обменяться данными.
P.S.S.S.: mp3 для каких целей? Только послушать музло? Или у вас есть/будут способы программно получать с выхода набор сигналов, например для красивых визуализаций? Имхо: XM, MOD, IT - подобных трекерных было бы достаточно.
-
? Атас - 01.04.2014 18:02
Вообще-то компилятор смотря какой. Если не особо оптимизирующий (для начала), то не так трудно его для процедурного языка изобразить - даже с нуля. Вот с полноценной оптимизацией возни и правда много, но тут можно критичные по времени места в виде библиотечных процедур на машкоде оформить, а там уже смотреть.
-
? Voland@ - 02.04.2014 10:12
>> нигде толком не уточнена окончательная цена готового комплекта деталюшек
В конце первого поста указанной вами темы давно прописано:
Ориентировочная стоимость
● 3500 руб в виде конструктора для самостоятельной сборки
● 4500 руб в виде собранного и протестированного изделия
¤
>> тогда как проще подключить второй HDD и с драйвером two_hdd2 от Новака В.Е. (под CSIDOS) обменяться данными.
При наличии проверенного пути выполнения этой операции на PC - она будет максимум несколько минут занимать. На БК - несколько часов.
¤
>> mp3 для каких целей? Только послушать музло?
Причем тут музло. В демах и играх качественное звуковое стерео-сопровождение как сделать? 4 минуты качественной музыки - десятки мегабайт несжатой информации. В mp3 то же самое раз в 10 меньше. Понятно что не всегда надо вставлять в игру 4-минутные мелодии, но даже кучка всех звуков игры в сумме может десятки мегабайт занять, если это будет не сжатый звук.
¤
-
? Дмитрий - 02.04.2014 11:37
>> При наличии проверенного пути выполнения этой операции на PC - она будет максимум несколько минут занимать
Тут не все так радужно. Это если на мамке окажется IDE-порт. На нынешних мамках IDE убран уже как устаревший. Значит нужен адаптер на SATA или USB. Если винтов два, то и адаптеров нужно два.
¤
>> В демах и играх качественное звуковое стерео-сопровождение как сделать?
Насколько я понял из беглого просмотра даташита STA015, это только декодер, ибо на выходе цифровой сигнал - нужен ЦАП(?). Так что по-любому к нему нужен звуковой чип. Так что нужен ли этот STA015? Достаточно звукового чипа. Если кому надо - сделают программный мп3 плеер.
¤
>> Имхо: XM, MOD, IT - подобных трекерных было бы достаточно
Аппаратных чипов для декодирования трекерных файлов нет, все программное. По крайней мере я не нашел. Аппаратно-программных на PIC полно - и трекерных, и wav. Есть даже реализация AY на PIC.
-
? Voland@ - 02.04.2014 12:20
>> STA015, это только декодер, ибо на выходе цифровой сигнал - нужен ЦАП(?)
там у нас предусмотрен ЦАП CS4344 и усилитель TS922D. Так что тут проблемы нет.
¤
>> Если кому надо - сделают программный мп3 плеер.
Программный, это как? Кто декодировать будет? Я помню у меня даже на i486 mp3-плеер квакал под win98, а тут у нас то ли ВМ1 будет декодировать (фантастика), то ли NIOS медленный бесплатный (быстрый - платный), который тоже не факт что потянет.
¤
>> Вообще говоря, STA015 программно переключается в разные режимы: либо получает на выход сжатый mp3 и выдает цифровой звук на выходе, либо просто является сквозным транслятором несжатого звука. Так что ничего не теряем, но приобретаем возможность декодирования mp3 без потерь быстродействия. Правда есть и минус, звучание mp3 и AY совмещать не получится, т.к. звук AY полюбому будет проходить сквозь STA015, а проходить он может только если STA015 в режиме сквозного пропускания звука, т.е. звучание mp3 в этот момент невозможно.
¤
>> Тут не все так радужно. Это если на мамке окажется IDE-порт.
У меня такое ощущение, что тут у нас 20 человек месяцами бьются над проблемой запуска своих БКшных винтов 15-летней давности :) неужели они никак не могли решить эту проблему за 15 лет и ждали для этого именно выхода Booster-11? :)
-
? Дмитрий - 02.04.2014 14:00
Так вот и возникает вопрос: а нужен ли этот мп3-чип? Вы вложили кучу бабла для того, чтобы мп3 слушать на БК? Для того, чтобы использовать музыку в демо/играх нужен тот, кто будет писать эту музыку. У нас некому софт и игры писать, не то что музыку. А какая это музыка будет - AY/MP3/MOD уже неважно. Сквозной режим вряд ли понадобится (разве что для AY, но и тут он не нужен - на выходе AY и так звуковые каналы, схема на резисторах для подключения колонок проста до ужаса) - wav/pcm качать на ВМ1 - сожрет все ресурсы и мегабайты дискового пространства, для этого DMA нужен. По сути у 90% юзеров этот мп3 будет бесполезной примочкой.
-
? Voland@ - 02.04.2014 16:21
>> Вы вложили кучу бабла для того, чтобы мп3 слушать на БК?
Что подразумевается под вкладыванием кучи бабла в mp3? По сути mp3 - это только разводка, которая стоит в разы меньше, чем программирование FPGA. По сути это вообще ничего не стоило, т.к. сам Booster - добрая воля разработчика. Хотя я конечно премирую его некоторой суммой, а то нехорошо получится, он итак много делает того, что изначально не входило в требования проекта.
¤
>> нужен тот, кто будет писать эту музыку
Вот как раз тут очень просто - mp3-музыки уже условно миллиарды гигабайт в интернете, взял готовую и всё.
¤
>> wav/pcm качать на ВМ1 - сожрет все ресурсы и мегабайты дискового пространства
Потому и нужен mp3, уменьшающий поток цифрового звука в 10 и более раз.
¤
>> По сути у 90% юзеров этот мп3 будет бесполезной примочкой.
В MS Word 90% функций являются бесполезной примочкой для 90% пользователей.
Шины PCI и ISA - которые некоторые люди очень хотят в БК12 - будут для 90% пользователей бесполезной примочкой. Мышь Марсианка по сути тоже была для 90% пользователей БК (даже в 90е годы) бесполезной примочкой.
¤
>> разве что для AY, но и тут он не нужен - на выходе AY и так звуковые каналы
Тут Вы не совсем правильно понимаете идею. AY внутри Booster исключительно как FPGA-эмуляция, у FPGA не бывает аналоговых выходов, потому AY-звук будет в цифре и его в любом случае надо подать сначала на ЦАП, потом на усилитель. Можно конечно выкинуть усилитель, но тогда придется активные колонки цеплять.
-
? anonymous - 02.04.2014 19:41
「У меня такое ощущение, что тут у нас 20 человек месяцами бьются над проблемой запуска своих БКшных винтов 15-летней давности :) неужели они никак не могли решить эту проблему за 15 лет и ждали для этого именно выхода Booster-11? :)」
Я уже рассказывал, как решил в свое время проблему эту - сделал SCSI в БК и копирование диска на диск под управлением ВМ1 происходит со скоростью 20Мб/сек при отсутствии плохих блоков на диске-источнике и диске назначения для копирования. У SCSI дисков и стриммеров есть команда копирования массива, когда диск/стриммер получает от хоста команду со списком откуда и куда копировать и сам становится инициатором обмена на шине с другим диском/стриммером, затем, выполнив копирование, он реселектит хост-контроллер и отчитывается об операции.
Так вот, может сделать такой сервис в контроллере IDE/CF на бустере и БК12? Когда микропрограммный автомат в контроллере (или тот же NIOS сопроцессор) сам по отданному списку параметров от ВМ1 будет копирование с высокой скоростью выполнять, между двумя дисками или между разными координатами на одном диске, с использованием DMA, а затем, по окончании операции, дергать прерывание, отдавая исполняющемуся в ВМ1 драйверу результаты... При возникновении нештатных ситуаций, процесс прерывается и тоже прерывание дергается. Таким образом можно копирование информации существенно облегчить, избавив ВМ1 вообще от передачи данных, оставить ему формирование координат откуда-куда. Теоретически это не сложно, а как с местом в плисинах дело обстоит - другое дело.
「Вот как раз тут очень просто - mp3-музыки уже условно миллиарды гигабайт в интернете, взял готовую и всё.」
Дивный советский подход с военного коммунизма наследованный. :D
-
? Дмитрий - 02.04.2014 21:35
>> Потому и нужен mp3, уменьшающий поток цифрового звука в 10 и более раз.
А трекерная музыка такого же качества будет меньше мп3 еще раз в 5. И проигрываться будет без проблем на БК12 программно, ибо сэмплы, хоть и в wav, малы по размерам. Для примера композиция, использующая синусоиду 440Гц в качестве сэмпла и длительностью чуть больше минуты, занимает всего 13888 байт (могу выложить если интересно). Сколько займет тоже самое в мп3? Прошу прощения за упертость/придирчивость, но реально мп3 на бк бесполезно и бессмысленно.
-
? Дмитрий - 02.04.2014 21:57
Имхо, трекерный формат музыки - самое то для БК.
¤
Как я уже говорил, зачем нужен мп3 на бустере, если он есть для UEXT? Графика также есть на UEXT, COM/SD/USB/LAN есть. Так для чего тогда мы ломали копья, обсуждая шину устройств для БК? Чтобы врезать ее в бустер и все устройства, существующие на ней, воткнуть в виде отдельных узлов? Плюс воткнуть LPC. Вот зачем? Для чего тогда LPC? Не понимаю...
-
? Дмитрий Николаевич - 02.04.2014 22:00
Перечитал (невнимательно) все форумы с о бустере, и вот нескромный вопрос: Covox или на худой
-
? Дмитрий Николаевич - 02.04.2014 22:03
(пардон)
... Covox или на худой конец SoundDrive в бустере некуда прикрутить?
¤
>>В конце первого поста указанной вами темы давно прописано:
Ориентировочная стоимость
¤
Ожидалось узнать конечную стоимость, что впрочем всё ещё ожидается. Готов приобресть собранный вариант. Мануалы по ковырянию дорожек, переключениям перемычек и прочей возни - приветствуются в комплекте, или где-нить в форуме.
-
? Voland@ - 04.04.2014 00:32
>> Дивный советский подход с военного коммунизма наследованный.
Ничего не могу с собой поделать, ну не признаю я несколько вещей, таких как авторские права, международное право, международное сообщество и демократия. Если быть точнее, то не признаю в том виде, в каком западным обществом эти стандарты приняты за эталон.
¤
>> Covox или на худой конец SoundDrive в бустере некуда прикрутить?
Вообще говоря, платы уже в производстве, вносить какие-то модификации уже поздно. Covox, на мой взгляд, вещь довольно неуместная в БК, т.к. использовать его можно только как недоплеер.
Что касается других муз. возможностей - любой желающий, кто умеет программировать FPGA, сможет запрограммировать в БУстере любой музыкальный сопроцессор под себя.
¤
>> Ожидалось узнать конечную стоимость
Думаю, это и есть конечная стоимость. Возможно, на 500р будет дороже при комплектации FPGA на 10000 ячеек, для установки внутрь быстродействующего FPGA-ВМ1.
¤
>> Мануалы по ковырянию дорожек, переключениям перемычек и прочей возни
Вся необходимая инфа будет постепенно появляться по мере отладки бустера в соответствующей теме на моём форуме.
¤
>> зачем нужен мп3 на бустере, если он есть для UEXT?
Я уже писал выше, что mp3 для UEXT обойдется минимум в 1000руб, и будет без усилителя, болтаться лапшой. Музыкальная возможность - это базовая функция любого компьютера, потому логичнее и дешевле её интегрировать.
¤
>> Для чего тогда LPC?
LPC - во-первых более быстродействующая шина, которую можно использовать в промышленных целях, для которой можно например переходник LPC-ISA сделать, а на UEXT не повесишь ISA. Графику серьезную на UEXT тоже не повесить, это скорее пользовательская шина, не утилизирующая ресурсов, позволяющая какие-то простые фичи вешать.
По Вашей логике выходит, что если для USB существуют абсолютно любые типы и категории устройств, то надо выкинуть с современной материнской платы x86/x64 все шины, устройства, порты, и использовать их отдельными отдельными USB-модулями? Ну либо выкинуть USB, чтобы он не создавал такого противоречия в умах..
-
? tim - 04.04.2014 00:47
to Voland: >> Covox, на мой взгляд, вещь довольно неуместная в БК, т.к. использовать его можно только как недоплеер.
Зря вы так шашкой машете (
-
? maxstudios - 04.04.2014 02:01
Простите, что влажу в столь умные беседы. :)
Я согласен, что Covox не нужен вообще.
Другое дело - YM (AY).
Я считаю, что на БК-12 должна быть FPGA-эмуляция сразу двух YM2149F,
как ts (Turbo Sound) на ZX-Spectrum.
Разницу между 3 и 6 звуковыми каналами можете послушать здесь:
http://ym.mmcm.ru/?author=6%20Channels%20ts
Мр3 на БК-12 - очень нужная вещь, пусть будет.
-
? maxstudios - 04.04.2014 02:18
Еще вопрос Voland-у:
Расскажите, как задумана работа видеорежимов через вывод DVI в БК-12?
Мне представлялось так:
Через обычный вывод ТВ и ЦТВ - обычные режимы БК-11М, которые подходят для текстов и т.п.
А через DVI - вывод со своего рода "видеокарты", на которой есть своя видеопамять и видеопроцессор.
Дополнительно, в одном из режимов через DVI идет параллельное изображение с вывода ТВ - чтобы можно было использовать только один монитор (телевизор).
Я подозреваю, что никакого графического сопроцессора в БК-12 не будет? :(
-
? maxstudios - 04.04.2014 02:22
Понимаю, что залез с вопросами немного не по теме.
Но ведь Booster - это будущая "часть" БК-12?
-
? Дмитрий - 04.04.2014 10:50
>> По Вашей логике выходит
Вы не поняли сути и поставили не тот знак. Я говорил про "минус", а вы расценили как "плюс". Вспомните обсуждение шины. Вы предлагали UEXT как универсальную шину, легкую в программирование и реализации и давали ссылки на устройства, мол, вот, все есть, только цепляй и программируй. Шину сделать просто, устройства есть - дешево и сердито. Теперь вы сделали почти все устройства, ссылки на которые давали в виде отдельных модулей на плате бустера. Зачем тогда было интегрировать саму UEXT? Выкинуть ее как ненужную и оставить LPC. А то получается странная вещь. Приведу пример. Представьте себе, что вы спроектировали дорогу нового поколения и построили ее. А потом передумали и начинаете пропагандировать трамвай, усиленно строя трамвайные пути вдоль уже построенной и ненужной теперь дороги. Все прониклись вашим убеждениям ездить на трамвае и дорога нафик никому не упала. Так зачем было строить дорогу??? Тоже самое и с шиной. Утвердили шину и все устройства влепили модулями, шина теперь не нужна - этот модуль дорогой (mp3), этот слишком слабый (VGA). Будьте последовательны - выкиньте UEXT как пришедшую в негодность. Новых устройств на ней не будет - все уже сделано до нас. Так зачем она тогда? Но раз уж изделие отправилось "в печать" оставьте все как есть, не ставьте UEXT и выбросьте ее из all-in-1 БК12 (itx и ретро-варианта).
¤
>> Мр3 на БК-12 - очень нужная вещь, пусть будет.
Можете обосновать зачем мп3 вам понадобится? "Музыку слушать" не принимается - для этого есть комп, телефоны, плееры. Судя по вашей неопределенной фразе она вам не нужна, но пусть будет. Это из разряда "вдруг война, а у меня уже есть". Давайте тогда и аппаратный кодер видео присобачим - пусть будет, ролики на ютуб выкладывать через несуществующий браузер и неработающий (пока) ethernet.
-
? gid - 04.04.2014 12:36
Забавно, что бы Voland ни сделал, всё не так. Всегда найдётся хоть один чем-то недовольный.
Вы тут все фигнёй занимаетесь по-моему. Столько написали, и никто не спросил, а как вообще мп3 контент в чип STA015 загоняться будет? Я поглядел даташит, там дохера всяких регистров, чтобы задавать всякие режимы для чипа, как к ним будет осуществляться доступ? Я подозреваю, что писать софт для использования возможностей нового железа никто не собирается. Все будут сидеть и ждать. Раз разработчик Volandа сделал железку, пускай и софт для неё пишет. (Мне кстати бустер не интересен и я ничего делать не собираюсь если чё.)
STA015 может в том числе принимать в качестве входных данных обычный WAV поток, так что по сути, ретранслируя через себя входной WAV в CS4344 получится так нужный всем Covox, аж 16/24/32 битный и стерео. Только совсем непонятно как будет организован режим обмена - пакетно, через ПДП, как виндозный waveout с циклическими буферами или побайтно/пословно, посредством процессора. А тут при наличии достаточной процессорной мощности возможно написание какого-нибудь трекерного муз. редактора.
А ещё, для озвучивания, допустим игр, важно не собственно размер аудиоданных, а возможность желательно аппаратного микширования нескольких разных звуков в реальном времени. Иначе чип будет годен лишь на воспроизведение какой-то одной мелодии в каждый момент времени, из-за чего звуковая картина будет выглядеть довольно убого.
-
? Дмитрий - 04.04.2014 13:45
>> Забавно, что бы Voland ни сделал, всё не так. Всегда найдётся хоть один чем-то недовольный.
Так было решено что и как делать, а сделано все равно по-своему. Для чего тогда обсуждали?
-
? Voland@ - 04.04.2014 13:54
>> Расскажите, как задумана работа видеорежимов через вывод DVI в БК-12?
У нас есть стандартная видеопамять БК, и есть видеопамять Бустера. У бустера будет два видеорежима для обратной совместимости, когда он через DVI-выход будет транслировать ту же картинку из основной памяти БК, что и через ЦТВ транслируется.
Также у Бустера будут расширенные видеорежимы, картинка которых будет транслироваться из памяти Бустера. По сути в этих режимах будет двухмониторность поддерживаться - на ЦТВ мы будем видеть основную видеопамять БК, на DVI - видеопамять Бустера.
¤
>> Я подозреваю, что никакого графического сопроцессора в БК-12 не будет? :(
С чего такой вывод?
-
? Voland@ - 04.04.2014 14:50
>> Зря вы так шашкой машете (
Почему шашкой? ни БК12 ни Бустер не исключают возможности пользоваться внешним covox. Интегрировать его не вижу вообще никакого практического смысла, когда есть возможность полноценный звук прокачивать.
¤
>> Я считаю, что на БК-12 должна быть FPGA-эмуляция сразу двух YM2149F
Интересная мысль. Послушал - звучат два AY конечно качественнее одного. Наверное попробуем сделать. Но там проблема в тестировании, кто будет это тестировать, ведь на БК нет готовых мелодий и плееров, работающих с двумя AY сразу.
Думал предложить gid'у полностью бесплатный собранный экземпляр booster в обмен на помощь в минимальном тестировании новых функций, но видимо ему не очень интересно этим заниматься..
¤
>> Теперь вы сделали почти все устройства
Вообще говоря, в БК12 почти всё, что делается, включая mp3, изначально заявлялось, а не упало неожиданно с потолка. Вот UEXT - да, упало неожиданно, когда от затратного и бесполезного по сути ISA/PCI было преложено отказаться в пользу UEXT. Вообще говоря, шина (любая, и UEXT) делается для того, чтобы было куда цеплять устройства, в том числе убогие, и в том числе самопальные. Никто не заставляет пользоваться UEXT, но и не мешает эта UEXT никому. Вдруг кому-то пригодится когда-то. LPC + UEXT - по моему неплохой набор для возможности расширения БК12, если она кому-то потребуется. Шина это розетка, может она не потребуется, но лучше чтобы она была.
¤
>> годен лишь на воспроизведение какой-то одной мелодии в каждый момент времени
Ну если выкинуть STA то возможностей микширования не добавится, несжатый звук одним потоком останется. Да, mp3 нельзя микшировать с несжатым потоком и с AY, это минус. Но несжатый WAV-звук(он же Covox) с AY-потоком микшировать теоретически можно, на практике это думаю очень не просто сделать без специального сигнальника, но STA015 тут опять же не причем, он процессу микширования не мешает и не помогает никак.
¤
>> желательно аппаратного микширования нескольких разных звуков в реальном времени
ну это понятно, что нужно что-то типа ядра Motorola 56000, который применялся в Atari ST, но его тоже программировать надо, сам он не замикширует ничего. Но вообще говоря, на БК ведь раньше как-то озвучивали игры без аппаратного микширования..
-
? Voland@ - 04.04.2014 14:51
>> Так было решено что и как делать, а сделано все равно по-своему.
А конкретнее, что именно, когда, кем было решено, а потом сделано не так?
-
? gid - 04.04.2014 15:54
[Но вообще говоря, на БК ведь раньше как-то озвучивали игры без аппаратного микширования]
Через пищалку. Вполне себе распознаваемое ухом микширование 3-х 4-х звуков - Maestro как доказательство, и точно такие же принципы в играх. На это у БКшки быстродействия хватало.
Я пробовал одновременно воспроизводить до 8 звуков - получалась невнятная каша. Возможностей пищалки уже не хватает.
Через Covox - делал ли кто-нибудь, не знаю, но по опыту написания модуля воспроизведения на стереоковоксе мелодий SST, могу сказать, что максимум что возможно - микширование 4-х звуков, дальше бкшки просто не хватает (это если делать частотное преобразование сэмплов, если тупо микшировать - можно и больше звуков, но ни на что остальное ресурсов уже не хватит)
Через AY - уже не помню, но вроде были игры. Я интереса ради попробовал озвучить старенькую игру XONIX (там надо своим шариком отжирать пространство у белых шариков, стараясь не встретиться с ними, а так же не встречаться с чёрными шариками, которые летают в отожранном пространстве). Чтобы все звуки звучали исключительно через AY. Написал модуль, который занимается микшированием, и там тоже получилось не больше 4-5 звуков одновременно. Т.к. у AY принцип микширования совсем не такой как у Covoxа. У Covox - простое сложение амплитуд сэмплов, а у AY - чередующееся последовательное воспроизведение квантов разных звуков.
-
? Дмитрий - 04.04.2014 16:05
>> А конкретнее
Я уже писал. Вспомните тему обсуждения шины для БК12. PCI/ISA не приняли, вами было предложена UEXT как удобная шина - мало контактов, большое кол-во готовых модулей (включая USB/LAN/VGA/COM) - причем ни слова не было сказано, что пофиг на эти модули, все равно все это же будет на плате. Остановились на ней, потом внесено предложение насчет шины LPC как для будущего расширения. Ну и поскольку не было возражений на UEXT+LPC и остановились. А теперь выясняется, что все, что есть в модулях UEXT будет воткнуто на плату+сама UEXT. А для чего тогда она, если к ней подключать уже нечего? Выходит, что выкинуть UEXT и оставить только LPC.
-
? Voland@ - 04.04.2014 16:13
>> вами было предложена UEXT как удобная шина - мало контактов
На самом деле не мною, а Сергеем Вакуленко. Контактов мало, ресурсов в ПЛИС не жрет, места на плате много не занимает. В дальнейшем все-таки пришло понимание, что шиной UEXT заменять такие шины как PCI/ISA - совсем не равноценно. Тогда было принято решение, что заменителем шины PCI/ISA будет LPC-шина, поскольку они имеет сходные возможности, но при этом LPC отнимает существенно меньше ресурсов, поскольку фактически она уже итак реализована на плате для обмена между двумя FPGA.
Ну от UEXT приняли решение тоже не отказываться, поскольку на него можно вешать всякую хрень, которая кому-то может потребоваться.
-
? Дмитрий - 04.04.2014 16:29
>> поскольку на него можно вешать всякую хрень, которая кому-то может потребоваться
Вот именно. Имеющееся под UEXT уже воткнуто на плату, а нового нет и, вероятно, не будет (кто будет делать эту "всякую хрень"?). У нас под одну шину нет разработчиков, готовых ваять устройства, а тут две шины и обе неиспользуемые. Не проще ли оставить одну? Поймите, я не для флуда и не от нечего делать тут пытаюсь доказать, что UEXT уже не нужна, необходимо оставить только LPC, хотя и под нее вряд ли что-то появится в ближайшем будущем.
-
? maxstudios - 04.04.2014 18:07
Дмитрий, отвечаю насчет мр3:
Я очень надеюсь, что на БК-12 будет прицеплен CD или DVD. Музыку слушать в этом случае - не проблема.
Пример - Sony Playstation (1), в которой музыка во время игры, на заставке, в меню, и в конце игры воспроизводилась напрямую с игрового CD. Я в то время был удивлен такой находкой. Такой подход можно реализовать в БК-12.
Поэтому я и написал, что мр3 - нужен обязательно. Как его использовать и для чего - каждый для себя сам решит.
А насчет кодера видео - очень хорошая мысль, надо сделать заявку разработчикам БК-12. :)
-
? maxstudios - 04.04.2014 18:10
Voland, расскажите тогда, пожалуйста, про наличие и возможности графического сопроцессора. И можно дополнительно - будет ли аппаратный декодер видео в БК-12?
-
? Дмитрий - 04.04.2014 21:30
>> воспроизводилась напрямую с игрового CD
Разочарую вас. В бустере, подключаемом к БК11/М не будет IDE. К тому же к нему не подключить два устройства как это делается на РС. В вашем варианте игру не только надо писать на CD-диск, но и писать драйвер поддержки CDFS/UDF под ANDOS/MK-DOS/CSI-DOS.
-
? maxstudios - 04.04.2014 21:47
Дмитрий, мне бустер как-бы и не нужен. Я жду полноценный БК-12. В нем должен быть IDE или SATA.
На край - USB, через который должен работать USB DVD-привод. Поэтому вариант "напрямую с CD" должен состояться. ;)
А на бустере пусть пока отрабатывают все ошибки и глюки.
-
? Дмитрий - 04.04.2014 22:38
Так бустер и будет частью БК12 и там будет IDE+CF (и также не подключить одновременно два устройства, если не сделают иначе). Для 11/М он в виде доп. модуля. Для USB нет драйвера и пока некому его писать. ОСи нет. Так что технически пока не реализуемо. Надеюсь, что пока.
-
? maxstudios - 04.04.2014 23:16
Непонятно.
Выбор устройства - всего одним битом. Драйвер уже расчитан на 1 устройство? Переписать нельзя, чтобы этот бит учитывался? На край - в IDE устройствах был выбор перемычкой, и даже было положение - кабельная выборка.
В обычном КНГМД ведь было параллельно 2 дисковода, проблем с этим не было.
-
? Voland@ - 04.04.2014 23:58
>> кто будет делать эту "всякую хрень"?
Такие же вопросы можно задать и по всем другим вещам:
- кто будет делать устройства и дрова под LPC/PCI/ISA?
- кто будет писать драйвера под USB?
- кто будет писать обмен с Ethernet, браузер, и т.п.?
- ....?
Почему именно UEXT так "поперек горла" встал? Кроме того, на БК11М + Бустер никогда не будет LPC, пусть там хотя бы будет UEXT. Он же есть не просит, чем он Вам мешает? В нем нет ничего ужасного, просто собраны в одном разъеме UART, SPI и I2C - довольно полезные сами по себе интерфейсы.
¤
>> Я очень надеюсь, что на БК-12 будет прицеплен CD или DVD.
Ну если только кто-то этим будет заниматься по доброй воле. У меня ни планов таких не было, ни ресурсов (разработчика) нет на доп. вещи. Я так понимаю, просто IDE там недостаточно, придется немало попрограммировать.
¤
>> На край - USB, через который должен работать USB DVD-привод.
На USB тоже ни одно устройство сами по себе не заработает, надо немало повозиться программисту.
¤
>> Выбор устройства - всего одним битом. Драйвер уже расчитан на 1 устройство?
1. В БК12 будет IDE в точности как он был на СМК512, т.е. проблем с поддержкой master/slave быть не должно.
2. В Booster интерфейс IDE разведен только в виде Compact Flash, у которых понятия master/slave просто нету, но вообще, если спаять кустарно пассивный переходник IDE->CF, то туда тоже без проблем можно будет навесить два устройства master/slave IDE, или два SATA master/slave через активный переходник.
¤
>> будет ли аппаратный декодер видео в БК-12?
В виде отдельного чипа - точно нет. Внутри FPGA как отдельный модуль он может быть реализован, но думаю что полностью готовых решений нет, а задача не тривиальная, разработчик ею заниматься бесплатно не будет. Но собственно это не главная проблема. Чтобы использовать аппаратный декодер нужна ОС и плеер, а это очень не тривиальные задачи.
¤
>> Voland, расскажите тогда, пожалуйста, про наличие и возможности графического сопроцессора.
Прямо кучу конкретики не могу перечислить, в целом - несколько разрешений стандартных - 1024*768 и меньше (в бустере 800*600 и меньше), цветность 16 бит (65536 цветов одновременно), различные 2D-операции: вывод спрайтов, пересылки массивов данных с одновременным преобразованием (вариации на тему BitBlt + alpha blending), заполнение областей, построение 2D-примитивов и т.п.
-
? maxstudios - 05.04.2014 00:05
Voland, благодарю. Еще дополнительный вопрос - сколько видеопамяти будет в бустере/БК-12?
-
? maxstudios - 05.04.2014 00:45
Voland, дополнительно сообщаю, что по поводу двух YM я отписался на Ваш e-mail.
¤
-
? Voland@ - 05.04.2014 01:42
>> поводу двух YM я отписался на Ваш e-mail.
Ответил на письмо в почту.
¤
>> Еще дополнительный вопрос - сколько видеопамяти будет в бустере/БК-12
Будет микросхема памяти 32Мб, из них 512Кб будет зарезервировано под память СМК512, остальная память будет вся доступна как GPU, так и ВМ1 (точный механизм доступа пока не утвержден). При разрешении 1024*768 экран будет занимать в памяти 1.5мб, столько же буферный экран, собственно эти области могут располагаться программистом произвольно в памяти, остальная память - может как угодно использоваться. Но всё это пока не точно, ближе к делу будет ясно.
-
? maxstudios - 05.04.2014 03:29
Voland, понятно.
Сразу новый вопрос: 32Мб памяти - это стабильное ограничение, или возможно увеличение памяти? Там будет панелька под эту микросхему или она будет просто припаяна?
-
? Дмитрий - 05.04.2014 12:55
>> на БК11М + Бустер никогда не будет LPC, пусть там хотя бы будет UEXT
Воот!!! Вот с этого и надо было начинать, вопросы и рассуждения отпали бы на стадии зарождения. Почему из вас приходится информацию по крупицам клещами вытягивать? :))
¤
>> у которых понятия master/slave просто нету
Кто сказал? У них полный АТА-интерфейс (если не ошибаюсь, 44-ю ногу на землю - вкл. режим АТА). Следовательно, устройство выбирается точно также.
-
? Voland@ - 05.04.2014 18:19
>> Кто сказал? У них полный АТА-интерфейс
Я в том смысле, что сама CF-карта не может сказать, кто она, master или slave. Вот на переходнике CF->IDE может быть такая перемычка. В общем, суть в том, что имея только разъем CF на плате Booster, если прямо крайняя необходимость будет, то можно спаять переходник и полноценно работать с двумя IDE-винтами.
¤
>> по крупицам клещами вытягивать?
Так ведь изначально в Booster и не заявлялось об LPC-шине, она и ног ПЛИС съест штук 18, и её скорости там неуместны для обычного ВМ1. Ну и LPC-шина задумана как слотовая, под платы расширений, т.е. подразумевает как минимум использование корпуса mini-ITX. Хотя для совместимость скорее всего LPC придется тянуть и в ретро-формат платы БК12, пока не знаю, в каком виде.
¤
>> 32Мб памяти - это стабильное ограничение, или возможно увеличение памяти?
В Booster будет 32Мб одной запаиваемой микросхемой, в БК12 таких микросхемы будет две, т.е. итого 64Мб. Больший запаиваемый объем (х2 раза) и расширение планками памяти уже обсуждались, но пока не вижу обоснования. Забить даже 1Мб памяти программным кодом - очень тяжело, особенно на ассемблере, и желающих программировать пока не особо много. Допустим, что Windows NT содержала 6 миллионов строк кода и таки да, 8 мб было маловато, желательно 12. Думаю что подобной по размаху ОС на БК12 не будет никогда, и не может быть в принципе. Так что пока кто-то не обоснует, чем лично он собрался забить 32мб и почему ему никак не обойтись без 64/128/256/ и т.п., тогда имеет смысл что-то обсуждать, а пока это из разряда "лучше больше, чем меньше". Причем 64 лучше 32, 128 лучше 64, 256 лучше 128, и так бесконечно, сколько конкретно реально необходимо - никто не знает, но даже 32 забить нечем.
-
? MM@ - 05.04.2014 18:26
Уважаемый господин Voland, не подскажите ли ссылку на Э3 платы, отправленной для тиража Боостера ?
-
? Voland@ - 05.04.2014 18:33
http://files.pk-fpga.ru/storage/fpga/booster-11/Booster_Altium.rar
надо ставить altium designer viewer, открывать проект, и там будут схемы - на отдельные страницы побитые.
-
? MM@ - 05.04.2014 18:42
А экспорт в Jpg или др. граф. формат возможен - хотя бы главный лист ?
( Или в Пкад2006 ? )
-
? maxstudios - 05.04.2014 18:53
Voland, мне был интересен именно объем. Узнал заодно разницу между бустером и БК-12. :)
Спасибо. :)
-
? anonymous - 05.04.2014 22:33
「она и ног ПЛИС съест штук 18, и её скорости там неуместны для обычного ВМ1.」
А для версии от MM с ее теоретическими 2млн. и реальными 1.5млн. выборок/сек LPC совсем не годна?
-
? anonymous - 05.04.2014 22:47
Впрочем, если на платке MM заменить рассыпуху на cpld и запаять ВМ5, то в 2-3 раза поднимется быстродействие. Я это к чему пишу: вот вы делаете непонятные устройства, на которые не даете ТО, а тем временем хотелось бы из коробки драйвера пользовать, проверенные десятками лет, те же под ethernet например...
-
? MM@ - 05.04.2014 22:48
Господа - понимающие в Боостере, скажите, а дрова под RT-11 будут в комплекте поставки ?
Или будет так, как сейчас получилось с USB1.1 ?
-
? anonymous - 05.04.2014 22:51
MM, скорее всего, оставьте надежду. :) И про ваши USB 1.1 - та же история, вы сделали их на модуле, который на развал не попадает, и микросхема для него в любом ларьке не продается, соответственно, кто напишет дрова, не имея устройства?
-
? MM@ - 05.04.2014 22:55
Уважаемый господин Anonymous, разрешите поинтересоваться - 1801ВП1 - 065 сколько требует минимально выставлять ( по времени ) адрес на МПИ до SYNC и сколько удерживать после SYNC - я в нерешительности по поводу применения вообще ВП1 на быстрой МПИ.
Вопрос имеет косвенное отношение к теме.
-
? anonymous - 05.04.2014 23:04
Не измерял, вопрос не ко мне, однако с ВМ3 на 7372800гц тактирование 9216кГц 3/4 экземпляров ВП1-065 тянули во всем диапазоне температур. Используйте ПЛИСку уже, VHDL/verilog-кода для UARTов полно разнообразного в открытом доступе.
-
? anonymous - 05.04.2014 23:06
В смысле, с посаженным на землю SSYNC ВМ3.
-
? MM@ - 05.04.2014 23:28
Это я к тому спросил, что уже с 1801ВМ1-6 мгц не все ВП1 надежно захватывают адрес, а если этот параметр будет под 20 мгц - неверника
все ВП1 будут вредничать.
*
Насчёт плюшек - был один эпизод лет 5 назад - соседи наняли кодера плюшки - закать 150 шт. мелкоты в 1 ИС. Заплатили нехило, аппаратура заработала. Сдали проект, прошло полгода. Здесь заказчик проекта выкатил требование - сделать изменение протокола связи -
в соответствии с генеральным договором, за отдельные бабки. В общем, исполнителя не нашли - он срулил в Штаты на заработки, а из оставшихся никто не разбирался в вопросе. В общем, дело кончилось в суде - пришлось вернуть все бабки за проект и еще заплатить неустойку - в соответствии с гендоговором за отказ в платном обслуживании.
( Это оказалось выгодней, чем нанимать стороннего кодера - он запросил по-рыночному - гиганские бабки ( точно не знаю размер )).
Так что с тех пор не считаю возможным вообще связываться по-серьёзному с кренделями.
-
? Дмитрий - 06.04.2014 00:25
>> можно спаять переходник и полноценно работать с двумя IDE-винтами
Обалдеть, вы изобрели велосипед с квадратными колесами. На кой леший городить переходник CF-to-IDE? Проще было выкинуть SD и CF и поставить IDE, для которого подключить 2 устройства раз плюнуть, а также подключить копеечные IDE-to-SD/IDE-to-CF в любых вариациях. Вам не кажется, что так проще?
-
? Дмитрий Николаевич - 06.04.2014 01:00
Припозднились вы, тёзка.
Разработчику виднее было что городить.
Этак можно и про желаемые и нужные SoundDrive/Covox и 2xAY/YM вместо mp3 говорить, и про шину, и про разъёмы.
¤
Что сделано - то сделано. Будем посмотреть на конечный вариант, возможно нам даже видео покажут с рабочим продуктом :)
-
? Дмитрий - 06.04.2014 13:03
Я давно уже про это говорил, убедить не смог. Сам-то я жду БК12, модуль мне неинтересен.
¤
>> про желаемые и нужные SoundDrive/Covox и 2xAY/YM вместо mp3 говорить
Честно, это было бы лучше, чем мп3. Но, судя по всему, это можно ожидать только для LPC, если кто-нить возьмется реализовать. Но в этом случае владельцы БК11/М будут обделены данным устройством, ибо подключать-то некуда.
-
? Voland@ - 09.04.2014 01:42
>> А экспорт в Jpg или др. граф. формат возможен - хотя бы главный лист ?
Тут архив с jpeg-файлами: http://files.mail.ru/1F4B2E909A794C7CBD58FEAB305AB336
¤
>> а дрова под RT-11 будут в комплекте поставки ?
Нет конечно, с чего им там быть, если там самого USB нету)) Там просто USB-разъемы вместо PS/2-разъемов, для удобства подключения. А если Вы про mini-USB, так он для прошивки FPGA будет использоваться, и для вывода стандартных видеорежимов БК11М в программное окно на PC (но эту программу еще надо кому-то написать).
¤
>> А для версии от MM с ее теоретическими 2млн. и реальными 1.5млн. выборок/сек LPC совсем не годна?
Это скорее к ММ вопрос). Спецификации LPC доступны в интернете, я в этом не сильно разбираюсь.
¤
>> а тем временем хотелось бы из коробки драйвера пользовать, проверенные десятками лет
Не очень понятно, из какой коробки Вы хотите драйвера под Booster использовать.
¤
>> На кой леший городить переходник CF-to-IDE?
1. Что будет использовать большинство пользователей, CF или IDE-винт? Думаю CF.
2. Тогда что им будет удобнее использовать, переходник с внешним питанием и плохим контактом (жалобы не только у меня), или же интегрированный переходник, куда не надо подводить питание, который упрощает конструкцию и делает в целом систему компактнее и симпатичнее? Думаю опять же интегрированный удобнее.
3. Тогда что логичнее сделать, интегрированный переходник, или IDE с возможностью подключения внешнего переходника? Думаю первое. А если начнутся "катастрофы" массовые, десятки людей выстроятся в очередь желающих IDE-слот с целью подключения ДВУХ винтов сразу, можно будет подумать о выпуске переходника, превращающего слот CF в IDE.
Просто хоть убейте, я не понимаю, кому нафиг в здравом уме ОЧЕНЬ надо всенепременно подключить два винта к БК с определенной практической целью?
Также мне не понятно, в случае, если винт один, то какая такая непреодолимая причина мешает переписать с него данные на CF и далее использовать её как винт?
¤
>> возможно нам даже видео покажут с рабочим продуктом :)
Думаю вполне резонно, как будет что показать - будет и видео :)
¤
>> SoundDrive/Covox
mp3 никак не исключает не сжатый звук, по факту там итак будет covox 16/24 бит - было бы кому его программировать.
¤
>> 2xAY/YM вместо mp3 говорить
и два AY из-за наличия mp3 никак не исключаются. Проблема опять же в том, что они не могут играть одновременно, но это не вина mp3, это проблема отсутствия сигнального процессора, который был бы ядром, микширующим все звуки в системе, но под это ядро опять же, надо кому-то программировать, чтобы оно делало своё дело.
¤
>> Честно, это было бы лучше, чем мп3
Мне не очень понятно, почему mp3 объявили камнем преткновения? Оно НИ ОДНУ ДРУГУЮ ФУНКЦИЮ НЕ ИСКЛЮЧАЕТ. Одновременно с mp3 ничего играть не может, но это не значит, что mp3 мешает, это значит, что кому mp3 не нужно - он его наличие в системе просто игнорит и использует другие звуки (AY или "Covox-16/24").
¤
>> Но, судя по всему, это можно ожидать только для LPC, если кто-нить возьмется реализовать.
Ну во-первых, два AY можно вставить внутрь обычной БК11М. Во-вторых, их можно подключить к МПИ, которое будет и в БК12. В третьих, для начала надо обкатать решение в реале на БК11М, а не в FPGA, написать/портировать хотя бы одну презентабельную мелодию (явно выражающую новые возможности звука), плеер простейший для неё написать (хотя бы просто без интерфейса чистый код для проигрывания). А иначе мы займем лишнюю 1000 ячеек в FPGA, не факт что оно кому-то в итоге понадобится.
-
? MM@ - 09.04.2014 03:13
Благодарю за публикацию Э3 боостера.
-
? anonymous - 09.04.2014 09:19
「>> а тем временем хотелось бы из коробки драйвера пользовать, проверенные десятками лет
Не очень понятно, из какой коробки Вы хотите драйвера под Booster использовать.」
При чем тут Бустер?
-
? Voland@ - 09.04.2014 09:52
Если Вы про БК12, то всё равно не очень понятно, какие драйвера из коробки? У нас там USB и Ethernet реализован на PIC32MX, какие драйвера под них Вы предлагаете брать из коробки?
-
? anonymous - 09.04.2014 11:16
То что они реализованы на pic32 никак не мешает их сделать неотличимыми для софта от стандартных устройств, у DEC на плате каждого контроллера обычно также стоял свой процесор. Работа с ide/cf/sd и usb, например, прекрасно может быть реализована в рамках mscp, патент на него истек почти 10 лет назад, так что можно использовать. Под работу с ethernet-контроллерами на всех qbus/unibus/cbus системах также единый протокол у DEC использован, одни и те же карточки устанавливаются и в пдп, и в микровакс, все ОС (rt11/rsx11/tsx/vms/*nix) их подхватывают. Под RT11, однако, TCP/IP написан с активным использованием вызовов zm/zb/xm/xb-мониторов, потому поддерживается только на системах с ДП, правда из софта интернетовского под РТшкой есть только ftp и telnet. :)
-
? Дмитрий - 09.04.2014 11:39
>> Тогда что им будет удобнее использовать
Сравните свой способ и следующий: есть интегрированный IDE (взять тот же СМК), есть винты и адаптеры 2xCF-to-IDE/1xCF-to-IDE/SD-to-IDE/SATA-to-IDE(!) (у меня, к примеру, есть винт, с которым я баловался на БК10+СМК128, посливал туда кое-что с дискет). Подключаем к IDE кабель и вешаем на него, к примеру, винт+CF или два винта или CF+SD - вариантов много. Ничего городить не надо, все адаптеры есть готовые и дешевые. А вы предлагаете сделать какой-то мифический переходник с CF на IDE, который может сломать к чертям хрупкий разъем CF (он не предназначен для этого - карта вставлена и все, никаких радиальных нагрузок). К тому же как и из чего вы собираетесь изготавливать ту часть, которая будет вставляться в CF? Разъемы "папа" для пайки на плату продаются, не спорю. А вот "маму" надо искать (http://www.jst-belgium.be/productSeries.php?pid=15087&page=features&cat=25). Брать дохлую карту и выкидывать из нее начинку и припаивать груду проводов IDE-шлейфа? Пользователи со старенькими винтами есть и им удобнее было бы подключить его к бустеру/СМК/БК12 (если есть оригинальный БК и БК12 не нужен). Им придется извращаться с подключением IDE к CF самим или ждать пока вы сделаете переходник, потому как в природе таких не существует. Где логика? Зачем ущемлять возможности пользователей 11/М+бустера в сравнении с БК11/М+СМК или БК12?
¤
>> если винт один, то какая такая непреодолимая причина мешает переписать с него данные на CF и далее использовать её как винт?
Отсутствие переходника с карты на IDE. Про БК12 вопрос не идет - там все есть. Я про бустер как приставку.
¤
>> Во-вторых, их можно подключить к МПИ, которое будет и в БК12
С 11М понятно. А как будет согласовываться медленная МПИ со скоростным процом? Этот вопрос не был освещен.
-
? Voland@ - 20.04.2014 19:35
>> То что они реализованы на pic32 никак не мешает их сделать
ответ разработчика:
Темы насчет Ethernet под RT11 уже звучали когда-то, только разве что предлагалось ставить какую-то старую микросхему в Ethernet-контроллер типа той, что при царе Горохе использовалась. Если бы еще для RT11 был GUI и все остальное, то тогда еще можно было бы о чем-то говорить, а так систему уже 40 лет никто не развивал.
-
? anonymous - 20.04.2014 19:54
Не очень понятно, зачем системе GUI, ну да ладно...
-
? Voland@ - 20.04.2014 20:03
>> Зачем ущемлять возможности пользователей 11/М+бустера
Если бы там было место, где разместить IDE, его бы оставили, но лично мне, как пользователю, если стоит выбор - либо только CF, либо только IDE, я делаю выбор в пользу CF. Кроме того, не хочется превращать блок в паука, утыканного разъемами по всему периметру.
Все-таки, если 1-2 человекам из 30 жизненно потребуется подключить IDE-винчестер, не так уж сложно раздербанить CF, подпаять 40 проводов стандартного шлейфа к контактам, залить пайку эбокситом и использовать конструкцию как переходник, при каждом случае возникающей необходимости.
¤
>> Отсутствие переходника с карты на IDE.
Я имел ввиду, сделать это на PC. Там это по любому удобнее и больше всякого профессионального софта для этого.
¤
>> как будет согласовываться медленная МПИ со скоростным процом?
Так же, как и с оригинальным ВМ1. Скорость шины МПИ особо не изменится, там всё согласно ГОСТ. Кроме того, там для совместимости со старыми устройствами сохранены специфические резисторы 3.3K на шине, используемые в БК, что накладывает какие-то естественные ограничения (не помню, какие).
-
? MM@ - 20.04.2014 23:52
МПИ БК11М надо прокачивать из боостера не иначе как 531АП6 - на передачу данных, и что-либо типа 74F на приём данных.
Применять 531АП2 в двунаправленном включении бля БК11М - не самая лучшая идея ( как оказалось ).
Тщательная подстройка таймингов абослюно необходима - иначе или висяки, или не быстрее будет, чем с 1801ВМ1-5 мгц.
В общем, тема правильного управления МПИ БК11М - это месяцок опытов с разными ИС и прошивками плюшек.
-
? maxstudios - 21.04.2014 00:57
Всех БК-манов поздравляю с Пасхой Христовой, Христос Воскресе! :-D
- Вопрос всем:
Вот сижу и думаю теперь, что лучше - SMK-512 или Booster ???
Если Booster уже скоро появится в продаже, может стоит его подождать?
- Еще вопрос тем, кто уже пробовал это:
Закачать софт для БК с PC на CF, затем пользоваться софтом уже на БК. Это возможно, или есть несовместимость и проблемы?
-
? Voland@ - 07.05.2014 02:01
Немного фотографий собранного для отладки Бустера (не хватает пока центральной FPGA и аудиоджека):
¤
http://files.pk-fpga.ru/storage/temp/booster-11/IMG_1329.JPG
http://files.pk-fpga.ru/storage/temp/booster-11/IMG_1330.JPG
http://files.pk-fpga.ru/storage/temp/booster-11/IMG_1331.JPG
http://files.pk-fpga.ru/storage/temp/booster-11/IMG_1335.JPG
http://files.pk-fpga.ru/storage/temp/booster-11/IMG_1339.JPG
¤
А заодно и фотографии отладочного прототипа БК12:
¤
http://files.pk-fpga.ru/storage/temp/bk12/IMG_1343.JPG
http://files.pk-fpga.ru/storage/temp/bk12/IMG_1344.JPG
http://files.pk-fpga.ru/storage/temp/bk12/IMG_1345.JPG
-
? Дмитрий - 07.05.2014 09:51
1) На верхней платке что за подстроечники? И пустое место D1.
2) Кстати, на двух стойках платка: не будет деформации основной платы при вставке кабеля флопа? Они часто туговато входят, особенно новые.
3) На прототипе PCI слот? От него вроде отказались. И что будет подпитывать батарейка?
4) Для установки в корпус miniITX нужен будет шильдик на панель разъемов (как у любой матери). Он будет предусмотрен?
5) AISP и PIC ISP я так понял для отладки и прошивки ПЛИСины?
6) Peripherial это МПИ для подключения возможных будущих устройств или елки? И для чего был предусмотрен 10-контактный разъем правее Peripherial на последней фотке?
-
? Дмитрий - 07.05.2014 10:19
Плюс при проверке БК12 на макс. частоте проверьте температуру ПЛИС после длительного прогрева. Если будет ощутимо греться надо предусмотреть отверстия для подобного http://www.modlabs.net/uploads/gallery/blogs/38_p67_heatsink-fr.jpg или скобки типа такого http://www.3dnews.ru/documents/8194/nb.jpg и 3-pin разъем под кулер (на всякий пожарный). Охлаждение не повредит.
-
? Voland@ - 08.05.2014 00:05
>> 1) На верхней платке что за подстроечники? И пустое место D1.
Это не подстроечники, это три кнопки - ресет, смена видеорежимов (МХ/ЧБ/ЦВ), третья - не придумал еще, наверное переключение между клавиатурами - родная или дублирующая её PS/2. Высота кнопок такая - чтобы торчали из отверстий корпуса наверх на 1мм. Если кому-то надо без корпуса - есть короткие кнопки.
D1- светодиод hdd, тоже будет выглядывать в отверстие корпуса сверху.
¤
>> 2) Кстати, на двух стойках платка: не будет деформации основной платы при вставке кабеля флопа?
Не должно, вроде более-менее прочно, но если без корпуса - лучше аккуратно вставлять и вынимать шлейф FDD, придерживая верхнюю платку. А если с корпусом - там будет дополнительное упрочнение за счет сквозных шурупов крепления, проходящих сквозь верхнюю плату впритык.
¤
>> 3) На прототипе PCI слот? От него вроде отказались. И что будет подпитывать батарейка?
Прототип изготовлен более года назад, просто руки не доходили сфотографировать. Потом PCI уберем. Батарейка будет питать системные часы.
¤
>> 4) Для установки в корпус miniITX нужен будет шильдик
Не представляю себе, где его по вменяемой цене можно под заказ изготовить, точнее не задавался вопросом, пока не до этого. Сомневаюсь, что можно мелкую серию задешево сделать..
¤
>> 5) AISP и PIC ISP я так понял для отладки и прошивки ПЛИСины?
Там 10-ти контактные - один для прошивки одной FPGA, второй для прошивки вспомогательной (периферийной) FPGA, один для прошивки
P18 - Интерфейс JTAG основной ПЛИС (EP3C16Q240)
P19 - Интерфейс для программирования конфигурационной микросхемы флеш
P17 - толпа пинов - Сигналы индикации управления mini-ITX:
1 - 2 - сброс, 3 - 4 включение/выключение, 7 - 8 индикатор питания, 9 - 10 индикатор HDD
P11 - JTAG-интерфейс вспомогательной ПЛИС (EPM3256AQC208-10)
P20 - Выход FT2232H (замыкается кабелем на P18,P19,P11 - смотря что прошить надо).
На конечной плате будет меньшее число этих разъемов, просто так удобнее для отладки.
¤
P7 (PIC ISP) - Разъем для конфигурирования PIC32MX
¤
>> 6) Peripherial это МПИ для подключения возможных будущих устройств или елки?
Это обычная БКшная МПИ, туда можно подключать то же самое, что и к БК.
¤
>> Плюс при проверке БК12 на макс. частоте проверьте температуру ПЛИС
Ну это как будет возможность, пока такой возможности нет. К тому же там надо не просто на частоте, а вычислительную нагрузку дать да длительное время.
¤
-
? anonymous - 08.05.2014 02:27
「Прототип изготовлен более года назад, просто руки не доходили сфотографировать. Потом PCI уберем. 」
- А ведь было заявлено, что проект будет открытым, т.е., кому надо - свою прошивку сможет написать... Как же делать потом PCI если слот таковой уберете? Я это к тому, что если не будет PMC-слотов и на ретро-варианте, проку от него не будет вовсе.
-
? anonymous - 08.05.2014 09:41
Поясню: Все люди ленивы, каждый в своей мере, но каждый хочет, чтоб работу или какую-то ее часть сделал кто-нибудь за него. С фактом, что оригинальная прошивка будет содержать много лишнего и ненужного и не будет содержать базовые компоненты любого современного компьютера, признанные тут бесполезными и даже вредными, мы уже свыклись, потому бк12 рассматривалась в качестве демо-платки для написания своей собственной конфигурационной прошивки. Теперь урезается и ее аппаратная конфигурация, чтоб использовать ее можно было только в рамках выданной в комплекте прошивки. Это плохо, в свое время DEC разорилась благодаря таким же нелепым маркетинговым ходам, а вспомните историю IBM PC, которая выдала примитивнейшую машину, но с открытой архитектурой и простой всем понятной и доступной для изготовления своих устройств шиной. Мне, например, на фиг не нужны порты флопика, IDE, УП, звукосинтезирующая часть и даже встроенный МПИ, все это, в реализации, которую каждый для себя считает более правильной, можно было бы повесить на PCI, если бы он был, а сколько ножек плиски бы освободилось! Но при текушем(в настоющий момент) положении дел заниматься БК у меня нет возможности, потому подписываться на изготовление таковых устройств я не могу, однако зарезать возможность реализации простой и удобной шины все же считаю нелепой.
-
? Дмитрий - 08.05.2014 10:57
>> вычислительную нагрузку дать да длительное время
Ну это, ессно, подразумевалось.
¤
>> но с открытой архитектурой
Я тоже в свое время об этом говорил. БК12 надо делать с учетом ошибок закрытости БК10/11.
¤
Кстати, вот опять наталкиваемся на проблему отсутствия универсальности в том же бустере. Будет разработка игры под бустер, разрабам выдадут бустер(ы). Ну напишут они игру. А под что они ее будут писать? АНДОС/МКДОС/ОСБК? Или будут делать stand-alone игру со своим загрузчиком (кстати этот вариант предпочтительнее - нет привязки, но не будет совместимости с БК12)? В бустере на 11/М экран будет мапиться на место ОЗУ/ДОЗУ как доп. память. В БК12 маппинг будет происходить в 32-битное адресное пространство БК12 (возможно вся экранная область сразу). Как напишут авторы драйвер бустера (и будут ли они вообще это делать) - никого не интересует. Игра будет несовместима ни с чем - вариант переписывания уже готового под БК12 в топку, так можно долго заниматься фигней с переписыванием только что написанного. Мы опять возвращаемся к анархии написания софта. Сначала нужна ОС, составить документацию по ней, документацию разработчика. А вот потом уже разрабатывать/портировать игры и софт конкретно под нее.
-
? MSV - 08.05.2014 16:28
Подождём конечного результата, самой БК12. Готов согласиться с мнением, что чьи-то потребности изделие - не удовлетворит.
В голову пришла мысль - почему бы, после первой реализации, тем, кого она не удовлетворит, не заказать себе производство того же изделия, только, дополненного связкой с ещё одной ПЛИС, и участком под макетную плату. На этом изделии, кто захочет, мог бы себе и PCI-слот организовать, и ISA-слот - всё что захочется. А сейчас - спешить не куда, ждём результат. (смайл)
-
? anonymous - 09.05.2014 00:55
MSV, Вы себе представляете частоты обмена и работу для реализации PCI вне главной плиски? Из периферийной и так LPC растет, на которой можно реализовать почти все оконечные устройства.
-
? MSV - 09.05.2014 00:58
Кому захочется PCI, тот об этом пусть и думает. (широкий смайл)
-
? Voland@ - 09.05.2014 12:59
>> А ведь было заявлено, что проект будет открытым, т.е., кому надо - свою прошивку сможет написать...
Не очень себе представляю, как кому-то можно запретить написать свою прошивку и какие это имеет отношение к закрытости проекта; в моём понимании закрытый проект - это тот, схемы и исходники прошивок которого не подлежат распространению.
¤
>> Как же делать потом PCI если слот таковой уберете?
Например на базе LPC. Да и любое устройство, которое хочется спроектировать на базе PCI, можно с таким же успехом напрямую сделать на LPC.
¤
>> если не будет PMC-слотов и на ретро-варианте, проку от него не будет
Повторюсь, PMC/PCI сжирают кучу ресурсов во всех смыслах, реализовывать их ради 1-2 человек, которые голосуют "сердцем", а не клятвенным обещанием курировать эту шину "от и до" - совершенно нерационально и бесперспективно.
¤
>> оригинальная прошивка будет содержать много лишнего и ненужного
Что именно лишнее и ненужное? UEXT? Ну так он ничего особенно и не занимает.
¤
>> и не будет содержать базовые компоненты любого современного компьютера
Речь об MMU или о чем-то еще? Понимаете, тут много разговором о том, что надо бы "напихать всего, да побольше", но программировать это пока никто не собирается, тут даже простую игру некому писать, не требующую глубоких системных познаний, а Вы думаете, что напихав кучу всяких PCI и MMU мы сразу этим фактом вызовем бурное желание десятков программистов вгрызться в гранит программирования и понаписать кучу классного софта?
¤
>> Теперь урезается и ее аппаратная конфигурация
Урезается только PCI, об этом было заявлено еще с полгода назад. Зато добавляется 32-разрядная архитектура вместо по сути бесполезной 22-разрядной адресации ВМ3.
¤
>> DEC разорилась благодаря таким же нелепым маркетинговым ходам
Поверьте, тут вообще никакой маркетинговой стратегии не применялось, она если и будет применяться - только в отношении вариантов продажи платы, когда не все деали запаиваются, например
1. минимальная конфигурация (только БК11М+СМК512+МПИ+УП+AY+PS/2)
2. дополненная Ethernet и USB
3. дополненная Audio, FT2232H
но и то, пока я не уверен, что есть смысл этим нарезанием разных комплектаций стоит заниматься.
¤
>> мне на фиг не нужны порты флопика, IDE, УП, звукосинтезирующая часть и даже встроенный МПИ
Это нужно 90% пользователей, потому не вижу смысла выносить данную часть на PCI, проектировать отдельную плату и программировать обмен с ней (опять же - программистов нету)
¤
>> однако зарезать возможность реализации простой и удобной шины все же считаю нелепой.
Вы предлагаете то, что нужно 90% пользователей, вынести на PCI, но почему бы саму PCI, нужную 1-2 человек, не вынести на LPC в качестве отдельного устройства?
¤
>> напишут они игру. А под что они ее будут писать? АНДОС/МКДОС/ОСБК?
Они будут писать на том, что есть - а пока есть стандартные БК11М со старыми стандартными средствами программирования, написать можно как под АНДОС/МКДОС (ОСБК - это нафиг), так и под собственный загрузчик - это как им будет удобно в процессе исполнения, настаивать я ни на чем не буду, иначе мы вообще ничего так и не напишем.
¤
>> Игра будет несовместима ни с чем
Это не факт, я склоняюсь к тому, что всё, что написано под оригинальный ВМ1 в конфигурации БК11М + GPU и RAM 32Mb из состава бустера - должно запускаться и на БК12. mp3 - да, не будет запускаться на БК12, если его задействовать в Booster.
¤
>> На этом изделии, кто захочет, мог бы себе и PCI-слот организовать, и ISA-слот
Собственно я об этом и говорю, от LPC-шины можно будет любые расширения конструировать.
-
? Дмитрий - 09.05.2014 13:08
2 Voland: По этой http://pdp2011.sytse.net/wordpress/pdp-11/ ссылке взять реализацию FIS/EIS/FPP для БК12, чтобы была аппаратная поддержка плавающей запятой. Полностью переносить пдп11 смысла нет, хотя если автор разрешит, то можно было бы и приделать. Архив с исходниками в свободном доступе.
¤
В теме про контроллер mass storage обсуждаем
-
? Voland@ - 13.05.2014 00:25
>> По ссылке взять реализацию FIS/EIS/FPP для БК12
От разработчика:
Эти исходники, разумеется, мне давно известны. Там совершенно другая структура процессора, намного более медленная. Тут намедни стянул дизайн процессора J-11 фирмы DEC, последнего из линейки PDP-11 для микрокомпьютеров. Вместе с его микрокодом. Намедни попробую его понемногу оживить. Там особенность в том, что внутренняя архитектура сделана 32-разрядная, плюс там в микрокоде всякие операции вроде плавающей точки. И в целом расход логических вентилей относительно умеренный. Разве что скорость несколько пониже, даже при устранении изначальных схемных тормозов. Если операция по адаптации J-11 закончится успешно, то там как бы есть плавающая точка, а чисто аппаратная плавающая точка потребляет дофига логических ячеек, а с ними вообще-то везде дефицит. Смысл задуманного в том, что само ядро компактнее и как бы аутентичнее. Большое ядро (наш Moonshiner-11) в тот же бустер в принципе не влезет.
¤
>> Интересно, достаточно полные ЭВМ написаны энтузиастами в ПЛМ :
>> http://opencores.org/project,w11
>> http://pdp2011.sytse.net/wordpress/pdp-11/
>> http://code.google.com/p/bk0010/
>> Что мешает позаимствовать ядра от туда ?
¤
От разработчика:
Так дело в том, что "обвес" как раз и занимает время. Да и ядра надо адаптировать, добавлять кэш-память, контроллер шины Avalon и так далее. Ну и потом там везде довольно медленные архитектуры, частота тут не показатель сама по себе. Ну и наконец - какой смысл заимствовать ядра, если есть свое ?
¤
>> однако зарезать возможность реализации простой и удобной шины все же считаю нелепой.
От разработчика:
то народ говорит, что нафиг PCI, потому что драйверы и прочее делать не будет никто, то теперь без PCI жизни нет. Прямо укромайдан какой-то. Мне пофиг в общем, можно и оставить. Кто-то старый Ethernet хочет, кто-то планку на DDR2 и т.п. Надо же какой-то общий знаменатель. В принципе, можно сделать плату и чтобы было DDR2 и PCI и все такое, но это же придется многослойку делать и паять BGA. Строго говоря, слот для модуля ddr2 был бы удобным, каждый может вставить сколько угодно памяти, да и скорость там высокая. Хотя не ясно, насколько нужно тут то и другое. Да и тогда надо ставить PCI-E, если многослойка, но для него понадобится BGA-корпус, да еще и Cyclone-4. Но у PCI-E будут ровно те же проблемы с драйверами, что и у PCI.
От меня: фразу "В принципе, можно сделать плату и чтобы было DDR2 и PCI и все такое" надо рассматривать как теоретические рассуждения, а не как призыв "сейчас будут учтены какие угодно пожелания" :)
-
? Дмитрий - 13.05.2014 00:42
>> Строго говоря, слот для модуля ddr2 был бы удобным, каждый может вставить сколько угодно памяти, да и скорость там высокая. Хотя не ясно, насколько нужно тут то и другое.
С ддр2 было бы удобнее в том плане (и я это говорил), что плата не будет ограничена строго определенным объемом. Разъем гораздо дешевле памяти. МС памяти тоже имеют особенность выходить из строя. Перепаивать битую МС памяти на БК12 тоже не с 65Вт паяльником надо лезть. А так платку выкинул и воткнул другую, благо они сейчас есть по доступной цене в достаточном кол-ве. Но вот реализация поддержки ее в ПЛИС и разводка платы убивает всю идею. Нельзя так нельзя. Пусть будет фиксированный объем.
¤
Можно хотя бы сделать панельки под память, чтобы в случае выхода из строя заменить МС без перепайки? И если это возможно, то написать какие МС туда подойдут (если я правильно понял по фотке бустера и БК12 там стоят МС DDR1)? Кстати, а как насчет разъема под DDR1? Или там такие же сложности как и с DDR2?
-
? Ал-р - 13.05.2014 01:19
Какой может быть учёт пожеланий от человека который даже не представляет сколько контактов на PCI i DDR-разъёмах и во что это выльется при переносе на плату - пусть Google хотя бы почитает. Разработчик, бросьте фигнёй маяться с учётом пожеланий некомпетентных трудящихся (в кол 1шт.) ...
-
? Дмитрий - 13.05.2014 09:46
Вы, может быть, и не представляете, а только видели их на мат. платах. Я же занимаюсь ремонтом компьютерной техники в СЦ и отлично представляю себе что такое PCI и DDR, и сколько у них контактов. PCI меня не интересует, так как я на 95% уверен, что ничего для нее не будет разработано. А имеющуюся плату какого-нибудь контроллера подключит 1 пользователь из купивших БК. Но кто будет писать софт для работы с ним вообще неизвестно. К тому же используемая в разработке ПЛИС поддерживает DDR и DDR2. Установка слота под память сделает платформу более гибкой и удобной. Вы бы согласились купить компьютер или ноутбук, в котором было бы фиксированное кол-во памяти и не было бы возможности ее увеличить? Думаю нет. Я же задал вопрос, так как не занимаюсь проектирование электронных устройств. Вас это задевает? Пройдите мимо молча. Вам это не интересно? Также пройдите мимо, в кол-ве 1шт. Тема для того и создана, чтобы задавать вопросы по устройству. У вас нет конструктивных предложений и вопросов - лучше помолчите.
-
? Ал-р - 13.05.2014 11:48
Я не собираюсь проходить мимо ахинеи на сайте который я просматриваю, который имеет отношение к БК. А вот DDR и др. хрень к ней уж точно никакого отношения не имеют, так же как 50Мгц ПЛИС с их программированием ...
-
? Дмитрий - 13.05.2014 11:52
Тогда не надо постить тут свои излияния, они никому не интересны. Постите там, где обсуждают только оригинальную БК.
-
? шПионер - 13.05.2014 17:43
С первого июня работа американских станций GPS, на территории России, приостанавливается.
-
? tim - 13.05.2014 21:20
А что вас так пугает при этом ? И как это соотносится с бустером, он вроде GPS не поддерживал ?
-
? Voland@ - 13.05.2014 22:10
Фото Бустера в корпусе:
http://files.pk-fpga.ru/storage/temp/booster-11/case_1354.JPG
http://files.pk-fpga.ru/storage/temp/booster-11/case_1352.JPG
http://files.pk-fpga.ru/storage/temp/booster-11/case_1346.JPG
На мой взгляд, три кнопки и светодиод вписались достаточно органично.
¤
>> Можно хотя бы сделать панельки под память
Дело в том, что у данной микросхемы 54 вывода, а панельки максимум бывают SOJ-40, так что даже если такая микросхема и существует в корпусе SOJ, то панелек под неё не существует в природе.
-
? Дмитрий - 14.05.2014 10:04
http://tarjan.uw.hu/zx_pix/c_one/original/c_one_revision_2_2003_04_30_by_jeri_ellsworth_and_jens_schonfeld_from_c_one_website_01.jpg
¤
ZX+Commodore в одном флаконе. Жаль не сказано сколько у платы слоев, но SIMM и SDRAM подключены к ПЛИСам без особого геморроя. Знатоки проектирования могут разъяснить тонкости и слойность платы "на глаз"?
-
? tim - 14.05.2014 10:58
В данном случае слоган такой: "Больше ПЛИС - больше ног!" Все-таки два корпуса FPGA. Сразу видно женщина проектировала :)
-
? Дмитрий - 14.05.2014 11:12
Я так понял, что разраб(ы) разделил(и) комп на узлы и на каждый узел взята отдельная ПЛИС. Затем все соединено воедино. Судя по описанию, СИММ для мультимедиа, SDRAM для самого компа.
¤
>> Все-таки два корпуса FPGA
Вообще-то 4. Плюс над PCI что-то напоминающее ПЛИС в панельке. Ну так и два компа в одном флаконе.
-
? Дмитрий - 14.05.2014 11:15
Кстати, насчет разъема под DDR на плате. Потерял ссылку на клон спека, у которого была простая 2-сторонняя плата с одной ПЛИС и разъем под DDR (до 1ГБ). Никаких многослоек и извращений.
-
? tim - 14.05.2014 13:50
>>> Все-таки два корпуса FPGA
>>Вообще-то 4. Плюс над PCI что-то напоминающее ПЛИС в панельке.
Все-таки FPGA - 2 корпуса ACEX 1K100 и 1K30, плюс к этому пара CPLD MAX 3032 и 7064
-
? Дмитрий - 14.05.2014 14:02
Позволю себе не согласиться, ибо FPGA это тоже плис, следующая ступень после CPLD, если судить по вики https://ru.wikipedia.org/wiki/ПЛИС - так что все же 4 ПЛИС :) Но это не суть важно.
-
? Дмитрий - 14.05.2014 14:04
Тьфу, ступень. Тип ессно.
-
? Дмитрий - 14.05.2014 21:02
Опытный образец бустера готов, как я понял. Когда можно будет прочитать руководство по программированию?
-
? Voland@ - 15.05.2014 14:25
>> Когда можно будет прочитать руководство по программированию?
Да нету пока никакого руководства, железка - макет, она пока пуста, отладка еще и не начиналась.
-
? Дмитрий - 15.05.2014 21:23
Плохо. К выходу опытного образца уже нужны наброски - тестить и отлаживать как, не зная каким образом им управлять?
-
? Voland@ - 19.05.2014 10:04
Всё будет по ходу отладки, других вариантов у меня увы пока нет.
-
? Дмитрий - 06.09.2014 11:16
2 Voland: А что если в бустере сделать ДП как у ПДП и использовать всю его память "как у взрослого компа"? Тогда будет возможность использовать его в виде приставки на 11(М), и на БК12, где, кроме этого, будет еще и своя линейная память. И желающие использовать РТ11 будут удовлетворены.
-
? anonymous - 06.09.2014 11:54
Дмитрий, тогда нужно вместо ВМ1 запаивать и другой процессор, т.к. прерывания ДП отрабатываются ДО реального доступа к ячейке, не вызывая самого обращения по шине, которое, например, может вызвать разрушение информации в устройствах, где биты в CSR изменяются при обращении, подразумевая, что предыдущее состояние мы уже считали в первом обращении, или где сдвигается указатель в буфере устройства.
-
? anonymous - 06.09.2014 11:56
Так что "взрослый" ДП не выйдет, но принцип его можно использовать с некоторыми ограничениями, конечно. Однако для RT11 он уже не подойдет.
-
? Дмитрий - 06.09.2014 17:28
>> нужно вместо ВМ1 запаивать и другой процессор, т.к. прерывания ДП отрабатываются ДО реального доступа к ячейке, не вызывая самого обращения по шине
То бишь получается, что раз бустер висит на шине, то автоматом не подойдет, от слова "вообще"? Ведь ПЛИС в БК12 и ПЛИС в бустере могут между собой контачить ДО обработки команд и сигналов по шине. Вот с БК11(М)+бустер получается ничего не выйдет. Жаль, а то было бы отлично для фанатов РТ11.
-
? Ал-р - 06.09.2014 23:51
... так ВМ1 или НЕ-ВМ1 ... определитесь что ВАМ нужно - эмулятор (на Пись или на неизвестно чём типа БК-12)
=
Так вопрос - вот я электронщик (и Асм знаю) - как мне экран ПЕРЕПРОГРАММИРОВАТЬ супер-чип из БК-12 в 120000..140000-допОЗУ из 40000?
-
? Аноним - 12.11.2014 15:25
http://www.ti.com/solution/automated_external_defibrillator
-
? Voland@ - 17.12.2014 02:36
Сегодня общался с разработчиком по поводу выхода Бустера в свет.
Проблема как с Бустером, так и с БК12 в том, что целую кучу узлов надо:
1. Задокументировать, например сотни регистров у одного только DMA. Документацию полноценную писать некому, ибо это тысячи страниц. Сжатую, справочную документацию разработчик может написать, но ему нужна целевая аудитория программистов, которые скажут, что и как им лучше описать.
2. Протестировать. Сейчас им в процессе разработки всё тестируется на коленке, через Си для NIOS, но там есть и специфические тесты, например, записываются регистры SPI или UART, а результат контролируется в том числе осциллографом. Как тестировать всё это в условиях предпродажной сборки - хрен знает. Нужен энтузиаст-первопроходец, программист, который сможет для переданного ему первого экземпляра Бустера написать под БК тесты, которые гоняли бы все возможности Бустера - мышь и клаву PS/2, сигналы UEXT, тест памяти 32Мб, проигрыватель mp3, графика GPU и т.п. Консультации разработчик готов оказывать в процессе. Ну и по замечаниям программиста что-то править в FPGA-прошивке.
Естественно такому человеку Booster будет передан безвозмездно и навсегда. Но с условием железобетонной и полной последующей программной победы этой железяки данным человеком. Так что ищется один очень уверенный в своих силах доброволец.
-
? Аноним - 17.12.2014 15:12
Пускай гид заэмулирует, а мы напишем.
-
? Аноним - 17.12.2014 19:09
Кто это мы мы бывают разными ;)
-
? TheGWBV@ - 18.12.2014 00:10
Как тестировать Бустер.
1) в NIOS-е на дисплей и UART выдаётся вывод консоли.
2) БК служит для NIOS устройством ввода типа клавиатура.
Адрес регистра порта на стороне БК можно выбрать голосованием :)
3) Написать код для теста на стороне БК-ашки смогу за один вечер...
-
? TheGWBV@ - 18.12.2014 00:48
При включении Бустер выполняет роль терминала и ждёт команд с консоли из БК-ашки.
Командами можно запустить в NIOS-е все необходимые тесты для проверки аппаратуры Бустера.
Если такой порт консоли сделать ещё и с параллельным асинхронным интерфейсом, энтузиастам будет проще освоить возможности Бустера. Например, научиться передавать блоки данных между NIOS и программой пользователя (или драйвером ОС).
-
? Дмитрий - 18.12.2014 00:49
>> Написать код для теста на стороне БК-ашки смогу за один вечер...
Там сначала нужно написать драйвер экрана - знакогенератор, вывод символов, скроллинг, курсор (для теста необязателен). Я предлагал "аппаратный" текстовый режим - было ответ: делать не будем, не нужно (подразумевалось - сами сделаете).
-
? Дмитрий - 18.12.2014 00:55
>> скажут, что и как им лучше описать.
Описывать все до бита - какой бит в каком регистре за что отвечает. Желательно схематично описать принцип работы (к примеру): выставляем бит, ждем столько-то мс/мкс (или читаем бит готовности), снимаем бит, засылаем данные, читаем бит готовности и т.д. и т.п. Одного описания регистров будет недостаточно. Это не регистр клавы, где описания разрядов будет достаточно.
-
? TheGWBV@ - 18.12.2014 01:37
http://www.altera.com/support/refdesigns/sys-sol/computing/ref-niosii-vga.html
На этой странице пишут, что есть сурсы для программного вывода текста силами NIOS-a, пусть для начала и латиницей. Разработчику Бустера нужно написать несложную программу на Си, для приёма кодов с БК-консоли, вывода их на дисплей + командный процессор для выбора одного из тестов...
Насколько я понимаю, разработчику сложнее взяться за код на стороне БК-ашки, а в NIOS-е проще и интереснее...
-
? Voland@ - 18.12.2014 23:30
От разработчика:
Не очень понимаю, что подразумевается под "консолью" и как это поможет тестированию всяких там mp3, SPI, UEXT, просто звука и так далее. И что там в консоли за "параллельный асинхронный интерфейс"?
По идее, там надо все внутренние регистры бустера отобразить на свободные места в старших адресах памяти БК и писать туда без всякой "консоли",
но это надо знать, где там незанятые адреса, потому что регистров там несколько десятков в общей сложности набирается,
иначе будет просто медленно и не слишком удобно
-
? TheGWBV@ - 19.12.2014 01:20
Где можно увидеть перечень этих нескольких десятков регистров Бустера? Пусть и без указания конкретных адресов, с описанием их назначения и наименования. Например, регистр А1 предназначен для того-то.
А мы уж спросим как им правильно пользоваться и адрес в памяти БК выделим...
-
? TheGWBV@ - 19.12.2014 01:25
А пока такого перечня нет, будем придумывать асинхронные порты, чтобы байт передать из БК в NIOS Бустера и там уже с ним делать что душе угодно...
-
? TheGWBV@ - 19.12.2014 01:31
Давайте начнём с простого -- перечня и описания регистров интерфейсов UEXT :)
-
? Voland@ - 19.12.2014 01:40
Разработчик: прошу написать, какие там области адресов свободные - надо хотя бы знать, сколько там дырок незанятых. А байты передавать - дело хорошее конечно, только там ряд устройств не таких уж медленных, так что это не всегда приемлемо, а точнее, в большинстве случае просто не годится.
-
? gid - 19.12.2014 10:00
Вот таблица, которую я составлял когда-то для себя по разным источникам.
http://gid.pdp-11.ru/f/portaddr.rar
Там довольно много свободного места конкретно применительно к БК, занимать можно всё, что отмечено серым курсивом и синим цветом. Но может прийти ММ и сказать, что ещё чего-нибудь занимать нельзя, т.к. оно используется в ДВК или считается зарезервированным в RT-11.
-
? Ал-р - 19.12.2014 11:53
Слишком запутаное совмещение из всего разного - ненаглядно применительно к БК
177760 - регистр управления(адрес-доступ) в микросхеме КР537РУ11
-
? Voland@ - 19.12.2014 13:12
>> Вот таблица, которую я составлял когда-то для себя по разным источникам.
gid, большое спасибо за документ! Можете его в качестве вложения выложить в своей ветке форума? Хорошее справочное приложение для творческих порывов среди БКшников..
-
? gid - 19.12.2014 13:21
Как нибудь выложу, в течение следующих пары недель.
-
? Аноним - 19.12.2014 16:25
Нет регистров ни КЖД, ни SoundDrive.
-
? gid - 19.12.2014 21:06
>>? Ал-р - сегодня 11:53
А сделать простое понятное, но всеобъемлющее описание всё равно не получится. Всегда что-то с чем-то будет конфликтовать и придётся либо как-то указывать все возможные устройства, занимающие заданный регистр в разных реализациях, либо что-то не указывать. Тогда обязательно найдётся умник, который ткнёт туда и скажет, что про что-либо забыли.
¤
>>? Аноним - сегодня 16:25
Ну и что вам мешает добавить в таблицу ещё известных регистров устройств? Берите и добавьте. Принесёте пользу сообществу.
¤
И вообще, вначале я делал таблицу регистров конкретно для 1801ВМ3, потом для PDP-11/70, а потом решил расписать, чем DEC заполнило остальное пространство. И только потом туда добавилось БК. Именно стандартная БК11(М), безо всякой экзотики типа SoundDrive, которого всё равно нету ни у кого, а у кого есть - тот им всё равно не пользуется.
¤
Я обновил архив, добавил в таблицу адреса контроллеров АльтПро и Самара, про которые совсем забыл, так же добавил регистры мультикарты от блока ВМ3А.
Подозреваю, что Бустер и БК12 будут несовместимы с блоком ВМ3А+Мультикарта. Поэтому диапазоны отмеченные красным тоже можно использовать по своему усмотрению.
-
? anonymous - 20.12.2014 09:12
Если редкие/невостребованные общественностью устройства добавлять, тогда уж добавьте SCSI (БК/ДВК) 017777530..017777537, второй канал SCSI (только в БКшке) 0177730..0177737, USB-контроллер в диапазоне 0176500..0176577 с шагом 010 адрес задаётся (полностью прикидывается DL11 с соответствующими векторами, но является параллельным fifo-ванным буфером между мк и бк), IDE без инверсии содержимого диска и работающий с прерываниями 017777134..017777157 (да, тот, что для ДВК продается, изначально на БК появился и был отлажен).
-
? Voland@ - 24.12.2014 11:15
http://molotok.ru/perehodnik-adapter-microsd-v-cf-compact-flash-i4864422079.html
Хороший переходничок, но не дешевый..
-
? Дмитрий - 24.12.2014 12:28
>> Хороший переходничок, но не дешевый
http://ru.aliexpress.com/item/Dual-Slot-TF-or-microSD-micro-SD-to-type-I-Compact-Flash-Card-CF-Reader-Adapter/1121126514.html тоже, но дешевле. Продавец жлоб и хочет бабла. На 1 SD стоит чуть больше 10 баксов.
-
? Аноним - 24.12.2014 17:23
http://www.aliexpress.com/item/Dual-MicroSD-TF-to-CF-Convertor-Adapter-Micro-SD-SDXC-Extreme-Standard-Compact-Flash-CF-Type/32224828238.html
Dual MicroSD TF to CF Convertor Adapter Micro SD SDXC Extreme Standard Compact Flash CF Type Memory Card Extreme UDMA Up 128G - 532 руб 10 коп.
-
? Voland@ - 18.01.2015 17:04
Никак не можем с разработчиком определиться по поводу PS/2 мыши и клавы в Бустере.
1. Они выводят данные в новые регистры, с эти вопросов нет.
2. Они дублируют Марсианку и БК-клавиатуру в регистры-копии стандартных БК-регистров. Соответственно оригинальные регистры надо отключать. Отключать можно только перерезанием дорожек на плате БК. Но это не решает всей проблемы, поскольку допустим с регистром клавиатуры такое прокатит, а вот регистр мыши - он же еще и регистр AY-ка, принтера, и других устройств. Как тут быть?? Или исходить из допущения, что Марсианка - устройство востребованное разве что само по себе и режим, когда регистр работает только на марсианку - объявить вариантом нормы...?
3. Допустим кто-то не хочет резать дорожки на плате БК и вообще не хочет дублировать Марсианку и клаву БК через PS/2. Тогда ему нужно, чтобы после вставки Бустера вопрос конфликта регистров не вставал:
а) Делать отдельную прошивку ПЛИС? Не универсально..
б) На одну из кнопок Бустера повесить включение дублирования регистров? Но тогда нажатие на эту кнопку без перерезанных дорожек старых регистров может привести к их выходу из строя..
в) Включать дублирование регистров записью 1 в какой-то новый управляющий регистр? Неудобно и геморно для разработчика.
г) Анализировать при старте в Бустере свободную ногу МПИ, и если туда подано лог 1, то дублировать регистры, иначе - нет. Лог 1 туда соответственно подпаивает пользователь, из своих пожеланий.
д) Еще может какие-то варианты?
-
? MM@ - 18.01.2015 17:56
Вопрос о одновременной работе клавы и внешней клавы - эмулятора есть очень хороший вопрос.
В разрез дорожки к выв. 30 ВП1-014 включить резистор примерно 2.2 ком, а саму ножку 30 ВП1-014 вывести на какой-нибуть свободный выв. МПИ СНП58-64.
При включении внешних регистров 177660-177662 на упомянутую ножку СНП58-64 надо подать +3.6 в ... 5.0 в. - этим будет установлен запрет выборки регистров ВП1-014.
Более того, имеется необходимость вывода сигнала "Нажатие клавиши" - выв.09 КР531АП2 - на какую-нибуть ножку СНП58-64 . Этот сигнал предполагается использовать для арбитража используемых регистров 177660-177662 ВП1-014 или внешнего контроллера клавы.
Еще маленький совет - если предполагается одновременная выборка регисторв БКшки и внешнего контроллера по одинаковым адресам - необходимо во внешний контроллер ставить 530АП2 для организации классического "Монтажное ИЛИ" - как во всех приличных системах МПИ.
Маленькое замечание - ВП1-014 будет выставлять свое VIRQ и IAKI при нажатии на её клаву - следует предусмотреть аппаратно-програмное решение этого вопроса, т.к. иначе будет заблокирована работа ВМ1 - т.к. пока не снимется VIRQ, ВМ1 будет лезть по адресам 177660-177662, где в этот момент будут регистры внешнего контроллера - и требование вектора не будет снято - т.е. фактически висяк. В общем - рекомендую опытным путем все промакетировать, т.к. я плохо помню этот момент из своей поделки 1993 г- внешней клавы ПС/2 для БК.
*
Другой вариант - вообще отказаться от использования процессора БКшки 1801ВМ1 и все вопросы решать во внешнем контроллере - или даже поставить ВМ1 именно в контроллере - тогда, предположительно, удасться отказаться от правки платы БК вообще ( ВМ1 БК будет всегда в ДМА ). ( А выводить RPLY с 39 ноги ВМ1 БК все-таки придется... )
-
? TheGWBV@ - 18.01.2015 18:00
д) Лучше всего их не дублировать, а завести новые. Пропатчить софт под бустер интереснее. Для Бустера лучше придерживаться политики невмешательства в схемы БК...
-
? Дмитрий - 18.01.2015 18:54
Внешняя клава должна выдавать в 177662 код клавиши, а в своем родном новом регистре - все остальное (Alt, Shift, Ctrl, Win, Menu). То есть старый софт будет работать как и работал, а новый будет учитывать доп. клавиши. С мышью точно также.
-
? Дмитрий - 18.01.2015 19:12
Кстати, насчет мыши. Мышь толком нигде не поддерживалась. Может для нее вообще сделать отдельны(й,е) регистр(ы), а эмуляцию в биты 177714 отменить?
-
? gid - 18.01.2015 19:48
>>? Voland @ - сегодня 17:04
А как вообще планировали дублировать вывод PS/2 мыши в порт 177714? Вообще, конструкция и идея организации УП порта ориентирована на монопольное владение портом в один момент времени одним единственным устройством. Ну или двумя, если одно предполагает только вывод, а другое - только ввод.
Если очень необходимо дублирование, то мне видится только аппаратный вариант - разветвитель, куда втыкается мышь, и откуда выходят мышиный PS/2, и разъём СНП58-64Р куда от разветвителя выводятся сигналы, эмулирующие мышь марсианку.
Поэтому, как уже сказали, мышку лучше не дублировать, пусть PS/2 мышь будет отдельным самостоятельным устройством, со своим портом, просто в нём надо повторить сигналы, которые выдаёт Марсианка на тех же битах, чтобы проще патчить софт было.
¤
И ещё вопрос такой. Мышь марсианка выдаёт только направление движения и флаги нажатия кнопок, в принципе как джойстик. А PS/2 мышь, если не ошибаюсь, выдаёт расстояние пробега, с помощью которого можно определить не только направление, но и скорость движения. Этот функционал предполагается реализовать?
-
? Аноним - 18.01.2015 20:55
Существует несколько вариантов указания координат потенциальный указываются направление перемещения в определенный момент времени векторный указываются разница изменений координат по осям за определенный промежуток времени и координатный указвыются точные координаты на определенный момент времени какой использует ваше устройство и какой использовать в вашей БК будите задайтесь этими вопросами ;-)
-
? TheGWBV@ - 18.01.2015 21:42
Относительно мыши для полной универсальности можно сделать 2 регистра с новыми адресами:
1) В котором указывается направление движения (джойстик) -- по аналогии с 177714, с потенциальным шлейфом "от него" в порт УП БК.
Это позволит малой кровью пропатчить БКашный софт, использующий мышь Марсианку (либо, с помощью шлейфа в УП пользоваться софтом без коррекции кода).
2) В котором будет отображаться/обновляться разница координат с частотой 2*48,5 Гц -- в одном байте dX, во втором dY.
.
Относительно клавиатуры:
1) Нужно сделать регистры с новыми адресами (по аналогии с 177660-177662), пусть и без аппаратного прерывания (но и без копания/резания внутренностей БК).
Большое количество софта просто проверяет нажата клавиша или нет, и забирает код нажатой клавиши для дальнейшего анализа.
.
Без этого Бустер не Бустер :)
-
? Дмитрий - 19.01.2015 00:07
>> пропатчить БКашный софт, использующий мышь Марсианку
Можете навскидку назвать такой софт? Я, кроме демо-программы из комплекта мыши, не припомню. Даже в WINDEMO использовались (емнип) клавиши курсора для движения указателя мыши.
-
? MM@ - 19.01.2015 00:16
Редактор Paint для БК0010 - только мышь.
-
? Дмитрий - 19.01.2015 00:44
>> Редактор Paint для БК0010 - только мышь.
И все?
-
? TheGWBV@ - 19.01.2015 01:08
Игра Mahjong, CSI-DOS... Графический редактор под мышь -- это уже ОЧЕНЬ хорошо для БК-ашки!
-
? MM@ - 19.01.2015 01:14
Ну, может быть, в ОС БК V4 RT-11 - которую Антон Свилюк делал, со встроенной Нортон-оболочкой вроде как мыша действует ...
-
? Аноним - 19.01.2015 02:41
<ММ-ме ...> в теме которая написяна наверху "Интегральный периферийно-мультимедийный модуль Booster-11 для БК001x - и на скока-скока ента хрень увеличит бысродействие БК? - представьте идиотизм с дебил-извращением - к ВМ1 подключить ВМ3 !!!-??? - некоторым тут из оставшихся в живых нужно лечиться ...
-
? maxstudios - 19.01.2015 03:14
Моё скромное мнение:
Не нужно мудрить со всякими обрезаниями дорожек.
Нужно оставить все как есть, а для новых клавиатуры и мыши выделить новые регистры.
С новой клавиатурой будут работать только новые программы, и адаптированные под новую клаву старые программы.
Для мышки программ было очень мало, поэтому адаптация старых программ будет несложной - найти и заменить эти адреса регистров несложно в старых программах.
То есть, новые клава и мышь - просто новые дополнительные устройства.
Лично мне на БК с Бустером вообще не нужна вторая клавиатура - слишком громоздко это даже на внешний вид.
И такой подход очень удобен для будущего БК-12, так как нужно будет просто учесть два варианта используемых клавиатур, а мышь - одна.
:-)
-
? maxstudios - 19.01.2015 03:17
Предыдущее моё сообщение - для Voland-а.
-
? Ал-р - 19.01.2015 04:41
... максик - Вы какой-то нескромный с новыми регистрами - для всякой х-ни всегда был 16х-порт - хватало на Усё - у меня была корзина на порту и там было всё что мне хотелось: 512ВИ1 - ну был, Цапы,АЦП были 8х с управлением по старшему байту, ....
-
? TheGWBV@ - 19.01.2015 10:27
По большому счёту, при наличии СМК на порту МПИ, достаточно было бы добавить к БКашке УПстер :)
с (буферизированным) Ковокс, эмуляторами двунаправленного LPT и COM портов, AY-шкой и эмуляторами клавы/мыши ps/2...
-
? maxstudios@ - 19.01.2015 11:03
Ал-р, повторюсь, что писал ответ для Voland-а.
Ответ мой был основан на этом:
" ? Voland @ - 18 января 17:04
Никак не можем с разработчиком определиться по поводу PS/2 мыши и клавы в Бустере.
1. Они выводят данные в новые регистры, с эти вопросов нет. "
...
То есть, новые регистры в любом случае будут, а вешать все на несчастный 177714 - это устаревший пагубный подход, когда выбирать было не из чего и вешали на него практически всё.
И еще раз моё скромное мнение, не лишенное логики:
Каждое новое устройство имеет право на свой регистр (регистры).
:)
¤
¤
-
? Voland@ - 19.01.2015 12:35
>> А PS/2 мышь выдаёт расстояние пробега, с помощью которого можно определить и направление, и скорость движения.
Мышь PS/2 выдает направление и количество импульсов по осям X и Y с момента последней передачи данных, так что если нужна скорость, то её надо программой вычислять.
¤
Таким образом, исходя из большинства мнений, я делаю вывод, что заводим только два новых регистра, куда складываем данные от PS/2 мыши и клавы в формате БК, чтобы любой бинарник после легкого патча без проблема работал с PS/2-клавой и PS/2-мышью в режиме Марсианки. Кто-то сможет пропатчить какую-нибудь программку, работающую с мышью и клавиатурой, чтобы проверить новые регистры мыши и клавы?
¤
>> То есть, новые регистры в любом случае будут
Поговорил с разработчиком сейчас и оказалось что не факт. Там есть определенные сложности, так что может новых регистров с нативными данными PS/2 и не будет, а будут только новые, куда данные в БК-формате будут складываться. И тогда PS/2 клавиатуру целиком обрабатывать не получится, только 74 кнопки БК в режиме совместимости кнопка=кнопка. Вот что сказал разработчик по поводу нативных данных PS/2:
скан код из нескольких символов состоит, они там внутри есть конечно, но это надо выводить в обход управляющего автомата, который там отображает цепочки скан-кодов на коды БК, там же скан код как только появится, отображающим автоматом сразу считывается из внутреннего регистра и утилизируется. так что одновременно не получится, разве только если дополнительный буфер ставить на скан-коды.
-
? Дмитрий - 19.01.2015 13:20
>> только 74 кнопки БК в режиме совместимости кнопка=кнопка.
То бишь никаких альт, контрол, шифт, win не будет?
-
? maxstudios@ - 19.01.2015 13:29
Voland, получается что новые PS/2 клава и мышь будут сидеть на двух новых портах, не будут пересекаться аппаратно со старой клавой, и переделывать нужно будет только игры-программы под новые устройства?
-
? Voland@ - 19.01.2015 14:24
>> То бишь никаких альт, контрол, шифт, win не будет?
Похоже, не будет. На Бустере, а на БК12 будет.
¤
>> получается ... переделывать нужно будет только игры-программы под новые устройства?
Да, видимо будет так.
-
? TheGWBV@ - 19.01.2015 14:28
Дмитрий, Voland,
Относительно клавиатуры:
1) Нужно сделать регистры с новыми адресами (по аналогии с 177660-177662), пусть и без аппаратного прерывания (но и без копания/резания внутренностей БК),
в который будет отображаться код нажатой клавиши и бит вектора прерывания (для лучшей совместимости со старым ПО для БКашки).
Большое количество софта просто проверяет нажата клавиша или нет, и забирает код нажатой клавиши для дальнейшего анализа.
2) Регистры, в которых будут отражаться коды "альт, контрол, шифт, win"...
-
? maxstudios@ - 19.01.2015 14:51
Voland, еще вопрос:
PS/2 клава будет просто записывать в регистр код (коды) нажатой клавиши?
Но тогда и неиспользуемые в БК клавиши тоже будут писать свой код (коды) в регистр новой клавы?
Если так, то использование всех клавиш PS/2 клавы будет доступно программно?
-
? Дмитрий - 19.01.2015 15:39
>> бит вектора прерывания (для лучшей совместимости со старым ПО для БКашки)
Для лучшей совместимости как раз надо оставить прерывания по 60 и 274 векторам. Иначе с АР2 вообще ничего срабатывать не будет - софт понятия не имеет про ваши биты в регистрах. Игрушки 5-кнопочны - курсор+пробел - им на эти прерывания класть, а вот софту далеко не пофигу. Но! Параллельно этому нужно иметь и регистр для полного использования PS/2 клавы - биты управляющих клавиш и коды остальных, включая мультимедийные клавиши. Хотя коды для Альтов всяких тоже не помешают кроме битов нажатия.
¤
Это я к тому, что к БК11(М) с родной рабочей клавой, имхо, незачем цеплять еще и PS/2. А вот тем, у кого клава сдохла, но попользоваться 11-ой оч. хотца, смогут юзать PS/2 клаву точно также как и родную от БК - то бишь прерывания, биты, коды, автоповторы, АР2 регистр (через Контрол или Альт) и т.п. И желательно без каких-либо переделок в софте/БК. Про БК12 я не говорю - там будет полный фарш.
-
? TheGWBV@ - 19.01.2015 16:12
Боюсь, что прерывания без внедрения в схему БК невозможно?
Но в Софте с АР2 есть место для кода, куда можно внедрить новый "драйвер" для клавиатуры, и даже мыши...
-
? TheGWBV@ - 19.01.2015 16:18
Бит вектора прерывания нужен для минимизации размера внедряемого кода драйвера клавы...
-
? maxstudios@ - 19.01.2015 16:20
Дмитрий, а мне кажется, что нужна и PS/2 клава на Бустере.
Раз на БК-12 будет возможность эмулировать обе клавиатуры, значит и на БК-11М+Бустер тоже должна быть такая возможность - пользовать ОБЕ клавиатуры.
Ведь если будет когда-нибудь создаваться софт под БК-12 и его клаву, он будет неработоспособен на БК-11М.
Кстати, пришла мысль - при запуске новосозданных программ или игр делать запрос, какая клавиатура будет использоваться. В этом месте будет опрашиваться обе клавиатуры для ответа.
¤
¤
-
? TheGWBV@ - 19.01.2015 16:25
Можно к примеру пропатчить обработчик клавиатуры Андос :)
-
? Дмитрий - 19.01.2015 17:46
>> Дмитрий, а мне кажется, что нужна и PS/2 клава на Бустере.
А у 11(М) она только там и предполагается, емнип.
¤
>> пользовать ОБЕ клавиатуры
Можно, но зачем?
¤
>> он будет неработоспособен на БК-11М.
А он и так будет неработоспособен - 11(М) не понимает ни префиксов, которые будут для использования 32-битных регистров и адресации всех 32Мбайт линейной памяти, ни толком замапить видео-ОЗУ бустера в короткую память 11-ой. Под 11-ю писать что-то бессмысленно, максимум - доработать имеющиеся андос/мкдос/csidos до ума (директории, увеличить размер раздела). Имхо бустер для 11(М) - дорогой ЭД со страничным обменом и ps/2 клавой (смк в расчет не берем - он по-любому будет востребован).
¤
А переслать в бустер 1,5Мбайта данных для вывода картинки, скажем, 1024х768х16 бит, запихивая ее порциями по 32кб - это как будет по скорости? Даже ДМА не способен быстро ее перекинуть в видео-ОЗУ - у БК просто нет места, чтобы сохранить ее всю в памяти. А представьте себе динамичную игру с кучкой спрайтов, динамическим фоном - БК будет занят только одним - постоянной пересылкой туда-сюда громадных объемов данных порциями по 32кб. Прошу правильно понять мои слова - пока это мои ожидания, основанные на скудных данных, полученных от ув. Воланда по поводу бустера. Пока нет ТТХ с доками по программированию - окончательные выводы делать сложно.
-
? Дмитрий - 19.01.2015 17:49
>> постоянной пересылкой туда-сюда громадных объемов данных порциями по 32кб
Забыл дописать - с черепашьей скоростью.
-
? Дмитрий - 19.01.2015 17:52
Ув. ММ верно сказал - в бустер нужно запихнуть проц, чтобы БК использовался просто как корзина, а весь комп будет в бустере.
-
? anonymous - 19.01.2015 17:57
Так NIOS в бустере тоже обещан, он с устройствами бустера и будет основным компом в связке, БКшка же будет консолью, терминалом к нему.
И продолжая мысль Ал-р, это уже совсем какая-то не БК, а машина совсем иной архитектуры выходит.
-
? anonymous - 19.01.2015 18:00
P.S. В каком-то номере ПКБК была статья, где автор, рассуждая об аппаратных доработках, упомянул идею засунуть в корпус клавиатуры БК моторолу... :)
-
? maxstudios@ - 19.01.2015 18:18
Дмитрий, я убежден, что нужно писать программы и игры прежде всего для БК-11(М)+Бустер. Одно дело - купить приставку для своего БК, совсем другое - купить абсолютно новый компьютер, ни с чем не совместимый.
Позже можно писать и только для БК-12, но круг пользователей таких программ сразу сузится - не все смогут себе позволить раскошелиться на новый комп.
Ближайшее будущее - за Бустером, но это сугубо моё личное мнение.
Кстати, Voland обещал в Бустере графический сопроцессор и работу со спрайтами. В этом случае, процессору БК отводится роль стрелочника - все будет делаться аппаратно.
Хотя не знаю, может что-то изменилось в аппаратной части уже. :)
-
? Дмитрий - 19.01.2015 18:18
>> Так NIOS в бустере тоже обещан
Хм, не припомню. Для 12-ой говорили адаптировать что-то подобное, даже какие-то скрины приводили. Хотя могу ошибаться.
¤
>> БКшка же будет консолью, терминалом к нему
Без разницы. Кто будет грузить данные для вывода на экран? НИОС? Тогда причем тут БК? Это, как уже сказано, другой комп с другой архитектурой, но ни коим образом не БК.
-
? Ал-р - 19.01.2015 18:48
Ну васш обещанный хуйс наверное будет грузить ...
-
? Ал-р - 19.01.2015 18:58
Ответ maxstudios без мата - у БК регистры назодятся в общем поле памяти и для каждого "левого" регистра нужна ПОЛНАЯ дешифрация его адреса - и КАЖДЫЙ регистр это две микросхемы минимум ...
-
? TheGWBV@ - 19.01.2015 19:21
Насчёт использования Nios-a БКашкой -- может самым простым тестом и очевидной пользой будет эмуляция в нем терминала VT100, для нужд БКашного RT-11/Unixa?
-
? Аноним - 19.01.2015 19:43
Если кто-то думает иначе БК с рождения была терминалом с расширенными возможностями ввода-вывода данных :-)
Приделывать к БК терминалу вторую клавиатуру не поддерживаемую стандартным вшитым программным обеспечением сомнительное удовольствие как и вскрытие корпуса БК и перерезание дорожек ;-)
Теоретически разумно обосновано что бустер это перефирийный мультемидийный модуль для БК то есть БК это терминал к вычислительным мощностям перефирийного модуля соблюдая эту архитектуру PS/2 мышь и клавиатура могут являться исключительно устройствами БК терминала подключаемыми посредством УП или МПИ на которой уже подключается бустер если PS/2 мышь и клавиатуру подключать к не к МПИ а к бустеру то БК терминал можно смело отключить как лишний потребитель энергии :-)
Теоретически разумно добавить без вскрытия БК через корзину или разветвитель на МПИ два регистра к которым полкдючить устройства сопряжения с PS/2 мышью и клавиатурой которые будут поддерживаться подгружаемым посредством бустера драйвером обеспечивающим взаимодействие PS/2 мыши и клавиатуры с вшотым программным обеспечением БК терминала ;-)
-
? Дмитрий - 19.01.2015 19:59
>> Ну васш обещанный хуйс наверное будет грузить
А без мата уже мозгов не хватает отвечать? Еще один Smeagol?
¤
>> Voland обещал в Бустере графический сопроцессор и работу со спрайтами
Насчет спрайтов - не помню, про граф. проц было. Только мне так и осталось непонятно, зачем использовать именно 16-битный цвет? Палитры в 256 цветов БК хватит за глаза, а объем данных сразу сокращается в два раза.
¤
>> все будет делаться аппаратно
Для этого надо дать все необходимое бустеру, а черепашья скорость БК позволит вам сходить кофе выпить прежде, чем что-то появится на экране.
-
? TheGWBV@ - 19.01.2015 21:46
В этом тоже есть свой кайф :) Раньше слушали "трели" магнитофона при загрузке ПО в память БК, а теперь будем грузить из СМК-512 через БКашку в GPU Бустера спрайты и картинки под музыку AYашки :)
-
? Дмитрий - 19.01.2015 22:00
>> В этом тоже есть свой кайф
Согласен. Вывели картинку и музон врубили, а в фоне грузим данные. Но! Работа с винтом в БК подразумевает запрет прерываний, так что АУшка будет издавать (если вообще будет) несколько странные звуки. Я не пробовал в свое время делать все это одновременно, поэтому не знаю как это будет выглядеть.
-
? TheGWBV@ - 19.01.2015 22:06
Вот это как раз самое интересное -- в RAM bios SMK для этого даже есть куда прописать вход в свой драйвер работы с HDD...
-
? Дмитрий - 19.01.2015 22:20
>> в RAM bios SMK для этого даже есть куда прописать вход в свой драйвер работы с HDD
А зачем? Надо попробовать отключить запрет прерываний и параллельно с работой с винтом пустить музон с прерыванием по 100 вектору. Вот, кстати, интересно - будет ли разница в работе эмулятора против живой БК?
-
? TheGWBV@ - 19.01.2015 22:49
100 прерывание это само-собой, понадобится. Через свойский драйвер можно и анимацию+звук сделать. Даже без бустера. Всего-то три синхронных процесса и не требующих плавучем. Задел по декодеру анимации уже есть :)
-
? TheGWBV@ - 19.01.2015 23:09
Ещё бы АЦП звуковой волны на порт УП подключить и можно второй проход кодера бк-видео осуществить...
-
? Ал-р - 19.01.2015 23:11
...
-
? Voland@ - 20.01.2015 15:59
>> Кстати, Voland обещал в Бустере графический сопроцессор и работу со спрайтами
В этой части ничего не поменялось
¤
>> Так NIOS в бустере тоже обещан, он с устройствами бустера и будет основным компом в связке
Не совсем так. NIOS скорее всего будет альтернативной прошивкой ПЛИС, используемой для тестирования аппраратных узлов Бустера. Кому захочется - сможет конечно и программировать под этот NIOS. Но базовая прошивка ПЛИС будет подразумевать только аппаратные узлы, управляемые ВМ1. В том числе там будет GPU, которые будет получать команды от ВМ1, и управлять доп. 32МБ ОЗУ в том числе.
¤
>> ? TheGWBV @ - 19 января 16:12
>> Боюсь, что прерывания без внедрения в схему БК невозможно?
Вот в этом и проблема, мышь и клава в бустере будут без аппаратных прерываний, поскольку их надо тянуть физическими проводами и резать дороги на плате БК.
Получится только активный опрос регистров процессором, что не гуд. И нужна ли нам такая клава и мышь..
-
? Voland@ - 20.01.2015 16:10
Тут кстати у разработчика возник любопытный вопрос с мышей. По теории у нее там 4 сигнала для перемещения координат, по 2 на каждую координату, вверх и вниз. Устанавливаются сигналы при движении в соответствующую сторону, а как их сбрасывают после чтения ?
На принципиальной схеме мыши есть вход "сброс”, который триггеры схемы сбрасывает. А куда он там физически заводится?
-
? MM@ - 20.01.2015 16:40
Посмотрите Э3 блока для мыши и принтера от БК11М - но есть и простая альтернатива, и они не совместимы по подключению, т.е. Paint не работает с блоком для мыши и принтера.
Обращаю внимание, что регистры 555ИР23 ( на порте 177714 УП ) имеют довольно мощный выход - до 20 ма в состоянии +3.6 в, так что внешний контроллер на МПИ должен как-то с этим бороться или иметь мышь по другим адресам.
-
? Аноним - 20.01.2015 19:36
http://www.3dnews.ru/908317
ttp://www.3dnews.ru/assets/external/illustrations/2015/01/20/908317/Mouse2.jpg
Mouse-Box: мини-компьютер, встроенный в мышь
-
? anonymous - 20.01.2015 20:41
NIOS будет в альтернативной прошивке или "возможно будет"?
GPU и NIOS будут в одной прошивке сосуществовать? Что за GPU будет встроен, можно ссылку на описание модели, которая взята за основу?
И вопрос о 「будут без аппаратных прерываний, поскольку их надо тянуть физическими проводами и резать дороги на плате БК.」 - это что за извращение? В БК даже самой старой модели, без .01, выведены запрос на векторное прерывание, подтверждение прерывания с процессора и выход подтверждения прерывания с ВП1-014... Какие провода и какие порезы дорожек? Другой вектор просто пусть выдаёт контроллер, а софт пропатчить - не проблема.
-
? Voland@ - 21.01.2015 11:03
Никто про Мышь ничего не может сказать? Где-то же должна быть схема подключения мыши (без блока КМ) и соответственно куда там заводится сигнал сброса внутренних триггеров мыши?
¤
>> Что за GPU будет встроен
Графический контроллер там примерно то же делает, что аналог в Amiga и Atari ST - разные команды BitBlt, пересылка графических областей с комбинированием данных. Но тут еще и есть аппаратный alpha blending, так что можно смешивать с эффектом полупрозрачности, если нужно, при той же скорости.
Подытоживая: сделано примерно как в Atari ST + еще alpha blending. Вот тут описан блиттер http://dev-docs.atariforge.org/files/BLiTTER_6-17-1987.pdf , но в нашем GPU форматы команд другие, хотя принципы сходные.
¤
>> NIOS будет в альтернативной прошивке или "возможно будет"?
Это еще не утверждено однозначно. Кроме того, пока не ясно, как в него программы грузить, во внутреннюю память FPGA много не запихнуть, разве что начальный загрузчик откуда-то. В принципе NIOS нафиг не нужен был бы ни в какой прошивке, если бы кто-то вызвался Бустер во всех отношениях оттестировать ассемблером БК, получив за это в награду сам Бустер.
-
? Voland@ - 21.01.2015 12:37
Кстати, никто не знает, где приобрести шестигранную стойку мама-папа с длиной шестигранной части 12мм, диаметр внутренней и внешней резьбы М2.0 ?
Нашел единственное предложение 140шт по 10р в неоконнект, но на мой взгляд это невменяемая цена, должно быть не больше 2-3руб оптом.
Не обязательно шестигранную, можно и круглую стойку...
-
? TheGWBV@ - 21.01.2015 14:49
>> если бы кто-то вызвался Бустер во всех отношениях оттестировать ассемблером БК, получив за это в награду сам Бустер.
Я так понимаю, что для тестирования части устройств Бустера (FDD/HDD + 512К RAM) софт уже есть?
И нужно написать тесты для UEXT, GPU, AY и ps/2. Интересная задачка :)
-
? Дмитрий - 21.01.2015 14:50
>> где приобрести шестигранную стойку мама-папа
www.aliexpress.com / www.dx.com
¤
>> по 10р
За 1 шт? Они упоролись? Хотя в Китае может выйти ~5-6 руб за стойку при нынешнем курсе.
¤
>> ? maxstudios @ - 19 января 18:18
>> Дмитрий, я убежден, что нужно писать программы и игры прежде всего для БК-11(М)+Бустер. Одно дело - купить приставку для своего БК, совсем другое - купить абсолютно новый компьютер, ни с чем не совместимый.
В БК12 будет программно переключаемый режим 11М/12. Так что совместимость будет. Вот новый софт с 12-ой на 11-ой будет несовместим. Так же, кстати, как и вся продукция Самарских ребят - там все для 11М. Имхо, портируемый Принц Персии на 11М+Бустер, так и останется единственным новым софтом. Ув. Воланд за бабки(!!) едва нашел желающих.
¤
2 Воланд: Как там продвигаются дела с Принцем? А то что-то давно не слышно новостей с того фронта.
-
? Voland@ - 21.01.2015 16:39
>> www.aliexpress.com / www.dx.com
Пытался на первом сайте искать, то ли это нереально, то ли их там тупо нет таких. М3.0 находил, а М2.0 ни в какую.
¤
>> Как там продвигаются дела с Принцем?
Так никак. Сбор милостыни на Принца, как кто-то тут обозвал краудфандинг, не удался, а чтобы делать за свои деньги - пока Бустер не готов. Как будет готов, вышлю первопроходцам, приступят, если ещё не передумали.
-
? TheGWBV@ - 21.01.2015 18:37
Кстати, обнаружилась ещё одна игрушка под "мышь" -- Checkers (Шашки) на БК 0010-01
http://www.youtube.com/watch?feature=player_embedded&x-yt-ts=1421782837&x-yt-cl=84359240&v=rW_nsa74uok
-
? TheGWBV@ - 21.01.2015 18:38
Можно её и сделать тестовой для мыши в Бустере :)
-
? Voland@ - 21.01.2015 20:39
>> Какие провода и какие порезы дорожек? Другой вектор просто пусть выдаёт контроллер, а софт пропатчить - не проблема.
Но это потребует и патча монитора БК11М.
-
? Дмитрий - 21.01.2015 21:21
>> Кстати, обнаружилась ещё одна игрушка под "мышь" -- Checkers (Шашки) на БК 0010-01
Точно! Вот где мышь была! Как же я забыл о ней? Эх, столько лет прошло...
-
? maxstudios@ - 23.01.2015 01:11
Voland, еще вопрос - Бустер делается универсальным, для БК-10, БК-10.01, БК-11, БК-11М ? Или только для БК-11М?
Если для всех вышеперечисленных все-таки, то как в этом случае решается разница между БК-11 и БК-11М в отношении переключения экранных страниц?
.
Еще я предполагал, что при подключении Бустера ПЗУ Монитора БК отключается и запускается свой Бустеровский Монитор. Или я ошибаюсь?
.
Еще насчет прерываний я помню что на УП выведено одно прерывание от внешнего устройства, и на МПИ тоже было выведено какое-то прерывание (может и не одно). Надо конечно уточнить у ув.ММ. В этом случае его можно использовать.
Если не будет возможности использовать прерывание на МПИ, может тогда убрать мышь и клаву из Бустера и навесить их на УП - ув.ММ вроде бы уже этим занимается?
-
? Voland@ - 23.01.2015 10:27
>> Бустер делается универсальным, для БК-10, БК-10.01, БК-11, БК-11М ? Или только для БК-11М?
Тестирование Бустера (как и СМК512) проводится с БК-10.01 и БК-11М, а для БК11 не вижу смысла что-то делать, ибо она выбивается из общего стандарта. БК10, подозреваю, не имеет настолько сильных отличий от БК-10.01, чтобы на ней не заработало, если работает на БК-10.01.
¤
>> Еще я предполагал, что при подключении Бустера ПЗУ Монитора БК отключается и запускается свой Бустеровский Монитор.
Нет, такое не предусматривалось. А зачем?
¤
>> может тогда убрать мышь и клаву из Бустера и навесить их на УП
Это уже в любом случае поздно делать, т.к. 30 плат прибыли из Китая.
¤
>> и на МПИ тоже было выведено какое-то прерывание (может и не одно)
Проблема в том что у этих прерываний другие вектора, а в БК адреса векторов не программируются, а гвоздями прибиты изначально.
¤
¤
-
? Дмитрий - 23.01.2015 12:47
>> не имеет настолько сильных отличий от БК-10.01
Емнип, на 10-ке нужна доработка, чтобы заработал таймер по вектору 100, иначе использование AY параллельно работе невозможно. Где-то на форуме это обсуждали давно, на каких-то 10-ках 100-й вектор работает нормально, на некоторых нет.
¤
2 Воланд: Так мб все же графику переделать на 256-цветную вместо 16-битной? Это в 2 раза сократит объемы (и время) загружаемых в бустер данных.
-
? Voland@ - 23.01.2015 14:24
>> Так мб все же графику переделать на 256-цветную вместо 16-битной?
При использовании форматов типа gif малоцветная графика итак не будет занимать много места, поскольку 256 нативных 16-битных кодов цветов можно закодировать одним байтом и при распаковке уже использовать 2 байта реального кода. Не вижу тут проблемы.
-
? maxstudios@ - 23.01.2015 14:37
Voland, еще вопрос:
Я помню, что адреса на векторах прерываний можно было менять уже после запуска Монитора? Пример - клавиша СТОП по адресу (вектору) 4, адрес можно ставить было свой.
То есть, на Бустере можно сделать по определенному адресу подпрограммку, которая будет переписывать адрес нужного "прерывания с МПИ" на адрес подпрограммы поддержки новых клавы и мышки, а в самой подпрограмме уже будет определяться, какое устройство вызвало прерывание. Ведь такое возможно?
Если же в Бустере не будет ПЗУ никакого, и все драйвера будут именно загружаться в ОЗУ вместе с ОС, то нужно предусмотреть автозагрузку ОС при включении БК - как в случае с КНГМД на 326 ПЗУ. При такой автозагрузке отпадет нужность старой клавиатуры. А в ОС будет уже переписывание всех нужных векторов на свои адреса подпрограмм. Вот только я не смотрел еще, какой там номер вектора прерывания. Или их там несколько?
Надо будет посмотреть по схеме и документации.
-
? Voland@ - 23.01.2015 18:29
2 maxstudios:
Поскольку Бустер - это глубоко тюнингованный СМК, ну ПЗУ там по любому будет от СМК, и вот с него и Будет стандартным образом загрузка.
Теоретически можно код прошивки СМК подкорректировать, но там насколько помню все впритык, особо не развернуться в плане меcта, да и многие адреса входов в процедуры имеют критичное значение, их безболезнено поменять удастся не все. В принципе, если там подрихтовать прошивку СМК, то можно и с SD загрузку делать так же и даже внутреннюю микросхему serial flash как диск использовать. Это не так сложно, но только для знающего тонкости БК человека.
-
? maxstudios@ - 23.01.2015 19:37
Voland, я понял, что в Бустере будет таки автозагрузка ОС. :)
Поэтому проблем с перенаправлением прерываний не должно быть.
Проблема будет только с написанием и тестированием драйверов.
-
? maxstudios@ - 23.01.2015 19:56
Тогда прошивку СМК лучше вообще не трогать, все запихнуть в ОС, в том числе и поддержку (по прерыванию с МПИ) новых клавы с мышой - останется возможность обновлять и совершенствовать драйвера.
-
? TheGWBV@ - 23.01.2015 20:39
у СМК ещё есть возможность разместить драйвер клавиатуры/мыши в RAM BIOSe (т.е. в начальном загрузчике, где и обработчик FIS хранится), а потом уже загружаемая ОС сможет решить какой драйвер использовать -- из RAM BIOS или свой собственный (что вероятнее всего). Причем для БК0010-01 и для БК0011М драйверы клавиатуры RAM BIOS будут разными, т.к. подстраиваться им придется под МОНИТОР или БОС...
-
? Аноним - 23.01.2015 20:51
... в старинном СМК всё это есть - генитально ...
-
? TheGWBV@ - 23.01.2015 21:31
Старинный СМК задумывался, как мне теперь думается, с прицелом написания в дальнейшем Unix-подобной ОС для БК+СМК512...
-
? maxstudios@ - 23.01.2015 21:43
Если драйвера клавиатур для БК-10.01 и БК-11М будут отличаться, то ОС должна будет просто при загрузке определять, на какую модель её грузят. И загружать соответствующий драйвер.
-
? TheGWBV@ - 23.01.2015 22:43
С драйверами в ОС то всё более-менее ясно:
Вариант А. (минимальный сервис) Автоматически загружается модуль драйвера новой клавиатуры и настраивает ОС, векторы прерывания на работу со своим перехватчиком ЕМТ.
Вариант Б. (дополнительный, без использования RAM BIOS СМК Бустера) На БК0011М в МК-ДОС/Андос драйвер может внедриться в МОНИТОР (что обеспечит работу софта для БК0010, использующего для работы с клавиатурой ЕМТ-прерывания.
Вариант В. (используется драйвер для RAM BIOS СМК Бустера) В конце загрузки ОС Автоматически загружается модуль настройки ОС на драйвер новой клавиатуры, находящийся в RAM BIOS и эмулирующий работу стандартной клавиатуры БК (использующей МОНИТОР или БОС)...
-
? Господин из страны, где много диких обезъян - 24.01.2015 00:35
Разрешите поинтересоваться насчет Бустера - будет ли в нем возможность исполнять код для процессора 1801ВМ1 с многократной скоростью по отношению к обычному БК ?
Можно ли будет использовать Бустер с другими ЭВМ на 1801ВМ1 ?
Где можно ознакомиться с картой адресов и регистрами Бустера ?
Какие ОС пойдут с Бустером ?
Планируются ли какие-либо программы для работы с Бустером - тесты, конфигураторы, среды разработки и т.п. ?
Какая дата назначена для коммерческой доступности Бустера ?
-
? Дмитрий - 24.01.2015 01:10
>> Разрешите поинтересоваться насчет Бустера - будет ли в нем возможность исполнять код для процессора 1801ВМ1 с многократной скоростью по отношению к обычному БК ?
Нет. Это приставка граф. адаптер+контроллер FDD/HDD+еще по мелочи, а не приставка-компьютер. Для этого будет БК12 со встроенным бустером и режимом БК11М.
¤
>> Можно ли будет использовать Бустер с другими ЭВМ на 1801ВМ1 ?
Скорее всего он заточен под БК.
¤
>> Где можно ознакомиться с картой адресов и регистрами Бустера ?
Нигде. :) Сами ждем-не дождемся.
¤
>> Какие ОС пойдут с Бустером ?
Никакие. Устройство новое и поддержек со стороны старых ОС нет.
¤
>> Планируются ли какие-либо программы для работы с Бустером - тесты, конфигураторы, среды разработки и т.п. ?
Вряд ли.
-
? Дмитрий - 24.01.2015 01:17
>> Автоматически загружается модуль драйвера новой клавиатуры и настраивает ОС, векторы прерывания на работу со своим перехватчиком ЕМТ.
Брррр. Драйвер не настраивает ОС и не лезет со своими обработчиками ЕМТ наперекор ОС - он просто "повалит" ОС. Драйвер может переназначить векторы прерывания клавиатуры, если таковые имеются, и ОС спокойно будет обращаться к п/п драйвера даже не подозревая о замене. ОС использует п/п драйвера для работы с клавиатурой. Драйвер же может использовать системные вызовы ОС.
¤
>> На БК0011М в МК-ДОС/Андос драйвер может внедриться в МОНИТОР (что обеспечит работу софта для БК0010, использующего для работы с клавиатурой ЕМТ-прерывания.
Без проблем. Можно даже выкинуть неиспользуемые п/п (типа ТЛГ) и на их месте написать свой драйвер СРАЗУ переписав ячейку 100006 на свою п/п. И ЕМТ 6 будет туда обращаться. Тогда при загрузке АНДОС/МКДОС уже будет готовый монитор с новым обработчиком.
-
? TheGWBV@ - 24.01.2015 04:58
>> Драйвер не настраивает ОС и не лезет со своими обработчиками ЕМТ наперекор ОС - он просто "повалит" ОС.
Ну, у нас же не Линукс и не RT-11 с семафорами и т.п. штучками. Тот же дисковый Бейсик МК-ДОС/Андос очень даже лезет в ОС со своим обработчиком ЕМТ :)
Модулю установки драйвера новой клавиатуры, уж извините, придется пропатчить (настроить) код п/п ОС реализующей функцию ввода символа, которую всем любимые файловые оболочки используют, или в таблице адресов системных п/п (если она есть) модифицировать запись об адресе п/п ввода символа...
¤
>> Можно даже выкинуть неиспользуемые п/п (типа ТЛГ)...
П/п для ТЛГ разумнее всего заменить на п/п для UART, например. Если при этом освободится место под новую п/п ввода символа будет хорошо :)
-
? Voland@ - 24.01.2015 11:09
>> Тогда прошивку СМК лучше вообще не трогать, все запихнуть в ОС
Разработчик сказал, что небольшое ПЗУ для драйверов внутри бустера выделить можно, но непонятно по каким адресам к нему обращаться. Там при старте будет выбираться ПЗУ СМК, а в адресном пространстве дополнительных свободных окон особо не заметно.
¤
>> исполнять код для процессора 1801ВМ1 с многократной скоростью по отношению к обычному БК ?
Нет, туда FPGA-версия ВМ1, реализованная для БК12 просто не влезет.
¤
>> Можно ли будет использовать Бустер с другими ЭВМ на 1801ВМ1 ?
Если только кто-то самостоятельно займется адаптацией. Принципиальные схемы и все исходники будут в общем доступе.
¤
>> Где можно ознакомиться с картой адресов и регистрами Бустера ?
Пока нигде, как будет всё готово, дам ссылку.
¤
>> для работы с Бустером - тесты, конфигураторы, среды разработки и т.п. ?
Тесты будут, но остальное - зависит от энтузиастов. Если получится, то будет еще игрушка под новые графические режимы, но это не раньше чем через год начиная от готовности Бустера.
¤
>> Какая дата назначена для коммерческой доступности Бустера ?
Даты нет, я очень надеюсь, что за полгода мы его добьём.
-
? Дмитрий - 24.01.2015 16:23
>> Тот же дисковый Бейсик МК-ДОС/Андос очень даже лезет в ОС со своим обработчиком ЕМТ :)
Могу ошибаться, но вроде бейсик не использует своего ЕМТ, он использует TRAP, а ЕМТ использует стандартный мониторный. Никаких конфликтов. И это, кстати, правильно. ЕМТ - системное прерывание, а TRAP - пользовательское.
-
? Дмитрий - 24.01.2015 16:48
>> дисковый Бейсик
Главного не заметил. Там только перехват ЕМТ36, остальное - на стандартный. Значит-таки лезет.
-
? Voland@ - 28.04.2015 00:30
Идет активная работа над fpga-прошивкой Бустера.
Есть серьезные проблемы с STA015:
1. В отличие от предшествующей версии STA013 новый чип уже снят с производства и соответственно с поддержки.
2. Новый чип имеет режим BYPASS, который подразумевает сквозное пропускание дискретного звука через чип. С трудом удалось включить данный режим (чип очень сложный, имеет порядка 192 регистров, документированных не полностью!), и тут обнаружилось, что выходная частота получается в 6 раз ниже входной. По этому поводу в мануале сказано следующее: "The output PCM clock will be automatically adjusted by the embedded DSP in order to follow the incoming bitstream rate and to avoid input buffer underrun/overrun. A special configuration file must be used to enable this operational mode: the file must be downloaded via I2C link after device power-on. Please contact your local ST branch to have more information about"
Т.е. фактически говорится, что нужен специальный файл, за которым следует обратиться в локальное представительство ST и его там дадут. Написал письмо в несколько американских представительств, оттуда послали в московское представительство, у которого даже мыла нет. Завтра буду звонить, но что-то мне подсказывает, что это бессмысленно.
Может кто-то слышал чего-то об STA015 или знает того, кто работал с ним? Помнится мне кто-то настоятельно его посоветовал, а теперь приходит понимание, что выбор скорее всего не совсем удачный. Увы, чипы уже закуплены, они не дешевые, и 30 плат изготовлено под данный чип. Придется разобраться..
-
? Аноним - 28.04.2015 03:26
Если чипы пришли от китайских тайваньских или гонконгских братьев то можно запросить нужные данные и материалы у продавца отказывают редко ;-)
-
? Аноним - 28.04.2015 03:40
Паникер лентяй халявщик ;-)
¤
http://www.st.com/web/en/resource/technical/document/datasheet/CD00002047.pdf
¤
6.0 I2C REGISTERS
page 16 of 56
¤
6.1 STA015 REGISTERS DESCRIPTION
page 18-44 of 56
¤
6.5 STA015 CONFIGURATION FILE FORMAT
page 51 of 56
¤
-
? Voland@ - 28.04.2015 10:24
>> можно запросить нужные данные и материалы у продавца
Те продавцы - аналоги наших митинских барыг, в 95% случаев они понятия не имеют, что продают.
¤
>> Паникер лентяй халявщик ;-)
Как говорил нам военный препод - лучше ленивый, но умный офицер, чем инициативный, но глуповатый )
То что Вы указали, мы изучили первым же делом. Выше я как раз процитировал отрывок из даташита, на который Вы ссылаетесь, стр.9, небольшой абзац перед диаграмой "Figure 6".
¤
Повторюсь, общераспространенный даташит на микросхему STA015 - неполный, и в нём указано, что за более полными данными, необходимо обращаться к ближайшим представителям производителя относительно своего местоположения.
¤
Если Вы так уверены, что в данном даташите есть всё что надо - укажите более конкретно, что нужно сделать, чтобы входящая частота оставалась неизменной на выходе.
-
? Аноним - 28.04.2015 13:29
Ленивый но умный офицер по определению глуп инициаливный всегда стремится быть умнее и дослуживается до высших чинов ;-)
¤
Пиши конфигурационный файл загружай в регистры нужные данные при старте питания и имей счастье а не мозги нам описание регистров в даташите лентяй :-)
¤
A special configuration file must be used to enable this operational mode: the file must be downloaded via I2C link after device power-on.
¤
6.5 STA015 CONFIGURATION FILE FORMAT
¤
The STA015 Configuration File is an ASCII format. An example of the file format is the following:
58 1
42 4
128 15
............
¤
It is a sequence of rows and each one can be interpreted as an I2C command. The first part of the row is
the I2C address (register) and the second one is the I2C data (value). To download the STA015 configuration
file into the device, a sequence of write operation to STA015 I2C interface must be performed.
The following program describes the I2C routine to be implemented for the configuration driver:
STA015 Configuration Code (pseudo code)
¤
download cfg - file
{
fopen (cfg_file);
fp:=1; /*set file pointer to first row */
do {
I2C_start_cond; /* generate I2C start condition for STA015 device address */
I2C_write_dev_addr; /* write STA015 device address */
I2C_write_subaddress (fp); /* write subaddress */
I2C_write_data (fp); /* write data */
I2C_stop_cond; /* generate I2C stop condition */
fp++; /* update pointer to new file row */
}
while (!EDF) /* repeat until End of File */
} /* End routine */
¤
Note:
1. STA015 is a device based on an integrated DSP core. Some of the I2C registers default values are loaded after an internal DSP
boot operation. The bootstrap time is 60 micro second. Only after this time lenght, the data in the register can be considered stable.
2. Refer also to the application note AN1250
-
? TheGWBV@ - 28.04.2015 14:55
> "и тут обнаружилось, что выходная частота получается в 6 раз ниже входной."
Судя по Figure 15. Input from ADC, Output from GPSO , нужно корректно настроить DAC_CLK_MODE,
зависящий от OCLK, который в свою очередь зависит и от:
¤
PCMDIVIDER
Address: 0x54 (84)
Type: RW
Software Reset: 0x01
Hardware Reset: 0x01
¤
в зависимости от формата воспроизводимого PCM потока необходимо применять формулы, указанные на страницах 30-31
файла http://www.st.com/web/en/resource/technical/document/datasheet/CD00002047.pdf
-
? Voland@ - 28.04.2015 16:30
Описание проблемы от моего разработчика, которое я уже направил инженеру из московского представительства STM:
К микросхеме STA015 подключается внешний источник сигнала к каналу ADC/I2S. Включается режим BYPASS для обработки этого сигнала. Параметры сигнала (из расчета тактовой частоты 12.288 мгц) : F(OCLK)/ F(SCLK) = 4, F(OCLK) / F(LRCK) = 256, получается частота LRCK = 48 мгц, передается 24 бита, MSB first + 8 битов нулевых в конце, итого 32 бита на полутакт LRCK.
¤
Инициализация регистров STA015 (параметр 2 — номер регистра, параметр 3 - значение):
¤
// SOFT RESET
i2c_single_register_write(STA015_I2C_ADDR, 16, 1);
for (i = 0; i < 10000; i++) continue; // Delay after soft reset
i2c_single_register_write(STA015_I2C_ADDR, 6, 12);
i2c_single_register_write(STA015_I2C_ADDR, 11, 3);
¤
// MFSDF (x)
i2c_single_register_write(STA015_I2C_ADDR, 97, 15);
¤
// MFSDF-441
i2c_single_register_write(STA015_I2C_ADDR, 80, 16);
¤
// PLLFRAC-H
i2c_single_register_write(STA015_I2C_ADDR, 101, 187);
¤
// PLLFRAC-441-H
i2c_single_register_write(STA015_I2C_ADDR, 82, 103);
¤
// PLLFRAC-L
i2c_single_register_write(STA015_I2C_ADDR, 100, 58);
¤
// PLLFRAC-441-L
i2c_single_register_write(STA015_I2C_ADDR, 81, 119);
¤
// PLLCTRL
i2c_single_register_write(STA015_I2C_ADDR, 5, 161);
¤
// DAC CLOCK MODE
i2c_single_register_write(STA015_I2C_ADDR, 99, 0);
¤
// PCM DIVIDER
// 32 bit mode 256 x Fs
i2c_single_register_write(STA015_I2C_ADDR, 84, 1);
¤
// PCMCONF
i2c_single_register_write(STA015_I2C_ADDR, 85, 0x23);
¤
// GPSIO_ENABLE
i2c_single_register_write(STA015_I2C_ADDR, 185, 0x00);
¤
// ADC ENABLE
// '1' - ON
i2c_single_register_write(STA015_I2C_ADDR, 187, 0x01);
¤
// ADC CONF
// ALRCS = '0' ALRCP = '0'
// ASCP = '0' (data sampled on rising edge)
// ADC = '1' (MSB first) AIIS = '1'
i2c_single_register_write(STA015_I2C_ADDR, 188, 0x07);
¤
// ADC WLEN
i2c_single_register_write(STA015_I2C_ADDR, 192, 23);
¤
// ADC WPOS
i2c_single_register_write(STA015_I2C_ADDR, 193, 0);
¤
// CHIP MODE
// 0x00 - MP3 decoding
// 0x01 - Reserved
// 0x02 - ADPCM Encoder
// 0x03 - ADPCM Decoder
// 0x04 - BYPASS mode
i2c_single_register_write(STA015_I2C_ADDR, 77, 0x04);
¤
// RUN
i2c_single_register_write(STA015_I2C_ADDR, 114, 0x01);
¤
Получаются импульсы на выходе OCLK частотой 12.288 мгц. Но как только на входы ADC начинают поступать импульсы с параметрами, указанными выше, частота OCLK мгновенно переключается на 2.048 мгц, соответственно меняются параметры и входных импульсов ADC, ибо они привязаны к этой частоте, в результате получается частота LRCK – 8кгц вместо 48
¤
-
? Voland@ - 29.04.2015 22:30
Короче походу микрухи эти на свалку придется выкинуть, и платы бустера перезаказывать из-за них.
Инженер из STM сказал что скорее всего не поможет, ибо микруха снята с производства, проект закрыт, люди её разработавшие скорее всего давно уволились.
-
? Voland@ - 29.04.2015 22:31
Ононим, ты там предлагал какое-то генитальное решение, а ну блесни гением...
-
? Аноним - 30.04.2015 01:42
Зкакзываешь шестихслойку переходник под новую микруху и платы выбрасывать не нужно ;-)
Внимательно посмотри описание архитектуры какие регистры используются для изменения частоты дискредитации на выходе какие из них могут меняться псевдопроизвольно при изменении содержимого других регистров эксперементируй :-)
-
? Voland@ - 30.04.2015 10:36
>> какие из них могут меняться псевдопроизвольно
Ну понятно, методом тыка. Просто тут некий ононим утверждал, что в доке всё нужное есть, а мы сиволапые мол просто ленимся посмотреть повнимательнее. А в доке даже инженер из STM не смог найти.
Проблема в том, что месяцами экспериментировать, засылая в регистры чипа значения генератора случайных чисел - у моего разработчика нет времени. Точнее столько времени ему никто не оплатит.
-
? TheGWBV@ - 30.04.2015 11:20
Вообще-то в микрухе этой есть возможность жёстко задать DAC_CLK_MODE, так чтобы он не зависел от параметров ввода медиа данных.
И еще один момент... Работа запрограммированного конечного автомата может зависеть от порядка ввода команд, задающих конфигурацию. Там в даташите есть образец последовательности загрузки параметров, а в вашем листинге эта последовательность местами нарушена...
-
? TheGWBV@ - 30.04.2015 12:54
Как идея, можно попробовать вставить...
¤
// DAC CLOCK MODE
i2c_single_register_write(STA015_I2C_ADDR, 99, 1);
¤
перед
¤
// CHIP MODE
// 0x00 - MP3 decoding
// 0x01 - Reserved
// 0x02 - ADPCM Encoder
// 0x03 - ADPCM Decoder
// 0x04 - BYPASS mode
i2c_single_register_write(STA015_I2C_ADDR, 77, 0x04);
¤
// RUN
¤
идея в том, что после настройки и установки нужных параметров DAC они фиксируются включением MODE = 1.
-
? биоробот биоробота - 30.04.2015 12:57
Вот ссыль,может поможет чем-нибудь: http://jallib.googlecode.com/svn›trunk›jat/branches/jallib-1.0.0/include/external/media/mp3_decoder_sta015.jal
-
? TheGWBV@ - 30.04.2015 14:11
ещё парочка ссылок...
1) http://freedatasheets.com/downloads/Application%20Note%20Personal%20Electronics%20AN1250.pdf
2) http://www.pjrc.com/mp3/sta013.html
-
? просто биоробот - 30.04.2015 15:10
Я,конечно, не разбираюсь почти полностью в электронике. Но вот для меня не понятны некоторые совпадения,наверное,будь программистом,то прицепился бы к ним. Почему инициализация PLL Configuration Sequence For 14.31818MHz Input Clock 256 Oversapling Rathio (Страница 49) одинакова с инициализацией вашего разработчика6 reserved 12
11 reserved 3
97 MFSDF (x) 15
80 MFSDF-441 16
101 PLLFRAC-H 187
82 PLLFRAC-441-H 103
100 PLLFRAC-L 58
81 PLLFRAC-441-L 119
5 PLLCTRL 161
¤
i2c_single_register_write(STA015_I2C_ADDR, 6, 12);
i2c_single_register_write(STA015_I2C_ADDR, 11, 3);
i2c_single_register_write(STA015_I2C_ADDR, 97, 15);
i2c_single_register_write(STA015_I2C_ADDR, 80, 16);
i2c_single_register_write(STA015_I2C_ADDR, 101, 187);
i2c_single_register_write(STA015_I2C_ADDR, 82, 103);
i2c_single_register_write(STA015_I2C_ADDR, 100, 58);
i2c_single_register_write(STA015_I2C_ADDR, 81, 119);
i2c_single_register_write(STA015_I2C_ADDR, 5, 161);
¤
хотя изменение частоты PLL Configuration Seque 14.7456MHz Input Clock 256 Oversapling Rathio
уже дает отличную настройку
¤
¤
6 reserved 12
11 reserved 3
97 MFSDF (x) 15
80 MFSDF-441 16
101 PLLFRAC-H 85
82 PLLFRAC-441-H 4
100 PLLFRAC-L 85
81 PLLFRAC-441-L 0
5 PLLCTRL 161
¤
А у вас вообще 12.288 мгц, он действительно все правильно настроил,ась?
-
? просто биоробот - 30.04.2015 15:42
Кстати, на странице 7 написано:
2.1 Clock Signal
The STA015 input clock is derivated from an external source or from a industry standard crystal oscillat
generating input frequencies of 10, 14.31818 or 14.7456 MHz.
Other frequencies may be supported upon request to STMicroelectronics. Each frequency is support by downloading a specific configuration file, provided by STM XTI is an input Pad with specific levels.
¤
Ваш разработчик походу не может чего-то настроить вот он и пишет, что нужен специальный файл. Нет?
-
? биоробот биоробота - 30.04.2015 16:06
>>что нужен специальный файл
В смысле, с расписанными нужными настройками для вашей частоты...
-
? TheGWBV@ - 30.04.2015 17:21
На странице 20 AN1250 APPLICATION NOTE
Figure 19. Config PLL utility
http://www.st.com/st-web-ui/static/active/en/st_prod_software_internet/resource/technical/software/library/stsw-audio002.zip
Какая у нас в бустере XTI Frequency , кстати?
-
? Voland@ - 30.04.2015 17:24
Ни одна из приведенных выше ссылок, увы, не помогла в настройке.
>> возможность жёстко задать DAC_CLK_MODE
Жесткое задание не помогает, частота действительно фиксируется, но на частоту выходных данных это никак не влияет
¤
>> Кстати, на странице 7 написано
у нас вообще 12.288 мгц, все классно, пока на вход ADC не начинает сигнал поступать, тогда что-то там внутри чудесным образом перестраивается и внезапно частота понижается
-
? просто биоробот - 30.04.2015 17:58
? TheGWBV @ - сегодня 17:21
>>Config PLL utility
Вы молодец!Даже я не нашел эту программку,которая упоминалась в моей ссылке. Я тут тоже решил немножко напомогать.
¤
Да,чего-то параметры инициализации выдываемые этой утилитой действительно отличаются от параметров разработчика. Может это свет в конце туннеля?
-
? просто биоробот - 30.04.2015 18:16
Ой,сорри,а какая внешняя частота для микросхемы?
-
? Voland@ - 30.04.2015 21:12
>> Ой,сорри,а какая внешняя частота для микросхемы?
Там кварц на 14.318 мгц на плате, если это имеется ввиду.
Параметры PLL тут нормальные, там же частота нормальная получается, пока поток входных данных не начинает поступать, а в datasheet загадочно написано, что DSP вычисляет частоту по каким-то там правилам, о которых пользователю не нужно заботиться.
-
? TheGWBV@ - 01.05.2015 01:15
Похоже, для режима ADC->DSP->DAC как раз нужно заблокировать автоматическую настройку частот, которая сделана для режима декодирования mp3, а не ADPCM и ADC.
Блок схема на Figure 5. PLL and Clocks Generation System
наводит на мысли, что нужно либо просто запретить FRAC update , т.е. в конфиг лить
// PLLCTRL
i2c_single_register_write(STA015_I2C_ADDR, 5, 160); // а не 161
¤
либо вообще, отключить блок PLL и нужные параметры (DCLK, OCLK) задавать через константы-делители S и X, соответственно (включив при этом XTI2DSPCLK и XTI2OCLK).
-
? Voland@ - 01.05.2015 18:24
Проверили: не помогает запретить FRAC update, все то же самое...
-
? Voland@ - 01.05.2015 19:25
И даже вывод на OCLK системной частоты в 24.57 мгц ничего не дает, частота входных сигналов повышается вдвое, а на выходе те же 8 кгц,
DSP уперся рогом и пофиг ему все вообще.
-
? TheGWBV@ - 01.05.2015 20:28
А при этом как-либо меняется частота сигнала DATA_REQ ? (нужен ли вообще нам этот сигнал в этом режиме работы?)
Может таки нужно его отключить так...
// DATA_REQ_ENABLE = 0
i2c_single_register_write(STA015_I2C_ADDR, 24, 0);
или может так...
// PLLCTRL
i2c_single_register_write(STA015_I2C_ADDR, 5, 33); // или 32
нам же не нужно запрашивать данные у MCU с мр3-потоком...
¤
Также интересно бы узнать значения регистров с адресами: 6, 7
до команды RUN и после неё...
-
? прохожий - 02.05.2015 11:29
А вы непроверяли ваш несжатый входной поток - его битрейт и тому подобное? Может с ним чего-то не то. Помоему,где-то в ссылках было написано как через регистры узнать инфу о потоке.
-
? Voland@ - 02.05.2015 20:55
>> нужен ли вообще нам этот сигнал в этом режиме работы?
для ADC не нужен DATA_REQ, а для MP3 наверное нужен, но до mp3 дело пока не дошло, это так не просто и наверняка там свой геморрой начнется. По регистрам позже отвечу.
>> А вы непроверяли ваш несжатый входной поток
Ну конечно проверяли в первую же очередь, с потоком там все нормально, разработчик же раньше не раз подключал DAC с интерфейсом I2S.
-
? прохожий - 02.05.2015 21:32
>несжатый входной поток
>>не раз подключал DAC
Я подразумевал тот,который идет с ADC...
-
? TheGWBV@ - 04.05.2015 07:37
Есть подозрение, что необходимо подавать на ADC аудио-поток с частотами 8, 16 или 32 кГЦ
и добавить в конфиг...
// I2Sout_CONFIGURATION
// ADPCM_SAMPLE_FREQ
i2c_single_register_write(STA015_I2C_ADDR, 83, 0x0A); // для 16 кГц, или 0x0E - для 32 кГц
¤
нужно ли в конфиге после RUN, давать команду PLAY ?
-
? Voland@ - 04.05.2015 13:44
>> подавать на ADC аудио-поток с частотами 8, 16 или 32 кГЦ
А откуда такое подозрение ? Это очень странные частоты для ADC и нормальный ADC их давать не должен, если ему завести тактовую частоту 12.288 мгц. Разве что сам DSP там уже потом креативит.
¤
>> нужно ли в конфиге после RUN, давать команду PLAY
Нам это тоже не известно.
-
? Voland@ - 04.05.2015 13:45
>> Я подразумевал тот,который идет с ADC...
О нём и речь, это тот поток, что идет с мнимого ADC (в качестве которого выступает Cyclone III).
-
? TheGWBV@ - 04.05.2015 14:08
Подозрение такое, что в данном типе корпуса STA015 имеет реально урезанный аппаратный функционал, ориентированный на использование кодека ADPCM для записи с ADC и воспроизведения на DAC, плюс декодирование mp3 на DAC.
Если мои подозрения ложные -- должна работать функция кодирования с ADC в mp3 поток для MCU.
В общем, похоже, что наш вариант чипа заточен под простецкие диктофоны-mp3-плееры. Для использования более высоких частот семплирования и кодирования в mp3 нужен вариант чипа в другом типе корпуса.
Если удастся хотя бы 32кГц получить на выходе -- это уже не плохо будет, imho.
-
? TheGWBV@ - 04.05.2015 14:26
Да, и скорее всего нужно давать команду Play , т.к. в AN написано, что иначе чип переходит в режим экономии энергии и отключает DSP (или его часть)...
-
? TheGWBV@ - 04.05.2015 14:38
После погружения в даташиты разных моделей аудио-процессоров кажется, что идеальным вариантом для виртуального AY может служить вход, предназначенный для CD плеера, а ADC для Covoxa...
-
? Аноним - 10.05.2015 19:51
Нехочеться копаться в документации что решили STA015 не подходит или был куплен с урезанным функционалом ;-)
-
? TheGWBV@ - 11.05.2015 01:27
Вам известны документы, в которых режим Bypass описан также подробно как в двух нам известных описаны применение режимов mp3 и adpcm декодирования?
-
? Аноним - 11.05.2015 02:02
Потому и спрашиваю ;-)
-
? наблюдатель - 11.05.2015 12:06
? Аноним - сегодня 02:02
У некоторых просто бесполезно спрашивать,есть такой тип людей,если вы не разделяете,или в оппозиции к их сверхценной идеи(монархизм :) - хоть помогли-не помогли - вам не будет ни ответа,ни привета.
¤
Кстати,Воланду следует торопиться,потому как скоро останется он с возможность продать свой новодел только БКашникам - а это 20 штук людей.
Так как в учебно-образовательной сфере все может быть уже занято крупными игроками: http://ramlamyammambam.livejournal.com/339940.html
-
? TheGWBV@ - 11.05.2015 15:14
В общем, у меня теперь 100% уверенность, что нужно подавать на ADC аудио-поток с частотами 8, 16 или 32 кГц.
См. картинку №1 https://yadi.sk/i/AM1g_gHggYvP2
Затем картинку №2 https://yadi.sk/i/ThNeYaV5gYvQK
для AY-шки 32 кГц, imho, достаточно будет...
-
? Voland@ - 18.05.2015 23:01
>> нужно подавать на ADC аудио-поток с частотами 8, 16 или 32 кГц.
На днях проверим. Скачал утилиту, с которой нарезаны скриншоты, нашел на сайте производителя, вот тут: http://www.st.com/web/catalog/tools/FM147/SC1857/PF257486#
Запустить утилиту мне удалось под Windows 7 и 8.1, выставив в свойствах файла запуск в режиме совместимости с Win 95. Действительно, во вкладке main есть кнопка BYPASS, если её нажать, становится доступен выпадающий список частот с тремя значениями - 8, 16, 32 кГц. Запросил у инженера из представительства STM исходники этой утилиты, там ведь можно было бы подсмотреть все необходимые значения регистров, задаваемые для такого режима и частот. Вряд ли конечно подгонет исходники, но вдруг...
Тем временем, разработчик доделал интерфейсы на основной FPGA Бустера. UART сделал вроде как совместимым с консолью DEC, насколько он совместим при этом с 1801ВП1-065, я не знаю, но во всяком случае есть фирменная документация от DEC11W. А вместо перемычек на плате для задания скорости UART и прочих параметров сделали специальный регистр, так что теперь всякие I2C, SPI и UART функционируют как надо, для UART даже описание делать не надо специально, а для I2C и SPI конечно надо будет. В ближайшие 1-2 недели появится предварительный вариант прошивки FPGA для Бустера, за исключением пока конечно части с STA015/AY.
-
? Voland@ - 19.05.2015 20:50
Проверили предположение про 32 кГц. Оно подтвердилось, частично, поперли какие-то странности.
¤
Странность номер 1: методом тыка выяснилось, что в режиме BYPASS на выходную частоту звука воздействует регистр ADPCM_SAMPLE_FREQ, то бишь регистр, управляющий кодированием без потерь. И больше, чем 32 кгц там не получить в принципе по спецификации для этого регистра.
¤
Странность номер 2: на выходе пролазит 16 кгц, которая есть половина от 32 кгц, что не удивительно, но это слышимая ухом частота и срезать ее просто так нельзя.
¤
Странность номер 3: входные данные по I2S воспринимаются явно не те, что в посылке, как бы этот вход не воспринимал их как якобы кодированные. Т.е. возможно режим BYPASS на самом деле предназначен не для несжатого звука, а для звука, закодированного без потерь в ADPCM, в добавок срезаемого через STA015 до 32кГц.
¤
В результате сигнал на выходе получается нужной формы и частоты, но амплитуды точно не те, при этом значения амплитуды вроде 5555 шестнадцатеричных воспринимаются, а 3FFF - вообще игнорируются. Какая-то жопа с этим чипом.
-
? TheGWBV@ - 20.05.2015 00:36
Там в AN1250 расписано какие команды давать при кодировании с ADC в ADPCM -- для режима Bypass скорее всего будет только отличие в записи 4 в регистр 77. Если же сделать настройки как для декодирования ADPCM, то dsp входящий поток может воспринимать как упакованный и начать его декодировать на DAC.
-
? Voland@ - 20.05.2015 10:26
Почему "настройки как для декодирования ADPCM", там ведь по-любому регистр, задающий частоту звука существует и именно он в режиме BYPASS эту частоту задает и ничто другое.
По datasheet декодирование ADPCM должно происходить из потока со входа SPI, а если он идет с I2S, то либо BYPASS, либо сжатие в тот же ADPCM, но с выводом через цифру. Если что-то поступает по I2S, а выходит в DAC, то это по-любому включен BYPASS.
-
? TheGWBV@ - 20.05.2015 12:35
Я это к тому, что от состояния регистра 19 может зависеть как DSP воспринимает входящий поток в режиме BYPASS.
Например, для режима кодирования с ADC в ADPCM поток для MCU, нужно в регистр 19 (PLAY) грузить 0 (encoder mode), в этом режиме DSP, берет данные с ADC (через MUX).
А если загрузить в регистр 19 (PLAY) 1 (decoder mode), тогда DSP берет данные из MUX, считая что они являются потоком ADPCM.
Поскольку достоверно неизвестно как устроены DSP и MUX, не исключено, что для режима BYPASS, обязательна пара параметров: рег.19=0, рег.77=4. Это только предположение, не утверждение...
¤
¤
-
? TheGWBV@ - 20.05.2015 12:48
"Странность номер 3: входные данные по I2S воспринимаются явно не те, что в посылке,"
А какой формат данных теперь имеет посылка?
-
? Voland@ - 20.05.2015 15:47
Если в регистр PLAY загрузить что-то кроме начального состояния, выход вообще отрубается.
¤
>> А какой формат данных теперь имеет посылка?
обычный формат, как в спецификации на DAC или как в спецификации на I2S, они совпадают - 24 бита со знаком.
-
? Voland@ - 20.05.2015 20:54
TheGWBV, а у Вас осциллограф есть кстати?
-
? Voland@ - 20.05.2015 22:52
Обсудили текущую ситуацию и появились мысли: в силу полной архитектурной неясности и отсутствия официальной поддержки, выкинуть STA015, а вместо него залить в Циклон-3 опенсорсный fpga-вариант Motorola DSP56000 24-битный, либо 16-битный ADSP2180 собственной разработки моего разработчика (но его надо верифицировать для начала).
fpga-вариант DSP будет пока просто транслировать нативный звук (как предполагал режим BYPASS в STA015) на вход DAC. Для Motorola DSP56000 наверняка существует готовый mp3-декодер, но придется его уже кому-то приручать, разработчик этим вряд ли будет заниматься.
-
? TheGWBV@ - 21.05.2015 01:21
Как это "выкинуть STA015"?! =) уже ж почти весь его изучили ))
>> А какой формат данных теперь имеет посылка?
> обычный формат, как в спецификации на DAC или как в спецификации на I2S, они совпадают - 24 бита со знаком.
> Странность номер 1: методом тыка выяснилось, что в режиме BYPASS на выходную частоту звука воздействует регистр ADPCM_SAMPLE_FREQ, то бишь регистр, управляющий кодированием без потерь. И больше, чем 32 кгц там не получить в принципе по спецификации для этого регистра.
¤
Учитывая вышеописанные наблюдения и...
ADPCM CODEC CAPABILITIES:
– sample frequency from 8 kHz to 32 kHz
– sample size from 8 bits to 32 bits
далее по тексту...
1.2 ADPCM encoder/decoder engine
This device also embeds a multistandard ADPCM encoder/decoder supporting different sample rates
(from 8 KHz up to 32 KHz) and different sample sizes (from 8 bit to 32 bits).
т.е. от 8 бит (моно), до 2*16 бит (стерео)...
¤
Думаю, нужно сменить формат входного потока для ADC с 24(32)*2=64бит/семпл, на 2*16 бит/семпл (стерео) и 32 кГц.
-
? Voland@ - 21.05.2015 01:38
>> уже ж почти весь его изучили ))
Да, но BYPASS вообще ни в какую не работает, а это значит что не заработает AY и не заработает несжатый звук 16бит 44кГц.
¤
>> формат входного потока для ADC с 24(32)*2=64бит/семпл, на 2*16 бит/семпл (стерео) и 32 кГц.
там не имеет значения это дело, потому что битов влазит до 32 в посылку, если мы последние 8 обнулим, то это ничего по сути не даст; а 32 кгц там и так уже приходит.
-
? TheGWBV@ - 21.05.2015 01:41
Voland, осциллограф С8-19 в кладовке лежит (правда, требует проверки на исправность)...
-
? TheGWBV@ - 21.05.2015 02:05
Ну, для 16 бит, 44 кГц, стерео (теперь понятно) лучше подходит STA016 -- у него есть специальных вход для CD-проигрывателя...
>> там не имеет значения это дело, потому что битов влазит до 32 в посылку, если мы последние 8 обнулим, то это ничего по сути не даст; а 32 кгц там и так уже приходит.
как раз таки, imho, имеет значение -- при 24 битах посылка то выходит 64 бита! (по 32 бита на выборку для левого и правого канала)...
When STA015 operates in 18-20-24 bits mode, the number of bits transmitted during a LRCLT period is 64.
А если подавать на вход выборки по 16 бит для левого и правого канала -- посылка получается 32 бита!
Видимо, поэтому и появляется там "Странность номер 2: на выходе пролазит 16 кгц, которая есть половина от 32 кгц, что не удивительно, но это слышимая ухом частота и срезать ее просто так нельзя.", т.к. "последние 8 бит + 8 нулей" могут как раз создать паразитную гармонику 16 кГц...
-
? Voland@ - 21.05.2015 17:48
В общем-то там нифига не получается, разработчик до утра вдоль и поперек экспериментировал.
Переходить с одного непонятного чипа STA015, снятого с поддержки, на другой, такой же непонятный STA016, тоже снятый с поддержки - несколько контрпродуктивно. Хорошего опенсорсного fpga-DSP тоже нету. Либо выкинуть вообще STA, оставив возможность проигрывать AY и несжатый wav-звук, либо оставить STA, но играть сможем только mp3 и ADPCM. Ещё один вариант - подыскать ООЧЕНЬ распространенный и досканально изученный mp3-чип, имеющий беспроблемый режим BYPASS, чтобы с ним точно никаких проблем не возникло. Но ещё придется уговорить разработчика потратить кучу времени на другой чип, как он потратил на этот в качестве жеста доброй воли.
-
? TheGWBV@ - 21.05.2015 18:48
Оставьте STA015 -- коды управления можно еще отсниферить с порта LPT при запущенном софте для ознакомительной платы.
Я так понимаю, что основная проблема сейчас в том, что код AY нужно переделывать по выходным параметрам на 32 кГц и 16 бит/канал.
Несжатый звук для БК -- это, имхо, Covox. Современный звук для БК -- это mp3... ибо память Бустера тоже не резиновая!
-
? Voland@ - 21.05.2015 20:15
>> сновная проблема сейчас в том, что код AY нужно переделывать по выходным параметрам на 32 кГц и 16 бит/канал
Нет, у нас основная проблема даже не в этом, а в том, что звук AY (или просто wav любой), поступая на вход I2S чипа STA015 в режиме BYPASS, превращается на выходе (идущем в DAC) в какой-то непонятный мусор, а не звуковой поток. Закономерности вообще никакой не удается выявить.
А переделать AY на 32кгц вообще не проблема, там частота в VHDL-коде в виде параметра, ставим 32 кгц - бац - и получается 32 кгц.
-
? Voland@ - 25.05.2015 11:58
После долгих экспериментов и обсуждений от STA015 решили отказаться. Вместо него для целей mp3-проигрывания в FPGA будет установлено ядро DLX (кастрированный MIPS), но с самостоятельно добавленными командами умножителя-аккумулятора из полного набора MIPS. В ядре там еще проблема в том, что все команды умножения-накопления попадают в Release2 от MIP32. А сам DLX это в лучшем случае Release 1 и то неполный. Если компилятору включить опции Release2, то неизвестно, что он там еще за команды родит, которые придется добавить, там есть минимум пара кандидатур, пока разработчик добавил только 4 команды умножения-накопления и родное умножение переделал на скоростное.
Из плюсов данного решения - будет единый стандарт с основной платой БК-12, а также снимается жесткое ограничение - что одномоментно мог звучать либо mp3 (STA015), либо несжатый звук из FPGA (в т.ч. AY), из минусов - для проигрывания mp3 программисту нужно приложить больше усилий.
¤
Хорошая новость - Бустер уже умеет отображать экран БК на монитор. Дело идет к официальному выходу бета-версии прошивки Бустера.
-
? Аноним - 25.05.2015 14:07
STA015 будет плате или пустая колодка под него ;-)
-
? Voland@ - 25.05.2015 16:57
Пустая площадка с перемычками. Там же звуковой тракт через STA015 проходил, а теперь будет вместо STA015 пассивный переходник. Во второй ревизии плат эта площадка упразднена будет.
-
? Аноним - 25.05.2015 17:55
Усилитель микшер туда вставить ;-)
-
? Синоним - 25.05.2015 18:20
Пора запускать предзаказ, чтобы оценить рынок. А то Эльбрусы и Байкалы уже плодятся как кролики.
-
? Аноним - 25.05.2015 18:55
Пусть плодятся в своем зоопарке их на волю не пустят ;-)
-
? Voland@ - 25.05.2015 22:14
>> Усилитель микшер туда вставить
Там итак есть усилитель, а микширование внутри FPGA можно будет выполнять на базе DLX.
Вопрос знатокам: отрисовка курсора в мониторе БК11М как-то по-другому выполняется, чем остальных символов? Почему-то при выводе изображения через Бустер курсор не отображается. Что это может быть??
-
? TheGWBV@ - 25.05.2015 23:45
Теоретически, если курсор мигающий там, то бустер граблит ОЗУ экрана в те моменты, когда курсора не видно. Например, в чётном поле курсор инвертится и не видимый, а в нечётном отображается...
А в Бейсике то, кстати, его видно?
-
? Voland@ - 26.05.2015 00:17
А разве курсор мерцает в БК? Он же статичный, и не обновляется как-то отдельно от всего остального. Или нет?
Ну т.е. вот например в памяти лежит символ и он корректно отображается. Рядом с символом курсор, он лежит в той же памяти, но не отображается.. Или он все-таки лежит не там же..
-
? TheGWBV@ - 26.05.2015 00:29
Надо будет глянуть код БОС -- как оно там на самом деле сделано. Но написать код такой, чтобы пользователь курсор через БКашный тв-выход видел, а бустер -- нет, можно :)
Где-то описано, кстати, как бустер формирует изображение на своём видео-выходе? Пара абзацев описания этого бы не помешали...
-
? Voland@ - 26.05.2015 21:38
>> А в Бейсике то, кстати, его видно?
Это проверить не скоро сможем, плату Бейсика не дал разработчику, так что без неё тестируем.
¤
>> как бустер формирует изображение на своём видео-выходе?
Бустер формирует изображения так: отслеживает все записи процессора по шине, как в память, так и в ряд управляющих регистров вроде распределения памяти, страниц дисплея, скроллинга и тому подобное. Поскольку окромя как через записи на шине процессор с внешним миром не обменивается, то этого должно быть достаточно для корректного отображения.
-
? anonymous - 26.05.2015 21:56
А Бустер корректно отрабатывает циклы чтение-модификация-запись? Курсор формируется таким образом, а не одной записью.
-
? Voland@ - 26.05.2015 23:38
От разработчика: чтение он не может отрабатывать параллельно с чтением из основной памяти, только запись, там по идее пофиг на характер цикла - пришел сигнал записи по адресу и данные с ним и записалось это дело. Хотя можно и специально такие циклы посмотреть, может там нюанс какой.
-
? Voland@ - 27.05.2015 00:37
Буду на днях заказывать у Olimex три устройства под UEXT, для тестирования трех интерфейсов:
UART: https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/open-source-hardware
I2C: https://www.olimex.com/Products/Modules/Sensors/MOD-WII/MOD-Wii-ICSP-NUNCHUCK/open-source-hardware
SPI: https://www.olimex.com/Products/Modules/LCD/MOD-LCD3310/open-source-hardware
¤
Если кто-то хочет себе заказать что-то из ассортимента Olimex, предлагаю делать совместный заказ - дабы сэкономить на доставке.
-
? Волька - 27.05.2015 14:56
Сообщение от gid (я убрал какой-то юникодный мусор в конце некоторых строк, который ломал страницу):
¤
Бустер учитывает страничную организацию памяти? Подпрограмма отображения курсора находится в ПЗУ по адресу 146446.
вот примерно как оно выглядит:
ROM:146430 sub_146430: ; CODE XREF: sub_121462
ROM:146430 ; sub_121462+430 ...
ROM:146430 tstb 40016 ; курсор отображать?
ROM:146434 bne loc_146440 ; да - отобразим
ROM:146436
ROM:146436 locret_146436: ; CODE XREF: sub_146430+14
ROM:146436 return
ROM:146440 ; ───────────────────────────────────────────────────────────────────────────
ROM:146440
ROM:146440 loc_146440: ; CODE XREF: sub_146430+4
ROM:146440 tst 40106 ; а может он уже отображён?
ROM:146444 bne locret_146436 ; если да - выход
ROM:146446
ROM:146446 CURSOR: ; CODE XREF: ROM:146416
ROM:146446 mov R0, -(SP)
ROM:146450 mov 40000, @#177716 ; подключаем страницы: окно 0 - стр.7, окно 1 - текущий экран (стр.5 или 6)
ROM:146456 mov 40056, R4 ; маска текущего фона
ROM:146462 mov 40060, R5 ; маска текущего цвета
ROM:146466 xor R5, R4
ROM:146470 mov 40076, R0 ; текущий адрес экрана
ROM:146474 mov #12, R5 ; высота курсора
ROM:146500 bit #10, 40040 ; а курсор подчёркивающий?
ROM:146506 beq loc_146524 ; нет
ROM:146510 mov #2, R5 ; корректируем высоту
ROM:146514 add #1000, R0
ROM:146520 bic #40000, R0 ; формируем реальный адрес
ROM:146524
ROM:146524 loc_146524: ; CODE XREF: sub_146430+56
ROM:146524 jmp @40032 ; и выполняем программу отображения курсора для разных режимов
ROM:146524 ; End of function sub_146430
ROM:146524
ROM:146530 ; ───────────────────────────────────────────────────────────────────────────
ROM:146530
ROM:146530 OCUW64: ; отображение курсора в режиме 64 символа в строке
ROM:146530 movb @R0, R3 ; берём байт экрана
ROM:146532 xor R4, R3 ; ксорим
ROM:146534 movb R3, @R0 ; возвращаем результат на экран
ROM:146536 add #100, R0
ROM:146542 bic #40000, R0
ROM:146546 sob R5, OCUW64 ; отображение курсора в режиме 64 символа в строке
ROM:146550 br loc_146664 ; и выходим из п/п
ROM:146552 ; ───────────────────────────────────────────────────────────────────────────
ROM:146552
ROM:146552 OCUW80: ; отображение курсора в режиме 80 символов в строке
ROM:146552 mov 40074, R2
ROM:146556 mov word_157376(R2), R3
ROM:146562 mov R3, R1
ROM:146564 asl R1
ROM:146566 bis R1, R3
ROM:146570 com R3
ROM:146572 bic R3, R4
ROM:146574 swab R4
ROM:146576
ROM:146576 loc_146576: ; CODE XREF: ROM:146630
ROM:146576 mov R4, R3
ROM:146600 clr R1
ROM:146602 bisb (R0)+, R1
ROM:146604 swab R1
ROM:146606 bisb @R0, R1
ROM:146610 xor R4, R1
ROM:146612 movb R1, @R0
ROM:146614 swab R1
ROM:146616 movb R1, -(R0)
ROM:146620 add #100, R0
ROM:146624 bic #40000, R0
ROM:146630 sob R5, loc_146576
ROM:146632 br loc_146664
ROM:146634 ; ───────────────────────────────────────────────────────────────────────────
ROM:146634
ROM:146634 OCUW32: ; отображение курсора в режиме 32 символа в строке или двойной ширины
ROM:146634 movb 40026, R3
ROM:146640 asr R3 ; сколько слов шириной курсор
ROM:146642
ROM:146642 loc_146642: ; CODE XREF: ROM:146662
ROM:146642 mov R0, R2
ROM:146644 mov R3, R1
ROM:146646
ROM:146646 loc_146646: ; CODE XREF: ROM:146650
ROM:146646 xor R4, (R2)+
ROM:146650 sob R1, loc_146646
ROM:146652 add #100, R0
ROM:146656 bic #40000, R0
ROM:146662 sob R5, loc_146642
ROM:146664
ROM:146664 loc_146664: ; CODE XREF: ROM:146550
ROM:146664 ; ROM:146632
ROM:146664 mov #54002, @#177716
ROM:146672 mov (SP)+, R0
ROM:146674 return
-
? Voland@ - 27.05.2015 20:13
gid, спасибо, покажу разработчику, но он уже кажется нащупал там чего-то за ночь: курсор начал рисоваться, но иногда правда он косячит в отдельных линиях. Главное направление уже есть, осталось параметры подобрать поточнее.
-
? Voland@ - 29.05.2015 14:39
В наборе сигналов разъема DVI есть RGB-сигналы, которые можно выводить на мониторы, поддерживающие RGB-вход и возможно на СКАРТ (не знаю, совместимы ли стандарты). По умолчанию поддержку RGB в Chrontel мы отключили, поскольку очень сильно греется чип, и если Бустер будет работать в корпусе, то не поможет даже пассивный радиатор, из-за того что корпус плотный. Ну либо придется дырок насверлить в корпусе. Поэтому небольшой опрос, какой лучше вариант на взгляд участников сообщества:
1. Поддержка RGB по умолчанию включена, проблема решается через охлаждение Chrontel, сверление дырок в корпусе и т.п.
2. Поддержка RGB по умолчанию отключена, кому потребуется - можно будет включить программно через специальный регистр.
3. Сейчас у нас клик но кнопке графики переключает поочередно два режима работы DVI: (ЦВ) - по усолчанию и (ЧБ). Добавляем третий режим - (ЦВ+RGB). Минус такого решения очевидно в том, что будет непонятно, отключился ли режим (ЦВ+RGB) при попытке перехода из него в (ЦВ), или кнопка кликнула вхолостую (не сработал контакт банально).
4. Предлагайте свой вариант.
¤
От реализации монохромного режима разработчик увы отказался, мотивировав тем, что неоплачиваемые трудозатраты реально уже зашкаливают. В чем собственно он прав. Возможно смогу обговорить с ним доп. оплачиваемые работы после продажи хотя бы 20шт Бустеров.
-
? Дмитрий - 30.05.2015 01:25
Включать перемычкой - регистр неудачная идея. Кому надо - включат, насверлят, радиатор/карлсон прилепят и будут пользоваться. Кому не надо - будут пользоваться цифрой с DVI.
-
? Voland@ - 30.05.2015 10:58
>> Включать перемычкой
На FPGA нет свободных ног на перемычку, есть только одна из трех внешних кнопок на бустере, на которую пока не назначена никакая функция, но жалко на неё вешать RGB, у нас итак одна кнопка уже занята переключением ЦВ/ЧБ.
В принципе программное включение это в целом нормально, например на PC есть видеокарты, у которых видеовыход на второй монитор включается только программно.
-
? Дмитрий - 30.05.2015 12:06
Тогда по умолчанию отключить - вряд ли кто-то будет цеплять аналоговые сигналы. Сейчас абсолютно все телеки оснащены HDMI - пассивный переходник DVI-HDMI решит проблему подключения. СКАРТ ставят для обратной совместимости с древними плеерами. Если вопрос с RGB стоял только из-за подключения бустера к телекам, то юзаем переходник и выкидывайте вообще все аналоговые сигналы.
¤
>> поддержку RGB в Chrontel мы отключили, поскольку очень сильно греется чип
Чем его так нагружают, что он перегревается? Помнится, на какой-то старой видяхе у меня стоял чип Хронтел для аналогового и ТВ-выходов - был без радиатора и не грелся...
¤
Вопрос по бустеру: каким образом будет доступ к 32 метрам памяти бустера? Для 11М самым лучшим вариантом будет подключение 32кб страниц к 40000-140000. Для БК12 - зависит от объема основной памяти. При 32 метрах подключать одну из двух страниц по 16мб во вторую половину памяти 12-й. Для 64 метров - подключать целиком 32 метра также во вторую половину основной памяти.
¤
Плюс вопрос по разрядности цвета. Все-таки решили оставить 16-битный цвет? Это 1,5 мбайт при разрешении 1024х768. На БК12 этот объем переслать будет просто при маппинге видео-ОЗУ в память БК, а на 11М? Куда размещать такой объем? Может все же вернуться к палитровому (256 цветов) изображению? Памяти требуется ровно в 2 раза меньше, сделать фиксированную разрядность и менять только разрешение, а внутри бустер пусть хоть в 32-битное конвертит при выводе на экран. Чем обусловлен выбор именно 16 бит и какой вариант выбран - 5-6-5 или 5-5-5?
-
? Voland@ - 30.05.2015 13:56
>> Чем его так нагружают, что он перегревается?
Просто факт включения режима RGB приводит к нагреву сильному.
¤
>> каким образом будет доступ к 32 метрам памяти бустера?
В данный момент в памяти 32МБ выделена область в 128кб, в которую зеркалируется любая запись в память БК. Таким образом данные любой страница памяти БК доступны для GPU. В обратную сторону это зеркало не работает и ВМ1 его читать естественно не умеет.
Как выполнять обмен данными в обратную сторону пока непонятно, ибо там итак уже куча наложений - зеркалирования 128кб, 512кб страниц памяти СМК, и всё это ещё и в составе общего объема 32мб обратно в память БК надо читать уметь. Как подключать страницу по предложенному адресу 40000 - непонятно, поскольку она будет конфликтовать с памятью БК. Это можно чисто на запись подключить при таком раскладе, но не на чтение; в том же СМК страницы подключаются в другое адресное окно и неспроста. По адресу 40000 находится ОЗУ БК и вообще этот диапазон там активно пользуется, если читать с двух устройств одновременно, то одно из них сгорит или как минимум просто нагреется. В адресном пространстве БК особо нет окон для отображение окромя тех 4К, что использует СМК, а если бы были, то в СМК сделали бы с меньшей порнографией страничный механизм.
¤
>> Это 1,5 мбайт при разрешении 1024х768.
Во-первых, максимум в Бустере возможно будет 800х600, ибо полосы пропускания на большее не хватит. Во-вторых, все эти палитры - не годятся, как к примеру делать alpha-blending с палитрами? Проблемы большого объема данных нет: просто из 16-разрядов откидываем ненужные разряды и сохраняем уменьшенный объем, по сути ничего не меняется, просто применяем элементарный алгоритм сжатия-распаковки.
-
? Дмитрий - 30.05.2015 15:03
>> По адресу 40000 находится ОЗУ БК и вообще этот диапазон там активно пользуется
Так если мы включаем отображение видео-ОЗУ бустера, то память 40000-100000 для отображения содержимого не используется и она доступна пользователю для его нечеловеческих экспериментов (лишние 16кб для кода программисту не помешают в любом случае). Подключать туда можно по аналогии с доп. памятью БК11(М). Причем при подключении к 40000 изображение на экране все равно остается из основной памяти БК, только запись производится в подключенную страницу (если, конечно, это не второй буфер экрана). При включении отображения видеопамяти бустера в эмуляцию 037 можно подать сигнал, что 40000-100000 более не отображать, а использовать как обычную память. Далее бустер будет сам отображать свою память, а не 40000-100000. Но как сделать ее доступной для заполнения пользователем? Причем в это окно можно подключить любую страницу памяти бустера, а она должна быть доступна и по чтению, и по записи. Да и зачем нужен бустер, если он будет внешним аналогом 037 с наворотами? Имхо бустер делался как видеоадаптер с новыми разрешениями экрана и большим кол-вом цветов. Отображение видео-ОЗУ БК он делает на старте (по типу БИОСа - там разрешения хватит, чтобы вывести какую-нить инфу), потом программист переключает отображение на новый видеоадаптер. Старые игры будут юзать ОЗУ как и юзали, а бустер будет выводить на экран стандартную картинку БК.
¤
>> максимум в Бустере возможно будет 800х600
940 кбайт тоже много для 11(М).
¤
>> как к примеру делать alpha-blending с палитрами
http://habrahabr.ru/post/128773/
Для него все равно используют значения R,G,B. Нет никакой разницы: вытаскивать их из 16-битного цвета или из палитры. Да и хранить уровень прозрачности негде - 1 бит не вариант. Либо прозрачный, либо нет. То есть не получится сделать 50% или 70% прозрачность - не хватает разрядности. Для палитр выбирается 1 цвет, который принимается за прозрачный. В IDE Delphi, к примеру, прозрачным считается цвет точки левого нижнего угла иконки, если ее загрузили из bmp - не важно 16/256 цветов или TrueColor. Вспомните первый Старкрафт - палитра 256 цветов, выглядит отлично. Fade на палитре делается очень просто и быстро - перелопатил палитру (768 байт независимо от разрешения) и обновил экран, а не лопатить все данные картинки. Или вы намереваетесь сделать 3D ускоритель из бустера?
¤
>> Проблемы большого объема данных нет: просто из 16-разрядов откидываем ненужные разряды и сохраняем уменьшенный объем, по сути ничего не меняется, просто применяем элементарный алгоритм сжатия-распаковки.
Что значит откидываем? Зачем? Сохраняем только красную или синюю компоненту? А зачем, позвольте осведомиться? Это не сжатие, это разложение на цветовые компоненты. Можно поподробнее?
-
? Voland@ - 31.05.2015 12:04
>> Для него все равно используют значения R,G,B. Нет никакой разницы: вытаскивать их из 16-битного цвета или из палитры.
оно конечно достать цвет из палитры можно легко, а как его потом после альфа-смешения в палитру закодировать? Это весьма нетривиальная процедура, мягко говоря.
¤
>> Что значит откидываем? Зачем?
Фигню сказал. По-другому делаем: берем целевую 256-цветную картинку; из полного набора 65536 цветов Бустера выбираем соответствующие используемым в картинке 256 цветов, присваиваем им номера от 0 до 255 (пользовательская палитра), и кодируем картинку 8-битным кодом. Таким образом, объем данных увеличится только на одну табличку с 256 записями, где одному байту прописано в соответствие два. Т.е. 3*256 байт = 768байт. Учитывая, что для хранения 256-цветной картинки разрешением например 640х480 надо 300кб, то этот объем с добавлением таблицы перекодировки мы увеличим только на 0.25%. Ну это если для единичной картинки. Если у нас будет игра, где десятки картинок, и все закодированы по той же таблице соответствия, то лишний объем данных будет бесконечно ничтожен. А если использовать jpeg, то и 24-битную картинку можно при разрешении в 1024*768 уложить в 200кб (стандартное качество 80 из 100, только что проверил), следовательно 16-битная ещё на треть меньше должна занимать.
¤
>> подать сигнал, что 40000-100000 более не отображать, а использовать как обычную память.
откуда там сигнал, который не отображает основную память? Вроде там есть сигналы, которые блокируют ту или иную ПЗУ БК, а это совсем другое. Или предлагается вскрыать БК и что-то там дорабатывать? Особеннно по тем адресам, которые активно пользует монитор, там все время какие-то обращения по адресам диапазона 40000.
-
? Дмитрий - 31.05.2015 12:42
>> а как его потом после альфа-смешения в палитру закодировать?
Не надо этого делать. Бустер внутри пусть формирует хоть 32-битный цвет для формирования видеосигнала.
¤
>> присваиваем им номера от 0 до 255 (пользовательская палитра)
Зачем??? Вы предлагаете тоже самое, что и я. У нас и так будет палитра, только не 16-битная нестандартная, а нормальная 24-битная. Зачем изобретать велосипед? При формировании видеосигнала бустер берет значение из палитры (24-битный цвет) и строка за строкой формирует видеосигнал из TrueColor (а не урезанный 16-битный), а мы на уровне программы работаем с палитрой в 256 цветов и пересылаем индексное изображение.
¤
>> следовательно 16-битная ещё на треть меньше должна занимать
jpeg не работает с 15/16-битными изображениями. И на выходе получается только 8/24 бит. Но это не важно.
¤
>> откуда там сигнал
Фигню я сказал. А хотел сказать вот что: для большинства игр/софта монитор используется десяточный. Старые игры, которые им пользуются - пусть продолжают пользоваться, полная совместимость. Новые игры, если они будут, могут забыть про этот монитор, переключить вывод изображения на ОЗУ бустера (а не 40000) и использовать его возможности. Да так и надо делать. Никто уже не будет делать 2/4-цветные игры под БК, если есть бустер. Либо вообще иметь в своем теле аналог монитора для вывода символов (что многие даже старые игры и делают), но уже в ОЗУ бустера. В этом случае память 40000-100000 превращается в обычное ОЗУ (вывод изображения мы переключили, на экран содержимое этого участка не попадает). 037 пусть продолжает выводить изображение через стандартные ТВ/ЦТВ, но моник-то у нас будет подключен к бустеру, а значит нам пофиг на эти выходы. Если очень нужен монитор, то его можно переписать под бустер. Убрать ненужное, переписать вывод точки и линии (использовать для этого вызов п/п бустера - помнится был такой разговор про АПИ бустера). Плюс ничто не мешает нам написать новый монитор с учетом бустера и мы не ограничены 8 кбайтами старого. У меня, кстати, есть задумка написать драйвер текстового режима (аналог int 10h емнип) для бустера с атрибутами цвета, загружаемым знакогенератором и прочее. 640х480 - 80х40 символов, 800х600 - 100х50 символов. Для 12-ой он все равно понадобится, можно будет сделать и для 11(М).
-
? Voland@ - 31.05.2015 13:38
>> Не надо этого делать. Бустер внутри пусть формирует хоть 32-битный цвет для формирования видеосигнала.
Никто не говорит, что это сделать невозможно в принципе. Просто Вы предлагаете дополнительный аппаратный механизм вводить, что непросто со схемотехнической точки зрения, сожрет трудозатраты на реализацию и тестирование, и к тому же сожрет доп. ячейки в FPGA, и всё только ради экономии места. Но если место экономить несложно и программным путём, то зачем огород городить? Можно программную палитру в 256 использовать, а можно все 16бит просто в jpeg кодировать, и получится что картинка 640*480 будет 100кб занимать. Правда ни ВМ1, ни GPU не заточены под то, чтобы jpeg суметь быстро распаковать,это придётся писать прогу под DLX, который мы для реализации mp3 в fpga запихнули - там быстрые умножения-накопления по-любому будут.
¤
>> А хотел сказать вот что
Но тут по-моему вообще ничего уже не сказано про способ доступа ВМ1 к памяти Бустера. На данный момент получается мы можем работать так: 128КБ памяти БК автоматически зеркалируется в бустер. В обратную сторону нам доступно 4кб окна памяти СМК, куда и откуда мы с помощью GPU можем грузить любые 4 кб памяти из пространства 32mb, занимать такая операция будет примерно 100-200микросекунд. Можем поменять шило на мыло добавив старших битов в регистр управления страницами в СМК и получим вместо 128 страниц по 4кб - аж 8192 страницы. Но это ничего на даст с точки зрения дополнительного удобства доступа ВМ1 к 32Мб памяти.
-
? Дмитрий - 31.05.2015 16:48
>> Просто Вы предлагаете дополнительный аппаратный механизм вводить
У бустера уже есть схема формирования видеосигнала из 16-битный данных. Я предлагаю не вводить новое, а модифицировать уже имеющееся. Цвет будет браться по индексу из палитры, а индекс - оттуда же, откуда сейчас формирователь берет данные. Только одна доп. выборка из таблицы, которая всего 768 байт. Неужели так сложно реализовать 1 доп. выборку? К тому же, имхо, формирователь все равно преобразует 5-битовый цвет в стандартный байт, а тут будет браться байт цветовой компоненты сразу, без доп. преобразований, сдвигов и лог. операций.
¤
Было (в жутко упрощенной форме):
1) Берем 16-битное слово (0RRRRRGGGGGBBBBB или RRRRRGGGGGGBBBBB)
2) Выделяем три RGB-компоненты из него (сдвиги, лог. И) в три байта
3) Формируем сигнал по RGB-компонентам
4) goto 1
¤
Стало:
¤
1) Берем байт индекса цвета
2) Берем три RGB-компоненты (готовые байты) из палитры (массив в памяти бустера) по индексу (либо одно умножение индекса на 3 либо 3 сложения)
3) Формируем сигнал по RGB-компонентам
4) goto 1
¤
В итоге получаем отсутствие сдвигов и логических операций, а только выборки из массивов данных.
¤
>> В обратную сторону нам доступно 4кб окна памяти СМК
Забудьте. Чтобы передать 100кб данных в бустер по такой убогой технологии потребуется 25 переключений страниц. Даже если взять 150 мкс на переключение, то получим почти 4 сек ТОЛЬКО на переключения страниц! А еще добавить пересылку. ни о какой плавности речи не будет. Тогда проще будет сделать так: ОЗУ бустера разбить на 128кб страницы и сопоставлять эту 128кб страницу со страницами 0-7 доп. ОЗУ 11(М) разом. Потребуется 1 байтовый регистр (256 страниц по 128кб = 32мб). А эти страницы 0-7 будут подключаться стандартно. Старый софт не заметит, а новый будет переключать еще и страницы бустера.
-
? Дмитрий - 31.05.2015 16:54
Забыл. В нынешнем варианте надо 5-битные компоненты привести к 8-битным, а это три умножения/сдвига для 1 пикселя.
-
? Voland@ - 31.05.2015 17:55
>> ОЗУ бустера разбить на 128кб страницы и сопоставлять эту 128кб страницу со страницами 0-7 доп. ОЗУ 11(М) разом.
Во-первых, на засылку в Бустер доступно единовременно 128Кб пространства, причем засылается оно туда само, без программных команд. Во-вторых, Если допустим писать игру под Бустер, то в 90% случаев, 90% данных будет засылаться в направлении "из ОЗУ БК11М в память Бустера", а не наоборот, следовательно скорость вытаскивания данных из Бустера не так важна нам. В третьих, что такое "доп. ОЗУ 11М размером 128кб" ? В-четвертых, если Вы предлагаете реализовать функцию копирования произвольной области памяти из Бустера размером 16Кб в основное ОЗУ БК, то для этого надо делать протокол с захватом шины, а там на маленькой FPGA нет никаких лишних макроячеек для этого.
¤
>> Цвет будет браться по индексу из палитры, а индекс - оттуда же
Так а в чем проблема сделать программно то же самое? Если говорить о формате GIF, то там примерно как я и описывал - палитры упакованы чисто программно, и ни в какой видео-адаптер не попадают при отрисовке на экране. Механизм палитр - устаревший, он оставлен в современных видеокартах только для обратной совместимости.
-
? Дмитрий - 31.05.2015 18:55
>> что такое "доп. ОЗУ 11М размером 128кб"
8 страниц по 16кб, подключаемых к 40000/100000. Нулевая подключена к 0-40000. Остается семь, подключаемых к 40000/100000, из них 2 буфера экрана.
¤
>> 90% данных будет засылаться в направлении "из ОЗУ БК11М в память Бустера", а не наоборот
А почему именно игры? Ведь было давно сказано, что вся память бустера может использоваться как ЭД, за исключением области видео-ОЗУ. Значит память может использоваться произвольно, в обе стороны. Что мешает загрузить туда оверлей, подключить область к адресному пространству БК и передать туда управление? Или опять что-то поменялось? Все 32мб ОЗУ стали видеопамятью? Что-то не пойму...
¤
>> Так а в чем проблема сделать программно то же самое?
В отсутствии свободного ОЗУ для данных большого объема в адресном пространстве БК. Картинку на диске можно хранить в любом формате, но для пересылки ее нужно превратить в данные, которые будут понятны формирователю видеосигнала, то бишь в формат хранения данных видео-ОЗУ. Разве не так? А где разворачивать все это? Каплями по 4кб? На частоте 4МГц? Или разработчик написал внутренний формат упакованных данных: пересылаем сжатое, а там он разворачивает в понятный ему формат?
¤
>> Механизм палитр - устаревший, он оставлен в современных видеокартах только для обратной совместимости.
Не сравнивайте современные компы с видеокартами и огромными объемами ОЗУ, и старый БК с мизером памяти, где палитровое изображение - единственное приемлемое по скорости. Если я не ошибаюсь, скорость копирования в памяти у БК примерно 100-150 кб/сек. Вот и посчитайте, сколько потребуется времени даже просто перенести данные в видео-ОЗУ (теоретически напрямую, без переключения, тупо непрерывно копированием через MOV) 600кб данных, соответствующих 640х480 при 16 битах на точку. А Вы предлагаете еще и на этой черепашьей скорости разворачивать палитру в 16 битное изображение, что будет еще дольше. И это несжатое изображение, типа BMP. Про распаковку изображения я вообще молчу.
¤
Может вообще оставить только 640х480, но с палитрой, а освободившиеся ресурсы кинуть на аппаратные спрайты?
-
? Voland@ - 31.05.2015 20:47
>> 8 страниц по 16кб, подключаемых к 40000/100000
И кто использует этот стандарт ДОЗУ? Наверное, если бы он был таким удобным и востребованным, Новак не стал бы городить реально "через жопу" ДОЗУ в СМК, а сделал бы именно так?
¤
>> что вся память бустера может использоваться как ЭД
Ну а нафиг он нужен, этот ЭД? Мало емкости винчестера? Есть логические разделы в МКДОС по 32мб, скорость чтения-записи приличная, чем не ЭД? Кстати говоря даже они не используются эффективно ни одной ОС, что уж там говорить про ЭД в памяти, для поддержки которого тоже ничего программного нет.
¤
>> В отсутствии свободного ОЗУ для данных большого объема в адресном пространстве БК.
Короче не смог я убедить разработчика, не будет там палитр. Что-то он вообще злой какой-то последнее время.
-
? Voland@ - 31.05.2015 20:49
Виной всему STA015, не помню кто его посоветовал. Разработчик потратил на него неделю пустого времени, пришлось его в итоге выкинуть, теперь видимо злой поэтому и на все решения предлагаемые реагирует плохо.
-
? Voland@ - 31.05.2015 20:52
Вообще переделанный DLX, который мы туда запихиваем, сможем перекодировку сделать, и даже jpeg сможет раскодировать, так что программно проблема решаема, катастрофы нет.
-
? Дмитрий - 01.06.2015 00:21
>> И кто использует этот стандарт ДОЗУ?
Он применен в 11(М). Юзает его весь софт, написанный для 11(М). Включая игры и CSI-DOS.
-
? Дмитрий - 01.06.2015 00:28
>> Короче не смог я убедить разработчика, не будет там палитр.
Вменяемая аргументация нежелания есть? Контр-агрументы против палитры и за 16-битный цвет? Озвучьте, пожалуйста.
¤
Зачем делать медленному компьютеру hicolor графику - непонятно. Взять тот же Спектрум - вы (и разработчик) видели в нем супер мощные режимы? Нет. Их просто нет, ибо компьютер слаб. Все новые режимы основаны на старом, только расширены. Там нет даже 256-цветной графики, когда все 256 цветов одновременно присутствуют на экране без смены буферов и прочих хаков. А про 16-битный цвет тем более. Имхо, разработчику было проще сделать такой вариант, а на палитровый он неспособен. Вот и не хочет делать. Не ему же его потом использовать. Для скоростной БК12 я еще могу оправдать hicolor, но для старого БК это перебор.
-
? gid - 01.06.2015 08:38
>>? Voland @ - 31 мая 20:47
[Наверное, если бы он был таким удобным и востребованным, Новак не стал бы городить реально "через жопу" ДОЗУ в СМК]
Новак делал штуку, которая одинаково работает как на БК10 так и на БК11, на БК10 принципиально нету страниц памяти, зато есть аппаратно отключаемое ПЗУ по адресам 120000-167777, на БК11 после незначительной доработки тоже можно отключать ПЗУ 140000-157777, ОЗУ из окна 1 также аппаратно отключается. Поэтому, исходя из начальных условий, решение Новака - единственно возможное. Иначе бы пришлось делать два различных контроллера, с двумя принципиально различными механизмами доступа к доп.ОЗУ.
¤
Кстати, про палитры. С аппаратной точки зрения, в современных реалиях работа с RGB каналами проще, чем возня с таблицами палитр. Поэтому разработчик от них всячески открещивается. У него скорее всего уже есть свои наработки в этой области, и ему проще использовать то, что есть, чем заново изобретать что-то с нуля.
-
? Дмитрий - 01.06.2015 10:03
>> в современных реалиях работа с RGB каналами проще, чем возня с таблицами палитр
Так из палитр и выбираются RGB каналы безо всяких преобразований. Из 16-битного выделить каналы нужны доп. операции, которые жрут и быстродействие, и занимают место. А тут всего 1 лишняя выборка.
-
? anonymous - 01.06.2015 12:42
Может тогда на компромисс пойти - сделать еще одну гребёнку, как на видеокартах, куда данные из графического озу выдаются по pixel clock, и кадровые и строчные синхроимпульсы. Тогда кому надо - свой ramdac снаружи прикрутит с регистрами на МПИ и данными видео с этого разъёма.
-
? Voland@ - 03.06.2015 14:21
>> Новак делал штуку, которая одинаково работает как на БК10 так и на БК11
Вообще Бустер тоже предполагалось сделать совместимым и с БК10-01 и с БК11М, этому в принципе ничего особо не мешает. А если начать играть подключением 32мб в страничные окна на БК11М, то упремся ещё и в несовместимость нового устройства с БК10.
-
? Дмитрий - 03.06.2015 15:16
Я просто предположил. По совместимости вопросов нет.
¤
А что насчет моего вопроса? "Вменяемая аргументация нежелания есть? Контр-агрументы против палитры и за 16-битный цвет? Озвучьте, пожалуйста."
-
? Аноним - 03.06.2015 15:40
Дмитрий потенциальный покупатель, видимо. Подробно и годами интересуется, что да как. А покупатель всегда прав. Надо бы сделать ему палитру, а то не купит.
-
? Дмитрий - 03.06.2015 15:58
Меня больше интересует БК12, а отстаиваю палитру из-за того, что в БК12 будет то же, что и во внешнем бустере для 10/11(М). Я уже писал, что палитровое изображение - наилучшее решение для БК.
-
? Voland@ - 03.06.2015 16:02
>> Контр-агрументы против палитры и за 16-битный цвет? Озвучьте, пожалуйста.
Не знаю, с разработчиком уже стало невозможно говорить на эту тему, он становится слегка неадекватен. Я думаю что вся проблема в том, что ему неохота заниматься тестами для кучи режимов. Он на асме БКшном конечно тесты никакие не пишет, но по-своему все аппаратные блоки тестирует - используя NIOS+C, осциллограф и т.п.
Учитывая, что Бустер - целиком и полностью его добрая воля, я не могу диктовать ему условия. Дело было примерно так: когда года 2 назад GPU в рамках БК12 был в основном готов, он сказал - можно GPU реализовать ещё и в качестве отдельного устройства для обычной БК, поскольку fpga-часть GPU уже готова, а разводка - это это уже не сложно. Я предложил сделать не отдельное устройство, а совместить с СМК, он согласился и поехало. Дальше я предлагал поднапихать туда ещё и ещё (PS/2, USB-B, несжатый звук, mp3-STA, AY, усилок), он предложил UEXT, SD, и даже сам пытался туда адаптировать оригинальный J-11 от DEC (но не вышло). Что касается GPU - да, там ведь в какой-то момент мы решили, что на БК12 нет смысла мутить палитры, для аппаратного упрощения и снижения объемов тестирования проще сделать только 16 бит цвета. Сделали, но тогда никто не подумал о том, что для Бустера это будет критично в плане быстродействия. Теперь, исходя из кучи бесплатной работы, проделанной разработчиком, ему влом ещё и на механизм палитр время тратить. И это вполне логично. Думаю что объемы работы, которые он УЖЕ сделал в целом по проекту, можно уже не меньше миллиона рублей оценить в реальных коммерческих человеко-часах специалиста его уровня.
>> Он применен в 11(М). Юзает его весь софт, написанный для 11(М). Включая игры и CSI-DOS.
Как это, CSIDOS и любая игра ищут ДОЗУ по описанному Вами стандарту, и если не находят - ищут ДОЗУ по стандарту СМК и использует его? Или как?
-
? Дмитрий - 03.06.2015 16:56
Ладно, не будем тогда теребить разраба, а то сорвется и уйдет. Вопрос про возможности бустера в БК12 уже прорабатывались или они еще даже не в проекте?
¤
>> Как это, CSIDOS и любая игра ищут ДОЗУ по описанному Вами стандарту, и если не находят - ищут ДОЗУ по стандарту СМК и использует его? Или как?
8 страниц ОЗУ (всего 128кб) - это фича БК11(М). Там так изначально память устроена. Так сказать "из коробки". Поэтому ее и юзают по умолчанию все программы, написанные для 11(М). В документации к БК11(М) все описано. Подключается память через регистр 177660 - 3 бита для номера страницы в 40000, 3 бита - для 100000. Между ними есть бит-"строб" - значения в регистр страниц надо заносить строго с этим установленным битом. Т.е. одной командой можно сразу подключить 32кб памяти. Как я уже писал, при подключении страниц в 40000 на экран (по умолчанию) выводится содержимое нулевого буфера экрана: неважно - подключен он или нет. Есть второй буфер экрана - в регистре для него есть отдельный бит. В этом случае на экран будет выводится содержимое первого буфера. Для подключения ПЗУ есть отдельные биты в регистре. Для использования памяти СМК нет ни одной программы, кроме 1 теста из комплекта СМК. Я делал для себя в свое время драйвер ЭД для этой памяти под МК-ДОС вместо родного (чтобы не использовать основную память БК), но это не в счет. Он, емнип, вставлялся в монитор вместо обработчиков ТЛГ.
-
? Voland@ - 03.06.2015 18:33
А, ну т.е. под Доп. ОЗУ Вы имели ввиду просто две тройки страницы родной памяти БК11М, которые мапятся в соответствующие два окна. Хорошо, но это ничего не меняет, т.к. подключение туда постранично всей области 32Мб во-первых порождает несовместимость Бустера с БК10, во-вторых, как уже говорилось выше, потребуется делать протокол с захватом шины, а там на маленькой FPGA нет никаких лишних макроячеек для этого.
¤
>> Вопрос про возможности бустера в БК12 уже прорабатывались или они еще даже не в проекте?
Концептуально Бустер - это выделенный отдельно кусок БК12. Т.е. по идее всё, что будет написано под конфигурацию БК11М+Бустер должно будет работать и на БК12. Разница будет только в том, что GPU в составе БК12 будет поддерживать ещё большее разрешение - 1024*768 и больший размер ОЗУ (DDR 64Мб, а в бустере SDR SDRAM 32Мб).
-
? anonymous - 03.06.2015 20:49
「? Дмитрий - сегодня 16:56 <cut> Подключается память через регистр 177660 <cut>」
Вы перепутали, 0177716, а не 0177660. А буфера экрана в 0177662 переключаются, где и палитра.
Но вот в регистре 0177716, среди битиков включения ПЗУ, которые при установке блокируют ОЗУ, есть также один на подключение ПЗУ с МПИ, а не на платке бейсика. Этот сигнал выведен на разъём МПИ, но чтоб его корректно использовать снаружи - все равно нужна доработка матринки БК, т.к. блоки, которые отключают внутреннее ОЗУ БК, выставляя этот сигнал, просто пересилить выход внутреннего регистра БК пытаются. Это не слишком хороший подход.
「? Voland - сегодня 18:33 <cut> потребуется делать протокол с захватом шины, а там на маленькой FPGA нет никаких лишних макроячеек для этого <cut>」
Для этого надо несколько ножек иметь для запроса доступа по ПДП и ввести их для GPU в адресуемый регистр, его быстродействия должно с лихвой хватить для чисто программного залезания по ПДП в память ВМ1, как это делают всякие контроллеры на AVR и VNC.
-
? Дмитрий - 04.06.2015 00:09
>> по идее всё, что будет написано под конфигурацию БК11М+Бустер должно будет работать и на БК12
не пойдет. Зачем мапить крохотные окна по 4кб на 12-ой для доступа к памяти бустера? Надо сделать 32мб памяти БК12 + следом за ней 32мб бустера. А вот эти 32мб в плане использования полностью аналогичны внешнему (по тем же адресам видео-ОЗУ, тот же формат и т.д.). В общем получится 64Мб линейной памяти. И вся память бустера доступна - у нас ведь будут 32-битные префиксы, следовательно, сможем адресовать всю память в линейном режиме. И доступ к видео-ОЗУ будет линейным и доступным сразу. Только придется сделать тип памяти единым - DDR/SDR. Так сделать организацию памяти возможно (крайне желательно, ибо дико удобно)? Подключать окнами не вариант однозначно.
¤
>> Вы перепутали, 0177716, а не 0177660. А буфера экрана в 0177662 переключаются, где и палитра.
Да, вы совершенно правы, наврал...
-
? Voland@ - 04.06.2015 10:38
>> Зачем мапить крохотные окна по 4кб на 12-ой для доступа к памяти бустера?
Пока неизвестно как будет в БК12, потому что там у нам ещё добавляется диспетчер PDP-11, ну или 32разрядный префиксный доступ.
¤
>> Надо сделать 32мб памяти БК12 + следом за ней 32мб бустера
Зачем? В БК12 будет доступ к младшим 32мб так же как и в Бустере, и одновременно будет какой-то доп. механизм адресации всей памяти 64мб.
¤
>> Только придется сделать тип памяти единым - DDR/SDR.
А это ещё зачем? Память уже закуплена, и меняться точно не будет, для бустера - sdr sdram 32mb, для БК12 - ddr 64mb.
-
? Аноним - 04.06.2015 11:04
Очень хорошая идея мапить в одно окно 40000 байт 8 или 16 крохотных окон по 2 или 1 килобайту спросите зачем отвечу если комуто придет в глову мысть что каждое подключаемое на шину МПИ устройство может нести в себе драйвер и конфигурацию устройства хнаня их у себя на борту в памяти размером 1 или 2 килобайта то будущим писателям мониторов и операционных систем будет большое облегчение ;-)
К бустеру и БК12 это непременимо исходя из особенностей их архитектуры :-)
-
? Дмитрий - 04.06.2015 11:44
>> потому что там у нам ещё добавляется диспетчер PDP-11
То есть все же решили добавить ММУ?
¤
>> В БК12 будет доступ к младшим 32мб так же как и в Бустере
Интересуют сведения как будет сделан доступ к памяти бустера в БК12 - в режиме использования ММУ и в режиме префиксов. Такие сведения/наброски есть, хоть какие-то? Хотелось бы иметь хотя бы приблизительную картину.
¤
>> А это ещё зачем?
Это я к тому, что если объединять память БК12 с памятью бустера в линейную (общую) и свободно адресуемую, то как вы собираетесь смешивать два разных типа памяти? Я имел в виду, что на плате будет 2 МС памяти по 32мб. Условно назовем их МС1 и МС2. У эмулятора процессора 1801 с префиксами будет линейный доступ к обеим микросхемам (общий объем памяти МС1+МС2=64мб), а у бустера - только к МС2. В итоге получаем, что БК сможет свободно (безо всяких переключений страниц) с помощью префиксов копировать сразу весь объем данных, к примеру, картинки в видео-ОЗУ бустера, а бустер, в свою очередь, брать оттуда данные и формировать видеосигнал. Плюс БК12 сможет пользоваться остальной памятью бустера свободно как и своей основной 32мб памятью. Просто в прошлом году был разговор про объем памяти БК12 - 32 или 64мб, я не совсем правильно сформулировал мысль. Когда я говорил, что неплохо бы сделать 64мб вместо 32, я имел в виду слить память БК12 и память бустера (что высказал выше). 96мб это уже перебор. Хотя, кто знает?...
-
? Дмитрий - 04.06.2015 11:49
Кстати, преобразованное 24-битное изображение в 16-битное в формате 5-6-5 чуть темнее, чем 5-5-5.
-
? Voland@ - 04.06.2015 14:51
>> То есть все же решили добавить ММУ?
Реализация ММУ по типу Вм3 была с самого начала в ТЗ, а вот по 32-разрядным префиксам думаю можно забыть, учитывая последние настроения разраба. Но это все не окончательно, будет видно, как активно займемся БК12 после Бустера.
¤
>> Такие сведения/наброски есть, хоть какие-то?
У меня ничего нету, всё в голове у разработчика. Пока он занят Бустером, не буду отвлекать его вопросами по БК12.
¤
>> Это я к тому, что если объединять память БК12 с памятью бустера
Я такого не предполагал - если Вы имеете ввиду, чтобы Бустер можно было воткнуть в БК12 и как-то использовать. Это бессмысленно. Бустер сделан в качестве отдельного устройства для того, чтобы часть возможностей БК12 получить и на БК10/11М.
Вставлять бустер в МПИ на БК12 это все равно что купить материнку с интегрированной видео и звуковой картами, и точно такие же по возможностям карты докупить отдельно и воткнуть в LPT.
¤
-
? Дмитрий - 04.06.2015 16:02
Да нет же! На плате БК12 2 МС по 32мб - вторую юзает бустер, обе юзает БК12. Никаких бустеров в МПИ, никаких маппингов.
-
? Дмитрий - 04.06.2015 18:58
>> вот по 32-разрядным префиксам думаю можно забыть, учитывая последние настроения разраба
Неприемлемо. Должен быть protected mode и real mode.
-
? Voland@ - 04.06.2015 21:37
>> На плате БК12 2 МС по 32мб - вторую юзает бустер, обе юзает БК12.
Нет, мы уже давно условились, что у нас одна DDR-микросхема в БК12 будет, K4H511638F-LCB3 - емкостью 64мб.
¤
>> Неприемлемо. Должен быть protected mode и real mode.
Ну обязать разработчика это делать я не могу, это не оговаривалось изначально.
-
? Дмитрий - 04.06.2015 21:57
>> у нас одна DDR-микросхема в БК12 будет, K4H511638F-LCB3 - емкостью 64мб.
Хорошо. Тогда есть возможность в БК12 завязать на вторую половину этой МС память бустера вместо отдельной? Ведь ПЛИСка бустера также будет на плате БК12. Вот и получится, что БК12 видит все 64мб, а бустер будет видеть свои вторые 32мб микросхемы. Задайте вопрос при случае разработчику, если зайдет разговор про БК12.
¤
>> Ну обязать разработчика это делать я не могу, это не оговаривалось изначально.
Насколько помню, он сам предлагал префиксы как альтернативу ММУ, это его идея. Пока не форсируем, потом, как будет случай, поднимите эту тему с двумя режимами.
-
? Voland@ - 05.06.2015 00:48
>> Тогда есть возможность в БК12 завязать на вторую половину этой МС память бустера вместо отдельной?
Так не будет там никакой отдельной, и не предполагалось. Просто у БК12 будет какой-то ещё способ доступа к памяти 64Мб помимо доступа через окно СМК512, который использован в Бустере. Не думаю, что там чего-то надо делать. Просто наверное будут две фиксированные области в начале всего пространства 32-64Мб - одна для зеркалирования 128кб ОЗУ БК11М, вторая -512Кб памяти СМК. При этом, GPU будет иметь доступ ко всей памяти 32-64мб, будет адресовать её 32мя разрядами и свободно копировать любые области этой памяти в любые другие области этой памяти, в т.ч. и в первые 640кб.
¤
>> Насколько помню, он сам предлагал префиксы как альтернативу ММУ, это его идея.
Он подавал эту идею в расчете на то, что найдется программист, который что-то под такую архитектуру попытается адаптировать. А пока что нету желающих даже классический PDP-шный UNIX адаптировать под PDP-шный же ММУ. Вот и придется скорее всего этим заниматься ему, поскольку брать на себя портирование чего-то под совсем уникальную новую 32-рарядную архитектуру он не хочет.
-
? марсианин - 05.06.2015 11:29
Оффтоп.
Хотел бы вставить несколько своих слов касательно UNIX.По идее не обязательно портировать старшие версии UNIX'ов задействующие ММУ на машинах с ММУ.Как вариант,портирование переходной ОС,например ранней Unix(без исп. ММУ) для компьютеров с ММУ,на программах написанных на высоком уровне,например Си, при переходе в дальнейшем на более старшие версии Unix,не должно так сильно отразиться,как многие думают. Возможно,слегка чего-то и придеться переделать.Но обычно ЯВУ отсоединены от конкретной реализации системных вызовов ОС при помощи использования библиотек.Библиотеки это еще один уровень абстрагирования.Позволяющие программам быть инвариантными. Это я к тому, если кто не понял раньше, портируйте любую Unix.При любом раскладе будет толк.Все труды не уйдут в песок.
-
? марсианин - 05.06.2015 12:14
Еще немного оффтопа.
Тут один товарищ,помню вроде Smeagol(да?), чего-то заикался про Unix v1,так вот в чем-то он был прав - что при портировании на абсолютно новую архитектуру,тоесть там где нет ОС + нет ЯВУ, переносить лучше всего именно эту версию. Потому как для это требуется только кросс-ассемблер(можно простейший - не макро) и правка исходников самой ОС Unix v1,которая к слову говоря полностью написана на языке ассемблера и весит порядка 3Кбайт без области данных(буферы,...) ОС. Я думаю, это как раз идеальная ситуация где бы подошло для машин с "префиксами",имхо.Все.
-
? Patron - 05.06.2015 15:26
Имея опыт портирования Unix V6 на ДВК-2 могу уверенно утверждать, что без кардинальной переделки всей системной архитектуры - классический Unix на машинах без ММУ PDP-11 не имеет смысла. Чтобы туды не ушли в песок - требуется переделать архитектуру Unix на манер RT-11 - с оверлейным ядром в верхних адресах памяти и загружаемыми драйверами.
-
? марсианин - 05.06.2015 16:39
Я так же твердо могу сказать,обосновано,что ежели у нас нет ММУ,но есть огромное непрерывное адресное простанство(зачем оверлеи?),а также совершенно новая "голая" система - то имеет смысл переносить Unix v1,который, к слову,изначально ММУ не использует.Это проще - нужен только кросс-ассемблер+спецификации машины.
Далее, если переходить с нее на более старшую версию,допустим что это так будет,то исходники программ,включая на ассемблере,могут поменятся,но благодаря библиотекам - не слишком,имхо.В этом суть.Не в песок все :)
Единстенное,что нужно сделать,так это подправить системный вызов fork,в первой редакции Unix он работает несколько иначе,чем в старших.
-
? скептик - 05.06.2015 16:50
Не в песок... какой же песок из пары-тройки песчинок-энтузиастов... и не лень людям,вместо солнышка,мороженного детишкам,цветов жене...
-
? Дмитрий - 05.06.2015 19:01
>> одна для зеркалирования 128кб ОЗУ БК11М, вторая -512Кб памяти СМК.
Это нужно для режима БК11М. Я же все последнее время спрашиваю Вас про БК12 в новом скоростном режиме, иное меня пока не интересует. Для полноскоростного режима с префиксами или ММУ не нужны ни доп. память БК, ни 512кб СМК. в начале массива памяти располагается 64кб стандартного БК, остальная память с 200000(8) и до конца 32 или 64мб адресуется линейно с помощью префиксов или посредством ММУ. Плюс надо переделывать ПЗУ СМК для работы на такой скорости п/п чтения/записи дискет и переделать работу с винтом с CHS на LBA, чтобы убрать ограничение по объему адресуемый секторов на винте.
¤
>> При этом, GPU будет иметь доступ ко всей памяти 32-64мб
Уже хорошо. То есть его видео-ОЗУ будет в основной памяти, которая доступна БК12?
¤
>> свободно копировать любые области этой памяти в любые другие области этой памяти, в т.ч. и в первые 640кб.
Эмулятор процессора и сам сможет это делать. Префиксы дадут возможность использовать любые объемы данных внутри всей доступной памяти безо всяких переключений страниц, маппинга и прочих извращений. Вот поэтому и нужны префиксы. И мы с их помощью сможем загрузить код в любую часть ОЗУ и запустить его там на выполнение, а не только внутри скудных 64кб. Префиксы нужны. Гонять 64мб через крохотное окно СМК это бред. Это будет не новый БК, это будет недоразумение. БК12 в скоростном режиме нужен полноценный ММУ + способность адресовать всю память линейно. Иначе ничего хорошего из этого не выйдет.
-
? Patron - 05.06.2015 19:27
Unix V1 - ещё более убогий, чем Unix V6, который много раз портирован на машины без ММУ.
Самый недавний вариант здесь: [ http://zx-pk.ru/showthread.php?t=24962 ].
Есть и рабочий Unix V6 для БК-0011М с исходниками: [ http://vak.ru/lib/exe/fetch.php/proj/bk/bkunix-0.2-beta.zip ].
-
? марсианин - 05.06.2015 21:18
У меня язык не поворачивается сказать про research Unix'ы меньше чем - гениально.
Туркменского мальчика по аватарке - читал.
А вот турецкого дядю еще не все видели.Начинал когда-то с портирования V1 на x86. Теперь делает порт не пойми с чего под защищенный режим 386.Что как бы говорит - разобрался с первой - не проблема разобраться с любой и портировать куда угодно.Вот ссылки: http://www.singlix.com/runix/runix8086.html http://www.singlix.com/runix/runix386.html
-
? Patron - 05.06.2015 21:51
Гениальность Unix не делает его менее убогим.
У Unix V1 нет режима посимвольной активации - только построчная . Пользователь должен нажать <Enter> и лишь тогда ядро передаст предыдущие нажатия клавиш в процесс.
У всех классических Unix системный квант 2 сек, поэтому если активно больше 1 процесса - про интерактивность можно забыть.
Файловые системы всех ранних версий Unix совместимы только сами с собой - каждая версия Unix может работать только с носителями, созданными именно в этой версии.
Когда у машины нет ММУ, а ядро сидит в нижних адресах - каждое существенное увеличение размера ядра приводит к изменению стартового адреса, а значит - к несовместимости с имеющимися двоичными программами.
-
? марсианин - 06.06.2015 00:08
Канонический и raw режим.В каноническом нужно нажать <enter>.В raw накапливается некоторое количество после чего процесс пробуждается и считывает их.Помоему так.Кстати,реальный tty (консоль(не терминал) - электромеханическая машинка) как я понял не имеет canonical режима.
Незнаю как у классических(подробно не изучал),но в v1 30(30*20мс) срабатываний clock и процесс выгружается,если же он внутри системы,то по окончанию системного вызова также происходит своп.Да,и в памяти может находится только один процесс.
Насчет ФС.То кто-то предлогал идею как перейти на FAT,к сожалению его тут затерли полностью,вроде как бы убили что ли.:-( Помоему, litwr2 даже приводил вариант linux работающего на FAT'е.
Что касается адреса,а что мешает загодя,если памяти много, сдвинуть его подальше?
-
? марсианин - 06.06.2015 11:13
Вы уверены,что "посимвольной активации" нет? Получается,что даже игрушку тетрис не забацаешь,жаль.
-
? Patron - 06.06.2015 11:56
Вплоть до V7 в Unix нет даже экранного редактирования командной строки. Клавиша "Забой" не используется для редактирования, ввод нескольких знаков # означает, что такое количество предыдущих нажатий надо выкинуть из системного буфера строки, а ввод знака @ убивает в системном буфере строки все предыдущие нажатия ( потому и аасемблер в Unix такой странный, что не используются # и @ ).
-
? марсинани - 06.06.2015 12:12
Не ну экранного - конечно нет самой собой.Я просто будь теоритически мы бы всеравно не смогли управлять с помощью клавиш,я вот про что.
И все таки вы действительно уверены,что программа не может получать не буферизовнный ввод от консоли или терминала,или как вы говорите нет "посимвольной активации"? Получается ОС совсем убогая.
-
? марсианин - 06.06.2015 12:17
Только я не понимаю зачем тогда в v1 сделали raw режим и буферизованный?
-
? Patron - 06.06.2015 13:33
Я наврал - в V1 тоже есть посимвольная активация, которая может быть установлена вызовом sysstty.
-
? Patron - 06.06.2015 13:53
Более подробно про настройку телетайпа в V1 - здесь: [ http://pic.pdp-11.ru/images/v1stty.jpg ]
-
? марсианин - 06.06.2015 13:55
Ну,спасибо вам - вы хоть в отличие от многих не упертый и самоуверенный как некоторые.Я таких людей ценю. С такими как ВЫ всегда можно найти общий язык.
-
? марсианин - 06.06.2015 13:58
А у меня Unix's manual Programmer уже есть.
-
? марсианин - 06.06.2015 14:01
А вы не хотите принять участие в переводе Lions' Commentary on UNIX 6th Edition, with Source Code? Я наверное, после изучения древнего языка Си приступлю к перреводу, а потом уже к доскональному изучению Unix v6-v7.Вот такая система.
-
? марсианин - 06.06.2015 14:18
Но это не сейчас, а немного потом.
-
? марсианин - 07.06.2015 10:34
>Что касается адреса,а что мешает загодя,если памяти много, сдвинуть его подальше?
Даже не так.ОС в самый конец памяти(если она в дальнейшем будет разрастаться),так чтобы граничил со стеком,а процесс размещать в начальные(никакой несовместимости).А структуру user можно разместить перед процессом,чтобы свопить удобней(но можно так не делать).Учитывая,что область данных процесса отделяется от стека системным вызовом break.И при свопировании стек пакуется,если память огромная,а программа маленькая,то своп не займет много времени.Кроме того,современные устройства на порядки быстрей тех,что использовались во времена unix v1.Может и для жирных программ сойдет.Так что вот.Иногда старые идеи могут получить вторую жизнь.
¤
P.S. Но тут вообще шаляй-валяй,тем более все в чей-то голове.Не серьезно это. Даже у энтузиастов энтузиазм пропадает.Можно спать спокойно товарищи. Тем более что кто-то хитрый вообще хочет проехать на нем(энтузиазме), а потом всю славу приписать себе.Не, "за спасибо" - спасибо,не надо.И в карман его не положишь :)
-
? марсианин - 07.06.2015 10:52
Оффтоп.
В этой теме я медитурую и засыпаю под музыку Хачетыряна и всем советую http://www.youtube.com/watch?v=8CX7QQW5Urg
-
? марсианин - 07.06.2015 13:57
Вообще, я не понимаю тут некоторых почему у вас должны мозги за кого-то болеть.Вы тут советуйте,помогаете, а TheGWBV(и ей ни спасибо - ни цветов за STA) почти на полставке работает за человека,который ,не понятно,то ли за деньги, то ли за идею работает,и лепит не пойми что.Если это коммерческий проект будь добр отстегни деньги ему,чтобы он был мотивирован и сделал на отлично.И будь добр отвечать здесь людям,если за немотивировано разработчика практически проектируют всю систему. Мне кажется,что все должно быть проще,как в цивилизованных странах запада - разработчик разрабатывает свое решение и выпускает продукт на рынок.А также подробную доку,что это за HEX вообще. А покупатель уже решает - покупать такую штуковину или это гуано,и брать такое не стоит.Я уверен,что здешний так называемый руководитель водит всех за нос уже 4 года c другим проектом,и имеет за свои псевдопроекты хорошую репутацию всего лишь для увелечения "купли-продажи" своего барахла,которым он торгует.Выезжает на энтузиазме людей не прикладывая никаких усилий.Не забываем, что в нем восточноя кровь и таки восточная хитрость,вот так русские дурачки.Я не знаю, но, возможно, у него есть связи в ФСБ-КГБ-ШМЭГЭБЭ и госсорганах(возможно он там работает),чтобы продвинуть в учебно-образовательную сферу свою продукцию как "конструктор" для изучения процессорых архитектур и еще показать былые компы,дескать смотрите как мы умели передирать у запада.И сопроводят все это пару листками или брошуркой ,высосаную из головы разработчика.Годно.Бедные студенты и аспиранты :-( По мне лучше купить Development Board со всеми прибамбасам, типа usb,Pci-E и т.д. И радоваться.Или вообще пусть будет вот это: http://ramlamyammambam.livejournal.com/339940.html
-
? землянин - 07.06.2015 14:28
Марсиянин, ретро-железо не такой рынок в exUSSR, чтобы тут бабло заколачивать в серьезных масштабах. Тут даже ЧСВ толком не поднимешь, слишком мало народа уже осталось. Посему именно энтузиасты тут и остались, и торгуют тоже в качестве энтузиастов-коллекционеров, а не "чисто бизнесменов". Ну, как с марками люди - продают, меняют, выставляют. Потому что с марками возиться нравится, а не потому что бизнес-план.
-
? марсианин - 07.06.2015 14:55
Ты свою сказочку рассказывай кому-то еще.и продолжай флюродросить.
Все тут этот некоторый понимает - в одном из постов он ясно написал,что заказы будет получать за проталкивание в учебно-образовательную сферу,а не за счет простачков-энтузиастов,которым помахают одной частью тела(не рукой),но прежде они ему изрядно помогут,а им даже спасибо не скажут.Хи-хи,восточная хитрость,однако.
-
? землянин - 07.06.2015 15:12
Если бы Воланд имел блат у властей, он бы с БК не возился. Написал ТЗ, получил финансирование, втюхал "отечественный смартфон" или "отечественную ОСь", собранные по-быстрому из китайских запчастей и открытых исходников, и всего делов. Вы бы о нем тут и не знали, зачем ему тут перед несколькими даже не баксовыми миллионерами годами распинаться? Кстати, может вы бабло на переводе Lions' Commentary on UNIX 6th Edition, with Source Code хотите заработать - продадите перевод издателю, и наживетесь на миллионах заинтересованных обывателей? Если уж подозревать, так всех)
-
? марсианин - 07.06.2015 15:56
Я тебе уже написал на что он расчитывает.Значит что-то есть,понятно? Или,допустим,что он работает в ШМЭГЭБЭ,то тут иные цели,множественные.Зарплату или выручку от барахла он тогда сдает в кассу конторы.Если он говорит,что тратит большие деньги на проект,которые он берет не понятно откуда,то это все за счет налогоплатильщиков.В Америке,за деньги налоплатильщиков гражданам предосталяется все бесплатно,например GPS.
¤
Кстати,если это просто проект от энтузиаста энтузиастам,то пускай выпускает этот проект под свободной лицензией.Иначе это просто дымовая завеса.Закамуфлированный коммерческий проект.Если логику изучали,то должны знать закон непротиворечия.Может быть либо коммерческий,либо некоммерческий.Второго не вижу.
¤
>>Кстати, может вы бабло на переводе Lions' Commentary on UNIX 6th Edition, with Source Code.
Я предлагал сделать вместе Patron'ом может еще с кем.А они как соавторы могли бы подать на меня в суд и получить причитающиеся.Но вообще эта книга под копирайтом и за перевод можно пострадать.Так что не могу заработать.Кроме,того я уже передумал мне лучше перевети для себя - мне не нужны конкуренты в моей области системного программирования.Я помню, еще тут случай один был - чувак,вроде Smegol,бесплатно перевел PreliminaryUnixImplementation (500 страниц) и выложил ее всем желающим.Криво,да.И что получил за свой альтруизм. Насмешки,упреки и "плевки" за перевод.Нет - я не дурак,так делать,как он.
-
? Юрий - 07.06.2015 16:10
Это уже было. Видимо снова начинается обострение.
-
? марсианин - 07.06.2015 16:22
Меня просто возмущает,что TheGWBV даже не поблагодарили.А некоторым ни привета,ни ответа.Не возможно больше сдерживаться.Если у меня что-то человеческое есть,то вот сейчас оно проснулось.
-
? TheGWBV@ - 07.06.2015 16:40
Какой бы не был у Voland-а мотив, но SMK512 теперь не просто легенда из середины 90-х. Более того, любой может зайти на страницу http://forum.pk-fpga.ru/viewtopic.php?f=15&t=492 скачать разводку платы, прошивки и собрать себе свой экземпляр, или даже добавить что-нибудь в схему/прошивку.
Я думаю, тут с логикой у всех всё в порядке, и жизненного опыта достаточно, чтобы не стать жертвой своих заблуждений :)
Voland напористо идет к своей цели, как-то/чем-то мотивирует людей на краудсорсинг, не смотря на то, что у каждого свои мотивы участия. Разве это ему не в ПЛЮС?
Вот не будет скоро в мире ПАТЕНТного права, как это отразится на жителях Марса? Никуда не прятаться будет от конкуренции если? ;-)
-
? марсианин - 07.06.2015 17:07
>>Более того, любой может зайти на страницу http://eqysnk.i6e21xedl.owl.e/viewtopic.php?f=15&t=492 скачать разводку платы, прошивки и собрать себе свой экземпляр, или даже добавить что-нибудь в схему/прошивку.
Пока это не под свободной лицензией,вся продукция созданная вами или кем-то еще - контрафактная,преследуется по закону между прочим.Так что коммерчески может использавать только он,что и делает.Мне могут возразить ,что дескать как так за свое кто-то должен получать деньги.Да,пожалуйста.Но это все коммерческое поданное под видом обратного.
Надеюсь все здесь взрослые люди,если кто сам себя "заблуждается",то это его личный выбор.
¤
>>Вот не будет скоро в мире ПАТЕНТного права, как это отразится на жителях Марса?
Никуда не прятаться будет от конкуренции если?
Если еще дозреют, школа и вышка здесь никудышная ни чему не учит,то на Юпитер,а то и сразу в другую галактику,к инопланетянам, которые еще без конкуренции живут ;-)
-
? марсианин - 07.06.2015 17:10
>Да,пожалуйста получаи за свое,имеешь право.Но это все коммерческое поданное под видом обратного.
-
? марсианин - 07.06.2015 17:23
Не вижу чистого и неподкупного энтузиазма,альтруизма.Четыре года скоротно,напористого движения,и несвободная лицензия.И еще ни ответа,ни привета.Странно все это. Но это все лишь мое мнение не более.
-
? Voland@ - 07.06.2015 17:35
Не заходил с пятницы в ветку, так тут просто прорвало кое-кого :)
Никто не забыт, и ничего не забыто, я даже раздел/тему благодарностей на своём форуме планировал разместить, да всё руки не доходят, как размещу - сюда продублирую. Награды и цветы тоже будут)
¤
марсианин, с TheGWBV у нас совместная работа по сути только началась, и помимо словесных благодарностей на память ей останется всё протестированное железо. Понятно, что предстоящая ей работа по тестированию Бустера будет в трудозатратах кратно выше стоимости этих железок, но Вы должны понимать, что если бы я все труды оплачивал по реальной себестоимости - то проекта сегодня не существовало бы, потому что у меня таких средств попросту нет. Даже те 300 тысяч, которые я заплатил (на сегодня 260 из 300) моему разработчику, были у меня "лишние" в 2011 году, когда я и нашёл его. На сегодня у меня даже этих 300 тысяч не было бы - сильно поменялись жизненные обстоятельства. А какой-нибудь МЦСТ выкатил бы за проект наверное 1.5-2 млн руб. Я кстати у них в 2011 году интересовался, они тогда так и ответили - "мы читали Вашу ветку на электроникс.ру, обратитесь лучше к одному из энтузиастов, откликнувшихся там", подразумевая что их калькулятор мне не потянуть.
И потом, весь доход от продаж идет в проект же, а не на ништяки для личных телесных радостей. Например "Принца Персии" писать под Бустер за 30 тыс рублей. Да дешево, но даже эти средства вот лично Вы же не заплатите со своего кармана, даже если Вам поклоны бить с утра до вечера во всех ветках форума будут?
¤
>> что заказы будет получать за проталкивание в учебно-образовательную сферу,а не за счет простачков-энтузиастов
Не передергивайте, никто никакие заказы не получает, это были фантазии на тему, как сегодня можно было бы вторую массовую жизнь БКшке дать. И поверьте, если были бы госзаказы, то не пришлось бы привлекать энтузиастов, потому как для больших тиражей себестоимость разработки ничтожна, так что проще было бы не энтузиастам трассировку за шоколадки заказывать, а с какой-нибудь МЦСТ договор заключить, со сроками, обязанностями и авторскими правами.
¤
>> Не возможно больше сдерживаться.
И давно терпели? Давайте поговорим об этом :)
¤
>> Криво,да.И что получил за свой альтруизм. Насмешки,упреки и "плевки" за перевод.
Так ведь не важно какие у кого заслуги, если он с людьми разговаривать не умеет и не вписывается на поворотах, то кто виноват?
¤
>> Кстати,если это просто проект от энтузиаста энтузиастам,то пускай выпускает этот проект под свободной лицензией
А что, проект под несвободной лицензией? Для СМК512 выложено абсолютно всё, что нужно для его воспроизведения, какие проблемы?
¤
>> Я тебе уже написал на что он расчитывает
Ну этот бред про спецслужбы, деньги налогоплательщиков, кассу конторы, я даже не знаю как комментировать. Это не ко мне, это к доктору.
¤
>> Вообще, я не понимаю тут некоторых почему у вас должны мозги за кого-то болеть.
Странный человек. Свалился непонятно откуда, настрочил несколько абстрактных каментов про UNIX (практической пользы едва ли приносящих), не увидел в ответ кучи благодарностей и оплаты затраченных человеко-часов и давай на меня всех собак спускать, попутно придумывая, кого же я ещё тут обидел. Вступайте в питерский клуб обиженных, втроём против одного будет веселей :)
-
? Voland@ - 07.06.2015 17:40
>> Я же все последнее время спрашиваю Вас про БК12 в новом скоростном режиме
Мне сложно комментировать то, что сейчас не находится в активной разработке. Давайте разберемся окончательно с Бустером и тогда уже за БК12 возьмемся. К тому же я не знаю, какое настроение будет у разработчика к тому времени, наобещаю сейчас чего-то, а он потом откажется, как от палитр.
¤
>> Уже хорошо. То есть его видео-ОЗУ будет в основной памяти, которая доступна БК12?
Конечно. Вопрос только в том, какой способ доступа будет у БК12 ко всей этой памяти.
¤
>> БК12 в скоростном режиме нужен полноценный ММУ + способность адресовать всю память линейно
Одно дело что нужно, другое дело что там в итоге скажет разработчик, которому только ММУ ВМ3 заказывалось изначально.
-
? TheGWBV@ - 07.06.2015 17:59
Ну, вот есть, например, GNU-шная Cubieboard... Что-то не видно, чтобы кто-то производил именно её, а не сам разработчик, хотя пользуется железка спросом.
И всё почему? Потому что, издержки, которые потребуются на рекламу и пиар клона съедят весь профит :) Проще сделать похожую MarsBoard, сделать в ней что-то немного лучше, или просто по-другому разъемы расположить -- кому-то это покажется более удобным наверняка.
Уже много месяцев назад Vslav отдекапил и по полочкам разобрал ВП1-128, но что-то не видно альтернативного SMK512 на FPGA, не видно даже КНГМД+16кБ для БК0010 (хотя их с АНДОСом в 90-х разошлось вроде как много, и софта имеется по-более, чем для СМК). Что мешает людям изучить по опубликованным Voland и Vslav материалам алгоритм работы устройства, обладающего определенной инвариантностью, и сделать свой вариант, на полном законном основании не контрафактный? По поводу авторских прав на ВП1-128 имею мнение, что всё что было сделано в СССР, принадлежит в полной мере, как минимум, всем тем, кто в нем родился, в случае, если заказчиком разработки не был частный кооператив, но государство и его организации...
-
? марсианин - 07.06.2015 17:59
>>Не передергивайте, никто никакие заказы не получает, это были фантазии на тему, как сегодня можно было бы вторую массовую жизнь БКшке дать.
Я никому ничего не предергиваю,я ведь не Шурик.Считаю фантазии просто так не появляются.
В общем.Я уже все сказал,что хотел сказать.Залечиваите голову людям и получайте с них деньги за их грезы и ностальнию. Имеете право,как опытный психолог.Вот что.
¤
>>Вступайте в питерский клуб обиженных, втроём против одного будет веселей
Я ни к кому и ни чему присоединяюсь,нужны вы мне,я даже с вами ни в какой области(сбыта) ни где не персекаюсь.Мне за людей обидно,так скажем.
-
? TheGWBV@ - 07.06.2015 18:23
>> Мне за людей обидно,так скажем.
Это скорее всего от недостатка информации об этих людях и их мотивации. Для меня БК-ашка, её ассемблер и прочее -- это 100% хобби на данный момент времени. А хобби -- это процесс, на который с удовольствием тратишь и время, и деньги (в разумных пределах). В рабочее время мне приходится быть очень даже меркантильной ))
-
? Voland@ - 07.06.2015 18:26
>> Мне за людей обидно,так скажем.
За кого конкретно? У Вас эти люди защиты просили? С чего Вы взяли, что их обидели, если они никаких признаков этого не подавали? Если Вы хотите после каждой напечатанной тут буквы услышать кучу благодарностей, а не услышав - обижаетесь, так не надо и на других распространять это перманентное состояние обиды. Если Вам правда обидно за людей - автомат в руки и на Донбасс. А все остальное это пустозвонство. Здесь технический форум любителей БК, а не клуб психологической помощи страждущим, угнетенным и угнанным в IT-рабство. Ислючительно добрая воля: хочешь - пиши, хочешь не пиши, хочешь - покупай, хочешь - не покупай. Я же не плАчу, что осцилл Rigol стоит пол моей зарплаты и буржуи ненасытные с воздуха бабки заколачивают, и что кто-то на ММВБ обрек меня сегодня за ползарплаты покупать осцилл, который год назад можно было за четверть купить, тем самым кто-то четверть моей зарплаты в карман кладет. Может разыщите этого негодяя? Он меня обидел сильно.
¤
>> Считаю фантазии просто так не появляются.
Просто так вообще ничего не бывает. Даже собутыльники рады видеть друг друга не потому, что рады, а потому что вместе веселей бухать, чем в одиночку. Если всё раскладывать по полочкам, то жизнь окажется полное говно.
¤
>> Залечиваите голову людям и получайте с них деньги за их грезы и ностальнию.
Не вопрос. Закупите на 30 штук БК0011М текстолита, комплектухи, соберите и продайте по себестоимости, без наценки за сборку. А ещё лучше раздайте бесплатно, Вы же за чистую ИДЕЮ? Тем самым РЕАЛЬНО докажите всем, что Вы - герой, а я - говно. Только обычно дальше слов у героев не идёт...
-
? gid - 07.06.2015 19:37
А вы: Voland, TheGWBV и др. обратите внимание, как грамотно марсианин развёл вас на срач.
Это у него, и многих сотен других людей, работа такая. Их очень много сейчас по всяким форумам развелось. На модерируемых форумах, если модератор не из их числа - выпиливаются очень быстро, на немодерируемых и слабо модерируемых - резвятся вовсю.
Цель - дестабилизация общества, путём выведения людей из равновесия и создание внутренней нестабильности в стране.
Это одна из новых методик психологического воздействия на противника в так называемой гибридной войне.
Эти люди работают методично и упорно, спешить им некуда пока, на данный момент идёт подготовка и накачка общества негативом к следующим президентским выборам. Если достаточно долго нервировать людей в интернете, то они рано или поздно начнут срываться в реальной жизни на друзьях, родственниках, сотрудниках на работе и просто прохожих на улице, а нервные и озлобленные люди гораздо легче поддаются внушению и более управляемы. Им потом достаточно легко будет внушить кто виноват, и что делать - как обычно - майдан и свергать тиранов. Методика уже опробована на Ливии (успех), Сирии (частичная неудача, но второстепенные цели достигнуты), Египте (временный успех), окончательно обкатана на Украине (полный успех).
-
? марсианин - 07.06.2015 20:02
gid,по-твоему такие люди должны также обладать знаниями в ОС? Не слишком ли для них,а? Да-да,я работаю на госдеп,моссад:) Как и любой критик тоже.Всех РАССТРЕЛЯТЬ!!!Везде одни враги,одни враги,кругом одни евреи :)
-
? Voland@ - 07.06.2015 20:05
>> как обычно - майдан и свергать тиранов
Доля правды в этом есть. Но обычно такие люди сильно издалека не начинают и в предметную область особо не погружаются. Да и форум не того масштаба, чтобы дестабилизировать)) Возможно у него просто куча проблем в жизни и это на форум выплескивается.
У моей жены на работе очень злобная начальница была, всех кошмарила, до слез доводила, а когда на неё 6 человек неоднократно нажаловались начальству повыше и ей увольнение замаячило, она разрыдалась и рассказала о проблемах серьезных в личной жизни, ей стали помогать советами и она стала добрая.
Лично я уже не вдаюсь в эмоции. Просто пишу как есть. Иногда думаю - можно и промолчать, но так ведь человек от этого будет ещё больше усираться и доказывать "видите, молчит, значит ответить на мои аргументы нечего, значит я прав".
-
? Voland@ - 07.06.2015 20:07
марсианин, а теперь тебе не смешно от собственного бреда про КГБ-ФСБ-кассу конторы, когда тебя в причастности к организации майданов обвинили? )))
-
? марсианин - 07.06.2015 20:20
Я лишь предположил - не утверждал.Есть разница.Но для меня,здесь есть неустранимые сомнения, связанные с огромными суммами.Мое мнение - предположение,и я его высказал. А про меня уже утверждают ерунду.
-
? Voland@ - 07.06.2015 20:35
>> А про меня уже утверждают ерунду.
У меня с киевлянами такой же диалог. РФ у них 400 лет плохая, а США всегда бомбы кидают в гуманитарных целях. Мы (РФ, Каддафи, Хусейн, Асад, КНДР, Беларусь) делаем только плохое и только из-за того что моральные уроды. А все остальные делают плохое только из-за того, что их очень долго вынуждали к этому перечисленные товарищи, и только чтобы диктаторов наказать. Т.е. победить большее зло, применением меньшего в гуманитарных целях.
¤
>> связанные с огромными суммами
БК - моё хобби с детства. Был у меня период, когда зарабатывал около 200тыр (суммарно с основной работой) - для Москвы это не такая астрономическая сумма, обычный приличный инженер 100тыр получает. Тогда подумал - неужели я ради любимого хобби не смогу 1.5-2мес работы вложить в проект? Ну и вложил. А в ответ, как Вы сами выше написали - только плевки от таких как Вы.
-
? TheGWBV@ - 07.06.2015 20:39
Методика эта ещё в начале 20-го века была успешно применена к Российской Империи, а также применялась при раскулачивании в молодом СССР. В своё время меня поразило, что деда раскулачили -- отдал свой дом (единственный каменный на селе) под сельсовет, уехал в Казахстан; а он ещё и воевал в Великую Отечественную "..., за Сталина", и до Берлина дошел, и пол Восточной Европы потом прошел. С войны вернулся назад, в родную Сибирь, был печником...
В общем, если это была попытка дестабилизации, можно считать, что она не удалась, и даже с треском провалилась :)
-
? марсианин - 07.06.2015 21:19
Америка,уникальная и практически единственная страна эмигрантов,где доминируют ценности третьей квадры.Где как никак,но ценят своих людей,где строят всякие беспилотники,а не мясо на убой,где существуют не только личная свобода,но и экономическая.
Litwr2,говорил про негров,дрянной хлеб,и высокие(10 летние) технологий в ВПК.Но в остальном отсталость от запада будет сохранятся всегда. Возможно, он прав.Импортозамещение и т.д. все туфта ТИПУНА.Авторитарные и тоталитарные страны никогда не взлетают,хотя вроде все возможности есть.Если бы не запад,конец ученым - всех расстреляли бы(пока нужны против запада),как хотел когда-то Сталин и устроят ГУЛАГ не согласным.Будет полная однородность и единение,одни Шариковы.В это всегда вырождаются 2-квадровые страны. На это есть причины.Они в области психологии,как я считаю.Я изучаю соционику.Так вот во власти соперничают всего две квадры,другие в сторонке,но немного участвуют.
Можете почитать про них,квадровые ценности:2-ая, которая в северной нигерии сейчас http://socionika-forever.blogspot.com/2008/03/blog-post_28.html и третья (надо пролистать немного)http://socionika-forever.blogspot.com/2009/12/1-2-3.html. Нет никакой надежды на хорошее будующее :-(
-
? марсианин - 07.06.2015 21:38
Но я не утверждаю,что нам бездумно идти в объятия США,как было при Ельцине.США вторая США ввиде России не нужна,кому нужен конкурент?Они нам лучше не сделают. Я это понимаю. Но нужно трансформироваться как это делает Китай,под мудрым руководством партии,но у них правда все лучше,интегральный тип(то бишь народ) из третьей квадры. :-(
-
? TheGWBV@ - 07.06.2015 22:03
>> Но нужно трансформироваться как это делает Китай,под мудрым руководством партии,но у них правда все лучше,интегральный тип...
Так интегрируйтесь, делитесь тайнами системного программирования с желающими и подающими надежды. Что Вам мешает быть "китайцем"? ;-)
СССР был жив только благодаря институту наставничества. Как только Гайдар и прочие деятели заразили чиновников и интеллигенцию эгоцентризмом всё пошло в разнос... типа каждый сам за себя, грабь что плохо лежит под себя, потом на базаре всё само отрегулируется-утрясётся...
-
? марсианин - 07.06.2015 22:17
>>Так интегрируйтесь...
Нет,не интегрирующийся,а интегральный - совокупный то есть.Я понимаю не все понятно,нужно немного капнуть соционики,если хочется.Чтобы иметь интересный взгляд на политику и общество.
>>китайцем
Китайцы пройдохи и торговцы,не хуже америкосов,но пока их ведет партия.Возможно она уйдет к 2050 году.Си Цзипин когда-то сказал,что у них наступит тогда демократия.
-
? марсианин - 07.06.2015 22:22
>Но нужно трансформироваться
имелось ввиду в что-то подобное США,но самостоятельное от них.Правда, не ждите какой-то великой цели скрепляющей народ...Каждый будет сам по себе,как коты прям :)
-
? TheGWBV@ - 07.06.2015 22:24
Интегрироваться и присовокупляться разве не одно и тоже? ;-)
-
? марсианин - 07.06.2015 22:31
>>Как только Гайдар и прочие деятели заразили чиновников и интеллигенцию эгоцентризмом всё пошло в разнос... типа каждый сам за себя, грабь что плохо лежит под себя, потом на базаре всё само отрегулируется-утрясётся...
Люди с иеахической психологией при капитализме все превратили в гипериеархию,думая что на западе так,но они это лишь видят,потому что хотят видеть в силу своей сущности,таков человеческий материал,из пластелина глину не сделаешь. :-(
-
? марсианин - 07.06.2015 22:34
Интегрироваться и присовокупляться разве не одно и тоже? ;-)
Для Шурика ,наверное,это одно и тоже ;-)
-
? марсианин - 07.06.2015 22:58
>>Каждый будет сам по себе,как коты прям
Не скорее всего должно быть вроде атомизированного общества,набор разумных эгоистов,которые объединяются, если выгодно вместе защитить свои интересы и не только.Не как северной нигерии,где один ведет,а другие следуют.А если мы все идем в "обрыв"?
-
? TheGWBV@ - 07.06.2015 23:01
Ерунда. Все люди во всех странах одинаковые. Если вспомнить большинство американских фильмов, увиденных с середины 80-х, складывается впечатление, что там сплошная коррупция, продажные полицейские, процветает проституция и наркоторговля, большие корпорации лишают личной и экономической свободы граждан, мечущихся в поисках заработка, чтобы заплатить по кредиту банкам, и порой готовы на преступления, чтобы вырваться из этого круговорота жизни и уехать в Мексику. Но зато там делают джинсы, процессоры для SkyNet, киборгов Т-2, и садо-мазохистов Тома и Джерри, пока в СССР несчастные граждане наполняют госбанки вкладами, о которых в США могли только мечтать, летают в Космос даже на беспилотных Буранах... И тут хитростью (под видом присоединения к плюрализму мнений) приходят к власти страждующие любой ценой иметь возможность покупать джинсы и магнитофон Sharp чуть ли не на каждом углу. То ли им не в домёк было, что вместе с джинсами и всё остальное к нам прибудет, то ли работали на ЦРУ...
-
? марсианин - 07.06.2015 23:03
Тут уже жуткий оффтоп,политота,я заканчиваю.Возможно,Волька уже готовится к зачистке.
-
? марсианин - 07.06.2015 23:19
Чего вспоминать СССР? Маркс - дурак, не учел психологический фактор и силу инициативности,люди вещисты,и будут стремиться к благам,и быть непорочным сложнее быть проженным,мало кто может быть такими.Все это утопии.По типу фантазий Гитлера про арийцев.
Как никак США приспособился и живет,СССР рухнул.На помойке истории.Какие еще доказательства нужны,кто лучше?
-
? TheGWBV@ - 07.06.2015 23:37
>> Не как северной нигерии,где один ведет,а другие следуют.А если мы все идем в "обрыв"?
Раз в 6 лет можно менять направления согласно Конституции, а если много несогласных, и раньше ;-)
Видимо, пока большинству выгоднее идти в определенном направлении. Тут всё как в коммерческой компании -- пока лидер всех устраивает наемные сотрудники создают продукт, успешно его продают, получают адекватное вознаграждение (выгоду). Как только гармония совместного бытия нарушается, наемные работники "залезают в бутылку", фирма идет ко дну, работники разбегаются по другим местам или, обнаружив нового лидера внутри себя, открывают другую фирму...
Я эти процессы уже десяток лет наблюдаю и со стороны, и изнутри. Например, компании, в которых есть командный дух, очень редко меняют адреса офисов, в отличие от тех, где каждый сам за себя (там и время жизни учетной записи в домене 3..6 месяцев от силы).
-
? Дмитрий - 07.06.2015 23:42
>> Мне сложно комментировать то, что сейчас не находится в активной разработке. Давайте разберемся окончательно с Бустером и тогда уже за БК12 возьмемся.
>> К тому же я не знаю, какое настроение будет у разработчика к тому времени, наобещаю сейчас чего-то, а он потом откажется, как от палитр.
Держите нас в курсе событий. Как только будет какая-то информация/размышления по этому - просьба сразу писать сюда. А разрабу сказать, что идея с префиксами отличная и пусть не думает (в шутку, конечно), что мы от него так просто отстанем :)
-
? марсианин - 07.06.2015 23:44
Кстати,Маркс,еврей, черпал идеи с иуадаизма. http://www.istok.ru/library/jewish-education/jews/preiger-telushkin-8/preiger-telushkin-8_375.html Идеология созданая на религиозной основе оказалась провальной.Еще один вариант из их бесконечного множества для промывки мозгов людей канула... туда ей дорога.
-
? TheGWBV@ - 07.06.2015 23:50
>> Как никак США приспособился и живет,СССР рухнул.На помойке истории.Какие еще доказательства нужны,кто лучше?
Так некоторые социологи как раз таки считают, что США сохранились только благодаря тому, что смогли хитростью развалить СССР. Точнее не дать ему переродиться эволюционным путем, толкнув на революционные шаги, с помощью Ельцина и прочих... Сейчас России также требуется перерождение, нужно много грамотных и предприимчивых технарей...
-
? Voland@ - 07.06.2015 23:52
марсианин, предлагаю маркса и все разговоры несправедливости бытия вынести в отдельную тему :)
Обещаю туда про Бустер ничего не писать, корыстные товары и услуги не предлагать :)
-
? TheGWBV@ - 07.06.2015 23:56
Усё, возвращаюсь к БКашке, НХ-сервер Patron-а изучать ))
-
? марсианин - 08.06.2015 00:06
Раз в 6 лет можно менять направления согласно Конституции, а если много несогласных, и раньше ;-)
Не будьте наивны,вы сами в это верите,скорее гарант Конституцию поменят,чем она его ;-)
>>Видимо, пока большинству выгоднее идти в определенном направлении.
Да и учитывайте человеческий материал,авторитарная психология людей будет здесь доминировать еще долго,я на лучшее не надеюсь.Все плохо :-(
-
? Voland@ - 08.06.2015 00:07
>> А разрабу сказать, что идея с префиксами отличная.
Никто не спорит что отличная, вопрос в том, кто её тестировать будет и сколько лет глюки всплывать будут..
Софт-процессор ВМ1 например протестировать на 99% легко - запустить штук 50 игр, в течение дня погонять их. А кто так же протестирует новую архитектуру хотя бы на 80%.
-
? марсианин - 08.06.2015 00:09
? Voland @ - 7 июня 23:52
Да,ладно я уже все проговорил,что было.Уже ничего писать не буду.Можете сохранить страничку.Пусть Волька трет,мне пофиг.
-
? Аноним - 08.06.2015 02:57
Куда уехал цирк вертине марсианского поллитрполитклоуна ;-)
Пока эти диванновойсковые клоуны на подсосе у госдепа мы успеем перевооружиться и импортозаместиться :-)
Работать клоуны солнце еще высако ;-)
-
? Дмитрий - 08.06.2015 09:46
>> А кто так же протестирует новую архитектуру хотя бы на 80%.
Пусть сделает, я могу взяться. За ММУ не ручаюсь, с ним не работал, но при наличии грамотной документации разберусь. Самый простой вариант я приводил как сделать префиксы. Если потребуется могу еще раз расписать с примерами. Тестирование там не сложнее. Самое простое - написать мемтест всей памяти. Там и пересылка, и сдвиги, заодно будет проверочный тест МС памяти.
-
? Voland@ - 08.06.2015 12:56
Дело в том, что ранее разработчик четко ставил меня перед выбором: ММУ 4Мб как в ВМ3, либо префиксные 32разряда - что-то одно. Смешанный вариант он категорически отказывался тогда делать. Сейчас я завел разговор, сказал что есть такое пожелание и готовность тестировать, на это он спросил - какая четко задача стоит? Без четкой задачи, "чтобы было" он не любит ничего делать.
Лично мне видится более практичной и менее трудозатратной идея просто допилить ММУ, чтобы за счет доп. старших разрядов он умел не 4МБ адресовать, а 64МБ. Изменения в архитектуре - минимальны, доп. объем тестов минимален, вероятность внесения ошибок в архитектуру - минимальна. Но разработчик почему-то говорит, что такое решение повлечет несовместимость со стандартом PDP-11/70.
-
? Patron - 08.06.2015 14:52
Избежать несовместимости легко - нужно чтобы по умолчанию была точная копия родного ММУ, а расширенные возможности включались каким-нибудь хитрым обращением к SR0, например - записью старшего байта SR0 сразу после чтения: ( MovB @#SR0+1,@#SR0+1 ).
-
? Voland@ - 08.06.2015 15:29
>> Самое простое - написать мемтест всей памяти. Там и пересылка, и сдвиги, заодно будет проверочный тест МС памяти.
Это пожалуй будет только тест на то, что что-то как-то работает, и что это можно назвать процессором ) Впрочем я не спец в тестировании новых архитектур, но разработчик такое тестирование считает мягко говоря слишком упрощенным.
-
? Дмитрий - 08.06.2015 17:05
>> какая четко задача стоит
Странный вопрос. Адресовать всю память и размещать исполняемый код в любом участке памяти, а не в жалких 64кб. Извращаться с крошечными окнами для перегонки графики в видео-ОЗУ бустера - увольте. И не напоминайте мне про то, что бустер будет сам гонять данные. Для того, чтобы он что-то перегонял, сначала программист должен ему загрузить эти данные в память, используя скудные ресурсы основной памяти. Ни о каком быстродействии даже речи не идет.
¤
>> Без четкой задачи, "чтобы было" он не любит ничего делать.
Я что-то не пойму. В ТЗ был ММУ, он предложил префиксы. Сейчас он говорит, что сделает что-то одно. Оно и понятно - он следует ТЗ. Но непонятна позиция "ради непонятно чего не буду делать". Ему какая разница? Его чтоль будут просить написать ОС? Он получил задание - вперед, творить. Есть какие-то улучшения - пусть выкладывает. Но разве он сам не понимает, что нормальный процессор должен работать в protected и real режимах.
¤
>> такое решение повлечет несовместимость со стандартом PDP-11/70
А у нас и так никакой совместимости с ПДП. Об этом, кстати, Вами же заявлялось в прошлом, вроде, году. Голый проц с ММУ без фич ПДП в виде стандартных "родных" устройств, без FPU, без user/kernel режимов - нафик никому не нужен будет. Поэтому и решили, что будет аналог 1801 с СМК (прошивку которого надо переделывать - я об этом говорил), но на большой скорости. Так что забудьте про ПДП.
¤
>> разработчик такое тестирование считает мягко говоря слишком упрощенным
А я и написал, что это самый простой способ. Более сложный - писать полноценный тест всех команд. Только пока до этого еще так далеко, что разговор вести рано.
-
? Voland@ - 09.06.2015 10:13
>> Странный вопрос. Адресовать всю память и размещать исполняемый код в любом участке памяти
Это понятно. Вопрос был про другую цель - какие задачи будут решаться, какие ОС портироваться/писаться. По большому счету разработчик хочет подстраивать архитектуру под конкретного программиста, который будет заниматься вопросом ОС для БК12. Но сами понимаете, с Вакуленко например он был знаком заочно, и его пожеланиям архитектурным доверял (шина UEXT была по рекомендации Вакуленко интегрирована), а если просто незнакомый ему человек без опыта проектирования архитектур и написания ОС говорит ему - я буду писать ОС с нуля, вот такую вот архитектуру под меня сделайте - он относится к этому очень скептически, не в обиду, просто как есть говорю. Т.е. аргументы ему нужны какие-то более весомые, в данном случае.
¤
>> Я что-то не пойму. В ТЗ был ММУ, он предложил префиксы.
Префиксы им были предложены не в дополнение к ММУ стандарта PDP-11/70, а вместо него.
¤
>> Ему какая разница? Его чтоль будут просить написать ОС?
Ну как это какая. Вот кто-то насоветовал STA015 поставить, он был не рад этой идее, но поставил. В итоге куча бесполезно потраченного времени, как с его стороны, так и уважаемой TheGWBV. Обычно он не просто так сопротивляется, а на основании очень большого опыта проектирования за плечами, из нежелания лепить франкенштейнов или решения, для которых ОС надо писать с нуля, а значит никто её не напишет (давайте смотреть правде в глаза). Та же ситуация и с компиляторм, допустим LLVM он под хорошее настроение в общих чертах портировал под PDP-11/70, без тестирования пока. Если архитектуру он сделает сам, то желание что-то портировать под неё у него может появиться. Если под кого-то, то едва ли он будет под эту архитектуру что-то делать. Если хотя бы было какое-то ТЗ по желаемой архитектуре, которое аргументированно модифицировалось и дополнялось бы сообществом - то можно было бы о чем-то говорить.
¤
>> без фич ПДП в виде стандартных "родных" устройств, без FPU, без user/kernel режимов
Для запуска Unix например никакой FPU нафиг не нужен, да и с такой скоростью процессора можно FPU эмулировать, тем более, что микрокод PDP по сути это и делает для FPU.
-
? Аноним - 09.06.2015 12:27
А у Воланда есть лицензия на набор инструкций PDP-11? Важный момент в случае массового использования в школах и ВУЗ-ах, где даже за Win учителей, бывало, трясли.
-
? Voland@ - 09.06.2015 12:39
Никто в ВУЗах ничего использовать не собирается, забудьте уже. Это реально не более, чем заявленная стационарная база на Луне силами почти лишившейся космической отрасли дефолтной санкционной нефтедержавы к 2030 году. Не будет её там.
-
? Voland@ - 09.06.2015 12:41
И кстати, у СССР что, лицензия была на инструкции PDP-11/70 ? Инструкции вообще можно лицензировать?
-
? Аноним - 09.06.2015 12:56
СССР был врагом Запада. И имел право реквизировать всё что угодно для нац.безопасности (хотя на худ.литературу вроде закон соблюдали, печатали массово только западноую классику, вышедшую до 197x). А Россия во всех международных организация по копирайтам.
Инструкции можно лицензировать, у всех x86, в том числе у AMD и VIA, есть лицензия от Интела, у ARM - от ARM Holdings. На x86-64-расширение Интел заключал соглашение с AMD.
Оффтоп: Что по космической отрасли, то сейчас Вас gid заподозрит. В нагнетании на благо Запада в целях развала)
-
? TheGWBV@ - 09.06.2015 13:53
Срок действия патента, принадлежащего патентовладельцу, предусмотрен патентным законодательством. ... Например, в России, Швейцарии, США патент на изобретение выдается сроком на 20 лет, в Шри-Ланке - на 15 лет. В большинстве стран этот срок исчисляется со дня подачи заявки (Россия, Бельгия, Великобритания, Германия, Франция, Швеция); в Канаде и США - со дня выдачи патента. Значительное число патентов утрачивает силу досрочно из-за неуплаты патентных пошлин. http://sci-lib.biz/intellektualnoy/213-srok-deystviya-35621.html
-
? Аноним - 09.06.2015 14:28
x86/16 уже лет 35, x86/32 лет 30, ARM 30 лет, что-то не видно, чтобы свободно давали. NVIDIA хотела как-то x86, но не дали.
"Китайские инженеры были вынуждены использовать MIPS-архитектуру в связи с тем, что у Китая отсутствует лицензия Intel на прямое внедрение x86-архитектуры. Нет ее как по финансовым, так и по политическим причинам. Финансовая сторона заключается в том, что требуемая лицензия обошлась бы стране не в один миллиард долларов. Политический же аспект состоит в невозможности получения этой лицензии даже в теории, так как со стороны США имеются санкции в отношении Китая на передачу ему высокотехнологичных разработок." А у "тайваньской" VIA есть, поэтому они право имеют.
¤
Хотя для внутреннего рынка кто знает. Китай ни x86, ни ARM вроде не делает пиратские, по крайней мере. Тут международные законы надо смотреть (у России у них приоритет же вроде перед национальными, если она участвует в соотв.организациях). Россия член ВТО, срок должен быть не менее 20 лет, получается, в соответствии c (1994): https://ru.wikipedia.org/wiki/Соглашение_по_торговым_аспектам_прав_интеллектуальной_собственности
.
¤
Хотя на PDP-11 и правда патент истек, судя по интернету, в 1995 (25 лет был?) "All patents covering the PDP-11 architecture are expired by now. The PDP-11 is completely unencumbered from an intellectual property point of view since 1995." Вот здесь патенты перечислены: http://opencores.org/project,w11,resources . Так что PDP-11 использовать можно свободно в школах, был неправ. А софт, наверное, авторскими правами регулируется, поэтому защищен дольше.
-
? Дмитрий - 09.06.2015 14:30
>> какие задачи будут решаться, какие ОС портироваться/писаться
Меня интересует аналог MS-DOS+NC и, в дальнейшем (если все сложится удачно), графической оболочкой по типу 3.11 или что-то похожее, *nix'ы мне неинтересны - старые версии, которые подойдут к БК, убоги и устарели на годы. Если кто-то будет адаптировать - пожалуйста. Насколько мне известно, есть желающие адаптировать RT11. Кроме того, когда делали БК, нас, как пользователей, даже не спросили: что вам от машины нужно - будут они спрашивать: что дали, то и жрите. Также вряд ли у кого из авторов софта для БК были в те времена опыт проектирования архитектур/ОС. Делали то, что наиболее подходит к данной конфигурации - дешего и сердито. Да, не без недостатков. Да, иногда кривовато и неудобно. Но это работало и все были довольны - те же три ОСи развивались и выпускались новые версии. Среди нас, оставшихся энтузиастов БК, разработчиков с такими квалификациями нет. А если и есть, то нахаляву они делать ничего не будут. А мало-мальски приближенная к современным ОСь требует гораздо больше денег и времени, чем на разработку БК12. Так что забудьте про профессиональную разработку. Если подходить с позиции подстраиваться под нужды одного, второго, третьего - лучше забейте.
¤
>> шина UEXT была по рекомендации Вакуленко интегрирована
И где Вакуленко теперь? Мб он на форуме и присутствует, но я не вижу его готовности писать/адаптировать ОС. К тому же под UEXT есть VGA-адаптер. Дешевый. Готовый. Далее. Есть и СОМ для него же. И еще куча устройств, емнип, включая мр3. Если будет шина - для чего тогда все это засовывать на плату БК12? Фактически все, чье присутствие озвучено на БК12 есть на UEXT. Тогда для чего эта UEXT?
¤
>> Префиксы им были предложены не в дополнение к ММУ стандарта PDP-11/70, а вместо него.
А он сам не понимает, что процу нужны оба режима работы? Недаром же их реализовали в современных архитектурах. Винда, к примеру, работает в реальном режиме линейно адресуя всю память. MS-DOS может работать в обоих режимах. Без ММУ БК12 не купят поклонники RT11 (по-крайней мере были такие заявления). Без real mode БК мне мало интересна (хотя рано пока говорить - еще неизвестно как там будет ММУ реализовано). Делать урезанный комп (пусть и с большим быстродействием) за немалые деньги смысла нет. Софта под него нет. Документации нет.
¤
>> из нежелания лепить франкенштейнов или решения, для которых ОС надо писать с нуля
А придется писать с нуля.
¤
>> а значит никто её не напишет (давайте смотреть правде в глаза)
Давайте смотреть. Для чего тогда задумывалась БК12? Если у вас уже была уверенность, что никто ничего писать не будет. И почему не будет? Адаптировать unix/rt11 желающие есть (главное, чтобы не на словах). Я тоже готов писать, но не имея даже малейшего руководства программиста и описания архитектуры сказать: вот прям щас возьму и напишу заготовку ДОС за вечер - я не могу. Писать сложные линуксы/винды с граф. оболочками точно никто не будет. А адаптация современных исходников ОСей будет сравнима с написанием с нуля. Опять тупик.
¤
>> Если архитектуру он сделает сам, то желание что-то портировать под неё у него может появиться.
ЕСЛИ появится. Он, по вашим же словам, иногда неадекватно реагирует на предложения. То, что он захочет писать может не понравится пользователям, а их будет крайне мало. Опять подстраиваться? Да и сколько он запросит за адаптацию чего-либо?
¤
>> Если хотя бы было какое-то ТЗ по желаемой архитектуре, которое аргументированно модифицировалось и дополнялось бы сообществом
А где объемное ТЗ по БК12? Где расписано все. Где обсуждение сообществом? То, что вы выложили - 10-строчное ТЗ - это не ТЗ, а так, набросок будущей БК. Предложения не принимались. Единственное помню - PCI vs ISA и LPC vs UEXT. Ни организация памяти, ни ММУ, ни система команд, ни видеоадаптер, ни другие устройства толком не обсуждались и не выносились изменения. Разработчик не хочет ничего лишнего делать. Правильно. ТЗ поверхностное, вот его и придерживается. Я предложил палитру для уменьшения передаваемых данных - разработчик кривится, не нравится ему, не хочу делать. А все почему? А потому что в ТЗ этого не было. И бустера не было. Это его инициатива. Вот он и не хочет делать наперекор своим задумкам.
¤
>> Для запуска Unix например никакой FPU нафиг не нужен
А кто сказал, что не нужен? ОСи самое может быть и нет, а другому софту? А остальные фичи разве не нужны? Не берем в расчет самые ранние убогие версии юникса.
-
? Аноним - 09.06.2015 14:38
>Винда, к примеру, работает в реальном режиме линейно адресуя всю память. MS-DOS может работать в обоих режимах.
Это какая Винда? Тут, видимо, описка...
-
? TheGWBV@ - 09.06.2015 14:42
c х86 дело может усложнятся тем, что ранние наборы команд входят в более поздние (расширенные) выпуски, т.е. новый патент защищает как бы старый...
Судя по тому, что ИНТЕЛ выпустил Quark, пока ещё есть рыночная ценность набора команд i486, Pentium и более молодых :)
-
? TheGWBV@ - 09.06.2015 15:07
по БК12... imho, пусть будет MMU как у DEC или ВМ3, тогда можно будет ДЕМОС туда портировать, написать эмулятор КЦГД под GPU, и получить приличный комп для разработки ПО на С. Затем портировать/прикрутить к полученному UNIX-у файловую систему FAT16/32 (чтобы более не испытывать неудобства обмена данными с современными ПК). Тогда уже и желающих графическим рабочим столом заняться может прибавится...
-
? Дмитрий - 09.06.2015 15:38
>> Это какая Винда? Тут, видимо, описка...
А что не так? Современная, хотя бы начиная с ХР. Про более ранние не скажу. Если упрощенно, то код пользовательской программы исполняет виртуальная машина ntvdm, а в 64-битных еще и в связке с WoW - неважно где размещен сам код адресно, в любом свободном участке. И две программы с одним и тем же base address работают одновременно без проблем. Ну и у виндовых программ нет такого понятия как перемещаемый код.
-
? Аноним - 09.06.2015 16:21
"Реальный режим" - имеется в виду описка. Реальный это 16-бит, с которого i8086 стартовал. Винда с 95-ки работает в защищенном режиме 386+ процессора с примесью других. В юзер-моде 32-разрядным нативным процессам/задачам она представляет линейное адресное пространство (через страничную/виртуальную организацию памяти, т.е. используя MMU), это да (а другим - свои, типа поддержки DOS-приложений или там OS/2). А сама работает (на уровне ядра), отображая физ.память в адресное пространство, как ей нравится.
-
? Voland@ - 09.06.2015 16:22
>> *nix'ы мне неинтересны - старые версии, которые подойдут к БК, убоги и устарели на годы
А чем MS-DOS круче чем Unix V5/6/7 ? К тому же MS-DOS вроде не умел использовать защищенный режим.
¤
>> те же три ОСи развивались и выпускались новые версии.
Не будем возвращаться к прошлому, тогда были другие реалии, и разработка этих ОС во-первых приносила ощутимый приработок авторам, во-вторых пути тогда были безальтернативны.
¤
>> Если подходить с позиции подстраиваться под нужды одного, второго, третьего - лучше забейте.
Речь не об этом. В условиях, когда нет серьезных ресурсов, нужно идти по пути наименьшего сопротивления, особенно если результатом ожидается не растительно-жировая пародия на шоколадку в красивой обертке, а натуральный шоколад пусть и в неброской упаковке.
¤
>> Фактически все, чье присутствие озвучено на БК12 есть на UEXT. Тогда для чего эта UEXT?
Зайдите на сайт, выберите устройства UEXT, которые есть в БК12, добавьте доставку от 29 евро, пересчитайте в рубли.. Боюсь Вы огорчитесь)
Если бы я был ушлым, как тут расписывал марсианин, я бы выкинул это всё с платы БК12 и из Бустера, закупил бы оптом по 30 разных устройств UEXT и барыжил бы ими с трехкратной наценкой (ибо с доставкой 1-2 устройства всё равно каждому отдельному человеку выйдут дороже). В рамках БК-12 было желание собрать как можно больше функционала в одной коробке, чтобы это было доступно всем, при минимальной добавленной себестоимости. А что касается UEXT - там в каталоге целая куча устройств, которых в составе БК12 нету.
¤
>> А он сам не понимает, что процу нужны оба режима работы?
Допустим я летом заказал построить бассейн без крыши, нашёл подрядчика, оплатил работы. Идет стройка, наступает зима, и я осознаю, что будет холодно там плавать зимой и надо крышу со стенами строить. Говорю подрядчику - денег больше нет, но есть проблема. Он говорит: могу построить крышу, но бассейн будет в 2 раза меньше. Или не будет одной стены. Я ему говорю - прости, но мне надо и то и другое, а денег больше нету. Как быть подрядчику, бесплатно строить? Или сфелонить, поставив стены из стекла, а крышу из шифера?
¤
>> А придется писать с нуля.
Так вот поэтому ищутся пути сразу сформировавшийся продукт адаптировать, а не писать с нуля то, что возможно никогда в продукт не сформируется, а останется экспериментом самом в себе.
¤
>> Писать сложные линуксы/винды с граф. оболочками точно никто не будет.
Сильно сложные и не надо, можно для начала unix-овые оболочки уровня win 3.1 адаптировать.
¤
>> иногда неадекватно реагирует на предложения.
"0Неадекватно" мною сильно сказано, просто у него своё видение через призму опыта и всяких неудачных предложений в виде STA015, которые были ранее ему навязаны, а потом потерпели неудачу.
¤
>> И бустера не было. Это его инициатива. Вот он и не хочет делать наперекор своим задумкам.
Кстати и СМК512 в виде отдельного устройства - это была его инициатива. Так что если бы не его инициатива, сейчас вообще ничего ещё не было бы ))
¤
2->TheGWBV:
Про Ваш пост разработчик сказал, что это примерно то, что он в последнее время и предлагал - сделать как в PDP-11/70, поставить FAT32 и Unix, ведь Unix V5/6/7 уже есть для PDP и он рабочий, надо только его правильно адаптировать, сделать некоторые драйверы вроде SD и FAT32, чтобы можно было удобно работать с носителями. Это по крайней мере реалистичный и обозримый путь получения результата. Если Unix V6 не нравится, можно взять BSD 2.11, она тоже портирована. Тем более Unix вообще аутентичен для PDP, так что тут никак не будут затронуты "чувства верующих", т.е. то что некогда один из участников назвал "отступлением от идеологии".
Кстати я общался на zx.pk с человеком, который там портированием UNIX под УКНЦ занимается. Он сказал что свои силы оценит в рамках УКНЦ, и там же попытается FAT адаптировать, и если что-то выгорит, может и примет участие в адаптации этого всего под БК12.
-
? марсианин - 09.06.2015 16:43
> Это какая Винда? Тут, видимо, описка...
>>А что не так? Современная, хотя бы начиная с ХР.
Диме надо почитать получше про защищенный режим 386.Там правда есть еще интересный режим unreal(подходит под описание) https://ru.wikipedia.org/wiki/Unreal_mode ,но о нем мало кто знает.Но винда под ним точно не работает.Все я в домике,меня нет,я не отвечаю. :)
-
? Дмитрий - 09.06.2015 16:50
>> "Реальный режим" - имеется в виду описка.
А вот вы о чем. Да, тут у меня нестыковочка. Забывать все это стал. Нынешнее программирование расслабляет. Я толком для ДОС и не писал практически, изучал все это на ее закате.
¤
>> А чем MS-DOS круче чем Unix V5/6/7 ? К тому же MS-DOS вроде не умел использовать защищенный режим.
А кто мешает на скоростной БК сделать аналог вирт. машины для защиты не принадлежащих выполняемой программе адресов? Так можно будет запускать старый софт без переключения БК11<>БК12 в любом участке памяти. Это сложно, ибо надо точно соблюсти временные характеристики выполнения команд с разными адресациями. Но был бы высший пилотаж. Кстати, кто-то предлагал такой вариант.
¤
>> Не будем возвращаться к прошлому, тогда были другие реалии, и разработка этих ОС во-первых приносила ощутимый приработок авторам, во-вторых пути тогда были безальтернативны.
Про приработок согласен. Если не возвращаться к прошлому, то давайте забудем и о RT11, и о древних никсах. Вы сами предлагаете забросить старое и тут же предлагаете брать древние никсы и адаптировать. SymbOS, написанная для Z80 (24мгц емнип) энтузиастом, не была взята с чего-то, а написана с нуля. Чем это плохо? Респект автору и уважуха. Я бы тоже хотел что-то подобное на БК сварганить.
¤
>> нужно идти по пути наименьшего сопротивления
Но это не значит, что нужно делать все тяп-ляп и выпускать недоделанное абы что. Если бы все это делалось на голом энтузиазме, без оплаты, тогда можно было бы сказать - чего вы еще кочевряжитесь, вам нахаляву разрабатывают комп. Что сделает автор, тем и будете пользоваться.
¤
>> можно для начала unix-овые оболочки уровня win 3.1 адаптировать
Тогда делайте архитектуру, которую они требуют. Только это уже не БК будет - останется одно название.
¤
>> Боюсь Вы огорчитесь)
Сейчас - да. В то время, когда все это обсуждалось, цены были приемлемыми. Тот же VGA был по цене гораздо ниже, чем выйдет ваш бустер. Пусть там скромнее возможности, но для БК и такое - уже хорошо.
¤
>> СМК512 в виде отдельного устройства - это была его инициатива
Это очевидность, а не инициатива. Купить негде, а БК еще встречаются. Вот вам и очевидность выпуска. Устройство уже было внешним еще во времена БК. Инициатива была у Новака. Он разработал и сделал. Просто версии 512 и 1024 были невостребованы. А разработчик повторил в виде реплики.
-
? Дмитрий - 09.06.2015 16:53
>> почитать получше про защищенный режим 386.Там правда есть еще интересный режим unreal
Я в курсе про него. Именно его я и имел в виду. Просто не пользовался этим уже черт знает сколько времени и стал все это забывать тонкости и различия.
-
? Дмитрий - 09.06.2015 17:08
>> Как быть подрядчику, бесплатно строить? Или сфелонить, поставив стены из стекла, а крышу из шифера?
Это надо было описывать в ТЗ, которое выложить для обсуждения и доработок сообществом. А вы этого не сделали. Вот и результат - крышы нет и не будет, а бассейн уменьшился не в два, а в три раза.
-
? марсианин - 09.06.2015 17:43
>>по БК12... imho, пусть будет MMU как у DEC или ВМ3, тогда можно будет ДЕМОС туда портировать, написать эмулятор КЦГД под GPU, и получить приличный комп для разработки ПО на С
Самый разумный вариант реализовать PDP-11/70.Я думаю,Voland прав - это менее трудозатратно.
Кажись из прочтения формума pk-fpga zx-pk, Воланд изначально хотел реализовать нечто вроде VAX'а,а Сергей Вакуленко порекомендовал префиксы,если я не ошибаюсь?Вакуленко свалил в прямом и переносном смысле,то кто что-то будет писать под префиксы.Вопрос риторический.А у димы мозгов не хватит,если он считает что Винда идет под реальный режим. Необижайтесь,мое мнение может быть не ошибочно.
-
? марсианин - 09.06.2015 19:33
Если только диме одному нужны префиксы,то пускай он денежно мотивирует из своего кармана разработчика cделать это специально для него сверх ТЗ.В чем вопрос?
-
? blopp - 09.06.2015 20:43
я предлагал товарищу руководителю поддержать ВМ3 и КЦГД, но от ВМ3 он отказался в пользу суперпроца на основе ВМ1 для большей совместимости с БК, а КЦГД на тот момент предпочитал амижную графику если я точно помню...
-
? Дмитрий - 09.06.2015 21:02
>> А у димы мозгов не хватит
Не ошибается тот, кто ничего не делает. Так что не надо мне тут говорить, что у кого-то мозгов не хватит - говорите за себя. Если у вас мозгов не хватает, то это проблема не моя. У вас мозгов хватает разводить на форуме срач и холивар, это ваша религия и стиль жизни. Очень сильно напоминаете того самого истеричного и глупого Smeagol.
¤
>> пускай он денежно мотивирует из своего кармана
Не говорите мне что делать и я не скажу куда вам идти. И прошу обращаться ко мне по нику на форуме.
-
? Дмитрий - 09.06.2015 21:04
>> мое мнение может быть не ошибочно
Оно как раз ошибочно...
-
? марсианин - 09.06.2015 21:47
Докажите, что вы что-то можете,а не просто "сейчас как забацаю,как забацаю...".Покажите свое портфолио,где указано что вы вообще сделали,и где ваш код?
-
? марсианин - 09.06.2015 22:05
>>Не говорите мне что делать и я не скажу куда вам идти.
Но вы разве сами здесь не указывете что делать(сверх ТЗ),причем решаете это за всех.Непорядочно это,и никакой самокритичности.Кю,ыыыыы...
-
? Дмитрий - 09.06.2015 22:49
>> Докажите, что вы что-то можете,а не просто "сейчас как забацаю,как забацаю..."
Покажите мне где я говорю, что забацаю. Пруф или балабол?
¤
>> Покажите свое портфолио,где указано что вы вообще сделали,и где ваш код?
Вам я ничего не обязан.
¤
>> Но вы разве сами здесь не указывете что делать(сверх ТЗ),причем решаете это за всех
Я не указываю, а предлагаю. Это несколько разные вещи. Никто не возражает, не предлагает. Видимо, всем пофиг.
-
? Voland@ - 09.06.2015 22:50
>> А кто мешает на скоростной БК сделать аналог вирт. машины
Но Вы так и не сказали, чем MS-DOS лучше UNIX. Последний хотя бы не умер и применяется под видом андроида в сматрфонах и под видом
¤
>> Я бы тоже хотел что-то подобное на БК сварганить.
Я конечно историю написания симбиана не изучал, но не думаю что под современные сматрфоны Стив Джобс, в одиночку начинавший историю с Мак'ами, смог бы один написать IOS. Одно дело какие-то зачатки, ядро, командная оболочка, другое дело под неё писать компилятор, серьезный софт и т.п.
И опять же, думаю когда Симбиан был стартапом, он сильно отличался от того, который сейчас существует, благодаря средствам, выручаемым от массовых продаж, с которых оплачивается труд сотен разработчиков, тестировщиков, саппортеров.
¤
>> Но это не значит, что нужно делать все тяп-ляп и выпускать недоделанное абы что.
Об этом и речь.
¤
>> Тогда делайте архитектуру, которую они требуют. Только это уже не БК будет - останется одно название.
Они требуют UNIX'а, который для БК роднее всего остального из массовых ОС.
¤
>> Тот же VGA был по цене гораздо ниже, чем выйдет ваш бустер
60 евро с доставкой, это по старому курсу было бы 2500руб + стоимость самого простого адаптера МПИ-UEXT (если не делать Бустер), а если делать Бустер без графики но ради UEXT, он не сильно дешевле не станет. Кроме того, в Бустере есть GPU, а там нету. Так что сомнительное решение даже по старому курсу евро. Не говоря уже о том что несколько устройств UEXT, включенных одновременно (VGA, MP3, RS232, Манипулятор), будут смотреться как какай-то куст.
¤
>> Это очевидность, а не инициатива.
Я к тому, что в моём ТЗ СМК512 упоминался только как интегрированная часть цельной платы БК12, и разработчик мог не только не предлагать сделать его отдельным устройством, но и отказать мне, если бы я первым об этом попросил, ибо никаких процентов с проданных экземпляров СМК512 не имеет.
¤
>> А разработчик повторил в виде реплики.
Реплика и клон - разные вещи. Железный СМК512 - это как минимум отдельная разводка и отладка, которую разработчик сделал по собственной инициативе и без какой-либо выгоды для себя.
¤
>> А вы этого не сделали. Вот и результат - крышы нет и не будет, а бассейн уменьшился
На самом деле тогда был очень активный опрос сообщества, была куча мнений и пожеланий, большая часть в электронной почте у меня были - вне форума. Что-то отпало само-собой, что-то забраковал разработчик, но именно взять и составить ТЗ было некому, а те кто мог, хотел за это минимум 100тыс. В лучшем случае все говорили - надо это, это и это, и только так будет правильно, и больше никак! Когда человек 10 выступают в роли экспертов высокого уровня (не опускающихся до черновых деталей реализации), и все 10 противоречат друг другу, слепить из этого что-то одно и превратить его в ТЗ просто нереально. Пришлось делать без ТЗ.
¤
>> Воланд изначально хотел реализовать нечто вроде VAX'а
Нет, изначально я хотел 100% обратной совместимости с БК + режим полной скорости и все возможности процессора ВМ3. Но аппетит приходит во время еды потом уже захотелось всяких PCI и 32-разрядности. А префиксы предлагал мой разработчик, как альтернативу ММУ PDP-11/70.
¤
>> я предлагал товарищу руководителю поддержать ВМ3 и КЦГД
ВМ3 это и есть отечественный клон с PDP-11/70.
¤
>> Сергей Вакуленко порекомендовал префиксы
Вакуленко никогда не предлагал префиксы, если мне не изменяет память он предлагал там тысячи мелких страниц наделать для адресации всей большой памяти.
-
? фаэт (с фаэтона) - 09.06.2015 22:53
марсианин,ну нечего тебе делать,чем людей шпынять.лучше найди себе девушку(с)американские видаки. мир на железках клином не сошелся
-
? Дмитрий - 09.06.2015 23:25
>> Но Вы так и не сказали, чем MS-DOS лучше UNIX.
Проще в реализации и не требует всего того, что нужно никсам. С префиксными командами будет работать отлично.
¤
>> Я конечно историю написания симбиана не изучал
Хм, а причем тут симбиан. Я про SymbOS на Амстраде, который на z80. 4 цвета, маленький экран, нет ММУ и прочего - практически полный аналог БК. http://www.youtube.com/watch?v=Ish4ReOjdIw
¤
>> Об этом и речь
Только как донести это разработчику? :) Что нужен и ММУ, и префиксы. Префиксы - это не глобальная переделка. Мы же не новую систему команд заставляем делать.
¤
>> На самом деле тогда был очень активный опрос сообщества
Что-то не припомню. Помню вы выложили сокращенный ТЗ и говорили, что, мол, вот ТЗ, полный аналог пдп11-70, буду искать разработчика на сайтах. Там в ТЗ не было ни слова об ММУ, о видеоадаптере и прочем. Потом выяснилось, что ММУ не будет, ПДП11-70 будет голым, без юзер/кернел мод, FPU также отсутствует (фпу в принципе неважно, тут вы правы). Потом обсуждение шин - МПИ/МПИ2/PCI/LPC/UEXT. Никаких вопросов об архитектуре не было. А в почте - это не обсуждение. Я тут каждый день, еще до момента реплик СМК64. После появления инфы о БК12 активно слежу за темой.
-
? марсианин - 09.06.2015 23:35
http://bk0010.org/forum/?id=19168&page=3
>>С ним позже покопаюсь - напишу приблуду, распатронивающую этот ТАПок на блоки, а потом буду сами блоки анализировать.
Где ваш код после этого сообщения? Его нет.Где ваш код?
¤
>>Я не указываю, а предлагаю.
? Voland @ - 8 июня 00:07
>> А разрабу сказать, что идея с префиксами отличная.
Никто не спорит что отличная, вопрос в том, кто её тестировать будет и сколько лет глюки всплывать будут..
Софт-процессор ВМ1 например протестировать на 99% легко - запустить штук 50 игр, в течение дня погонять их. А кто так же протестирует новую архитектуру хотя бы на 80%.
¤
? Дмитрий - 8 июня 09:46
>> А кто так же протестирует новую архитектуру хотя бы на 80%.
Пусть сделает, я могу взяться.
¤
Есть такие нагленькие люди пустышки,которые только могут болтать.
-
? Дмитрий - 09.06.2015 23:57
>> Где ваш код после этого сообщения? Его нет.Где ваш код?
Я разобрался с форматом, написал утиль и распаковал то, что мне требовалось. Я не обещал, что выложу код. Я сказал "напишу", а не напишу и выложу для всеобщего пользования". Да и не просил этого никто. Пока вы балабол. Ищите дальше.
¤
>> Есть такие нагленькие люди пустышки,которые только могут болтать.
Вдвойне балабол и трепло! Я МОГУ ВЗЯТЬСЯ! Улавливаете разницу? Русский в школе в коридоре изучали? Времена проходили? Или в госдепе учителя неграмотные? БК12 еще нет, доков нет. Ничего нет. А вы уже ручонки тянете и визжите "давай код"! Детсад, ей-богу... Кароче, слив засчитан, марсианин балабол.
-
? марсианин - 09.06.2015 23:58
Где ваш код?
-
? марсианин - 10.06.2015 00:00
? Дмитрий - 8 июня 09:46
>> А кто так же протестирует новую архитектуру хотя бы на 80%.
ПУСТЬ сделает, я могу взяться.
Ничуть не предложение.
-
? Voland@ - 10.06.2015 00:57
>> Префиксы - это не глобальная переделка. Мы же не новую систему команд заставляем делать.
Это если смотреть на архитектуру глазами программиста, сравнивая документацию на систему команд без префиксов, и ту же - с префиксами. А с точки зрения схемотехники это очень сильно отличающийся, по сути новый процессор, для которого требуется полноценное тестирование, как нововведений, так и регрессионное.
-
? Дмитрий - 10.06.2015 01:34
>> Где ваш код?
В рифму сказать? А код у меня на винте.
¤
>> Ничуть не предложение.
Так код или предложение? Методичку смените, вы палитесь, раз к словам цепляетесь. Вам верно сказали - заведите себе девушку, лето на дворе. Не, срачегенератором работать выгоднее. Ну-ну...
¤
>> по сути новый процессор
Ну в чем-то он новый, но на основе старого. Полностью переписывать нет надобности. Полноскоростной в БК12 тоже, по сути, новый проц, если пользоваться такой терминологией.
¤
>> тестирование, как нововведений, так и регрессионное.
Основной тестируется также как и до префиксов. Префикс расширяет возможности одной и той же команды. Нужно всего 3 бита (7 значений). 1 бит - указывает, что команда работает с 32-битным значением (MOVW или MOVD неважно). 2 бит - указывает разрядность операнда-источника (0-стандартный, 1-расширенный), 3 бит - тоже самое, но приемника. Условно (к примеру, код префикса возьмем 70-77 - этот диапазон у БК вызывает прерывание по резервному коду):
¤
MOV (R1),(R2) - код: 011112 (если встречается префикс 000070, он просто игнорируется и сразу отрабатывается следующая за ним команда)
MOVW (ER1),(ER2) - пересылка 32-битного значения (бит 0 =1), регистры 32-битные (биты 1 и 2 =1). код: 000077 + 011112
MOV (ER1),(ER2) - пересылка 16-битного слова (бит 0 =0), регистры 32-битные (биты 1 и 2 =1). код: 000076 + 011112
MOVB (ER1),(ER2) - пересылка байта (бит 0 =0), регистры 32-битные (биты 1 и 2 =1). код: 000076 + 111112
MOVB (ER1),R2 - пересылка байта (бит 0 =0), источник 32-битный (бит 1 =1), приемник 16-битный (бит 2 =0). код: 000072 + 111112
¤
Частный случай - записали 000077 + 111112 - MOVB при 32-битном режиме. Процессор игнорирует байтовую команду и отрабатывает как 000077 + 011112, так как мы в префиксе указали 32-битную команду. Также и с остальными командами.
¤
Я не знаю как реализовано у разработчика. Эта концепция префикса чисто моя фантазия, проще некуда. Мы каждую команду сможем уточнять префиксом отдельно, причем даже указывать разрядность операндов. Логика работы самих команд не меняется.
-
? Дмитрий - 10.06.2015 01:37
Наврал, копипаста - зло.
MOVB (ER1),R2 - пересылка байта (бит 0 =0), источник 32-битный (бит 1 =1), приемник 16-битный (бит 2 =0). код: 000072 + 111102
-
? марсианин - 10.06.2015 09:56
Анализ личности Дмитрия завершен.Ребята,если вас снова будет донимать этот человек,то указывая ему это место,вы можете ему сказать кто он такой и куда ему идти, пусть знает свое место. Пользуетесь этим на здоровье :)
-
? Дмитрий - 10.06.2015 11:34
Вы еще здесь? Вы же были посланы как балабол и трепло со своим "онолитическим" подходом. Доказательств не представлено. Идите качать новую методичку.
-
? Voland@ - 10.06.2015 12:21
Разработчик сказал, что в истории уже более-менее отработаны способы использования префиксов при расширении разрядности и велосипед тут можно изобрести только менее удачный, чем уже существующие.
¤
Собрал из смежной темы всю, какую ранее разработчик озвучивал о префиксном механизме:
¤
Ежели делать что-то нестандартное, так проще родные регистры растянуть да 32 бит и добавить команды префиксов базовой длины слова, как в i86. В качестве префиксов какие-то неиспользуемые команды будут, работать будет с длинами 8/16 или 8/32 в зависимости от бита состояния, а текущая разрядность широких операций будет определяться специальным битом в регистре состояния, как в x86. В данном варианте все старые 16-битные коды будут работать, как работали, в младших 64К адреса, а новые будут работать с 4гб адреса и данными до 32 бит и никакой возни с сегментацией.
¤
Префикс нужен, чтобы в 32-битном режиме работать с 16-разрядными данными, наподобие short языка C, там в самой команде 3 длины операции не закодировать, только 8/16 или 8/32. Т.е. префиксы будут использованы только тогда, когда текущий размер адресуемого слова не совпадает с текущим режимом процессора. В существующем ассемблере префиксы можно будет юзать с помощью макросов. Так что тут проблемы нет. С СИ да, проблемы есть. В целом, префиксы нужны очень редко, только когда у нас адресуются в памяти элементы массивов или структур с размером 16-битного целого. В виде кода 16 и 32 разрядные операции будут выглядеть идентично, разве что 16-разрядные доступы к памяти в 32-разрядном режиме потребуют префикса. Машинный код будет выглядеть точно так, как и был у PDP-11 за исключением двух префиксов, переключающих тип данных с 16 на 32 бита. Префикс будет, ясное дело, 16-битный. Но он редко нужен. А остальной код ровно тот же самый , как у pdp-11, просто в 32-разрядном режиме все 16-зазрядные типы автоматически становятся 32-разрядными, а 8-разрядные остаются на месте, поэтому обращения памяти к 16-разрядным словам потребуют префикса.
¤
В 32-битном режиме бит размера будет выбирать между 32 и 8 разрядными данными, а 16-разрядные надо на ходу переключать, если понадобятся. Для этого нужны префиксы, но программисту их реально видеть не обязательно. Просто текущий сегмент кода по умолчанию будет 16 или 32 разрядным, а префиксы будут только для отдельных команд, которые выбиваются из общего тона. Примерно так, как на x86, в регистре состояния x86 есть бит DF на эту тему. Разрядность сегмента - это логическое понятие для ассемблера.
¤
Как это будет выглядеть, было например -
MOV (R0)+, (R1)+ - пересылается 16 бит из адреса в R0 в адрес R1 с постинкрементом.
Стало
MOV (ER0)+, (ER1)+ - тот же самый код, бит-в-бит, только пересылаются 32-разрядные слова, ну и адреса 32-разрядные конечно
MOVB (ER0)+, (ER1)+ - пересылаются байты, как в оригинале
А вот если 16-разрядные слова, то как-то так
MOVW (ER0)+, (ER1)+ и тут не просто другой ассемблерный код, но еще и префикс на уровне кода команды.
¤
Второй вариант - это как в 68000, но там префиксы прямо в команде, здесь так сделать не очень получится, лишних битов в кодировке нет.
-
? Voland@ - 10.06.2015 12:22
Вот кстати, заодно нашел предложение от Вакуленко, как адресовать большой объем памяти:
Pdp11/70 тоже не идеальный вариант: там всего 8 страниц (мало) по 8 килобайт (слишком крупные). Лучше сделать 64 страницы по 1 килобайту, всегда выровненные на границу 1 килобайт. Нужно будет 64 22-битных регистра, и через них можно адресовать до 4 гиг памяти. И обычная память, и видеопамять будет легко доступна. Как уложить эти регистры в адресное пространство БК - отдельный вопрос.
-
? Дмитрий - 10.06.2015 13:19
>> велосипед тут можно изобрести только менее удачный, чем уже существующие
Не всегда фича одной архитектуры идеально подойдет "как есть" к другой архитектуре.
¤
>> А остальной код ровно тот же самый , как у pdp-11
¤
не стыкуется с утверждением
¤
>> и тут не просто другой ассемблерный код, но еще и префикс на уровне кода команды.
¤
Вот тут-то и проблема. Новый асм-код да еще и с префиксом - много лишних телодвижений. В моем способе (не претендует на фундаментальность) мы сможем делать что хотим при полном сохранении базовых кодов. А в вышеописанном сможем смешивать 32-разрядные адреса и данные в источнике/приемнике? Сможем, к примеру, занести 32-битный адрес в ER0 и обратившись к нему косвенно извлечь 16-битное слово по этому адресу в 16-разрядный регистр = MOV (ER0),R1? В асме 386 мы так сможем просто указав разрядность данных с помощью dword ptr/word ptr/byte ptr.
¤
>> Лучше сделать 64 страницы по 1 килобайту
Хм, а почему не 128 страниц по 512 байт? Еще удобнее. И будем по 1кб пересылать картинку размером 1,5мб на экран. Гениально... Только основному коду, который будет использовать экранное ОЗУ, тоже где-то надо селиться, да и ядро ОСи требует места. И сколько свободного места у нас останется для подключения 1кб страниц при доступе к расширенной памяти?
-
? Дмитрий - 10.06.2015 13:21
>> как в 68000, но там префиксы прямо в команде, здесь так сделать не очень получится, лишних битов в кодировке нет.
А смешать способы (что я и сделал) никак нельзя? Всего 7 вариантов (даже 6 - один равносилен NOP) префикса и вопрос решен.
-
? Voland@ - 10.06.2015 16:15
Мы так можем до бесконечности обсуждать гипотетические префиксные архитектуры. Разработчик уже вообще никак не комментирует. Там сейчас очень много завершающих тестов по Бустеру, ему не до этого, предлагаю вернуться к вопросу тогда, когда он будет так же активно находиться в работе, как и Бустер сейчас.
>> не стыкуется с утверждением
Учитывая выражение "а префиксы будут только для отдельных команд, которые выбиваются из общего тона" - стыкуется, т.к. MOVW (ER0)+, (ER1)+ это тот редкий случай, когда в 32-разрядном режиме надо переслать 16 бит по 32-битному адресу.
-
? Дмитрий - 10.06.2015 16:25
>> MOVW (ER0)+, (ER1)+ это тот редкий случай, когда в 32-разрядном режиме надо переслать 16 бит по 32-битному адресу.
А разве это единственная команда? MOVB (ER0)+,(ER1)+ также попадает под этот критерий. Пересылка байта с 32-битного адреса на другой 32-битный. Да и неправильно менять мнемонику (хотя она условна). MOVB - байтовая, MOV - словная (16 бит), MOVW - 32-бит. Имеется в виду разрядность данных и регистров. Иначе будет путаница.
-
? Voland@ - 10.06.2015 17:12
Ну не важно, мнемоники это уже детали, суть в том, что если мы переключились в 32-битный режим, то подразумевается, что у нас основная часть инструкций 32-битная и префиксов не потребует.
-
? Дмитрий - 10.06.2015 17:56
Нужно более подробно, с примерами мнемоник/кодов с префиксами и описания что делает команда. Единственное, что неудобно - каждый раз туда-сюда переключаться. Это потребует либо безоперандной спецкоманды типа HALT/NOP, либо бит выставлять где-то. Имхо, биты в префиксе удобнее, но сначала надо узнать подробности, потом критиковать.
-
? Voland@ - 16.06.2015 14:31
TheGWBV, посылку от Olimex получил (EMS дошло четко за неделю с момента отправки, с курьерской доставкой). Всё прилично упаковано, коробочки фирменные, пайка заводская, болгарин хорошо дело организовал, четко всё, по-европейски.
Надеюсь в течение 2-3 недель мне разраб уже выкатит какой-то рабочий вариант прошивки Бустера, тогда все эти железки вместе с Бустером смогу передать Вам.
-
? TheGWBV@ - 16.06.2015 19:42
Voland, хорошо, я тут как раз уже код драйвера для HX-сервера Patron-a применительно к МК-ДОС разобрала. Осталось c COPDEV-ом разобраться, срастить их, и можно будет через UART Бустер-а подключать блочное устройство с РС :)
-
? Voland@ - 16.06.2015 23:11
С пользовательской точки зрения это как будет выглядеть? Можно будет подмонтировать к БК в качестве лог. диска лог. диск PC ?
-
? TheGWBV@ - 17.06.2015 00:34
Можно будет, например, вместо тома E: подмонтировать образ дискеты 800кБ или раздела МК-Дос размером до 32МБ.
Теоретически, можно подключить образ носителя на 2^32 блока по 512 байт (или более), но это уже потребует ОС класса Unix, или 32МБ в RT-11.
-
? Voland@ - 26.07.2015 12:25
TheGWBV, разработчик просит установить конкретные адреса для регистров, указанных в документе, сможете это сделать? gid, Ваши рекомендации тоже были бы полезны, а то вдруг займем какие-то неподходящие адреса..
¤
http://files.pk-fpga.ru/storage/temp/booster-11/registers.rtf
-
? gid - 26.07.2015 16:20
Предлагаю такой вариант:
177340-177346 - PS2 клавиатура
177350-177356 - PS2 мышь
177360-177366 - на этот диапазон поместить "+1 регистр для задания параметров вместо переключателей на плате" от UART, например 177360
177370-177376 - DAC
177400-177436 - Graphics Controller – "1 регистр для потока команд и еще можно 2-3 или даже больше для последующих расширений" Если 16 регистров в будущем окажется мало, нужно рассмотреть другие варианты
177440-177476 - DMA
177500-177506 - I2C
177550-177556 - SPI
¤
Display – 1 регистр. А это не тот самый регистр, который планировали на 177666 повесить? Если он, то так и оставить, если не он - то в диапазоне 177360-177366 место найдётся, например 177362
¤
Остальное - как описано в ртфке.
Возражения, что там может сидеть какое-либо редкое и мало кому нужное устройство ДВК можно игнорировать. Если это не SCSI устройство.
-
? марсианин - 26.07.2015 21:03
Хи-хи, ребятки, что разве сложно в simh'е нагрузить PDP 11/70 всеми устройствами и просканировать на занятость? Плюс исключить все используемое в БК10-11. А также СМК. Итог: гарантированно неиспользуемые диапазоны адресов. Только фиксируй свои устройства и все. Зачем ломать голову, не пойму?
-
? Аноним - 26.07.2015 23:15
Хи-хи-хи, ребятки, что, разве сложно ппредусмотреть использование регистров, с динамически изменяемыми адресами, или диапазонами адресов? Итог: гарантированно использование неиспользуемых диапазонов адресов. Только фиксируй свои устройства и все. Зачем ломать голову, не пойму?
-
? марсианин - 26.07.2015 23:54
? Аноним - сегодня 23:15
Хи-хи-хи, ребятки, что, разве сложно ппредусмотреть использование регистров, с динамически изменяемыми адресами, или диапазонами адресов?
А эта проблема разрешима, дружок?
-
? Аноним - 27.07.2015 00:27
А что, неразрешима? Как регистр узнаёт, на каком адресе он работает? Это нереализуемая возможность?
-
? Voland@ - 27.07.2015 00:47
>> Display – 1 регистр. А это не тот самый регистр, который планировали на 177666 повесить?
В дисплее регистр, чтобы включать режим разрешения, по умолчанию там стоит БК, а надо переводить в другие.
-
? марсианин - 27.07.2015 09:06
Хи-хи, ребятки, что разве сложно в simh'е нагрузить PDP 11/70 всеми устройствами и просканировать на занятость?
А еще можно посмотреть в книге PDP 11 Handbook1979 на странице 475(A6).
-
? gid - 27.07.2015 10:06
Ни в simh'е, ни в PDP 11 Handbook'е любого года выпуска не описано ни одно какое-либо редкое и нестандартное изделие - плод советской инженерной мысли, применяемый в ДВК, и тем более в УКНЦ. А уж они нисколько не стремились соблюсти абсолютную совместимость своей периферии со всем семейством периферии, применяемой с PDP 11/70. Так что ваш посыл, марсианин, мимо.
Я предложил использовать диапазоны адресов, выделенные DEC для TC11 (177340-177356) - Tape recorder, DC14-D (177360-177376) - непонятно что, но скорее всего какой-то накопитель, RK11 (177400-177416) - Накопитель на кассетном магнитном диске, DT11 (177420-177436) - какое-то непонятно зачем нужное устройство, RK06 / RF11 / RC11 (177440-177476) - какой-то накопитель на дисках, TA11 (177500-177506) - Накопитель на кассетной магнитной ленте, PC11/PR11 (177550-177556) - Перфоленточное устройство ввода вывода.
Все эти данные естественно взяты из PDP 11 Handbook'а. Жду обоснований, для чего могут понадобиться эти оригинальные DECовские устройства на БК12. И вообще видел ли кто-либо хоть одно из них в живую?
И будет ли ПО, разработанное для БК12, для его периферии, запускаться кем-либо на PDP 11/70, и с какими целями?>>? Аноним - 26 июля 23:15
[Хи-хи-хи, ребятки, что, разве сложно ппредусмотреть использование регистров, с динамически изменяемыми адресами, или диапазонами адресов?]
Критикуешь - предлагай. Нарисуйте схему такого устройства и покажите нам, подсчитайте стоимость аппаратного воплощения такой модели, заодно напишите ПО для динамической реконфигурации.>>? Voland @ - сегодня 00:47
[В дисплее регистр, чтобы включать режим разрешения,]
Значит для него лучше подойдёт 177364. Итого остаются 2 свободных адреса: 177362 и 177366 на всякие непредвиденные одноадресные регистры, либо на расширение функциональности чего-либо, например того-же дисплея.
А вообще - свободных адресов достаточно много (естественно все они заняты какими-либо артефактами DEC, которыми можно пренебречь), можно ещё чего нибудь придумать.
-
? anonymous - 27.07.2015 10:58
Работал с RK11/05, RK06, RF11, DT11, PC11. CT11 и TA11 видел в системе подготовки данных, но не щупал. А с DC14 не работал, кто такой - тоже не знаю даже, рыться в спавочниках лень.
Дело в том, что большинство из этих устройств никогда уже в здравом уме никто цеплять не будет в домашних условиях к машинке. Кроме PC11, с нее в микрокоде пультового режима процессоров загрузчик имеется встроенный, потому по команде пульта L можно без всякого дополнительного пзу грузиться с порта на 0177550..0177557, а т.к. формат перфоленточного устройства почти такой же, как и у последовательного порта, на этот адрес имеет смысл цеплять rs232 для загрузки с PC, замечательно работает поставленная на эти адреса DL11 или 1801ВП1-065 с дополнительной ВП1-034.
-
? anonymous - 27.07.2015 11:10
DC14 оказался просто мультипортовкой-мультиплексором под UNIBUS, до 12 портов обслуживает.
-
? марсианин - 27.07.2015 12:22
>>Жду обоснований, для чего могут понадобиться эти оригинальные DECовские устройства на БК12.
Ну, может быть когда-нибудь Voland захочет переделать прошивку и добавить эмуляцию какой-либо части данных устройств, если тем более планируется поддержка PDP 11/70. После изменения прошивки и коллизии регистров(если она будет) софт, возможно, придется переделать. И кроме того, когда я вижу слово "возможно", то я сразу вспоминаю законы Мерфи и вхожу в уныние. А это очень плохо. Вот. Аргумент? :) Ну, а какие еще обоснования могут быть, кроме того, что лучше вообще соблюдать, если это можно, все предписания, стандарты DEC, у которой многое содрала сумрачная алкашня, идущая когда-то ОСОБЫМ советско-инженерным путем,а? Понимаете, что значит DEC и что значит алкашня? И да, не я должен обосновывать, а вы. Почему Вы обходите стандарты, и действительно ли больше не осталось других адресов?
¤
>>И будет ли ПО, разработанное для БК12, для его периферии, запускаться кем-либо на PDP 11/70, и с какими целями?
Зачем так жестко обламывать людей, может такие цели будут, неважно, что они нам неведомы.
-
? Аноним - 27.07.2015 12:35
[? gid @ - сегодня 10:06]
[Критикуешь - предлагай. Нарисуйте схему такого устройства и покажите нам, подсчитайте стоимость аппаратного воплощения такой модели, заодно напишите ПО для динамической реконфигурации.]
На сколько регистров? На шину вешается быстрый микроконтроллер, с необходимым размером памяти - под таблицу соответствия адресов регистрам, и необходимым количеством GPIO - под нужное количество регистров или мультиплексором. Таким образом обеспечить выбор активного регистра, с которым требуется обмен данными. Есть 8 свободных линий на МПИ? Завести 8 GPIO на свободные, или нужные линии МПИ, обеспечив работу с ними черрез табличу соответствия адресов регистрам в микроконтроллере.
Динамическая реконфигурация - очень интересная задача, реализуется под конкретную архитектуру. Пока нет определённой архитектуры, достаточно определить способ, каким будет формироваться таблица соответствия адресов регистрам в памяти микроконтроллера. Для возможности записи в эту таблицу - микроконтроллеру требуется сопоставить какой либо адрес регистр, по которыму, при записи - он будет принимать блок данных, последовательно формируя из них таблицу соответствия адресов регистрам, а при чтении - передавать последовательно эту таблицу, начав её например с тега "000000" и им же закончив. Будет желание - сами придумаете как вам удобнее работать с таблицей.
Это дорого? Это нереализуемо?
-
? Voland@ - 27.07.2015 13:26
Проще всего в VHDL-коде поменять адреса под конкретную архитектуру и перекомпилировать прошивку, не создавая лишний, никому в действительности не нужный геморрой.
-
? Аноним - 27.07.2015 13:52
Такой подход, с большими "плюшками" и VHDL - имеет право на существование, но фактически - замораживает архитектуру, лишает её гибкости. Как пример - ваше изделие с применением VHDL, вам регистры с изменяемыми программно адресами, в процессе обычной работы изделия - не нужны.
Динамические изменение адресов регистров, пока, в массе - не реализовано. С четырьмя регистрами в таблице, на простеньком, не быстром, микроконтроллере я опробовал - да, работает, но не больше - не нашел к чему это применить. Основная встреченная проблема, решаемая - правильно попасть в циклы обмена данными. Для меня это проблема, поскольку я любитель, а не профессионал, как некоторые тут. Посчитать в наносекундах, тактах процессора, циклах обмена по МПИ, для меня - тёмный лес.
-
? gid - 27.07.2015 15:42
>>? anonymous - сегодня 10:58
anonymous, вы не считаетесь, с вашим-то опытом и не быть знакомым с периферией. Посыл был в основном к товарищам, посылавшим меня в simh и handbook, но за замечания спасибо.Значит 177550-177556 не трогаем, оставляем под потенциальную возможность удалённой загрузки.
А SPI помещаем по адресам 177540-177546, это некое устройство KU116-AA / UCS (177540-177544), а так же 177546 - Регистр состояния таймера KW11-L, из-за которого я и не хотел сюда ничего помещать.
Но другие свободные диапазоны слишком далеко от уже выбранных, например есть (CM11 / CR11 / CD11) 177160-177166 или (RX11 / RX02) 177170-177176, или есть вообще свободный диапазон 177200-177276, но его под что-либо ёмкое можно использовать.ЗЫ. Файл с таблицей распределения портов и адресов на страничке http://forum.pk-fpga.ru/viewtopic.php?f=45&t=5430 обновлён.>>? марсианин - сегодня 12:22
[После изменения прошивки и коллизии регистров(если она будет) софт, возможно, придется переделать.]
Вот тот, кто захочет переделывать прошивку, пусть и софт переделывает. Любишь кататься - люби санки возить.
[И кроме того, когда я вижу слово "возможно", то я сразу вспоминаю законы Мерфи и вхожу в уныние.]
Надо запомнить и почаще вставлять слово "возможно". Возможно, это как-нибудь пригодится в будущем.
[Понимаете, что значит DEC и что значит алкашня?]
Конечно, DEC мёртв, а алкашня живее всех живых.
[И да, не я должен обосновывать, а вы.]
Я никому ничего не должен, я предлагаю, я даю вам право выбора, а воспользуетесь вы своим правом или нет - меня совершенно не интересует.
[Почему Вы обходите стандарты]
Потому что де факто они мертвы. В реальности, там не так уж и много критически важных адресов, которые нельзя занимать, все они известны. Я предлагаю те адреса, которые вполне можно использовать под свои нужды, без дрочева на DEC.>>? Аноним - сегодня 12:35
[На сколько регистров?]
Естественно универсальную, на неограниченное число регистров. Разработать протокол, типа UPNP, по которому главное устройство и периферийное на начальном этапе обмениваются между собой и согласовывают количество портов/регистров и используемые диапазоны адресов, главное устройство проверяет непротиворечивость информации и разрешает конфликты, если конфликт автоматически не разрешим, то вызывается окно БИОСа, где предлагается вручную настроить конфигурацию.
[Это дорого? Это нереализуемо?]
Да, - это дорого; да, - это нереализуемо. Т.е. фантазировать можно сколько угодно, но как только попробуешь реализовать - хренушки чего получится.
-
? Аноним - 27.07.2015 16:23
[? gid @ - сегодня 15:42]
[Естественно универсальную, на неограниченное число регистров.]
[Да, - это дорого; да, - это нереализуемо. Т.е. фантазировать можно сколько угодно, но как только попробуешь реализовать - хренушки чего получится.]
Ограничьте количество одновременно подключаемых устройств, и количество регистров на одно устройство! А то, получается, вы сами - назначили количество регистров - бесконечным, а потом, сами же, признали что при бесконечном количестве регисров это - бесконечно дорого, и нереализуемо! Сами себе стек оверфловнули! Выпейте валерьянки, успокойтесь, и ответьте - сколько устройств, сколько регистров на устройство является разумным количеством.
-
? TheGWBV@ - 28.07.2015 09:53
Voland, я до завтра в сплошных разъездах. GID дело говорит. Я это всё в табличных рамкам оформлю в среду вечером, чтобы был приличный документ для программеров.
¤
-
? Voland@ - 28.07.2015 10:20
gid, TheGWBV, спасибо, передал всю инфу разработчику. Бета-версия прошивки Booster'а вот-вот будет готова. Сейчас уже играет fpga-AY, DVI работает как надо, HDD-часть корректно работает, FDD в отладке.
-
? Voland@ - 30.07.2015 11:18
Кто-нибудь знает, как определить, поддерживает ли определенная USB-клавиатура режим совместимости с PS/2? Т.е. заработает ли она через переходник на порту PS/2 ? Столкнулись с проблемой проверки работоспособности таких клавиатур на Бустере - Бустер должен отправлять коды инициализации PS/2 режима, который по умолчанию на USB-клавиатуре выключен. Поэтому сейчас точно проверить можно только PS/2-мыши и клавиатуры, а USBшных, совместимых с PS/2 просто нету на руках. Вот где бы найти USB-клавиатуру, которая точно умеет работать с PS/2..
-
? Аноним - 30.07.2015 12:40
В Яндекс.Маркт - есть возможность установить фильтр поиска: "Интерфейс подключения - USB + PS/2". Например - Sven Standard 303 Power Black USB+PS/2.
-
? Voland@ - 30.07.2015 13:35
Отлично, а ещё может как-то можно определять, есть ли у клавиатуры возле левого шифта дополнительная кнопка со слэшем?
-
? Аноним - 30.07.2015 14:32
Там же картинки есть, с изображением клавиатуры.
-
? TheGWBV@ - 30.07.2015 19:18
"Бустер должен отправлять коды инициализации PS/2 режима, который по умолчанию на USB-клавиатуре выключен."
Неужели оно так устроено? А ежели нет USB в чипсете машинки вовсе, тогда такая клава/мышь не заработает вовсе?
Для таких клавиатур было бы разумнее определять свой режим работы при получении питания -- включились, обнаружили сигнал синхронизации на линии приема данных, поняли, что не на USB шине сидим, переходим в PS/2 режим...
-
? TheGWBV@ - 30.07.2015 19:27
В общем, не совсем понятно. Как на обычном PC контроллер клавы PS/2 отправляет "код(ы) инициации" гибридной клавиатуре, чтобы она перешла из режима USB в режим PS/2, со своего пина "CLOCK"...
-
? Voland@ - 02.08.2015 14:15
Я в этом мало понимаю.. но вроде бы есть уточнение, что инициализации требует только мышь, клавиатура должна сразу работать. Теперь проблема найти клавиатуру, чтобы она была с дополнительной 48-й буквенно-цифровой кнопкой у левого шифта: http://fcenter.ru/product/goods/100655
но при этом имея USB-разъем, была совместима с PS/2 интерфейсом. Пока что нашел такие только среди дорогих геймерских. Если не получится найти, то кандидат указанная выше Logitech K100, через такой переходник: http://www.nix.ru/autocatalog/adapters_switches/132100_2254_draft_large.jpg
-
? TheGWBV@ - 02.08.2015 16:56
Попробую найти переходник USB-to-PS/2 и попробовать подключить вот такую же http://www.komus.ru/product/125797/ , но USB-шную, к PS/2 порту...
-
? Voland@ - 02.08.2015 20:47
У меня Logitech K120 (USB) - не захотела работать с PS/2. Сегодня купил такую: https://market.yandex.ru/product/8472417
, она хоть официально и не поддерживает ps/2, в реале заработала через переходник, и дополнительный слеш слева от пробела есть, почти как надо. Так что пока будет первой в списке рекомендованных.
-
? Voland@ - 03.08.2015 12:31
Разработчик только что предложил вообще выкинуть из fpga имитаторы регистров БКшных клавиатуры и мыши, ибо изначально в Бустер мы их предусматривали с целью кнопка-в-кнопку заменять аппаратно. Поскольку от этой затеи мы уже отказались (т.к. надо резать дорожки и тянуть новые), то и имитация регистров теряет смысл и лишает гибкости работу с новой мышью и клавой. Может просто скан-коды будем складывать в новые регистры, а потом уже обрабатывать их как угодно? Это позволит обрабатывать ВСЕ кнопки PC-клавиатуры, а не отдельные, и даже работать с раскладкой QWERTY, вместо ЙЦУКЕН. Кроме того, это это освободит дефицитные ячейки fpga, у нас их там впритык уже.
Вопрос только в том, сколько у нас обработка нативных кодов клавиатуры отожрет быстродействия..?
-
? Voland@ - 03.08.2015 12:50
Небольшое уточнение: сейчас скан-коды тоже формируются, но как альтернативный механизм. Т.е. программным переключателем мы можем выбрать что-то одно - либо получать скан-коды, либо имитаторы регистров БКшных мыши и клавиатуры.
-
? gid - 03.08.2015 13:57
Но ведь тогда будет 100% несовместимость с существующим ПО. Ни одна программа, и тем более игра, которая не обнаружит ожидаемо работающие регистры 177660, 177662 работать не будет.
Либо при этом надо будет предусмотреть переключение нативная клавиатура | PS/2 клавиатура.
Либо организовать программную эмуляцию старых регистров драйвером обработки PS/2 клавиатуры. При этом вводить в архитектуру процессора/MMU разные уровни защищённости выполнения кода, чтобы регистры для драйвера были доступны для чтения-записи, а для прог/игр - только по чтению.
Либо эмуляцию регистров перенести в область системных переменных и тотально патчить старый софт.
-
? Voland@ - 03.08.2015 14:14
Так старое ПО их обнаружит, только в родном БК, старые регистры же никуда не денутся.
С новой же бустеровской клавиатурой несовместимость будет в любом случае, ибо как минимум номера регистров другие и прерывание если и будет у новой клавиатуры, то новое (вариант с ножом, паяльником и проводами мы отмели).
А если вести речь о том, что имитация БК-клавиатуры в новом регистре будет давать возможность легко пропатчить игры, то и для случая с регистрами скан-кодов есть подобный вариант - написать драйвер, формирующий по скан-кодам код клавиши БК, и вызывать в старой игре этот драйвер вместо опроса регистра клавиатуры.
-
? TheGWBV@ - 03.08.2015 14:33
В таком случае, возможно, было бы разумнее использовать ячейки (байты)
177340, 177341, 177342, 177343, 177344, 177345, 177346, 177347 как буфер для отображения сканкодов нажатой/отжатой клавиши --
клавиша Pause/Break как раз генерит 8 байт-кодов... http://cxem.net/comp/comp105.php
¤
Желательно организовать аппаратное прерывание по любому возможному вектору (на МПИ БК вроде есть пин для прерываний от ИРПС) + выделить какой-то регистр, в котором можно будет увидеть флаги, что прерывание случилось от клавиатуры или мыши (или UART?)...
-
? anonymous - 03.08.2015 14:42
TheGWBV, только не надо столько регистров занимать, достаточно двух, регистр состояния и регистр данных. Через регистр данных ко всем внутренним регистрам доступать, а в каких-то битах регистра состояния иметь счётчик-указатель, который бы мог быть либо загружен принудительно, для доступа к конкретному внутреннему регистру, либо автоинкрементировался бы после обращения по адресу регистра данных. Например, у моего SCSI-контроллера 32 регистра, а на шине он 4 слова занимает всего с таким способом доступа. У etherneta 5 словных регистров - на шине всего два адреса занимает. Экономьте, пока нет 32-битового доступа же к памяти. Адресное пространство БК не резиновое. :)
-
? TheGWBV@ - 03.08.2015 15:44
anonymous, а если так сделать?
¤
1) Регистр состояния клавиатуры.
¤
Адрес регистра - 177340. Формат регистра:
¤
Разряд 7 (по чтению) - ‘1’ в этом разряде означает, что в регистре данных клавиатуры находится код нажатой клавиши (код готов). Устанавливается при нажатии на клавишу, сбрасывается при чтении регистра данных клавиатуры. При нулевом состоянии 6-го разряда установка в ‘1’ вызывает прерывание. Доступен только по чтению.
¤
Разряд 6 (по записи) - ‘0’ в этом разряде разрешает (а ‘1’ запрещает) выработку сигнала требования прерывания по единичному значению разряда 7.
Разряд 6 (по чтению) - ‘1’ в этом разряде означает, что нажата и удерживается клавиша.
По сигналу сброса магистрали разряд 6 устанавливается в ‘1’, разряд 7 обнуляется.
¤
Разряды 0-5 используются как счетчик байт сканкодов клавиатуры PS/2, находящихся в буфере клавиатуры Бустера.
¤
Остальные разряды регистра не используются, читаются как 0.
¤
ПРИМЕЧАНИЕ. См.также информацию о бите 6 системного регистра ЭВМ.
¤
2) Регистр данных клавиатуры (доступа к данным буфера клавиатуры)
¤
Адрес регистра - 177342. Формат регистра:
¤
Разряды 0 - 7 содержат код нажатой клавиши.
Разряды 8 - 15 не используются, читаются нулями. Регистр доступен только по чтению. В режиме БК-подобной клавиатуры... Данные сохраняются в регистре (и буфере) до нажатия следующей клавиши клавиатуры, причем запись нового(ых) кода(ов) в регистр(буфер) не производится до тех пор, пока не будет прочитан предыдущий код. Т.е. там должен быть какой-то внутренний флаг -- "Код(ы) считан(ы) программно".
При установленном в ‘1’ 7-м разряде регистра состояния запись в регистр данных (поступающих от клавиатуры) блокируется и нажатия клавиш игнорируются, т.о.
в регистре(буфере) хранится (скан) код клавиши, которая была нажата до запрета прерываний от клавиатуры, если код не был считан, либо ноль(нули)!
-
? TheGWBV@ - 03.08.2015 16:00
Счетчик в разрядах 0-5 -- автодекрементный, при заполнении буфера сканкодами, указывает на последний принятый с клавиатуры ps/2 байт.
Первый полученный байт имеет индекс ‘0’.
-
? anonymous - 03.08.2015 17:40
Только перемудрили вы с 6 битом. У ВП1-014 его инверсное состояние - непонятно почему не исправленный баг, обнуленим 6 разряда у всех устройств и всех остальных прошивок ВП1 прерывания запрещаются. Индикатором удержания клавиши при работе с PS/2 тоже не может быть никакой разряд, кроме устанавливаемого и сбрасываемого программно, т.к. и при нажатии и при отпускании генерируются скан-коды, по тому, пришел код нажатия или модифицированный код "отжатия" и определяется в переменной драйвера, удерживается ли клавиша. Автоповтор аппаратный тут даже лучше запрещать клавиатуре, отрабатывая его как и на БКшной родной, но внутри прерываний таймера.
-
? TheGWBV@ - 03.08.2015 19:03
anonymous, разряд 6 был сделан по аналогии с БК, т.к. предполагалось что получатся регистры похожие на регистры БК. Софт придется же патчить, боюсь, что 6-й бит там при инициации готовится командами типа CLR @#177660, и если сделать как "у всех устройств и всех остальных прошивок ВП1", то придется тратится на ещё одно машинное слово и использовать BIS или MOV #40,@#177340...
И, наверное, ещё будет полезным сделать:
Разряд 7 (по записи) - запись ‘1’ в этот разряд очищает буфер клавиатуры и сбрасывает счетчик байт скан-кодов в ноль.
Можно вынести эти два разряда по записи в регистр (управления) с другим адресом, например - 177346.
Что скажете?
-
? TheGWBV@ - 03.08.2015 19:15
поправка -- придется тратится на ещё одно машинное слово и использовать BIS или MOV #100,@#177340...
-
? TheGWBV@ - 03.08.2015 19:20
с "Разряд 7 (по записи)" полная инициация приема данных от клавиатуры ps/2 может выглядеть так...
MOV #300,@#177340
CLR @#177340
-
? TheGWBV@ - 03.08.2015 19:31
"Индикатором удержания клавиши при работе с PS/2 тоже не может быть никакой разряд, кроме устанавливаемого и сбрасываемого программно"
А если считать, что клавиша нажата, пока в ячейке буфера с индексом ноль, не 0x00 или не 0xF0 ?!
-
? TheGWBV@ - 03.08.2015 20:00
судя по таблице http://cxem.net/doc/comp/ps2translate_table.pdf скан-коды нужных для ПО БК0010 кнопок как раз имеют подходящий для такого алгоритма формат...
-
? Voland@ - 07.08.2015 10:01
TheGWBV, на следующих выходных, надеюсь, буду готов передать Вам Бустер и сопутствующие железки. У меня было два экземпляра бустера собранных, но позавчера, когда я получил прошивки от разработчика, ни один из них не смог "взлететь", бился сутки почти с ними, придется собирать два новых. Устройство получилось намного сложнее, чем простой SMK512, даже для опытного монтажника (меня, без ложной скромности) - нелегко собрать с первого раза, не получив "кирпич".
¤
Хорошие новости по прошивке:
- работает СМК-часть, AY, UEXT (SPI, I2C, UART), GPU;
- работает прошивка через USB, при помощи нового драйвера от "Марсохода" для Альтеры;
-
¤
Плохие новости:
- проблема mp3 как-то совсем не решается разработчиком, модифицированный им DLX - не верифицирован, процедура верификации требует по его словам чуть ли не человеко-лет, да и смысла в mp3 он не видит; бесплатный NIOS, используемый для отладки Бустера, mp3 не потянет по быстродействию, платный потянет, но он вероятно не дёшев, да и места много занимает.
- PS/2 клавиатура и мышь скорее всего будут работать у нас только через стандартные скан-коды, ибо эмуляция БКшных регистров занимает много ячеек ПЛИС и тот же DLX, если его все-таки удастся допилить, туда попросту не влезет.
- тест памяти 32mb по тщательному алгоритму займет несколько суток, по более простым - несколько часов.
-
? TheGWBV@ - 07.08.2015 12:05
по mp3 всё-равно был потолок ~128 кбит/с -- быстрее проц БКашки бы не смог манипулировать потоком бит...
-
? Voland@ - 07.08.2015 12:10
Ну там в любом случае mp3 перекачивался бы в ВМ1 не в реал-тайме, а DLX должен уметь брать данные сам из указанной ему области 32mb, а ВМ1 предварительно туда закачал бы эти данные. Понятно что закачивал бы долго, но потом игралось бы без проблем, например те же звуковые эффекты в играх, пару минут заливки данных в бустер, а потом ВМ1 просто в нужные моменты указывает DLX'у с какого адреса в памяти бустера проиграть звук.
-
? Voland@ - 11.08.2015 21:25
Вчера наконец-то заиграл AY на моём экземпляре Бустера, правда заиграл криво, вроде музыка узнается, но нет как бы низких частот, все звенящее только. Куда копать? Разработчик не знает, говорит всё корректно в плане количества каналов и их смешивания.
-
? TheGWBV@ - 11.08.2015 23:45
Сегодня раздобыла переходник USB-to-PS/2 -- Клавиатура Logitech Internet 350 Keyboard USB в режиме ps/2 не заработала...
-
? Voland@ - 12.08.2015 09:59
Добавил в список не рекомендуемых клавиатур:
http://forum.pk-fpga.ru/viewtopic.php?f=2&t=5368
-
? Аноним - 12.08.2015 13:04
https://www.filestofriends.com/share.aspx?code=6a66f495e9a345a9a5acedbc0ba999ed
Зачем заказывать rapoo-9020 и rapoo-9050, если они в шаговой доступности для вас.
-
? Voland@ - 12.08.2015 15:24
Так они беспроводные, через интерфейс PS/2 они гарантированно работать не будут.
-
? TheGWBV@ - 15.08.2015 13:38
Заказала себе клаву Sven standart 309M USB black и Мышь SVEN RX-150 USB+PS/2...
Теперь осталось только Бустер получить :)
-
? Тсой - 15.08.2015 16:28
Мы ждем Бустеремен! (C) Тсой
-
? Voland@ - 16.08.2015 19:59
Там какие-то проблемы с DVI еще обнаружились. С большой платы (БК12) мой монитор нормально показывает, а с Бустеровской (где новый чип Chrontel) - не хочет, хотя режим идентичный, сигнал видимо чем-то не нравится.
И всё ещё непонятно, что с AY не так, он канал куда-то один теряет, с низкими частотами.
-
? gid - 17.08.2015 10:03
У AYшки же все каналы равноправны и нету какого-то особого НЧ канала. А хотя бы приблизительно узнать, в чём проблема, довольно просто. Нужно запустить рок монитор, загрузить какую-нибудь мелодию с характерными звуковыми эффектами и просто в редакторе паттернов прямо понотно сравнить звучание в Бустере и в оригинальной БКшке.
Можно даже сравнить звучание в отдельных каналах, и таким образом выяснить что работает не так, сама AYшка или схема смесителя каналов звук портит.
-
? TheGWBV@ - 18.08.2015 17:36
Тут про клавы USB+PS/2 приличная активность если что...
http://zx-pk.ru/showthread.php?t=25471&page=2
-
? Аноним - 18.08.2015 18:09
В той теме они подключают, USB клавиатуру, через переходник для мыши USB на PS/2.
-
? Аноним - 20.08.2015 00:59
http://zx-pk.ru/showpost.php?s=36398fa0e6916b0ad804f331bec72e44&p=754342&postcount=31
http://dannie.ru/catalog/klaviatury_delux_ID2587/klaviatura_delux_dlk_1102u_slim_usb_chernaya_mm_ID155892/
http://www.delux-asia.kz/upload/catalog/item59/0_black-white_asis.jpg
-
? TheGWBV@ - 20.08.2015 08:42
Красота!
-
? Voland@ - 21.08.2015 11:57
Требуется консультация архитектурная.
Разработчик не может понять, какой сигнал внутри БК-0011 отрубает ее верхнюю часть памяти, начиная с адреса 100000. Он сейчас открыл эту область для бустера (пока в симуляторе), подправил прошивку, но надо уточнить, чтобы там не было конфликта. Идущие от СМК сигналы как бы блокируют разные ПЗУ и по названию и по смыслу, а кто из них ОЗУ блокирует ?
Сама по себе блокировка не мешает, но если скажем память внутри БК не выключается, то может же конфликт возникнуть, если что не сгорит, так погреется. Хотя в БК там такая мулька по некоторым адресам практикуется, например по стартовому, но то на один такт всего. Скорее всего она выключается одним из сигналов от СМК, хотя по смыслу не ясно каким именно, там все 3 сигнала как бы ПЗУ отключают по названию и обозначениям и еще пара ПЗУ бейсика отключает, но с ними и так все ясно.
Там же в СМК есть режимы, в которых страницы СМК налазят на ОЗУ БК. Например сейчас тест выдает ошибку по адресу 100000 и дальше, это как раз вот эти адреса, у БК-0010 по этим адресам ОЗУ нет, а у БК0011М есть.
Проблема возникла по той причине, что в Бустере уже совершенно другая структура памяти и адресов (в отличии от СМК512), поэтому разработчик страницы открывал по мере надобности и проверки, но эти вот страницы налазят на верх ОЗУ БК-0011М.
-
? anonymous - 21.08.2015 15:36
Сигналы включения ПЗУ поступают на D32.1, a выходной сигнал с цепочки D32.1 - D10.1 - D10.2 поступает на AD15 ВП1-037, при наличии выбранного хотя бы одного ПЗУ, в ВП1-037 поступает верный адресный код, на который она не считает нужным откликаться после 0100000, а если ПЗУ не выбраны, то АД15 на неё подаётся с D27 модифицированным так, что она считает себя выбранной в младшей половине ОЗУ, когда требуется адресовать ОЗУ после 0100000.
-
? Аноним - 21.08.2015 15:43
Какой сигнал отключает ДОЗУ БК11/М в адресах 100000-137777 ?
Это 0в. на выводах Д32 - 01, 02, 04, 05 и даже на выв. 06 этой ИС.
-
? anonymous - 21.08.2015 15:43
А вообще про некорректность этого механизма в СМК уже несколько лет назад обсуждалось тут. Т.к. с СМК выходной уровень лог. "0" сильнее по току, чем выходной уровень лог. "1" с D36, то СМК удаётся отключать ПЗУ, насилуя выход D36.
-
? anonymous - 21.08.2015 18:28
『удаётся отключать ПЗУ』 имелось в виду 「удаётся отключать ОЗУ」, извиняюсь.
-
? gid - 21.08.2015 19:09
[Идущие от СМК сигналы как бы блокируют разные ПЗУ и по названию и по смыслу, а кто из них ОЗУ блокирует ?]
Верхняя страница ОЗУ на БК11 СМК отключает так: подаётся 0 на ногу А22 МПИ. Это предусмотренный сигнал для подключения 4й страницы ПЗУ, которое обычно находится на внешних устройствах. Правда это выход, и СМК через него превозмогает D36, как выше отметил anonymous, и описал как именно.
-
? Voland@ - 22.08.2015 11:51
Спасибо всем, информация помогла.
-
? Voland@ - 29.08.2015 17:44
Наконец-то раздобыл кабель DVI-VGA и смог увидеть как бустер отображает изображение. В целом более-менее корректно, но как и кое-кто предполагал, с частотами вышла жопа, все демы, где идет зависимость от частоты БКшной развертки видео, отображаются некорректно, хаотично мерцая цветами и плохо читабельными бегущими строками. Разработчик утверждает что, решения нет, кроме как на большой плате БК12: в большой плате можно завести кадровую частоту просто 60-70 гц на прерывание вместо 50, будут демки работать на 20% быстрее, но синхронизировано, а на отдельном адаптере это же не завести.
Что скажет общественность? Действительно всё так плохо, и полноценный адаптер БК->VGA невозможен?
-
? Voland@ - 29.08.2015 17:54
Дополнение от разработчика по возможным вариантам решения: просто народ занимался хакерскими приемами, которые в нормальной жизни никто не использует, скорее всего переключались палитры по синхронизации кадров, это надо выводить из бустера кадровую частоту и заводить ее на прерывание БК, при этом отключив 50 гц, только так, опять же, все будет работать чуть быстрее, но синхронно, если конечно там скорость процессора не впритык для демки. Переключатель должен переключать внутри БК, где надо будет отрезать родные 50 гц, завести две разные частоты, родную и внешнюю из Бустера, при этом если синхронизировать от внешней, то внутренняя уже будет несинхронна для родного выхода БК, поэтому нужен переключатель.
-
? Аноним - 29.08.2015 18:42
Если нужна реальная 100% совместимость по видео - выход только один - отдельный механизм пересчета видео 48.5 к/с ---> VGA-частоты.
Он весьма мудрен и помещается в отдельную ПЛИС со своим внешним ОЗУ. Размер ОЗУ - 2х от максимального разрешения воспроизведения, т.к. так проще будет устройство ПЛИС.
Некотрые такой аппарат собирали на огромной плате на 74Fхх - под 100 корпусов + 4 мегабайт СОЗУ. На выходе - обыкновенный 800х600х60 гц, все эффекты сохраняются. Разрядность входа - 2 бита на цветовой канал.
¤
Однако, это по любому потребует синхронизации видео с разверткой БК - что не весело...
-
? gid - 29.08.2015 22:06
Я думаю, что полноценный адаптер БК->VGA возможен. Но вот его совместимость с демамиы, где идет зависимость от частоты БКшной развертки видео невозможна в принципе. В этих демах кроме синхронизации с таймером идёт жёсткая привязка к ТЧ и времени доступа к ОЗУ обеспечиваемому ВП1-037. Измените хоть на чуточку эти параметры, и демка пойдёт вразнос. Даже если обеспечить отдельный механизм пересчета видео 48.5 к/с ---> VGA-частоты
-
? Дмитрий - 29.08.2015 22:31
>> в большой плате можно завести кадровую частоту просто 60-70 гц на прерывание вместо 50
Не надо этого делать. Демы идут лесом, не велика потеря, а вот софт, рассчитанный на таймер 50Гц, будет глючить...
¤
-
? Voland@ - 29.08.2015 22:32
Тогда что понимается под "полноценный адаптер БК->VGA возможен" ?
-
? TheGWBV@ - 30.08.2015 01:55
Думаю, не нужно зацикливаться на демах. Всё равно, даже подключив ЖК ТВ к штатному разъёму ЦТВ, дема смотрится не так как на ЭЛТ-мониторе с реальным интерлейсингом.
Главное, что Бустер позволяет использовать современную периферию для удобства разработки нового софта, адаптировать под его возможности старый софт.
Можно сделать специальную сборку RT11, где будет встроенный драйвер дисплея с выводом символов средствами GPU Бастера. Такая система скорее всего сможет обеспечить работу и ДВК-1 с Бустером в роли дисплея...
-
? TheGWBV@ - 30.08.2015 02:13
На БК12 можно предусмотреть режим 60Гц и завести прерывание по концу кадра на 100 вектор, и при этом повысить частоту ВМ1 в 60/48,5 раза, чтобы ВЕ таймер не "поплыл" относительно длительности ТВ-строки.
Тогда в демах пострадает только звук, т.к. в АУшку ноты будут отправляться раньше обычного, а проигроваться ей в прежнем темпе...
-
? gid - 30.08.2015 08:14
>>? Voland @ - 29 августа 22:32? Voland @ - 29 августа 22:32
Именно то, что понимается по VGA. БК сможет генерировать изображение с бОльшим разрешением и чуть бОльшим количеством цветов, чем в оригинале.
¤
>>? TheGWBV @ - сегодня 02:13
Таймеров можно сделать больше, чем 1, теоретически. Причём программируемый таймер сможет решить большее число возникающих проблем.
-
? TheGWBV@ - 30.08.2015 10:02
>>? gid @ - сегодня 08:14
Думаю, можно даже будет с помощью Бустера прикрутить к БК видеоадаптер аналогичный по функционалу Союз-Неоновскому, разработав для этого другую прошивку...
-
? Vslav - 30.08.2015 10:04
Я над проблемой совместимости БК с VGA уже пару лет думаю. Пока не вижу нормального решения чтобы гарантировать работу демок. Поэтому предлагаю сделать переключаемые видеорежимы, один из которых будет полной копией оригинального БК - 48.5Гц и предназначенным для работы на телевизор (не на монитор), кто скучает за демками - посмотрит их на телике в первозданном виде. Также некоторые VGA мониторы могут держать кадровую развертку 50 Гц (а может быть и 48.5), тут следует поэкспериментировать и возможно удасться подобрать подходящий монитор и обойтись скандаблером (удвоителем линий), это еще один из выбираемых режимов - 48.5Гц с удвоением строк. Еще вариант - HDMI, там есть режимы 50 Гц. В общем - "трясти нада, чо думать".
¤
Еще можно сделать полную буферизацию кадров - выводить кадры на частоте 48Гц в память, а оттуда уже показывать на VGA с частотой 60 Гц, при этом принять меры чтобы выбирался кадр который уже выведен в память целиком - чтобы не "разрывать" изображение. При таком подходе некоторые кадры будут показываться дважды - иногда это заметно, а также будет задержка изображения на время одного кадра. Еще следует учесть что в LCD мониторах применена такая же буферизация, как оно будет визуально - неясно.
-
? TheGWBV@ - 30.08.2015 10:19
Да, аппаратной платформе БК12 в любом случае не помешал бы вывод на ТВ с композитным цветным видеосигналом и примером реализации ТВ-контроллера БКшки для него :)
-
? Аноним - 30.08.2015 13:33
Возможно ли, доработкой внутри БК, заставить выдавать 48.5, 50, 60 ГЦ и, упревлением через регистр БК, переключаться между этими частотами "на лету"?
-
? Voland@ - 30.08.2015 14:12
Хочу проверить вариант решения проблемы с подменой частоты развертки в БК на 60гц, но не можем найти, куда она заводится в БК. Пробовал мерять на D11 (ТМ9) ноги 3,4,6,11 - нигде ничего похожего на 50гЦ нету. Цена деления выставлена 5ms, по вольтажу 1В. Что не так меряем??
-
? anonymous - 30.08.2015 14:49
А что у вас на D11? На 4 ножке D11 должно быть, при лог "1" на 13 ножке D3. Может, вы не верно записали бит разрешения работы таймера в регистр управления таймером/палитрой/номером экрана?
-
? Vslav - 30.08.2015 15:31
Все делители внутри ВП1-037, надо тактовую на ней поднимать (на ножке 33) с 6МГц до 6*6/5 -> ~7.2МГц. Не уверен что 037 на такой тактовой заработает.
-
? anonymous - 30.08.2015 17:10
Vslav, я так понял, что они не смогли найти точку, где выделяется сигнал EVNT для QBUS из синхросмеси, а где разгонять-то они должны понимать.
-
? Voland@ - 30.08.2015 17:17
>> надо тактовую на ней поднимать (на ножке 33) с 6МГц до 6*6/5 -> ~7.2МГц.
Разработчик говорит, что не надо нам ничего поднимать на 037й, надо на процессор завести сигнал кадров снаружи,он же должен быть не абы какой, а именно синхронизирован с выводом изображения в бустере, а не просто похожий там по частоте
-
? Voland@ - 31.08.2015 10:06
>> а где разгонять-то они должны понимать.
Вот например, включаю я БК и меряю осциллом на 32 ноге процессора (irq2) частоту - там ничего нет. На D21.9, D11.4 - тоже ничего нет. Если запустить ИНСУЛЬТ, который вероятно разрешает бит 14 регистра 177662, то частота 48.8кГц на этих трех ножках появляется. Собственно нам точка нужна, где импульс кадровой частоты от ВП1-037 маскируется битом 14 регистра 176662, поскольку мы же не можем синхросингал извне засадить непосредственно на прерывание процессора, наверняка ибо оно не всегда должно поступать, а только после установки бита 14. Так что главный вопрос - где там этот бит 14 регистра 176662 реально реализован на схеме БК?
-
? gid - 31.08.2015 12:54
Бит 14 регистра 177662 реально реализован на схеме БК в микросхеме D35. Но вам нужен не он, а сам таймер, это микросхема D3.2. Её нога 8 - это выход таймера, нога 13 - это как раз бит 14. если на ноге высокий уровень - то работа таймера разрешена, если низкий - запрещена. Но мне кажется, не всё так просто как кажется. На вход таймера, ногу 12 подаются некие данные, которые генерируются счётчиком D28, и таймер тактируется (нога 11) сигналом SINCO из ВП1-037 (нога 28) Я подозреваю, что ни на ноге 12, ни на ноге 11 не будет нужной частоты 48.8 Гц, она получается их комбинацией. Чтобы получить всегда работающий таймер 50Гц, нужно на микросхему D3 навесить вторым этажом ещё один 555ТМ2, припаять ноги 1, 14, 10, 11, 12 второй МС к первой, ногу 13 соединить проводочком с ногой 10 и тогда с ноги 8 можно будет снимать постоянно работающую частоту таймера.
-
? Voland@ - 31.08.2015 13:05
>> Чтобы получить всегда работающий таймер 50Гц
Но нам не надо получать частоту таймера, нам надо завести извне 60Гц синхронизации кадровой частоты VGA из бустера, это должно быть несколько проще. Т.е. надо подменить в БК родную кадровую частоту 48.5Гц на внешнюю, которая как и родная, будет запрещаться/разрешаться битом 14 регистра 177662.
-
? gid - 31.08.2015 13:13
Ну тогда надо всё равно смотреть МС D3.2, и думать, куда на неё заводить 60Гц, на вход D или на вход С. Например завести на тактовый вход, а вход D оставить берущимся с D28 и посмотреть, что получается. Но для этого всё равно нужно напаять вторым этажом 555ТМ2 и на ней и экспериментировать.
-
? anonymous - 31.08.2015 13:51
gid, не путайте их, подачей снаружи частоты на d3 ничего не решить, там принцип в том, что кадровый импульс в синхронизации с вп1-037 есть пропущенные строчные на период обратного хода луча через весь экран. Пусть введут на выходе d3 мультиплексор, который будет коммутировать по внешнему сигналу, либо по сигналу с какого-либо регистра, сигнал таймера с выхода d3, либо со внешних 60Гц, а 60Гц также стробировать сигналом с 13 ноги d3 для отключения.
-
? bk-m - 31.08.2015 15:28
А чо, слабо подать 60 гц на А5 МПИ ?
-
? anonymous - 31.08.2015 15:32
bk-m, в 11(М) А5 - это выход, а не вход.
-
? bk-m - 31.08.2015 15:53
Знатоки МПИ !
Это КАНАЛ, а не вход-выход !
Схема БК11М есть на этом сайте.
-
? anonymous - 31.08.2015 15:56
bk-m, ну так спрогнозируйте частоту результурующую, когда молотить два несинхронизированных генератора в эту линию начнут, т.к. ПО в БК, включающее таймер, не может знать о наличии и активности некоего современного устройства, вкачивающего импульсы в ту же линию.
-
? bk-m - 31.08.2015 15:59
Не будем усложнять. 60 Гц явно не в БК получаются.
Так что или включаем внутри БК 50 ( или сколько там намерили ), или внешний 60 гц.
-
? anonymous - 31.08.2015 16:04
О том и речь, как известить существующее ПО, что у нас есть другой источник прерываний таймерных - без пропатчивания/переписывания ПО не выйдет, а задача у народа подружить с демками аппаратуру. Если забыть про использование древнего софта, то да, никаких проблем.
-
? Voland@ - 31.08.2015 22:00
Попробовали с Vslav'ом сделать так: ноги 12 и 11 михросхемы D3(ТМ2) оторвали от схемы, на ногу 11 подали 6 МГц с платы БК, на ногу 12 подали 60Гц кадровой развертки с VGA Бустера. Изображение на VGA заработало, но корявости меньше не стало, просто мерцать стало сильнее.
-
? maxstudios@ - 31.08.2015 23:18
>>>gid @ - 29 августа 22:06
Я думаю, что полноценный адаптер БК->VGA возможен. Но вот его совместимость с демамиы, где идет зависимость от частоты БКшной развертки видео невозможна в принципе. В этих демах кроме синхронизации с таймером идёт жёсткая привязка к ТЧ и времени доступа к ОЗУ обеспечиваемому ВП1-037. Измените хоть на чуточку эти параметры, и демка пойдёт вразнос. Даже если обеспечить отдельный механизм пересчета видео 48.5 к/с ---> VGA-частоты
...
Почитал про частоты, подумал.
Не знаю, как на БК-10, а на БК-11(М) на МПИ выведена "родная" частота 4 МГЦ, на которой работает и проц и ВП-037, и все остальное.
Нужно просто использовать именно эту частоту, разделить её, тогда получится жесткая привязка.
А остальные предложения - это снова "хирургическое вмешательство в организм БК".
...
Жду критику. :-)
-
? maxstudios@ - 01.09.2015 01:53
Ещё не помню - если разрешено прерывание по 100 вектору, влияет ли это на вывод А5 МПИ-шины?
Не появится ли там частота 48.5 Гц?
Надо у ув.ММ спросить. :-)
-
? Аноним - 01.09.2015 02:30
=
? maxstudios @ - 31 августа 23:18
Почитал про частоты, подумал.
частота 4 МГЦ, на которой работает и проц и ВП-037, и все остальное.
...
Жду критику. :-)
=
Думать не надо, сначала почитайте матчасть - схему хотя-бы посмотрите, что там на ВП-037 подаётся ...
-
? maxstudios@ - 01.09.2015 02:51
Снова Аноним, дал же бог имечко. :-)
Я имел ввиду, что нужно использовать внутренние частоты БК для синхронизации изображения.
Жду других отзывов.
-
? maxstudios@ - 01.09.2015 02:55
Дополнительно всем напомню - рассчитывайте на то, что в основном никто не полезет внутрь своего БК для его паяния и кромсания. :-)
-
? Voland@ - 01.09.2015 09:47
maxstudios, проблема реализации адаптера RGB-VGA очень серьезная. Я не знаком со Спектрум-сообществом, но по слухам, там она так и не решена, они используют либо такие же проблемные для демок адаптеры, либо делают VGA на 50Гц и список рекомендованных мониторов, которые держат 50Гц (подозреваю, что их очень не много, хотя кто знает). Причем держат неофициально, ибо официально вообще почти ни у одного не заявлено. Второй вариант - найти монитор на 100Гц, но таких ещё меньше наверное, думаю ни у одного из присутствующих тут нет мониторов, достоверно держащих 50 или 100Гц.
>> использовать внутренние частоты БК для синхронизации изображения.
Другими словами это означает - использовать родные 48.8Гц кадровой частоты БК. Зададимся вопросом - почему СКАРТ в большинстве случаев показывает корректно изображение с БК? Вариантов два:
1. Это старый телевизор ЭЛТ, где поддерживаются обе частоты - 50 и 60 Гц.
2. Это современный ЖК телевизор, на СКАРТ установлен мощный видеопроцессор, выполняющий сложную интерполяцию в реальном времени. Кстати выполняющий не всегда удачно, например на моем Самсунге мерцает всё правильно, но бегущие строки подергиваются слегка раз в несколько секунд. Так что как видите, даже гигантские корпорации с интерполяциями с трудом справляются.
-
? maxstudios@ - 01.09.2015 10:56
Voland, я и имел ввиду использование родных 48.5 Гц, чтобы все было завязано на родном генераторе частоты БК. Это нужно для совместимости с уже существующими программами, а также для стандартного вывода изображения на ТВ. Не знаю правда, возможно ли сделать 800х600 при кадровой частоте 48.5 ГЦ. Если возможно, то так и нужно сделать. Если нет, то такой режим все-таки нужно сделать как дополнительный - ретро-режим.
Я не пробовал еще подавать сигнал с БК на SCART, но через композитный вход AV все прекрасно показывает, без полос и шумов, правда Ч/Б. Сомневаюсь, что в моём LED TV IZUMI 19" используют мощный процессор. :-)
Кстати, кадровую частоту телевизор выдавал 60 ГЦ, что для глаз не вызывает никакого напряжения.
У меня этот же ТВ работает постоянно в качестве монитора для РС, 1360х768 16:9, и тоже 60 ГЦ.
¤
-
? maxstudios@ - 01.09.2015 11:07
Немного не дописал про режимы - если не получится родной режим 48.8ГЦ 800х600, то нужно его реализовать с возможными параметрами, пусть даже демки будут глючить.
насчет мониторов - не вижу смысла в покупке ЭЛТ-моника, так как это чревато для здоровья.
Про ЛСД мониторы пока ничего не напишу, пока не проверю - у меня есть BENQ 19", 4:3.
А вот ЛСД телевизоры в качестве монитора - очень даже хорошо, так как можно подключаться и по HDMI, и по VGA, и по SCART, и даже через AV (композит). Ну смотря у кого какие будут входы "на борту".
Согласитесь - ЛСД ТВ наиболее подходящ под БК из всех возможных вариантов.
-
? Voland@ - 01.09.2015 11:44
Я сейчас поговорил с Романом Чуниным (автор ZX Evolution). Они сделали так: для для эмуляции спектрумовского используется только одно разрешение, он сходу не смог вспомнить какое (у нас уже два - 640*350 и 640*480), и имеется переключатель частоты с клавиатуры 48.8Гц/60Гц. Также он дал мне документ со списком мониторов, которые корректно воспринимают 48.8Гц:
http://www.nedopc.com/zxevo/zxevo_supported_monitors.pdf
Список довольно внушителен и включает также и современные широкоформатные мониторы.
¤
Итого, если по-хорошему, надо пинать разработчика поддержать частоты 48.8Гц, 60Гц, 85Гц, чтобы их можно было переключать как программно, так и кнопкой,
для БКшного разрешения достаточно переключателя двух частот 48.8Гц/60Гц (первая - чтобы работало только на некоторых мониторах, но КОРРЕКТНО, вторая - чтобы работало некорректно, но НА ВСЕХ мониторах),
а для всех новых (стандартных) разрешений будет разумной поддержка двух частот 85/60Гц, первая - по умолчанию, вторая - для тех старых мониторов, которые вдруг не смогут на 85-ти работать. Впрочем, 85Гц возможно излишне, поскольку большинство современных ЖК-мониторов работают на 60Гц и это не доставляет дискомфорта. Частота 85Гц актуальна для ЭЛТ-мониторов, которые наверное уже вообще не производятся и через 5-10 лет вымрут все физически. Так что возможно, для новых разрешений будет только 60Гц.
-
? Voland@ - 01.09.2015 11:54
Кстати сейчас прямо на работе проверил на своём широкоформатном Dell P2312Ht - включил ему принудительно неподдерживаемую частоту 50Гц - он заработал! Причем в меню монитора показывает именно 50Гц текущий режим. Также, Роман дал мне утилиту http://www.nedopc.com/zxevo/tools/zxevo_vga_test_20100221.rar - с помощью неё можно тестировать мониторы на поддержку частоты 48.8Гц, так что предлагаю всем протестировать свои и отписать сюда модель монитора и результат теста.
-
? Voland@ - 01.09.2015 11:59
Если точнее, цитата из доки к утилите: видеоадаптер программируется для выдачи видео-сигнала близкого к видео-сигналу ZX Evolution.
H.Sync = 28322/909 = 31,157 kHz
V.Sync = 31157/640 = 48,68 Hz
-
? Voland@ - 01.09.2015 12:02
Эмм.. правда утилита работает только под ДОС.
-
? Дмитрий - 01.09.2015 22:17
А на кой ляд 85Гц? Некоторые моники еще 72/75Гц держали, но это исключение. 48,8 и 60Гц вполне достаточно.
-
? Voland@ - 01.09.2015 23:29
Да, 85 нафиг не нужно. Но тут другая проблема выяснилась, чтобы 48.8 работали в нужной фазе, их надо не просто сгенерить, а из БК завести в Бустер, а свободной ноги ПЛИС уже нет для этого (((
-
? Аноним - 02.09.2015 00:38
Выбросить поддержку мыши.
-
? Voland@ - 02.09.2015 01:13
Там ещё одна проблема - разрешение БК имеет частоту пикселей 12мГц, а разрешения 640*480 и 800*600 - 25Мгц и 50мГц соответственно. В используемом циклоне-3 всего два генератора PLL, один задействован для генерации 12.288 мгц для DAC, второй для генерации частоты пикселей 25/50мгц - поскольку они кратные, то достаточно одного PLL на все три разрешения, включая имитируемое на 60Гц БКшное. Но если делать полноценное БКшное разрешение, то надо либо DAC выкинуть, чтобы частоту пикселей для БК генерировать ровно 12мгц, либо ставить доп. генератор частоты на место, освобождаемое STA.
Короче полный тупик настал.
-
? bk-m - 02.09.2015 01:29
Если настал тупик - закажите разработку блок-схем профессионалам.
Правда, это будет стоить денех. И, возможно, 1 ПЛИС обойтись не получится.
Не знаю, сколько у вас, москалей , это стоит - у нас, в Минске, от 1К$ примерно, а более детально - в разы дороже.
¤
Напомните , что вааще должен делать этоб самый ваш буфет - там, внутри, будет свой процессор, или это только видеокарта для БК ?
-
? Voland@ - 02.09.2015 10:11
>> Если настал тупик - закажите разработку блок-схем профессионалам.
Задачей итак профессионал занимается. Проблема в том, что устройство физически было давно спроектировано, а изменения сейчас потребовались. Это перезаказ платы, снова работа, снова время. Хочется найти способ в этой же плате решить задачи, которые вдруг возникли. А именно, как не имея сейчас свободного вывода ПЛИС, не выкидывая DAC, не устанавливая ещё один генератор на плату, сделать VGA 48.8Гц в одной фазе с БКшными 48.8Гц.
¤
>> что вааще должен делать этоб самый ваш буфет
Свой процессор там разве что NIOS будет, и то в основном для отладки текущей. Так же, можно запихнуть туда fpga-ВМ1, но тогда надо делать его основным, это решило бы вышеозначенную проблему синхронизации без доп. выводов ПЛИС и генераторов, но тогда БК стала бы декорацией с неработающей клавиатурой и УП (ибо оригинальный регистр клавиатуры будет виден только оригинальному процессору ВМ1).
¤
>> или это только видеокарта для БК ?
Задумывалось это по сути как СМК512, с видеоадаптером для VGA, обвешанный мелкой периферией типа PS/2 и шиной UEXT, которая тоже поддерживает кучу своей периферии. Видеоадаптер был дополнен новыми режимами разрешения, с новой цветностью. Зачем туда засунули DAC и пытались mp3 - теперь не очень понятно, ибо откровенно нереально прокачивать mp3, а тем более несжатый звук в фоне, например для демы или игры. В лучшем случае в качестве плеера, проигрывающего звук с SD работало бы. Но это бред.
-
? Vslav - 02.09.2015 10:17
PLL в младших 3-их циклонах имеют целых 5 выходов. И в младших Циклонах по 2 PLL (в старших - уже 4). Можно сгенерировать целых 10 частот, причем 2 из них будут точными, а еще 8 - с точностью не хуже полпроцента, часто можно подобрать гораздо более точные варианты. И еще - циклоновские PLL могут динамически переконфигурироваться, то есть -изменять свои настройки в процессе работы. И точная пиксельная частота для VGA не так уж важна - пару процентов туда-сюда - мониторы такое запросто переживают.
Еще можно генерировать частоты прямым синтезом, методом фазового аккумулятора, при опорной частоте 250-300МГц (что посильно для Ц3) джиттер будет всего 3-4нс, может даже на VGA быть незаметно (при времени пикселя ~40 нс, и при условии что АЦП LCD-монитора делает выборку в середине пиксельного интервала). Кстати, такой вариант (с прямым синтезом) я сам собираюсь пробовать.
-
? Voland@ - 02.09.2015 10:27
>> И еще - циклоновские PLL могут динамически переконфигурироваться
Разработчик говорит, что так не получится, поскольку конфигурация PLL задается в параметрах IP, а потом заливается в FPGA при старте. Т.е. нам придется каким-то чудом в стартовой флешке менять конфигурацию PLL и рестартовывать систему.
¤
>> И точная пиксельная частота для VGA не так уж важна
Если для БК пиксельная частота будет не 12Мгц, а 12.288 мгц, используемая для DAC, это должно прокатить? Или сильное отличие в 2.4% ?
-
? TheGWBV@ - 02.09.2015 10:49
Как вариант, можно пожертвовать интерфейсом SPI, чтобы освободить ноги ПЛИС? Тогда Бустер будет заменой для ИРПС (uart), Джойстика (I2C), Клавы и мыши (ps/2), AY, Covox, и видеоадаптеров...
-
? Дмитрий - 02.09.2015 11:35
>> так не получится
А влупить туда ПЛИС постарше, с 4-мя генераторами? Или ПЛИС уже закуплены и менять их не вариант?
-
? Voland@ - 02.09.2015 12:09
Если мы жертвуем SPI, то лесом идёт SD и UEXT кастрируется.
-
? Voland@ - 02.09.2015 12:10
>> А влупить туда ПЛИС постарше, с 4-мя генераторами?
И плис закуплены и 30 плат изготовлены... А нынче платы в 2 раза дороже стали в Китае в рублях...
-
? Voland@ - 02.09.2015 12:39
Есть менее болезненные способы сэкономить ногу: отказ от третьей кнопки, или от одного из PS/2. Кнопки, напомню - первая RESET, вторая переключатель ЦВ/Монохром, третья - предполагалось переключать 48.8Гц и 60гц для БК-режима, чтобы работало либо корректно на части мониторов, либо некорректно, но зато на всех. Придется сделать только 48.8Гц для БК-разрешения.
-
? Аноним - 02.09.2015 13:17
Панель с кнопками можно повесить на 3 проводка. Обрабатывать нажатияможно внутри.
-
? Дмитрий - 02.09.2015 15:05
>> предполагалось переключать 48.8Гц и 60гц для БК-режима
Как насчет программного регистра? При включении 48,8Гц, запись "1" - включение 60Гц, обнуление - 48,8Гц.
-
? Дмитрий - 02.09.2015 15:06
Кстати, туда же (в этот же регистр) сделать и программное переключение ЧБ/ЦТВ.
-
? Voland@ - 02.09.2015 17:21
Смысла нет. Мы подключаем БК к монитору, который не поддерживает 48.8Гц и пытаемся вслепую вбить руками значение в регистр, чтобы монитор начал показывать?)
А для монохрома у нас есть кнопка, зачем нам программно клацать?
-
? TheGWBV@ - 02.09.2015 18:51
Да, без SD оставаться не хочется :)
Может сделать всё через одну кнопку так...
- по умолчанию 60Гц, Ч/б, чтобы уж точно увидеть ДОС/БОС, отладчики-ассемблеры...
- первый клик, получаем 48,8Гц Цветной режим, для любителей Демо
- второй клик, 60Гц Цветной режим, для неокодеров :)
-
? Vslav - 02.09.2015 20:11
Еще есть варианты - длительное нажатие кнопки, или быстрый двойной клик.
-
? Аноним - 02.09.2015 20:23
Не хотите по трём проводкам много кнопок, хорошо! Два контакта, на них вешаются много кнопок, с разным сопротивлением при замыкании. Положительный момент - можно одновременно замыкать много кнопок. Анализировать нажатия внутри плюшки, по суммарному сопротивлению, прогрпммно. Быстро и надёжно.
-
? Voland@ - 02.09.2015 21:06
>> Может сделать всё через одну кнопку так...
Просто еще нужна возможность переключения разрешения, в котором эмулируется БКшное. Основное используется 640*350, но не на всех мониторах оно корректно интерполируется, и приходится включать 640*480. Самое забавное, что на некоторых мониторах наоборот, некорректно интерполируется второе, а первое корректно. Катастрофы нет, но картинка немного искажается - неравномерно по горизонтали точки отстоят друг от друга.
-
? Дмитрий - 02.09.2015 21:20
>> пытаемся вслепую вбить руками значение в регистр, чтобы монитор начал показывать?
Сделать наоборот. Для 48,8 записать 1.
¤
>> Еще есть варианты
Неудобно. Тогда так: при включении установлено 60Гц и цветной режим. Первое нажатие - 60+ЧБ, второе - 48+ЧБ, третье - 48+ЦВ. Далее опять 60+ЦВ и так далее. Но программно было бы удобнее.
-
? Дмитрий - 02.09.2015 21:23
Уходить надо от кнопок и переключателей. Программное переключение гибче и удобнее. Внезапно понадобится переключать еще и разрешение. Нет проблем, один бит в регистре управления и проблема решена. В программе заменил константу и все работает. А тут придется новые режимы доделывать в прошивке, чтоб кнопкой переключать.
-
? maxstudios@ - 03.09.2015 00:05
Кнопка ЧБ/ЦВ (или как на БК - ТВ и ЦТВ) нужна, я считаю. Раньше на БК приходилось перетыкать штекеры, чтобы после цветной демки прочитать какую-нибудь инструкцию. Даже в ANDOS или другой DOS текст в окнах был рассчитан на Ч/Б монитор, а при запуске игр или демок приходилось перетыкать штекеры снова.
Кнопка RESET - вне обсуждения, я считаю.
А вот кнопка переключения частот - это лишнее. Нигде на РС такого нет, и не было.
Нужно установить по умолчанию(при включении) родные 48.8 ГЦ, 640х480, то есть - минимальные разрешения, чтобы у всех все работало и отображалось. Дальше уже можно переключать режимы через регистры - сделать программку настройки экрана, чтобы настраивать Бустер под свой монитор-телевизор. В будущем желательно писать программы с учетом того, что у всех разные УОИ (устройства Отображения Информации), и в играх-программах-демах делать возможность изменения параметров экрана.
А вообще, у меня совет - используйте LED TV в качестве монитора для БК, проблем будет гораздо меньше, чем с мониторами. Подключить БК к телевизору можно одновременно - через SCART (разъемы ТВ и ЦТВ) и VGA (с Бустера),
и ретро-демки можно будет смотреть через SCART, не переживая о неправильности отображения эффектов. Пультом можно выбирать, с какого входа брать изображение. Даже звук можно выводить через телевизор, что разгружает место на столе.
-
? maxstudios@ - 03.09.2015 00:07
Добавлю - это моё скромное мнение, не настаиваю ни на чём. :-)
-
? Дмитрий - 03.09.2015 10:57
>> родные 48.8 ГЦ, 640х480, то есть - минимальные разрешения, чтобы у всех все работало и отображалось.
Не все современные мониторы держат эту частоту. А надо, чтобы 100% работало.
-
? Дмитрий - 03.09.2015 11:01
>> используйте LED TV в качестве монитора для БК
Монитор с пикселями по кулаку? Увольте. Мне зрение дороже. К тому же телевизор предназначен для просмотра с расстояния хотя бы пары метров, а не 20-30 см.
-
? Voland@ - 03.09.2015 12:31
Короче кнопку мы выкидываем. Вешать на одну кнопку две-три или функционал двойного нажатия разраб. отказался, мотивируя тем, что распознаватель азбуки морзе он не подписвывался реализовывать. Так что помимо ЦВ-Монохром, все дополнительные переключения будут через регистры.
-
? Дмитрий - 03.09.2015 13:17
Вот это верное решение. Достаточно только одной кнопки reset.
-
? Дмитрий - 03.09.2015 13:20
Кстати, а как он собирается одновременно реализовывать 48,8Гц и 60Гц, если, по его словам, частоту PLL надо прописывать в конфигурации и делать рестарт? Или внутри будет 60Гц, а на освободившуюся ногу вешаем внешний генератор 48,8?
-
? maxstudios@ - 03.09.2015 13:45
>>>Монитор с пикселями по кулаку?
Первый раз слышу о пикселях по кулаку. :-)
Тут два варианта - или ТВ 32" (и больше) с 720р качеством, плюс неправильные настройки видеокарты на РС, или ТВ старше меня. :-)
Матрицы для современных ТВ и мониторов делают по одной технологии, расстояние 2-3 метра - это стандарт для ЭЛТ телевизоров, перестройтесь уже с советских стандартов устаревших.
К тому же, современные LED TV ПРЕДНАЗНАЧЕНЫ для использования в качестве МОНИТОРА. Почитайте инструкции к своим современным ТВ, хотя это и так понятно - есть же входы VGA и HDMI.
Для БК современный LED TV подходит больше, чем мониторы, по всем параметрам. Особенно 16-17-18-19-20-21 дюймовые, больше уже не нужно - действительно придется отсаживаться подальше, иначе глаза разъедутся от такой величины. :-)
Но я снова повторяю - это моё сугубо личное мнение, которое я не навязываю, но объясняю с доказательствами.
...
Насчет кнопок на Бустере - не понятно, сколько осталось и что они делают теперь. :-)
-
? maxstudios@ - 03.09.2015 13:49
>>>Не все современные мониторы держат эту частоту. А надо, чтобы 100% работало.
Вот честно - НИ РАЗУ в жизни не видел мониторы и телевизоры, которые не поддерживали бы 50Гц КЧ.
Наверное, не попадались. Жаль, хотел бы узнать названия фирм, которые так тупят. :-)
-
? Voland@ - 03.09.2015 14:08
>> Жаль, хотел бы узнать названия фирм, которые так тупят. :-)
Выше я кидал ссылку на документ от Чунина Романа, где приведен большой список мониторов, для которых указано, держат они или не держат 50Гц. И потом, откуда такая уверенность, Вы каждый встречный монитор собственноручно включали на 50гц для проверки?
¤
>> Кстати, а как он собирается одновременно реализовывать 48,8Гц и 60Гц
Пока не знаю, может даже и никак. Он с очень большой неохотой на 48.8Гц берется переделывать. Прям с трагедией какой-то.
-
? реалист - 03.09.2015 14:24
Настоящий энтузиаст-БК-шник этот неизвестный разработчик. Столько лет пилить и не устать от проекта мало кто сможет. Деньги тут не причем, если человек опытный-заработал бы их и проще, и даже, возможно, больше...
-
? Дмитрий - 03.09.2015 18:09
>> или ТВ 32" (и больше) с 720р качеством, плюс неправильные настройки видеокарты на РС, или ТВ старше меня.
ТВ LG 32", 2014 года, 1080р, настройки верные, физическое разрешение, изображение напрягающее глаза с небольшого расстояния (т.н. кристаллический эффект). Пиксели гораздо больше, чем у домашнего монитора (Dell U2412M). Как телек и для просмотра фильмов с HTPC с расстояния 2-2,5 метров - отлично. Как монитор на столе - убожество.
¤
>> Особенно 16-17-18-19-20-21 дюймовые
Это фактически мониторы с ТВ-тюнером (есть, кстати, и такие у производителей - именно монитор с ТВ-тюнером), я их за ТВ не считаю.
¤
>> LED TV ПРЕДНАЗНАЧЕНЫ для использования в качестве МОНИТОРА
Они предназначены для показа изображения по входам от разных источников. Функция монитора у ТВ - это одна из функций, но никак не предназначение. Для компа предназначены мониторы, а не ТВ.
¤
>> может даже и никак. Он с очень большой неохотой на 48.8Гц берется переделывать.
Как я и говорил, невелика потеря. И что значит "переделывать"? Вместо 60Гц делать 48,8 или делать обе частоты? Если не хочет - не надо форсировать, пусть оставит 60Гц. Без демок можно жить.
-
? Voland@ - 03.09.2015 18:21
>> Без демок можно жить.
Я несколько игр запускал, Attack To The Earth в самой игре тоже некорректно работает - непрерывное мерцание происходит, не знаю почему, может там для сглаживания переключение экранов постоянно происходит. Так что без 48.8Гц много всякого разного софта неожиданно начнет мерцать.
¤
Запустил ради интереса Инсульт в эмуляторе gid'а, там конечно программно многое вытянуто, потому даже на 60Гц нету тех косяков что есть на реальной БК+Монитор 60гц, но по бегущим строкам сразу всё видно - строка движется подергиваясь на мониторе при 60Гц, а если переключить монитор на 50гц, то становится плавной.
-
? maxstudios@ - 03.09.2015 19:32
Ну как я и предположил, ТВ оказался 32". :-)
Если взять монитор диагональю 32", то в полуметре от него будет так же невозможно сидеть.
Уж если сравнивать, то одинаковые диагонали - возьмите 19" монитор 16:9 и ТВ 16:9, желательно одинакового разрешения - 1360х768, 720р, к примеру.
А затем попробуйте подключить БК к первому и второму, без Бустера и с Бустером, напишите о результатах. :-)
-
? maxstudios@ - 03.09.2015 19:38
А насчет предназначений ТВ и монитора - к монитору тоже можно подключить не только комп, а много чего (при наличии HDMI входа).
Если есть входы, значит устройство предназначено для работы от этих входов. Если не предназначено - входов бы и не было. :-)
-
? maxstudios@ - 03.09.2015 19:54
У меня такой вывод напросился - Бустер должен иметь два режима:
1). Полный аналог стандартного вывода ТВ(ЦТВ) БК, с кадровой частотой 48.8Гц
2). Новый режим 800х600 кадровой частотой не выше 60Гц.
Тогда всем будет радость и широкий выбор УОИ - от ЭЛТ- и LED- мониторов до современных LED TV.
Первый режим должен быть "по умолчанию", второй может быть включен программно.
Бустер меня интересует больше, чем БК-12.
Факт того, что БК становится приличным ПК при подключении к нему новой коробочки, очень радует.
А новый ПК - это новый ПК, без живого ВМ1, мне пока это не нужно.
Огромная благодарность Voland-у и разработчику, что занимаются реальным апгрейдом БК.
Надеюсь, что у них все получится, вопрос только один - сколько будет стоить эта коробочка?
-
? Voland@ - 03.09.2015 20:49
Первые 25 Бустеров будут стоить 5000руб. Остальные - уже на 1500-2000 дороже, исходя из текущего курса бакса (на первые 25 детали закупались ещё при курсе 33-35 руб за доллар). А если к моменту, как распродадутся первые 25, бакс еще больше просядет - ну значит ещё дороже.
>> Полный аналог стандартного вывода ТВ(ЦТВ) БК, с кадровой частотой 48.8Гц
>> Новый режим 800х600 кадровой частотой не выше 60Гц.
>> Первый режим должен быть "по умолчанию"
Так и предполагается, причем новых режима будет два - 640*480 и 800*600 при 65к цветов.
-
? maxstudios@ - 03.09.2015 21:54
Надеюсь оказаться в первой 25-ке. :-)
Хотя и эти деньги надо еще выделить, но очень надеюсь и жду.
СпасиБо за ответ. :-)
-
? Voland@ - 06.09.2015 18:09
Внимательно погонял демки, пришел к выводу, что с вероятностью 90% в Бустере сейчас есть какая-то ошибка в порядке отображения информации на экран. То ли там выводится картинка одновременно с двух экранных буферов, то ли ещё чего, но при просмотре одновременно на СКАРТ и на VGA получается, что на СКАРТ изображение ещё не появилось (подготовка в буферном экране идет), а на VGA оно появляется раньше на пару секунд, и появляется кусками. И в некоторых местах даже получается, что надпись на СКАРТ на экране в центре, а на VGA в верхней части экрана каким-то образом оказывается. Есть ощущение, что если устранить эту проблему, то не так уж всё и печально будет из-за 60Гц.
А насчет 60Гц, нашел я тут одну очень крутую программулину PowerStrip:
http://www.softportal.com/software-551-powerstrip.html
Она позволяет в реал-тайм регулировать все параметры видеосигнала, так что я смог прямо под Win8.1 проверить, потянет ли через DVI мой монитор кадровую частоту 48.8Гц - увы, не потянул. Смог только ближайшую 48.934Гц, что в принципе всего лишь на 0.0027% больше требуемой. Но такую частоту удалось включить при разрешении 1920*1080, а при разрешении 640*480 не включилась даже частота 50гц, так что чувствую проблем будет очень много с поисками совместимых мониторов.
Прошу всех небезразличных проверить, на какую частоту, ближнюю к 48.8Гц, включится их монитор, и на каком разрешении.. Требуемое разрешение 640*350, или хотя бы 640*480. Ну и отписать результат и модель монитора.
-
? Shura-gay from Minsk - 06.09.2015 19:40
Господин Voland писал :
"...а на VGA оно появляется раньше на пару секунд..."
Вот это глубина буфера !
¤
Да 80% телеков с жидовскими кристаллами не потянут БКшные 48.8 гц !
-
? Voland@ - 07.09.2015 00:12
Есть такая демка TechnoDem.exe, при запуске в верхней четверти экрана двигаются под музыку надписи. Вот почему-то на VGA она размножается на 4 части и все 4 двигаются, причем в разной фазе:
http://i072.radikal.ru/1509/8b/ebf825520bb5.jpg
¤
Разработчик говорит, что возможно дело в загадочном бите в регистре управления дисплеем, который типа для экономии памяти выводит только часть экрана, чекушку вроде, но разработчик не знает как этот режим точно должен работать.
gid, может Вы подскажете что-нибудь?
-
? Дмитрий - 07.09.2015 01:14
Режим РП (расширенной памяти) отображает в верхней четверти экрана адреса 70000-77777, остальное становится обычным ОЗУ. Остальные 3 "чекушки" (40000-67777) всегда невидимые (черные) и их содержимое никак не отображается.
-
? gid - 07.09.2015 11:19
Никогда этой демки не видел, где находится, не знаю, ничего конкретного сказать не могу.
Но если там сделано как в Techno Dream, то кроме бита РП используется хитрая синхронизация между переключениями экранов и ходом луча. Там задержки делаются с помощью длительностей исполнения команд ЦП, т.е. прямая зависимость от ТЧ и задержек ОЗУ.
-
? Voland@ - 07.09.2015 13:11
>> отображает в верхней четверти экрана адреса 70000-77777
Это что за адреса ? Из 0010 ? А в 0011 что получается ? Верхние чекушки двух страниц памяти ?
-
? Дмитрий - 07.09.2015 14:37
>> Это что за адреса ?
Адреса экранного буфера, в данный момент подключенного к 40000.
-
? Voland@ - 07.09.2015 14:49
А есть предположения, как там тогда 4 разных картинки совмещается на одном экране ? Значит там еще и 4 разных адреса получается, в которые процессор пишет заранее, а потом меняет?
¤
Кстати, какой самый простой способ определить, к БК10-01 подключен Бустер или к БК11М? Тем способом, что в СМК используется, не получится: там в коде прошивки СМК идет обращение к какому-то регистру, которого нет у БК0010 и ловится прерывание, но в бустере же есть все регистры БК0011М, они зеркалируются, поэтому и на БК10 Бустер будет продолжать думать, что он с БК11М работает.
-
? gid - 07.09.2015 14:52
Вообще говоря, режим расширенной памяти - это программно-аппаратное решение. Его программная часть реализована в мониторе БК10. Включение режима РП - это сброс бита 9 регистра 177664, и установка значения скролла - 0230, при этом значении отображаются 64 строки, начиная с адреса 70000, до конца экрана. В этом режиме скроллинг делается строго программно, регистр рулонного сдвига не используется, потому что значение 0230 менять в нём нельзя.
¤
Но формально, бит 9 влияет только на размер отображаемого экрана. Когда он 1, отображается весь экран - 256 строк.
В доках на БКшки экраны измеряются в строках, так решается проблема избегания упоминания адресов, чтобы не путать пользователя, ибо из-за скролла верхним левым углом экрана может быть не только адрес 040000.
Когда бит 9 обнулён, отображается только 64 строки экрана. Остальные 192 - не отображаются. Причём, какие из строк экрана попадают в эти отображаемые 64 строки, зависит от значения регистра рулонного сдвига.
¤
Например, если в регистр 177664 записать значение 01330, то будет отображаться весь экран. Началом экрана будет адрес 40000. Теперь сбросим бит 9, в регистре 177664 станет 0330. При этом будет отображаться только четверть экрана, 64 строки, и началом экрана будет по-прежнему адрес 40000. Теперь если плавно менять значение скроллинга командами incb @#177664 или decb @#177664 (команды должны быть исключительно байтовыми), то у нас в отображаемую область будет плавно въезжать снизу или сверху содержимое остальных 192 не отображаемых строк.
У меня в составе эмулятора есть образ дискеты wrkandos.img, в нём, в директории misc, есть исходник теста scrltst.asm. Он наглядно демонстрирует всё, что я описал. Я его как раз писал для проверки корректности работы этого режима в эмуляторе.
-
? gid - 07.09.2015 15:13
[Кстати, какой самый простой способ определить, к БК10-01 подключен Бустер или к БК11М?]
По моему, самый простой - записать в регистр 177716 код подключения ПЗУ №4 - 04020, и посмотреть, будет ли низкий уровень ноге А22 МПИ. Если да - то это БК11(М), если нет - это БК10. А программные способы - это пытаться читать данные из ПЗУ по определённым адресам и интерпретировать результаты.
-
? Voland@ - 07.09.2015 15:18
>> По моему, самый простой - записать в регистр 177716 код
так это всё способы со стороны процессора, а со стороны бустера никак не проверить, что там лежит внутри БК, содержимое ПЗУ в Бустер не зеркалируется в отличие от ОЗУ.
-
? Дмитрий - 07.09.2015 15:33
>> А есть предположения, как там тогда 4 разных картинки совмещается на одном экране ?
Как и что там устроено не знаю, но предположу, что там что-то типа "предбуферизации". То бишь, экран формально разделен на 4 части по 10000 байт. 70000-77777 всегда отображается, остальное скрыто. Пока выводится изображение, допустим, с 40000-47777 и играет музыка, с адреса 50000-57777 (по таймеру?) рисуется следующий кадр, затем осуществляется вывод части 50000-57777 и музыка, а в это время готовится изображение с 60000-67777 и так в цикле. Вот поэтому (из-за неправильной реализации режима РП в бустере) отображаются все 4 части (40000-77777) на экране, а должна быть только 1 верхняя.
-
? gid - 07.09.2015 15:40
А как со стороны Бустера проверить? Только аппаратно ведь? Путём анализа уровня сигнала на какой либо специфичной ноге для БК10 или БК11. Например есть нога А21, на БК11 на неё выведена ТЧ процессора, на БК10 она висит в воздухе. Если есть возможность как-то отличать ноги висящие в воздухе от подключенных к МС, то опять же можно анализировать ногу А22, если там есть сигнал 0 или 1, неважно - то это БК11(М), если висит в воздухе - то это БК10.
-
? Voland@ - 07.09.2015 16:05
Такой способ уже неприемлем, у нас нету свободных ног ПЛИС, для заведения анализируемого сигнала.
Нужен способ, завязанный на старт процессора. Например мы точно знаем, что процессор при старте на БК11М в самом начале пишет в определенный адрес ОЗУ или в какой-то регистр конкретное значение. А на БК10 он такое значение не пишет. Тогда анализируем ячейку ОЗУ или регистр (они же зеркалируются в Бустер) и делаем вывод, что это у нас БК11М, или не БК11М (а значит считаем, что это БК10).
-
? Vslav - 07.09.2015 16:20
Тут особо гадать нечего, надо смотреть схему 037-ой. Там есть цепь М256, это именно 9-ый бит, управляющий полным/четверть отображением экрана. Если он единичный, то в старших 3/4 строк просто блокируется генерация сигнала WTI и регистры ИР13 не перезагружаются из ОЗУ и выдают уровень со входа последовательного сдвига (то есть - черный экран). Сами циклы ОЗУ и видеосинхронизация никак от этого бита не зависят.
-
? gid - 07.09.2015 16:30
[Тогда анализируем ячейку ОЗУ или регистр]
Ну раз анализировать регистр возможно, то нужно анализировать 177716 по чтению, если читается 0100xxx то это БК10, если читается 0140ххх, то это БК11. Это если бустер не подменяет стартовый адрес БКшки.
-
? Voland@ - 07.09.2015 17:04
>> Тут особо гадать нечего, надо смотреть схему 037-ой.
Vslav, gid, Дмитрий, благодарю, разработчик сказал что с этим вопросом вроде ему понятно теперь.
¤
>> нужно анализировать 177716 по чтению
В Бустер зеркалируется всё только по факту записи, т.е. надо анализировать те регистры или ячейки ОЗУ, куда ВМ1 при старте чего-то успел записать.
-
? gid - 07.09.2015 19:11
А как вы узнаете о том, произошёл старт или нет? Когда настал момент, что уже можно что-то читать из ОЗУ? Будете считать такты от момента подачи питания?
-
? Вредина - 07.09.2015 21:35
Когда начинать шевележ МПИ ?
А когда будет сигнал DCLO - A1 МПИ, и когда ВМ1 отдаст МПИ для Бустера.
А вот с БК0010 - там не всё ясно с МПИ. Или приделывать проволоки SACK, DMR, DMGO, BSY, или останавливать процессор БК - что повлечет гемор с 1801ВП1-014 - надо отчикать сигнал INIT от неё - в общем, проблемная БК0010.
-
? Voland@ - 07.09.2015 21:55
>> А как вы узнаете о том, произошёл старт или нет?
Это должны быть первые подходящие операции доступа со стороны процессора к определенным ячейкам, подходит чтение/запись по конкретному адресу или конкретного значения, т.е. то, что сможет распознающий автомат идентифицировать (при чтении и записи данные попадают на шину, а следовательно и перехватываются Бустером).
-
? Voland@ - 07.09.2015 21:56
На всякий случай поясню, что чтение ПЗУ при старте не подходит, ибо читается ПЗУ СМК, а оно будет одинаковым на обоих БК.
-
? Дмитрий - 07.09.2015 22:19
>> оно будет одинаковым на обоих БК
Имеется в виду 10 и 11(М)?
-
? Voland@ - 07.09.2015 22:20
Да. СМК же один и тот же остаётся при подключении к разным БК, а старт БК в этом случае начинается с ПЗУ СМК.
-
? gid - 08.09.2015 09:22
>>? Voland @ - 7 сентября 21:55
Тогда предлагаю классический вариант - анализ значения, записываемого в ячейку 030, - адрес обработчика EMT, он инициализируется при включении монитором БК, и для БК10, БК11 и БК11М разный. Тут главное отсечь ложные срабатывания, т.к. вектор 30 и потом может инициализироватся какими-нибудь программами.
-
? Voland@ - 08.09.2015 09:45
>> инициализируется при включении монитором БК, и для БК10, БК11 и БК11М разный
А как в случае с подключенным СМК, эта инициализация предшествует старту ПЗУ СМК? Какое примерно расстояние от старта процессора до этой инициализации? (в тактах, командах, миллисекундах)
-
? Дмитрий - 08.09.2015 10:30
>> Какое примерно расстояние от старта процессора до этой инициализации
Непредсказуемое. CMK вообще не инициализирует данный вектор. Инициализация произойдет в случае отсутствия загрузочного диска (выход в монитор) или после старта ядра ДОС.
-
? gid - 08.09.2015 11:03
[Какое примерно расстояние от старта процессора до этой инициализации? (в тактах, командах, миллисекундах)]
Именно это я тоже хотел узнать, задавая вопрос "? gid @ - 7 сентября 19:11". Как?
А тут оказывается ещё и СМК сперва стартует, а оно вообще в принципе по другому действует.
ПЗУ СМК определяет БК10 или БК11 по записи в 177662, если запись возможна - это БК11, если нет - БК10.
В Бустере как я понимаю, запись будет всегда возможна, поэтому ПЗУ СМК всегда будет думать, что запуск происходит на БК11М, и будет пытаться обратиться в ПЗУ БОС БК11М. И узнать бустеру, где он запускается, по анализу происходящего на шине МПИ, возможности нет вообще никакой. До момента записи в 177662 СМК ничего никуда не пишет, только читает, а потом на БК10 случится облом. И именно по нему можно будет узнать, что запуст случился на БК10.
-
? Аноним - 08.09.2015 11:33
А стартовые адреса, читаемые с 177716 разве отличаться не будут? Бустер всегда выставляет 140000?
-
? Voland@ - 08.09.2015 15:54
>> До момента записи в 177662 СМК ничего никуда не пишет, только читает, а потом на БК10 случится облом.
А этот облом какие признаки имеет? В смысле может мы их перехватить Бустером можем на шине..
¤
>> Бустер всегда выставляет 140000?
Бустер выставляет стартовый адрес внутри ПЗУ СМК, 166356 кажется, или или 166400
-
? gid - 08.09.2015 16:41
После того, как СМК убедится, что регистр 177662 доступен по записи, включается режим Std11(код 0140) и выполняется команда CALL @#150170, это п/п инициализации системного окружения БОС БК11М. На БК10-01 по адресу 150170 будет скорее всего ПЗУ бейсика, на БК10 с фокалом скорее всего вообще ничего не будет, и вызов скорее всего приведёт к зависанию, либо к разным казусам и зависанию. Что конкретно произойдёт, можно посмотреть в эмуляторе.
Каким образом возможно определить аномальное поведение программы, я вообще не представляю, разве что ИИ какой-нибудь написать, который будет проводить логический анализ всего, что твоится на шине.
А главное, когда уже произойдёт неверная ситуация, каким образом бустер сможет исправить ситуацию? Он же не может влиять на внутреннее состояние просессора.
-
? Voland@ - 08.09.2015 18:02
Раз не получается найти способ идентификации, придется делать две разные прошивки для Бустера - для БК10-01 и для БК11М, друг с другом абсолютно не совместимые. Т.е. бустер, прошитый под "десятку" не будет работать на 11й, и наоборот.
-
? anonymous - 08.09.2015 18:15
Может, лучше поправить процедуру определения машины в прошивке СМК?
-
? Voland@ - 08.09.2015 18:22
Так а какой алгоритм предлагается? И кто это сможет сделать..
-
? Voland@ - 08.09.2015 18:24
Кроме того, там все адреса в прошивке СМК изначально подогнаны и часть вызовов по абсолютным адресам делается, если переписывать прошивку СМК, то замененная часть прошивки не должна сместить своими размерами остальную часть.
-
? anonymous - 08.09.2015 18:35
Значит, надо патчить так, чтоб новая процедура разместилась на месте сушествующего, но ненужного кода, либо который можно было бы потеснить за счёт оптимизации либо последующей подмены, после окончания инициализации. Самый простой способ - попереключать ПЗУ через регистр страниц с установленным и снятым 11 разрядом, подключаемые к адресу 0100000, в БК11 и БК11М они либо будут меняться, либо будет отлуп, а в БК0010 всегда будет оставаться один и тот же код, а БК11 и БК11М различить по тому, в каком состоянии 11 бит вызывает переключения.
-
? gid - 08.09.2015 19:12
Там есть пустое место, целых 0270 байтов.
-
? Vslav - 08.09.2015 20:21
Надо сделать теневое ПЗУ, которое подключается и исполняется после аппаратного сброса. Код в теневом ПЗУ определяет тип машины, делает нужные настройки в теневых же регистрах СМК, потом заканчивает все что ему нужно и переключает режим работы, при этом все теневые ресурсы исчезают из доступа, остаются только "легальные", управление передается на точку входа после сброса на "легальное" ПЗУ. Выход из легального режима в теневой - аппаратный сброс.
-
? Voland@ - 08.09.2015 21:40
Это все какие-то сложные пути.. Наверняка если проследить лог. анализатором шину от начала старта БК10 и БК11М с подключенными СМК, на каком-то такте будет отличие последовательности записи или чтения, вот нужна эта последовательность, чтобы отловить её в Бустере конечным автоматом. Теоретически, её даже как-то средствами эмулятора выявить можно..
-
? Voland@ - 09.09.2015 10:02
Поясню насчет зеркалирования ОЗУ и регистров БК в Бустер.
Никто не проводит специального сканирования БК на содержимое регистров и памяти, зеркалирование производится по записи, т.е. во время любой операции записи ПРОЦЕССОРОМ в регистр или ячейку памяти БК, эти данные (и соответствующие адреса) появляются на шине, Бустер естественно их перехватывает и помещает в зеркальную память. Т.е. в самом начале всё пусто в зеркальных в регистрах и зеркальной памяти, отражение туда идет постепенно (если за шкалу времени брать такты) - с каждой новой операцией записи в реальную память и регистры.
Таким образом, идентифицировать модель БК можно только выяснив, что к примеру, на 20-м такте от старта процессора на шину БК11М последовательно выставляются адреса и/или данные xxxxxx, yyyyyy, zzzzzz, а на БК10-01 последовательно выставляются другие адреса и/или данные aaaaaa,bbbbbb,cccccc
Подходят как чтение процессором, так и запись (в обоих случаях адреса и данные появляются на шине), анализировать можно как последовательность адресов, так и данных, главное чтобы они отличались на БК10 и БК11М на одних и тех же тактах, или хотя бы просто на факт наличия анализ проводить: ждем определенную уникальную последовательность адресов или данных определенное время (до определенного такта от старта), если она пришла на шину, значит это БК11М, если не пришла и тайм-аут истек, то считаем, что это БК10.
-
? Дмитрий - 09.09.2015 11:10
>> Бустер естественно их перехватывает и помещает в зеркальную память
>> в зеркальных в регистрах и зеркальной памяти
А для чего это вообще? Практическое применение данного зеркалирования?
-
? Voland@ - 09.09.2015 11:30
Ну как же.. а вывод изображения на VGA как делать? А как в Бустер данные передавать? Отдельный контроллер доступа к памяти БК лепить?
-
? Дмитрий - 09.09.2015 11:51
Так для этого надо только захватывать запись данных 40000-77777 или 70000-77777 (РП). Для чего регистры захватывать и всю остальную память?
-
? SKcorp. - 09.09.2015 15:05
А не проще ли таймер на МПИ (ПРТ1) отлавливать?
Или любой др. сигнал отличающийся:
http://vak.ru/doku.php/proj/bk/bk-mpi
-
? gid - 09.09.2015 15:21
Проще. Но у них ноги в ПЛИС кончились.
-
? gid - 09.09.2015 15:31
Тут куда-то делись два моих сообщения. Но по RSS я себе их успел получить, поэтому повторю на всякий случай ту мысль, которая пришла в голову сразу после отправки первого из пропавших сообщения:Бустер ведь не эмулирует регистры, на БК10 при записи в 177662, бустер ведь не выдаст RPLY. Тогда, на БК10 при записи в 177662 должно случиться ожидаемое прерывание по вектору 4. В этом случае однозначно можно определить БК10 или БК11 по перехвату последовательности записей в 177130 чисел почти в самом начале работы ПЗУ СМК.
для БК10: 6, 060, 0
для БК11: 6, 0100140, 0
На каком такте ловить сказать не могу, но однозначно интервал для БК10 и БК11 будет разный.
-
? maxstudios@ - 09.09.2015 15:55
Ну если Бустер просто копирует всё, что передается по МПИ, тогда понятно для чего не делается разграничений между памятью экрана и остальной памятью - так проще, время не отнимает, да и не нужно делать отдельный контроллер памяти.
Главное - чтобы окно обмена информацией между БК и Бустером работало, очень было бы интересно посмотреть таблицу-схему адресного пространства Бустера и БК.
-
? maxstudios@ - 09.09.2015 19:09
>>> Таким образом, идентифицировать модель БК можно только выяснив, что к примеру, на 20-м такте от старта процессора на шину БК11М последовательно выставляются адреса и/или данные xxxxxx, yyyyyy, zzzzzz, а на БК10-01 последовательно выставляются другие адреса и/или данные aaaaaa,bbbbbb,cccccc
...
Вопрос, не дающий мне покоя - кто или что будет идентифицировать модель БК и считать 20 тактов? Процессор БК? Бустер?
Мне кажется, лучше в прошивке СМК сделать замену проверки путем записи в регистр 177662 на считывание значения кода из адреса 140000 - если не 106427, то значит имеем БК-10. В БК-11 и БК-11М МОНИТОР начинается с адреса 140000 именно со значения 106427. Можно при начальном пуске, конечно, проверять значение по адресу 100000, там должно быть 000167 для БК-10, и если нет - это БК-11 или БК-11М.
Оба варианта будут работать, но надо разобраться в прошивке СМК.
-
? maxstudios@ - 09.09.2015 19:16
Еще один вопрос - при подключении Бустера к БК-10 будет эмулироваться переключение страниц как на БК-11(М)? Или работа Бустера будет полностью идентична на БК-10 и БК-11(М), переключение страниц останется только на БК-11(М)?
-
? Voland@ - 10.09.2015 17:06
>> таймер на МПИ (ПРТ1) отлавливать?
>> Или любой др. сигнал отличающийся
>> Проще. Но у них ноги в ПЛИС кончились.
Да, верно, ноги закончились.
¤
>> Для чего регистры захватывать и всю остальную память?
Разработчик подробно комментировать не стал, но сказал что по другому никак.
¤
>> кто или что будет идентифицировать модель БК и считать 20 тактов? Процессор БК? Бустер?
Конечно же Бустер. Да там и не обязательно такты считать, Бустер может просто ждать появления уникальной последовательности на шине, дождался - изменил расклад адресного пространства на БК10, не дождался - осталось для 11М по умолчанию.
¤
Бустер ничего не эмулирует,он только зеркалирует к себе в память адреса и данные из БК при записи.
-
? maxstudios@ - 10.09.2015 17:47
То есть, Бустер не будет организовывать переключение экранов и работу с палитрами и таймером на БК-10, чтобы уравнять 10 и 11 модели?
-
? maxstudios@ - 10.09.2015 17:51
Я про регистр 177662 спросил. :-)
-
? Voland@ - 10.09.2015 18:00
Конечно не будет, задачи сделать бустером из 10-ки БК11М не было изначально, да и это уже перебор требований был бы, разработчик итак Бустер по сути делает бесплатно, я подумываю после продаж 5-6 штук премировать его на 20-30 тыс за это.
-
? Аноним - 10.09.2015 19:51
Напомните, зачем нужно отличать, какая БК работает на бустер?
-
? maxstudios@ - 10.09.2015 19:51
Тогда все понятно.
Новые программы под Бустер нужно будет писать под БК-10, как и раньше, чтобы была совместимость.
:-)
-
? maxstudios@ - 10.09.2015 20:07
>>>Напомните, зачем нужно отличать, какая БК работает на бустер?
Это нужно только для СМК из состава Бустера.
Так как DOS писались только под МОНИТОР БК-10, на БК-10 грузится только DOS и запускается.
А на БК-11(М) загружается сначала МОНИТОР от БК-10 с адреса 100000, а затем DOS, и запускается.
Вот и вся разница.
Если не делать определение модели, и грузить МОНИТОР БК-10 на обе модели, попытка записи по адресу 100000 (там ПЗУ с МОНИТОРОМ) в БК-10 вызовет прерывание (вроде бы, по 4 вектору).
И DOS не загрузится, все прервется и выдаст значок "?".
Самому Бустеру, как я понял из описания его принципа работы, абсолютно все равно, к какой модели БК он подключен. :-)
-
? Аноним - 11.09.2015 00:11
Непонял, а что будет грузить МОНИТОР БК-10 по адресу 100000, какое устройство? БК или бустер, или СМК?
-
? Дмитрий - 11.09.2015 00:43
После старта БК управление передается в ПЗУ СМК. Определяется загрузочный диск и загружается загрузчик (BOOT) ДОСа. Он и грузит монитор на 11(М), грузит ядро ДОСа и передает ему управление. На 10-ке монитор уже есть.
-
? SKcorp. - 11.09.2015 02:11
>Так как DOS писались только под МОНИТОР БК-10,
¤
Гон полнейший.
-
? Аноним - 11.09.2015 02:50
Если управление передаётся ПЗУ СМК, оно могло бы, программно, упредить прерывание по вектору 4, на себя, и если оно случится, при попытке записи по адресу 100000 - определить, что это за БК, 10 или 11(М), и далее отработать сообразно версии БК. Это не возможно?
-
? Voland@ - 11.09.2015 10:18
Кстати, а кто-нибудь приобретал для спектрума или БК плату ZXKit1 - плата VGA & PAL:
http://zx-pk.ru/showthread.php?t=10548
?
¤
В аннотации сказано:
Плата имеет несколько режимов работы. Выбор режима осуществляется перемычками.
Первый режим соответствует развертке 640х480 60 Гц стандартного VGA, но отображается экран Спектрума 256х192 плюс BORDER по краям. Данный режим должен работать на всех мониторах, но на разных мониторах могут быть разные пропорции центральной части экрана.
Второй режим - синкдаблер. В этом режиме частота кадров на мониторе соответствует частоте кадров со Cпектрума.
Для CRT мониторов написана прошивка с частотой кадров 100 Гц.
¤
Интересует, как на спектруме работает режим "Первый режим соответствует развертке 640х480 60 Гц стандартного VGA, но отображается экран Спектрума 256х192 плюс BORDER по краям" - демы тоже плывут или нормально? Есть мнения, что за счет подгонки размера пустых полей + двойная буферизация - можно добиться правильно адаптации БК-изображения под 60Гц.
-
? anonymous - 11.09.2015 11:06
「? Аноним - сегодня 02:50 при попытке записи по адресу 100000 - определить,」
У некоторых поделок и на 10ке запись может поддерживаться в 0100000, например в блоке озу32кб для бк0010, там в область монитора запись происходит для переключения его собственных страниц. А у меня в паре десяток вместо РЕ2 флэшки распаяны, тоже запись работает, последовательностью кодов определённой разблокирование флэшки для записи обеспечивается. У других тоже может что-то там висеть. А вот, как выше написал, что при переключении страниц по способу БК0011(М) в БК0010 не будет меняться содержимое 0100000 - мне кажется достовернее.
-
? Дмитрий - 11.09.2015 21:37
>> Это не возможно?
Почему нет? Только для этого надо переписывать прошивку СМК в части entry point. Но перехватить мало, надо как-то сигнализировать бустеру, что он работает на 10-ке в случае прерывания по 4 вектору.
-
? anonymous - 11.09.2015 22:29
Дмитрий, так сам трап по 4 вектору ловить можно, если сперва тыкнулись в 0177662, а затем две записи в стек и выборка из 4го вектора - уже искомая последовательность. Это если, как gid говорит, там так работает определение - у меня нет СМК, проверить не могу на железе.
-
? Дмитрий - 11.09.2015 22:46
Так это понятно. С подключенным СМК управление после старта передается в тело его прошивки. После старта нужно занести что-то по адресу 100000, то бишь где-то разместить команду хотя бы COM @#100000. В СМК ничего подобного нет. Я не знаю дефолтное содержимое адреса 4 сразу после включения. Вполне возможно произойдет перезапуск с выходом в монитор 10-ки или в БОС 11(М). Значит нужно сначала записать адрес обработчика и где-то разместить сам обработчик, чтобы отловить прерывание. Плюс на 11(М) сразу после старта по адресу 100000 также может располагаться ПЗУ БОС 11(М). В итоге мы будем иметь прерывание по 4 вектору в обоих случаях.
-
? Дмитрий - 11.09.2015 22:49
У меня есть рабочая 10-ка и СМК. Я бы проверил, но как?
-
? anonymous - 11.09.2015 23:17
Так как в оригинальной прошивке СМК определяется тип машины? И куда "на будущее", для использования корректного набора кодов режима, складывается это знание? Никогда не имел СМК.
-
? Дмитрий - 11.09.2015 23:50
>> Так как в оригинальной прошивке СМК определяется тип машины?
Никак. Машину определяет загрузчик ДОС. Все функции СМК при старте машины выражаются (упрощенно) в следующем: вывод заставки и передача управления на 160000.
-
? anonymous - 11.09.2015 23:57
Тогда единственный способ решения проблемы - модернизация прошивки. Хотя, странно, там же тест должен выполняться, насколько я читал, а на 10 и 11 машинах списки допустимых режимов должны разниться.
-
? Дмитрий - 11.09.2015 23:59
Кстати, определение, емнип, происходит как раз попыткой подключить память 11(М) к 100000 (запись 177662). Если удачно, то это 11(М) и в подключенную страницу грузится монитор, затем перемещается ядро на 120000 и туда передается управление. Если прерывание по 4, то это 10-ка и сразу перемещается ядро на 120000 и jmp туда.
-
? Дмитрий - 12.09.2015 00:05
>> единственный способ решения проблемы - модернизация прошивки.
Именно. Более того, для 12-ой (в случае реализации 32-битных регистров) я бы переписал процедуры работы с винтом с CHS на LBA. Либо дополнительно сделать аналог 160004, только для LBA. Процедуры работы с флопиком переписывать придется однозначно, ибо там задержки рассчитаны на 3-4Мгц, а у 12-ой частота будет примерно 50Мгц (если ничего не изменится).
-
? maxstudios@ - 12.09.2015 00:18
Прошивка СМК делает попытку записи старшего байта в регистр 177662, предварительно установив вектор 4 на случай невозможности этой записи. Если срабатывает прерывание, делается вывод что СМК подключена к БК-10. А если запись получилась и прерывания не возникает - делается вывод о подключении к БК-11(М), грузится МОНИТОР БК-10 с адреса 100000 и прочее.
Я бы определял проще, тестируя адрес 140000, но уж так задумали творцы СМК. :-)
...
Если у кого-то будет "раздербаненная" БК-10, у которой запись в регистр 177662 не вызывает прерывания, а выдается ответ на МПИ, СМК будет определять что подключена к БК-11(М). Чем уж обернется такой обман - можно проверить только опытным путем, так как никто вроде не разбирался конкретно в работе СМК и DOS-ах. Если такие есть - вопросы к ним.
-
? maxstudios@ - 12.09.2015 00:25
Насчет проблемы определения модели БК прошивкой СМК в составе Бустера - не будет никаких проблем, так как Бустер не выдает ответов на шину ни по каким адресам стандартных регистров БК-10 и БК-11М.
-
? maxstudios@ - 12.09.2015 00:38
>>>? Дмитрий - 11 сентября 23:59
Кстати, определение, емнип, происходит как раз попыткой подключить память 11(М) к 100000 (запись 177662). Если удачно, то это 11(М) и в подключенную страницу грузится монитор, затем перемещается ядро на 120000 и туда передается управление. Если прерывание по 4, то это 10-ка и сразу перемещается ядро на 120000 и jmp туда.
...
Регистр 177662 отвечает на БК-11М переключением экранов, переключением палитр, и разрешением прерывания от таймера 48Гц по 100 вектору. Страницы переключаются регистром 177716.
Разница работы этого регистра и берется за определение типа БК:
В БК-10 этот регистр доступен только по чтению.
В БК-11М этот регистр доступен по чтению, запрещен по записи в младший байт, разрешен по записи в старший байт.
-
? maxstudios@ - 12.09.2015 00:42
Разницу работы регистра я описал для 177662. :-)
-
? Дмитрий - 12.09.2015 00:48
>> Прошивка СМК делает попытку записи старшего байта в регистр 177662, предварительно установив вектор 4 на случай невозможности этой записи.
Смотрю исходник прошивки. Вы что-то путаете. При старте ничего подобного не делается. Производится инициализация, вывод изображения дискеты и строки, потом переход на 160000.
¤
-
? Дмитрий - 12.09.2015 00:50
>> Регистр 177662 отвечает
Да, соврал уже во второй раз. Я 177716 путаю с 177662. Давно программировал, уже многое из головы вылетело.
-
? Дмитрий - 12.09.2015 00:57
Немного не туда смотрел. Да, отслеживание есть...
-
? Дмитрий - 12.09.2015 01:00
Причем код сообщает контроллеру последовательность 6,60,0 для БК10 и 6,100140,0 для БК11(М).
-
? Из 11 сентября - 12.09.2015 01:05
А где-то на форуме писали, что в СМК есть закладка по детектированию 1801ВМ2 - это правда ?
¤
Напомните, пожалуйста, а зачем вообще определять марку ЭВМ ?
-
? gid - 12.09.2015 08:13
Вы не о том спорите и рассуждаете.
Тут самая проблема в том, что ПЛИС бустера должна работать разными алгоритмами на БК10 и БК11 на аппаратном уровне. Но вот определить, к чему он подключен, бустер по-простому не может, ног свободных у ПЛИС нету. Поэтому остаются всякие эвристические способы определения. Я в начале из-за недопонимания Volanda тоже начал всякую фигню городить, но потом в сообщении от [? gid @ - 9 сентября 15:31] показал предположительно возможный способ определения.
-
? anonymous - 12.09.2015 08:50
gid, по перехвату записей в 0177130? А разве не до попытки переключать режимы бустер уже должен знать, к которой машине его подсоединили? Если не играет роли - тогда пусть так пробуют, а если ранее надо успеть реконфигурировать бустер, то пусть ловят запись в 0177662 + две записи в произвольные адреса(стек) + выборку из 4 и 6 ячеек, т.е. трап по ошибке шины, что будет означать 10ку.
-
? maxstudios@ - 12.09.2015 14:13
Из общения с Volandom я сделал такие выводы:
- Определение модели БК нужно только для встроенной в Бустер СМК.
- Все стандартные регистры БК-10 и БК-11М только "втихую" сканируются, без активных ответов с Бустера на МПИ.
- при подключении Бустера к БК-10 он не превратится в БК-11М, не будет переключений экранов и палитр, не появится таймер 48Гц по вектору 100, не появится страничное переключение и дополнительная память. БК-10 останется БК-10. А БК-11М останется БК-11М со своими плюсами.
- У Бустера будут свои регистры, которые будут работать полноценно в памяти БК-10 или БК-11М.
- Распределение адресного пространства останется своим у обеих моделей БК, добавится лишь ПЗУ СМК и новые регистры.
- Проблемы определения модели БК, при таком раскладе, просто нет. СМК всё определит правильно, если только БК-10 не "модернизированная". :-)
-
? maxstudios@ - 12.09.2015 14:25
Voland, я сделал правильные выводы? Или есть в чём-то ошибки?
-
? maxstudios@ - 12.09.2015 14:31
Забыл один пунктик добавить:
- Все регистры СМК в составе Бустера будут также полноценными и активными, как и новые регистры Бустера.
-
? Voland@ - 12.09.2015 18:08
>> Проблемы определения модели БК, при таком раскладе, просто нет.
Проблема по информации от разработчика есть, конкретику я не знаю. Во всяком случае сейчас Бустер не стартует на 10-ке. И по словам разработчика, даже когда запустится, VGA работать не будет, поскольку вроде как есть какое-то отличие в совокупном механизме формирования изображения БК10 и Бк11М, какое точно спрошу у него позже.
-
? blopp - 12.09.2015 18:51
а на БК0011 будет работать?
-
? maxstudios@ - 12.09.2015 19:09
Если СМК-512 работала на обоих моделях БК, то и в составе Бустера все должно работать - это логично. Наверное, есть какой-то косяк или недосмотр.
Возможно, разница частот, на которых работают процессоры в 10 и 11 моделях, играет роль.
Хотелось бы узнать от разработчика, в чем все-таки проблема запуска. :-)
-
? gid - 12.09.2015 19:24
>>? anonymous - сегодня 08:50
В принципе, бустер должен бы знать, к чему он подключен, сразу после подачи питания.
Насколько я понимаю принцип работы, читая эту ветку, бустер, для формирования VGA формата для нативных видеорежимов БК, перехватывает с МПИ все обращения к видеопамяти БК по записи, и формирует свою развёртку VGA с масштабированием разрешения БК -> какой-либо режим VGA. А свои, новые видеорежимы вроде бы должны работать независимо от типа БК.
Но поскольку работа с экранной памятью на БК10 и БК11 организована по-разному, на БК11 посложнее, то нужно выбирать одну из двух стратегий. При неправильной стратегии на экране либо ничего не будет отображаться, либо будет отображаться мусор.
Определение по перехвату записей в 0177130 не критично, т.к. до этого момента ещё ничего на экран не выводится. Вывод на экран начинается как раз после того, как СМК определит тип БК и выставит соответствующий режим работы. Главное, сделать это определение только один раз после включения питания, и больше ничего, никакие ресеты и переинициализации железа не должны вызывать по-новой определение тип БК.
¤
>>? Voland @ - сегодня 18:08
Естественно есть. Только ведь способ формирования видео на БК10, входит в множество способов БК11. Никаких аппаратных ограничений вроде бы нету.
-
? maxstudios@ - 12.09.2015 21:24
Voland, я хотел уточнить насчет вывода изображения - Бустер берет для отображения экрана данные из ОЗУ БК, или все таки перехваченные данные из своего ОЗУ?
Исходя из описания работы Бустера, я думаю что Бустер пользуется только своим ОЗУ, а ОЗУ БК ему не доступно физически.
Уточните еще раз, пожалуйста. :-)
-
? Voland@ - 12.09.2015 23:26
>> а на БК0011 будет работать?
Конечно не будет, СМК же на ней не работал, а он у нас без изменений клонирован. Да и смысл? Проще переделать 11->11М, чем кучу работы делать по закладке совместимости.
¤
>> формирует свою развёртку VGA с масштабированием разрешения БК -> какой-либо режим VGA.
Если точнее, то в режим 640*350*60Гц, ещё умеет в 640*480*70Гц.
¤
>> А свои, новые видеорежимы вроде бы должны работать независимо от типа БК.
Да, это конечно же верно.
¤
>> Никаких аппаратных ограничений вроде бы нету.
Уточню у разработчика, что он там за ограничения узрел и отпишусь. Если их реально нету, тогда вообще непонятно, почему он не стартует на 10-ке, ведь СМК тоже должен правильно определять тип БК, раз прерывание на шину будет по-любому выставлено для 10-ки.
-
? Voland@ - 12.09.2015 23:27
>> Бустер пользуется только своим ОЗУ, а ОЗУ БК ему не доступно физически.
Именно так.
-
? maxstudios@ - 12.09.2015 23:49
Благодарю за ответ.
Будем подождать, что нароет разработчик, вся надежда на него.
:-)
-
? Дмитрий - 13.09.2015 00:33
>> ещё умеет в 640*480*70Гц
А зачем 70Гц? Ее не все мониторы поддерживают. Пусть будет единственная стандартная 60Гц, чтобы гарантировано работало с любым монитором.
-
? photon1984 - 16.09.2015 00:04
отснял как выглядит insult-demo при использовании zx-vga-pal c прошивкой под БК от tnt23.
https://drive.google.com/file/d/0B7FGD8aI69RwYWdHVnhTeGhmQXc/view?usp=sharing
Монитор Acer AL1716. Джампер на плате zx-vga-pal стоит так, что монитор сам включился в режим 640*350, H:31kHz V:69.4Hz. В этом режиме часть картинки снизу зарезается. В режиме 640*480 (по памяти) всё ещё хуже.
Куда-то пропал один оттенок красного, но это для целей Voland'a сейчас, наверное, не принципиально.
-
? Дмитрий - 16.09.2015 00:51
Неплохо выглядит, хоть и обрезано. Понравился эффект "символы-в-символах" в самом начале. Интересно, а исходников Инсульта нет?
-
? Voland@ - 16.09.2015 01:25
photon1984, благодарю, очень полезное видео. Я вот пытаюсь понять, почему в Бустере дико все мерцает, из-за разницы фаз? Вот на вашем видео ничего не мерцает так, как не должно мерцать, хотя и частота аж 70Гц, а у меня при 60Гц мерцает всё как сумашесдшее.
-
? Из 11 сентября - 16.09.2015 01:46
Что мешает протестировать Буфет из пульта БК11М ?
Вроде как есть здесть люди, умеющие десяток цифр написать, быстро и бесплатно.
¤
Есть ли у господина Voland классическая видеокамера DV и возможность быстренько перегнать отснятое на файловое хранилище ?
-
? Voland@ - 16.09.2015 01:49
Камеры увы нет. Тем не менее, проблема дергания бегущих строк на лицо, и пока непонятно, можно ли её убрать всякими двойными буферизациями, без приведения частоты кадров к БКшной 48.8Гц.
-
? Из 11 сентября - 16.09.2015 01:54
Надо прояснить момент - если софт видеоэффектов завязан на 48.8 гц, то это фатально. Что мешает сделать пересканирование во второй ( технологический ) буфер ОЗУ с частотой ( и параметрами ) VGA/SVGA ?
¤
Боюсь, камерку придется прикупить ( любой степени б/у ) или использовать другой способ качественно снять видео с экрана моника. Без этого процесса тестирование Буфета превращается в тестирование сферического коня в вакууме ( с небольшой подачей закиси азота ).
-
? maxstudios@ - 16.09.2015 01:58
Voland, а не пробовали подключить телевизор к выходу ЦТВ и одновременно монитор к выходу Бустера, и сравнить?
-
? Terra - 16.09.2015 09:27
photon1984, а что за мусор верхней части? надо было бы родной звук включить :(
-
? maxstudios@ - 16.09.2015 14:40
Voland, не дождался ответа. :-)
Было бы очень интересно посмотреть,как именно все мерцает и дергается.
Я вот помню, как усё дергалось и мерцало на моём БК-11 (не БК-11М), когда переключение экранов было ещё не переделано под модель 11М.
Может быть, мерцание именно такого характера?
Поэтому ещё раз предлагаю посмотреть, что на выходе ЦТВ БК, и сравнить, что одновременно выдаёт на выходе с Бустера.
-
? Voland@ - 16.09.2015 15:15
>> телевизор к выходу ЦТВ и одновременно монитор к выходу Бустера, и сравнить?
Пробовал конечно, на телевизоре всё нормально. Но я думаю что надо сначала пофиксить все проблемы, не связанные с фазами и частотами, а потом уже смотреть на оставшиеся проблемы, может там некорректный механизм отображения в режиме РП как-то влияет.
¤
>> Может быть, мерцание именно такого характера?
Я не знаю, какое мерцание на не переделанной БК11.
-
? maxstudios@ - 16.09.2015 16:53
Понятно.
Если на телевизоре всё нормально, то это другая проблема, не связанная с разницей переключения экранов в 11 и 11М.
Хотя у меня есть еще предположения, но позже напишу, продумаю сначала.
:-)
-
? photon1984 - 16.09.2015 20:21
2Terra: мусор в кадре, обрезанние картинки снизу и, возможно, пропавший оттенок красного- они из-за недоработанности прошивки этого zx-pal-vga под БК. Автор Тимур (tnt23), к сожалению, не довел проект до конца. Было бы здоворо, если бы кто-нибудь другой довел его до кондиции. От себя готов выслать этот vga-адаптер вызвавшемуся волонтеру во временное пользование. А в случае ошеломительнго успеха со вкусностями типа еще и ч/б режима в VGA мне и подарить данный адаптер не жалко, лишь бы код правильной прошивки с техническим описанием достались общественности.
-
? maxstudios@ - 16.09.2015 20:27
Voland, а можно записать видео того, что получается на видеовыходе с Бустера? Хотя бы на камеру телефона, планшета или фотоаппарата? Очень интересно было бы посмотреть. Может и понятно сразу кому-то станет, в чем проблема. :-)
-
? maxstudios@ - 16.09.2015 21:34
Вот мысли:
Если в Бустере не реализован механизм переключения экранов как в БК11М, на экране действительно будет куча перерисовок и мелькания.
Ведь Бустеру все равно, какой экран включен, для него есть только адресное пространство экрана с 40000 и длиной 40000. И в демках под БК11М, когда в 1 экран что-то рисуется, а показан 2 экран, мы будем смотреть на один единственный экран с 40000 как в БК-10, и будем видеть весь процесс прорисовки открыто. Ведь это аппаратный механизм, а не программный.
То есть, для полноценной работы демок под БК-11М нужен такой же страничный механизм, и такое-же аппаратное переключение экранов.
Думается, что если брать игры и демы написанные под БК-10, то никаких проблем с изображением быть не должно.
Хотя само подключение к БК-10 тоже пока не получилось.
Если переключение страниц и экранов в БУстере всё-таки реализовано, очень бы хотелось узнать об этом поподробнее. :-)
-
? TheGWBV@ - 16.09.2015 23:32
Бустер должен следить за тремя вещами при выводе изображения на видео-ЦАП:
1. Бит выбора активного экрана
2. В какое окно подключена активная видео-страница -- к 40000+40000 или 100000+40000, или совсем отключена от обоих окон!
Т.о. у Бустера должен быть некий указатель на сканируемый участок ОЗУ Бустера, реально соответствующий сканируемой ВП1-037 видео-страницы.
3. Следить за режимом РП и регистром сдвига видео-строк.
Т.о. в Бустере должен быть указатель на стартовый адрес или смещение внутри сканируемого участка ОЗУ, с которого будет начинаться отображение первой тв-строки, а также две константы с количеством строк в "рулоне" для обычного режима и режима РП.
Тогда останется не решённой только задача переключения палитр внутри одного тв-кадра, которая завязана на частоту 48,8 Гц, таймер ЦПУ и/или время выполнения машинных команд ЦПУ.
-
? TheGWBV@ - 17.09.2015 00:02
Уточнение:Тогда останется не решённой только задача _своевременного_ переключения палитр внутри одного тв-кадра, которая завязана на частоту 48,8 Гц, таймер ЦПУ и/или время выполнения машинных команд ЦПУ.
-
? TheGWBV@ - 17.09.2015 00:20
Хотя, наверное, если возможно Бустеру уследить факт прерывания по 100 вектору или факт смены PC на адрес, xранящийся в 100-й ячейке, или появления на шине МПИ адреса равного значению ячейки 100 -- можно будет и синхронизировать переключение палитр, если налету пересчитывать интервал между КСИ в БК11М и записью в регистр палитр...
-
? maxstudios@ - 17.09.2015 01:11
Кстати, да - забыл совсем про регистр сдвига и палитры.
То есть, Бустер в режиме БК-11М должен реагировать на переключение экранов, смену палитр, сдвиг экрана, и подключение-переключение страниц ОЗУ.
Вот только вопрос - реально ли это все сделать? Было ли это задумано изначально? Что говорит разработчик об этом?
-
? Voland@ - 18.09.2015 01:24
>> ? TheGWBV @ - 16 сентября 23:32
Разработчик говорит, что
"в принципе гипотетически верный способ предложили - отслеживать записи в регистры палитры, только реальзация пока абстрактная предложена и записи на переключение буферов экрана тоже вот так нужно отслеживать и потом привязывать к частоте кадров уже бустера; возможно даже, что нужно просто делать управляющий регистр дисплея сдвоенный, как буфер, все записи в него идут в предварительный регистр, а потом по началу гашения переходят в основной зеркалируемый, тогда вообще ничего специально отслеживать не нужно, ну кроме усложнения самого регистра; только надо уточнить у людей сначала, насколько это корректно в плане каких-то фокусов самого БК, но это вполне может сработать, разве что может нюансы какие-то есть, я же пока только общую идею высказал"
-
? Shura-gay from Minsk - 18.09.2015 01:41
А давайте спросим о БК нашего Анонимного !
-
? Voland@ - 20.09.2015 11:29
А по существу вопроса есть комментарии? Шура, не пишите в мои темы пожалуйста.
-
? maxstudios@ - 23.09.2015 00:11
Есть у меня мысль, но наверное она никому не понравится:
А может не стоит мучаться с реализацией ретро-видеорежима в Бустере, а делать сразу только новые режимы от 800х600х60Гц и выше?
Ведь на БК-10 с Бустером ни страничная организация, ни двойные буферы экрана не будут реализовываться, и разница между БК10 и БК11М так и остается. Как "облегченный" вариант я бы предложил выход ЦТВ подключать в разъем Бустера, а Бустер бы использовал уже готовый видеосигнал, который просто конвертил бы в DVI или VGA.
Попробую обосновать:
Бустер задумывался, как приставка, которая превращает БК10 или БК11М в современный ПК.
Писать в будущем программы под БК11М с Бустером, используя его особенности - значит поставить крест на владельцах БК10 с Бустером. Получается, писать программы нужно будет снова под 10-ку, используя только те новые возможности, которые дает Бустер.
Вывод:
Реализация ретро-видеорежима БК11М в Бустере - пустые мучения, тем более что готовый видеовыход работает впустую.
...
Вот такие мысли пришли уже не в первый раз. :-)
-
? Дмитрий - 23.09.2015 00:38
Там проблема в другом. Новые видеорежимы - это хорошо. Но для скудной свободной памяти БК эти объемы видео-ОЗУ неподъемны. Некуда их маппить это видео-ОЗУ. Да и пересылка маленькими кусочками по 4-8-16кб картинки весом 937кб (для 800х600х16бит) займет много времени. Выходом была бы реализация "потоковой" передачи. То бишь засылаем в регистр управления код режима, затем шлем номер сегмента в регистр данных, снова шлем код управления, затем смещение в этом сегменте. Потом шлем код записи данных и далее льем в регистр данных сами данные. И сразу после записи счетчик адреса увеличивается на 2 байта автоматически. Для завершения шлем свой код в регистр управления. То есть пишем в бустер примерно так, как пишутся данные на винт/флоп. Но! Куда грузить эти сотни кб данных для передачи бустеру?
-
? maxstudios@ - 23.09.2015 01:02
Дмитрий, я писал немного не о том. :)
Кратко - делаются пустые усилия в части полного повторения ретро-видеорежима, который впустую работает на разъеме ЦТВ любого БК. Эти усилия вдвойне пусты по отношению к БК10, так как в нем нет ни страничной памяти, ни буферов экранов. Полное повторение ретро-видеорежима не нужно в будущем для написания программ, так как писать нужно будет под БК10 с Бустером - ради полной совместимости.
:-)
-
? maxstudios@ - 23.09.2015 01:08
Вопросы:
- зачем делать заново то, что уже имеется на выходе ЦТВ?
- зачем делать то, что будет использоваться только на БК11М, и только в ретро-демках-игрушках?
-
? gid - 23.09.2015 09:43
Затем, что планировалось использовать Бустер, как составную часть изделия БК12, которое планировалось самостоятельным продуктом, но обратно совместимым с реальным БК10-БК11. Вот отсюда и все мучения.
-
? Voland@ - 23.09.2015 11:30
>> зачем делать заново то, что уже имеется на выходе ЦТВ?
Чем современнее телек, тем меньше шансов, что СКАРТ будет корректно показывать демки с разъема ЦТВ. У меня на самсунге плоском широкоформатном подергивается бегущая строка в демках. А некоторых телеках БК через СКАРТ вообще не показывает ничего.
¤
>> зачем делать то, что будет использоваться только на БК11М, и только в ретро-демках-игрушках?
Под словом "только" тут видимо понимается, что "а вот новые режимы будут использоваться не в сотнях каких-то старых дем, а в тысячах новых" ? ))))
Давайте исходить из практической пессимистичной реальности. Никаких тысяч, сотен и даже десятков новых игр и дем под новые видеорежимы не будет, а следовательно их надо делать по принципу - чтобы были и работали, а старые режимы по принципу - вылизанности до идеала (идеала с учетом имеющихся заранее ограничений).
¤
>> зачем делать то, что будет использоваться только на БК11М
На БК10 любая бегущая строка тоже будет дергаться, если не реализовать скандаблер как надо, или не использовать частоту 48.8Гц на мониторе/телеке.
¤
>> я бы предложил выход ЦТВ подключать в разъем Бустера
А это все равно требует свободных ног ПЛИС, так что особо не облегчает задачу. К тому же, сейчас у нас цифровой сигнал из памяти преобразуется в аналоговый VGA и в цифровой DVI. Вместо этого мы заведем аналоговый c ЦТВ, который для преобразования DVI придется сначала прогонять через АЦП, которого на плате нет - имеет серьезные изменения в физической схеме. Так что надо исходить из реалий..
-
? Дмитрий - 23.09.2015 12:58
>> делаются пустые усилия в части полного повторения ретро-видеорежима, который впустую работает на разъеме ЦТВ любого БК
Это не пустые усилия. Фактически бустер выступает (в части своих функций) адаптером ТВ/ЦТВ->VGA/DVI.
-
? maxstudios@ - 23.09.2015 14:02
Напомню, что на БК10 вообще невозможно запускать демки типа TOP_DEMO, так как подгрузка идет в три страницы с адреса 40000. Это было видно на моей непеределанной БК11.
Все те демки и игры, рассчитанные под страничную память БК11М, не будут работать на БК10.
А вот все что написано под БК10, без проблем идет на БК11 и БК11М.
Поэтому я и написал, что мучения с повторением в Бустере второго БК11М не имеют большого смысла.
Еще раз добавлю, что писать новые программы нужно писать под БК10 с Бустером, чтобы не игнорировать владельцев БК10.
Можно помучаться, конечно, и сделать так, чтобы при подключении Бустера БК10 превращалась в БК11М.
Но это сложно, хотя реально.
Поэтому проще, как и в 90-е, брать за основу БК10 с Бустером, не используя особенности БК11М.
И реализация в Бустере второго БК11М ограничена только использованием старых демок и нескольких игр под БК11М.
-
? maxstudios@ - 23.09.2015 14:13
Вопрос:
В БК12 тоже задумана реализация страничной памяти БК11М? Через тот же регистр 177716?
Если да, то значит БК11М вообще взята за основу новых устройств, и значит нужно все-таки реализовать "преображение" БК10 в БК11М при подключении Бустера.
Или нужно сразу поставить всех перед фактом - БК10 с Бустером не имеет будущего, покупайте БК11М.
И вообще тогда не "париться" настройкой Бустера под БК10. Помню, что Бустер не заработал при подключении к БК10.
-
? maxstudios@ - 23.09.2015 14:20
Ещё одно:
Если все-таки брать за основу БК10, а не БК11М с её экранами и страницами, реализовать видеорежим БК10 в Бустере стоит гораздо меньших усилий и проблем. Может так и поступить?
-
? Дмитрий - 23.09.2015 14:34
>> В БК12 тоже задумана реализация страничной памяти БК11М? Через тот же регистр 177716?
Емнип, в плане эмуляции 11М да. В самой БК12 (в полноскоростном режиме) пока ничего неизвестно.
¤
>> И реализация в Бустере второго БК11М
Бустер - не эмулятор БК, а приставка. Какой второй 11м?
-
? maxstudios@ - 23.09.2015 14:43
Дмитрий, в плане повторения организации страничной памяти и буферов 2 экранов Бустер полностью должен повторять БК11М. Дополнительно к этому, через регистр переключения страниц ОЗУ 177716 Бустер также должен менять конфигурацию своей внутренней памяти (копирование или смена внутренних адресов). А через переключение буферов экранов через регистр 177662 Бустер должен также менять конфигурацию своего ОЗУ, чтобы показывать один из выбранных экранов.
Практически, это реализация второго БК11М в Бустере.
А если еще вспомнить рулонный сдвиг и таймер, то снова нужна их эмуляция в самом Бустере.
вот и получается - второй БК11М в Бустере.
-
? maxstudios@ - 23.09.2015 14:59
Если получится через выход VGA Бустера реализовать один-в-один вывод изображения как с выхода ЦТВ БК11М, я буду только рад.
Но если вдруг не получится, или получится как-то криво, всегда можно подключить БК к телеку через ЦТВ.
Меня больше интересуют новые возможности Бустера, так как для старых возможностей Бустер не нужен, есть СМК512. Да и вообще зачем тогда Бустер городить, если никто не собирается использовать его новые возможности?
¤
¤
-
? maxstudios@ - 23.09.2015 15:18
Насчет проблемных ТВ, на которых не показывает БК:
Есть несложная схема преобразователя RGBS в композитный сигнал, и разъем-тюльпан VIDEO (желтый) есть пока на всех ТВ.
Даже без этой схемы прямое подключение с выхода ТВ или ЦТВ БК к композитному входу VIDEO телевизора дает нормальное изображение, правда черно-белое.
Для более качественного изображения с градациями серого можно использовать сигналы с выхода ЦТВ БК, с помощью резисторов смешав их.
-
? Дмитрий - 23.09.2015 15:54
>> Да и вообще зачем тогда Бустер городить
Тут я согласен. Но нужна его обкатка для последующего внедрения в БК12. В БК12 он нужен как видеоадаптер. Как самостоятельное внешнее устройство для старых БК - сомнительно. Фактически СМК+ЭД+адаптер VGA.
¤
>> Меня больше интересуют новые возможности Бустера
Про них я и писал выше. А по факту остается кроме СМК еще ЭД на 32мб. И все. Экран 10-ки реализовать просто, но на 10-ке бустер не пашет - wasted. Экраны 11М с палитрами реализовать геморрно, но хотя бы на 11М он работает, хоть пока и не совсем корректно. Но юзать фактически можно только СМК (у которого свой ЭД есть, пусть на 512кб всего и с жутко неудобной схемой подключения сегментов). мп3 в бустере - wasted. Высокие разрешения (пока нет документации, мб там что-то и будет ясно) - wasted. Напомните, что там еще остается?
-
? maxstudios@ - 23.09.2015 16:22
СМК, Видеоадаптер с графическим процессором, дополнительная Память в 32 Мб, поддержка SD, клавиатура и мыша PS/2. Отдельным пунктом - повтор всех регистров и страничной организации 128 кбайт ОЗУ БК11М.
Считаю, что нужно брать за основу БК10 с Бустером, так как корявая реализация переключения страниц и экранов в БК11М - не образец для подражания, а пример того, как делать не нужно.
-
? maxstudios@ - 23.09.2015 16:30
Кстати, переключение экранов можно реализовать и в самом Бустере, но по другим новым регистрам. Это бы обеспечило совместимость БК10 и БК11М, так как идея сама по себе очень даже хороша.
-
? Voland@ - 23.09.2015 17:33
>> Высокие разрешения (пока нет документации, мб там что-то и будет ясно)
Они-то как раз уже и работают, во всяком случае 640*480*16bit + GPU.
¤
>> но на 10-ке бустер не пашет
Это временно. СМК512 сначала тоже не хотел запускаться на 10-ке.
¤
>> и с жутко неудобной схемой подключения сегментов
Это увы ещё со времен Новака повелось.
¤
>> мп3 в бустере
mp3 изначально глупо было заявлять, поток данных даже если в STA015 mp3-файл лить силами ВМ1 - ВМ1 на 100% загружен только этим был бы.
¤
>> так как корявая реализация переключения страниц и экранов в БК11М
В чем она корявая? Там осталось учесть РП и останется только проблема несоответствия частот.
-
? maxstudios@ - 23.09.2015 18:03
Корявая реализация - имеется ввиду разработка в 90-е годы БК11М, а не Бустер.
Эмуляция в Бустере БК11М нужна только для просмотра старья под БК11М - демки и игры.
В Бустере тоже нужно организовать переключение экранов, через другой регистр естественно.
-
? maxstudios@ - 23.09.2015 18:06
А писать новые игрушки и демки нужно все-таки под БК10 с Бустером. Тогда всем будет хорошо.
-
? Дмитрий - 23.09.2015 20:24
>> Они-то как раз уже и работают, во всяком случае 640*480*16bit + GPU.
Я про доступ к памяти этого видеорежима. Каким образом будет осуществляться доступ для вывода картинки?
¤
>> Это увы ещё со времен Новака повелось.
Это не вам упрек, а, так сказать, мысли вслух, которые пришли с упоминанием СМК.
-
? TheGWBV@ - 23.09.2015 23:00
>> ? Дмитрий - сегодня 20:24
>> Я про доступ к памяти этого видеорежима. Каким образом будет осуществляться доступ для вывода картинки?
Скорее всего, приложению придется на первом этапе залить в пакетном режиме все необходимые "спрайты", "шрифты" и т.п. примитивы в память Бустера.
Затем, используя их, производить операции средствами GPU в области видео-ОЗУ Бустера, чтобы получить требуемые визуальные эффекты...
-
? Аноним - 24.09.2015 00:07
Все равно без эмулятора бустера от того же gid-а никто пальцем не шевельнет для написания софта. Такова нынешняя реальность, всё сейчас разрабатывается на PC.
-
? Дмитрий - 24.09.2015 00:12
>> приложению придется на первом этапе залить в пакетном режиме все необходимые
Это я понимаю. КАК? Для того, чтобы залить туда все спрайты, заставки, курсоры, анимацию и прочее (занимающее мегабайты места) понадобится море времени и куда-то мапить память бустера, чтобы получить к ней доступ.
-
? TheGWBV@ - 24.09.2015 09:06
Там в API есть спец команда для организации поточной передачи блока данных в память Бустера силами ВМ1.
Напрямую доступ к произвольному блоку памяти Бустера проц БКашки получить не сможет, только к той части, которая изображает из себя память СМК512...
Сэкономить время на загрузке "мегабайт" данных в Бустер можно так -- считываем с диска данные в страницу памяти БК, и она в процессе этого уже зеркалится в памяти Бустера. Затем уже командами для GPU перемещаем (копируем) средствами Бустера этот блок данных в нужное место его памяти. Как-то так :)
-
? maxstudios@ - 24.09.2015 11:06
Интересно было бы узнать графические возможности Бустера.
А также интересна возможность использования отдельных механизмов из списка эмулирования БК11М - к примеру, на БК10 с Бустером использовать ретро-механизм переключения страниц ОЗУ и экранов, но в виде подпрограмм или через другие регистры (в памяти Бустера, конечно).
То есть, можно продублировать регистры БК11М 177662 и 177716 по другим новым адресам-регистрам, чтобы таким образом старые демы и игры возможно было запускать на БК10 с БУстером, всего лишь заменив адреса регистров на новые?
¤
-
? maxstudios@ - 24.09.2015 11:10
Такой подход дал бы возможность СМК определять правильно модель БК - 10 или 11М, а дальше пропатченные программы работали бы на обеих моделях БК.
-
? Дмитрий - 24.09.2015 12:42
>> Там в API есть спец команда
Где можно узреть доки на данный АПИ?
-
? Дмитрий - 24.09.2015 12:48
>> Затем уже командами для GPU перемещаем (копируем) средствами Бустера
Главное, чтобы он умел копировать произвольные части памяти, причем и экранной тоже. Я хотел бы реализовать текстовый режим по типу int 10h с атрибутами. А копирование нужно для скороллинга, причем не только всего экрана, но и определенного окна.
-
? iodevice - 24.09.2015 16:06
>Я хотел бы реализовать текстовый режим по типу int 10h с атрибутами
Это как? Аппаратно? int10h,кста,это не режим,а видеосервисы биос.
-
? Дмитрий - 24.09.2015 17:01
Ручками, программно - как еще. Раз разработчик отказался делать "аппаратный" текстовый режим, придется реализовывать его программно. Только хочу добавить в него работу с окнами (как во многих MS-DOS'овских программах) - скроллинг, атрибуты, очистка, тень и т.п.
-
? Аноним - 24.09.2015 17:30
TurboVision портировать,чтоль?
-
? Дмитрий - 24.09.2015 18:22
Мона! Не, нуна! Тока сначала надо дождаться доков.
-
? Аноним - 24.09.2015 23:57
А накуку? Делать чтоль нечево? Ну вот подумайте,ну накуку это вам всё нужно? Никто никого за это не полюбит,не ознаменитит и даже наврядли уплатит. Никто не вспомнит,что некий Дмитрий написал Турбовизион для Бустера в 201х году. А вот "C" или Петон какой выучить или PHP с шарпами заместо древней дельфи-вот и профит,больше рыночная стоимость спеца,вклад в себя,а не в железяку.
-
? Дмитрий - 25.09.2015 14:01
>> Никто никого за это не полюбит,не ознаменитит и даже наврядли уплатит
А что многие программисты пишут, чтобы ознаменитить себя или озолотить? Вы-то, понятное дело, бесплатно даже не пошевелитесь. Ну и сидите себе дальше...
¤
>> больше рыночная стоимость спеца
Дельфевые программисты стоят не дешевле сишных. И на дельфе, вернее RAD студии, давно пишется все под актуальные платформы.
¤
>> вклад в себя
Любой опыт - это вклад в себя. Но вам, боюсь, этого не понять...
-
? Аноним - 25.09.2015 18:30
>бесплатно даже не пошевелитесь
Шевелилси,и много. И не в планах,а в реале. Отдавая отчет,что нафиг никому не нужно,кроме себя,потому без разочарований.
>Дельфевые программисты стоят не дешевле сишных. И на дельфе, вернее RAD >студии, давно пишется все под актуальные платформы.
А кобольные так вооще, потому что днем с огнем. А в реале устарела дельфя уже в середине 200х, на ней только фигей страдают те, кому переучиваться лень, или поддержка древнего софта. Перспектив ноль, неважно под какие платформы,хоть под андроиды и иосы формы лабать-все равно ноль. Борланд убила её фигней, после успешных 1-7. Тем более Дельфя это всего лишь один из инструментов. Другие инструменты тоже надо знать, может они лучше подходят для проектов.
>Любой опыт - это вклад в себя.
Опыт программирования БК нафиг никому не нужен,иначе бы например я озолотилси прям на таком опыте. У вас всё в планах,а у меня пройденный этап,потому и говорю,а не просто морализаторствую.
-
? марсианин - 25.09.2015 19:38
>>? Аноним - сегодня 18:30
Да... кого вы тут вразумляете? Он всеравно не внемлет вам. Чтобы здесь кого-то вразумить тут нужен очень внушительный вразумитель, типа кувалды. Не иначе. :)
Пускай здесь грезят TurboVision'ами и DOS'ами... расслабьтесь... это еще самое малое, что я видел из странного.
Кстати, если вспомнили MS-DOS, так это же вообще такой кривой мутант дяди Билли - хромоножка и хромает на обе культяпки - аж побрить, стерилизовать и утилизировать хочется, это ж просто даунитная смесь cp/m'а(прямой наследник RT-11) и unix'а, но без многогозадачности! Бывает же так! Даже кто-то тута додумывался возлюбить MS-DOS, а также его производные подобия для БК, возненавидя RT-11, Unix, не зная истоков первых. Прочитывая архивы, здесь можно подолгу ржать, как это кто-то делал. Умора просто, бл... :))))
-
? Дмитрий - 25.09.2015 19:51
Вы хотите холивар развести какой язык важнее? Кто на чем фигней страдает? Этого хватает на других форумах по программированию, так что холиварьте там. И зачем сидите тут и пишите подобные пустые, никому не нужные посты? Я изучал программирование для себя, а не для заколачивания денег. Деньги я зарабатываю в другой компьютерной области. Программирование - это хобби. Надо будет - изучу то, что понадобиться на тот момент времени. А опыт важен всегда, какой бы он ни был в данной области. К примеру, знание асма 1801/580/Z80 мне помогло в те годы в кратчайшие сроки разобраться с асмом РС. Если я могу свободно заниматься разработкой софта на паскале (неважно в чем - FPC/Delphi/RAD) и дополнительно уметь делать тоже самое на Сях, то у меня возможностей трудоустроиться будет гораздо больше, чем у другого работника, который может программировать только на Си. Ваши доводы про страдания фигней нежизнеспособны. Так что давайте закончим этот оффтоп.
-
? Аноним - 25.09.2015 23:42
>Вы хотите холивар развести какой язык важнее?
Я не хочу холивар завести. Я о реальности, а не о вере. А в реальности - за чем стоят крупные корпорации, то и выигрывает. За Object Pascal не стоит никто из титанов индустрии. Это реальность, а не холивар. Можно, конечно, пользоватся нестандартным инструментом для решения задач, но зачем, если есть стандартные, и не хуже, просто немного другие (переучиться с Delphi на C# месяц-два-три от силы для опытного дельфиста, что с ними массово и делали в 200x).
Остальное комментировать влом, ко всему можно придраться.
¤
В общем, по теме.
1. TurboVision, компиляторы, игры и прочее-прочее-прочее для БК, Бустера не пишутся (и не будут) не потому, что некому писать, а потому, что это никому не нужно. Было бы нужно-было бы кому писать, даже бесплатно. Впрочем, Дмитрий сам может в этом убедится, если хочет (или поговорит с известными в прошлом авторами софта для БК- почему это они ничего не пишут?)
2. Если бы некто хотел что-то написать для бустера/БК-12, то сперва бы попробовал написать для БК (заложил и оттестировал базовую архитектуру), а потом расширил с учетом возможностей бустера, а не ждал у моря погоды столько лет.
3. Если надо что-то изучить (типа языка) - лучше изучать на актуальной платформе. Поделки на C/C++ можно даже выложить для многомиллионной аудитории того же андроида, кто-то даже может зафанатеет :) И указать в резюме можно будет. На программирование под БК в резюме всем будет начхать.
Не верим? Ну тогда вперед на грабли...
-
? Дмитрий - 26.09.2015 12:37
Вы в резюме указываете все свои действия в плане программирования? Вот там, в далеком лохматом 80-м году программировал на калькуляторе. Да начхать! Вот в таком-то году писал под такую-то платформу. Да и хрен с ней! Так что ли? Я говорю про опыт, неважно на чем и под какую платформу вы программируете. Это опыт, наработки! Равно как опыт вождения автомобиля. Хоть по бездорожью, хоть по трассе, хоть по городу, хоть по гоночному треку. Выучив английский, например, будет гораздо проще выучить другой язык. Так же и в программировании.
-
? Дмитрий - 26.09.2015 12:39
>> Если бы некто хотел что-то написать для бустера/БК-12, то сперва бы попробовал написать для БК (заложил и оттестировал базовую архитектуру)
Попробуйте написать что-то заточенное под бустер не имея ни доков, ни АПИ, ни даже представления как он работает.
-
? Аноним - 26.09.2015 13:48
>Вы в резюме указываете все свои действия
Если в какой-то области вообще нет опыта коммерческой разработки, то указывается что есть (даже дипломная работа студента). Если опыт просто как опыт для себя - то нет вопросов, но никто его не оценит, кроме вас. И не поможет это ничем, поскольку:
1) вы или не умеете программировать (тогда надо учится, и лучше на чем-то актуальном (чтобы заодно решить и вторую задачу в какой-то области специализации).
1) или вы уже умеете программировать на чем-то (тогда надо просто осваивать новый язык и стандартные библиотеки при необходимости, нарабатывать опыт реальной разработки в нужной области),
¤
Если умеете программировать (первая задача решена), нафига опыт в БК-разработке (решение второй задачи относительно БК) - если только вы не хотите зачем-то стать спецом в БК-разработке. Ничем это не поможет в плане развития умения программировать, а только в конкретных знаниях программирования под БК (которые есть у многих здесь, но нафиг не нужны, потому что нет пользовательской базы - а вам оно зачем?)
¤
>Попробуйте написать что-то заточенное под бустер не имея ни доков, ни >АПИ, ни даже представления как он работает.
Кто хочет, тот пишет под то, что есть (БК), с расчетом доработать под новые возможности (бустер - это расширение БК) в будущем. Кто не хочет, тот ждет готового (API?) и обсуждает.
¤
В общем, обсуждайте - это тоже способ не ввязываться в реальную (бессмысленную) разработку чего-то, о чем я и говорил.
-
? Дмитрий - 26.09.2015 14:48
>> Кто хочет, тот пишет под то, что есть (БК)
Еще раз повторю - попробуйте сделать что-то, заточенное под возможности бустера без наличия его самого и описания его возможностей. Не надо изощряться в словесности.
¤
>> с расчетом доработать под новые возможности (бустер - это расширение БК)
Что там дорабатывать, если это изначально заточено и требует бустер и его возможности? Попробую расписать "на пальцах", раз вы так не понимаете. Возьмем, к примеру, описанный мной текстовый режим и упрощенный аналог TurboVision. Зачем все это нужно на БК сейчас, когда есть готовое решение под названием БОС (11М) или монитор (БК10), пусть и без текстовых окон? Под голую БК никто ничего давно не пишет, ибо без надобности. И что там обкатывать при отсутствии оборудования?
¤
>> Кто не хочет, тот ждет готового (API?) и обсуждает.
АПИ имелось в виду бустера (внутреннее). Только если все обстоит так как описано в <? TheGWBV @ - 23 сентября 23:00>, то это все это бессмысленно, ибо придется шрифт разворачивать во всех возможных цветах символов и фона, т.к. АПИ бустера в плане работы с видео-ОЗУ может иметь скромные возможности (опять-таки, возможно, я ошибаюсь - нужны доки). Из этого следует - зачем мне терять время на разработку на данный момент абсолютно бессмысленной заготовки, если ее нельзя нигде применить (и главное для кого)? Писать сразу под бустер - другое дело, можно и протестировать, сразу применить его внутренние ресурсы и т.п., но нет ни бустера, ни доков. Вот поэтому я и спрашиваю технические детали, но ответов нет, есть только догадки. Вы предлагаете писать на основе догадок? Сами-то пробовали подобное?
-
? Аноним - 26.09.2015 15:47
А вы, Дмитрий, писали какой-нибудь кроссплатформенный софт хотя бы средней сложности, работающий везде (после перекомпиляции при необходимости), и использующего те ресурсы, которые доступны (от самых лоуендовых устройств до хайенда)? Если нет, то что тут обсуждать. Ладно, будем ждать, когда когда-нибудь предьявите результат ваших наработок для Бустера. Тогда: 1) обсуждать будет иметь какой-то смысл; 2) предупреждать о тщетности усилий уже смысла не будет. Так что всё будет по делу. А пока - всё, что хотел сказать, я сказал.
-
? maxstudios@ - 26.09.2015 15:49
На мой вопрос:
? maxstudios @ - 24 сентября 11:06
ответа пока не получил, всё ещё жду, но тут интересная баталия-спор между очередным "анонимом" и Дмитрием.
:-)
Я в своё время не стал ничего писать на БК, так как увидел ненадежность 5"25 и 3"5 дисководов, а точнее дисков под них. Я потерял много своей музыки под Rock_Monitor, хотя хранил их на 2-3 дисках, на всякий случай. Просто диски перестали читаться. А позже и КНГМД сдох.
Затем я искал контроллер винчестера, но в нашей глубинке ничего не нашел. Да и умирать это все стало к тому времени - до периферии доходит всегда все с большим запозданием, а интернета и РС тогда еще не было.
Смысел писать что-то, даже для себя, если это все одним разом может пропасть?
Вот есть в настоящее время СМК-512, делается (медленно) Бустер с СМК-512 на борту, теперь появилась уверенность, что "программное творчество" не испарится и не лопнет, как мыльный пузырь.
Ведь программирование (или его попытки) на ретро-платформах - это чистой воды хобби, увлечение, творческий процесс самовыражения. Колхозный подход "если практической пользы нет, то это не нужно" тут не работает. От картин и музыки тоже нет пользы, разве что косвенной - "эта картина дырку на стене загораживает" (мульт Простоквашино).
Думаю, что это еще и особенность человеческая такая - любовь к старой технике,старине. И это может выражаться не только в любви к БК, а также и во многом другом - к старым авто, например, или старой мебели, одежде, традициям и устоям, много к чему ещё. Такие люди есть даже среди современной молодежи.
Но у кого нет такой особенности, вряд ли поймут тех, у кого это присутствует.
Еще раз повторюсь: Программирование на БК - это творческий процесс, увлечение, хобби.
-
? Аноним - 26.09.2015 16:07
Хобби, как и любое творчество- все равно требует, чтобы было кому оценить. Или вы думаете, что машины тюнингуют например без всякой задней мысли - типа показать кому-то со сходными интересами? Или художники пишут не для того, чтобы хотя бы показать кому-то, кто оценит? Из всех попыток, предпринимавшихся здесь, не было оценено ничего (последнее вроде бейсик кто-то писал компилирующий). Если Дмитрий что-то напишет, то практически всем будет пофиг, как и в предыдущих случаях. И без какой-либо надежды, что оценят в будущем (число заинтересованных в БК лиц с годами никак не увеличится). О чем и предупреждаю. Не верите, проверяйте. Хотя в то, что Дмитрий что-то серьезное напишет, все равно не верю. Кто хотел, тот хоть что-то под ту же БК-шку тут делал. Или у Дмитрия хобби - это Бустер и БК-12 исключительно, а БК-побоку?
-
? Аноним - 26.09.2015 16:14
..Извините, конечно, за всё такое нелицеприятное. В конце концов, каждый сам хозяин своего времени и сил. И каждый имеет право походить по граблям, как и другие перед ними. На этом закругляюсь.
-
? Дмитрий - 26.09.2015 16:16
>> писали какой-нибудь кроссплатформенный софт хотя бы средней сложности
Ну я не знаю как вы читаете. По диагонали чтоль? Я не занимаюсь проф. разработкой софта, я делаю что-то для себя или своих знакомых, иногда делаю что-то для узкого круга по какому-либо вопросу. Да, "за спасибо".
¤
>> ваших наработок для Бустера
Уточню два момента: 1) меня интересует только БК12, писать для "2,5 человек" для 11(М) и, тем более, для 10-ки я не буду и 2) если изготовление БК12 затянется надолго, то этого уже не будет, ибо "доколе?"
¤
>> Ведь программирование (или его попытки) на ретро-платформах - это чистой воды хобби, увлечение, творческий процесс самовыражения.
>> Колхозный подход "если практической пользы нет, то это не нужно" тут не работает.
Браво! Подписываюсь под каждым словом. Вот только как донести эти мысли до непонимающих?
-
? Дмитрий - 26.09.2015 16:21
>> чтобы было кому оценить.
Это не работает для хобби. Это делается лишь для самого себя или людей, понимающих в этом. Художнику, нарисовавшему картину и повесившему ее на стену абсолютно по барабану как ее оценят критики. Он не профессионал, а нарисовал, потому что хобби. Ну вот нравится ему это. Не ради денег, не ради славы, не ради признания. Он нарисовал это для себя и своих близких, для души. А вы все меряете деньгами/славой. Вы коммерсант. У вас все удовлетворение выражено в деньгах.
-
? Аноним - 26.09.2015 16:25
>Браво! Подписываюсь под каждым словом. Вот только как донести эти мысли >до непонимающих?
¤
Я не непонимающий, я предупреждающий. Читаем выше:
>>Шевелилси,и много. И не в планах,а в реале. Отдавая отчет,что нафиг >>никому не нужно,кроме себя,потому без разочарований.
¤
Если Дмитрий отдает себе в этом отчет, то всё нормально. Но сложилось впечатление, что он считает, что это кому-то особо нужны, кроме него самого.
-
? Аноним - 26.09.2015 16:31
>Художнику, нарисовавшему картину и повесившему ее на стену абсолютно по >барабану как ее оценят критики.
Но не по барабану, как оценят зрители! Просто пройдут мимо или остановятся перед картиной.
>Вы коммерсант. У вас все удовлетворение выражено в деньгах.
Бред. Я для БК-шки уж всяко сделал побольше вашего, и совершенно бесплатно. Потому и знаю, о чем говорю (предупреждаю). Плюс еще имею (результативные) увлечения в куче других областей. А у вас пока н-и-ч-е-г-о, кроме планов, не было, одни слова. Разве что "обсуждение" - засчитать за хобби...
-
? Аноним - 26.09.2015 16:33
Всё, достало. Бесполезно предупреждать кого-то, пока сам лоб не расшибёт. Продолжим только наблюдать.
-
? Дмитрий - 26.09.2015 16:48
>> Но сложилось впечатление, что он считает, что это кому-то особо нужны, кроме него самого.
Неверное впечатление. Я буду писать для себя, если, конечно, до этого дойдет и я дождусь в обозримом будущем БК12. Если это понравится любителям БК, да ради бога, берите, пользуйтесь. Не понравится - я никого не принуждаю пользоваться.
¤
>> Но не по барабану, как оценят зрители!
Вы прочитали первую фразу про художника и кинулись писать ответ. Какие, к едреням, зрители??? Родственники художника? Он нарисовал картину не для зрителей, а для себя и своих домашних и повесил в своем доме. Ему и близким нравится? Теще или зятю из Ново-Ипенево не понравилось - да и в рот им ноги. Он не для них рисовал.
¤
>> Всё, достало. Бесполезно предупреждать кого-то
Ну вы же не читаете до конца и не вникаете в написанное. От этого и непонимание.
-
? Аноним - 26.09.2015 16:59
>Он нарисовал картину не для зрителей
Ни один художник, даже любитель, такого не сделает. Всегда будет как минимум всем гостям показывать. Если им понравится, то даже попытается как-то выставиться. Всем хочется реализоваться в любимом деле. Не верите? Ваше дело.
¤
>Я буду писать для себя
Т.е. вы повесите у себя в гостинной, а не где-нибудь в интернете, другим на обозрение? Ведь для себя же? Как этот виртуальный (нереалистичный) художник? Тогда вопросов нет.
¤
>меня интересует только БК12, писать для "2,5 человек" для 11(М) и, тем >более, для 10-ки я не буду
Какие иллюзии у людей...
¤
Всё, на этом и правда всё... Оставляю последнее слово за кем угодно, лень дальше спорить:)
-
? maxstudios@ - 26.09.2015 17:13
В настоящее время мы имеем некоторое количество людей, способных оценить любые усилия, пусть даже самые маленькие, в плане творчества на БК. Поэтому если уж очень будет невмоготу оставаться со своим творением наедине - интернет в помощь, можно разослать свои творения программные или "железные" всем желающим.
Вывод - "пустых" творческих напрягов и отсутствие "сочувствующих" в настоящее время нет, благодаря интернету. Любая самая маленькая работка будет оценена, можно в этом не сомневаться. Но благодарность может измеряться не только деньгами, словесной благодарности часто достаточно.
И вряд ли современные бэкашники живут грезами и фантазиями, все всё понимают.
Не нужно быть "пророком" и предупреждать. Часто предсказания не сбываются, так как люди меняются.
:-)
Я хотел купить СМК-512. Но когда узнал про Бустер, решил его подождать, тем более что с деньгами пока напряг, даже свою разработку звуковой карты приостановил.
Пока - период ожидания готовности Бустера.
Дополнительно напишу - не уважаю анонимов. :-)
-
? Дмитрий - 26.09.2015 17:35
>> Я для БК-шки уж всяко сделал побольше вашего, и совершенно бесплатно. Потому и знаю, о чем говорю (предупреждаю).
Пустые и бездоказательные слова. Где горы софта или железа от Анонима? Вас тут анонимов море. Кто есть кто - хрен разберет.
¤
>> А у вас пока н-и-ч-е-г-о, кроме планов, не было, одни слова.
А откуда вы знаете что я делал и кто я такой? Опять пустословие...
-
? maxstudios@ - 26.09.2015 17:54
Подозреваю, что Аноним этот действительно что-то делал для БК.
И он ждал "признания", "материальной благодарности", или что-то ещё.
Но не дождался и обиделся на всех бэкашников.
Если я угадал, то обращаюсь к нему: Огромная благодарность Вам, за всё сделанное для БК!
Если можете, делайте и дальше! :-)
Жаль, что лично не получится поблагодарить, ведь он аноним.
-
? maxstudios@ - 26.09.2015 17:56
Voland, хотел узнать - как там дела с Бустером?
-
? не уважаю анонимов - 26.09.2015 18:04
>А откуда вы знаете что я делал и кто я такой?
>Я буду писать для себя, если, конечно, до этого дойдет и я дождусь в >обозримом будущем БК12.
>если изготовление БК12 затянется надолго, то этого уже не будет, ибо >"доколе?"
>меня интересует только БК12
>Это делается лишь для самого себя или людей, понимающих в этом.
>писать для "2,5 человек" для 11(М) и, тем более, для 10-ки я не буду
¤
>Браво! Подписываюсь под каждым словом. Вот только как донести эти мысли >до непонимающих?
-
? марсианин - 26.09.2015 18:14
>>Любая самая маленькая работка будет оценена, можно в этом не сомневаться. Но благодарность может измеряться не только деньгами, словесной благодарности часто достаточно.
¤
Ох, сомнительно это все здесь. Сомнительно. Я помню, здесь некий litwr2 уже чего-то делал, похоже бейсик тотже, но простой человеческой благодарности он так, видимо, и не дождался. Люди здесь такие. :) А он между прочим квалифицированный преподаватель и программист. Мог бы вам всем запилить что-то и посерьезней. Но, увы... увы... Кажись, некий Smeagol предсказывал, правда в эсцентричной манере, что ловить в общем-то здесь нечего и никому ничего не интересно на самом деле, вот. Оказалось правдой, так ведь?
-
? maxstudios@ - 26.09.2015 19:05
Просто многие бэкашники почему-то считают, что совершают подвиг, когда что-то создают для БК.
Если ждешь благодарности, то хотя бы сообщи об этом, ведь так? Что за Бейсик и для чего, где скачать и как загнать в реальный БК - я бы на эти вопросы хотел получить ответ.
А вот когда появится надежность сохранения данных - творения не будут исчезать, а будут иметь жизнь в инете, в открытом доступе, тогда и будет возможность оценить то, что пишут другие.
Я не смогу оценить ни этот бейсак, ни другие творения, ни даже заново переоценить все игры для БК10 из 80-90х, пока не будет у меня надежности в хранении своих и чужих программ.
Поэтому и нет движухи ни в плане программ, ни в плане желающих - сидеть с магнитофоном, или с флопиками нет ни у кого желания.
-
? марсианин - 26.09.2015 19:29
>>Что за Бейсик и для чего, где скачать...
http://bk0010.org/forum/?id=21064 (а там litwr2.atspace.eu/bk11.html)
¤
-
? Voland@ - 26.09.2015 19:51
>> Voland, хотел узнать - как там дела с Бустером?
Спаял уже 7шт)) Больше новостей никаких, разработчик видимо задолбался от вереницы вопросов и исчез на 2 недели. Когда появится и исправил ли он там чего-то - хз.
-
? maxstudios@ - 26.09.2015 19:53
Благодарю за ссылку. :-) Позже, с Бустером посмотрю.
Voland, не дождался я ответа, еще вопросы появились у меня:
- Нужны ли какие-то аппаратные изменения в Бустере, в связи с последними возникшими проблемами?
Или все это устраняется только перепрошивкой?
- Возможно ли перепрошивать Бустер с помощью РС самостятельно?
-
? maxstudios@ - 26.09.2015 20:00
Voland, вот мой вопрос, на который ответ жду:
? maxstudios @ - 24 сентября 11:06
Интересно было бы узнать графические возможности Бустера.
А также интересна возможность использования отдельных механизмов из списка эмулирования БК11М - к примеру, на БК10 с Бустером использовать ретро-механизм переключения страниц ОЗУ и экранов, но в виде подпрограмм или через другие регистры (в памяти Бустера, конечно).
То есть, можно продублировать регистры БК11М 177662 и 177716 по другим новым адресам-регистрам, чтобы таким образом старые демы и игры возможно было запускать на БК10 с БУстером, всего лишь заменив адреса регистров на новые?
¤
? maxstudios @ - 24 сентября 11:10
Такой подход дал бы возможность СМК определять правильно модель БК - 10 или 11М, а дальше пропатченные программы работали бы на обеих моделях БК.
-
? Дмитрий - 26.09.2015 20:39
>> Подозреваю, что Аноним этот действительно что-то делал для БК.
>> И он ждал "признания", "материальной благодарности", или что-то ещё.
>> Но не дождался и обиделся на всех бэкашников.
Точно также подумал, причем исходя из его фразы "Отдавая отчет,что нафиг никому не нужно,кроме себя,потому без разочарований" разочарование от бесполезных попыток снискать славу и деньги все-таки пришло и так обожгло, что он решил подписаться анонимом, вместо своего настоящего имени или ника. И от анонима стал писать тут нравоучения и предостережения от повторения своих ошибок. Право же глупо.
¤
>> ? не уважаю анонимов - сегодня 18:04
Вырвали из контекста фразы и думаете, что совершили нечто экстраординарное? Разочарую вас, аноним. Детская попытка выделиться...
¤
>> некий Smeagol предсказывал, правда в эсцентричной манере, что ловить в общем-то здесь нечего и никому ничего не интересно на самом деле
С таким высокомерием сия экзальтированная особа действительно не словит тут ничего кроме язвительных насмешек и неуважения. Так что да, ему и подобным тут ловить нечего.
-
? марсианин - 26.09.2015 21:00
Сядь, Пустышкин. Сядь. Не мелькай. :) (c) "Место встречи изменить нельзя"
-
? Дмитрий - 26.09.2015 21:07
марсианин, ваш бессмысленный поток сознания смешит. Успокойтесь уже, а то как мартышка прыгает по всем темам, гадит и радуется. Попросите санитаров сделать вам укол и поспите...
-
? марсианин - 26.09.2015 21:18
Чего еще придумаешь, Пустышкин?
-
? maxstudios@ - 26.09.2015 21:26
Давайте уже по теме ветки писать, а выяснение отношений выделим в новую ветку? :-)
-
? марсианин - 26.09.2015 21:33
Ты дурилка электронная, своими отмазками "все на винте!" никого здесь не проведешь, пустышка ты картонная.
-
? maxstudios@ - 26.09.2015 21:35
Алё, товарисчи!!! Я создал новую ветку, Гоу туда, там деритесь. :-D
-
? Дмитрий - 26.09.2015 21:53
>> Чего еще придумаешь, Пустышкин?
Вяло... Ну не умеете... (с) Сталкер
-
? Аноним - 27.09.2015 01:40
[? Аноним - 26 сентября 16:33]
[Всё, достало. Бесполезно предупреждать кого-то, пока сам лоб не расшибёт. Продолжим только наблюдать.]
¤
Пережевывая попкорн под пепсиколу - выражаю солидарность с мнением предыдущего анонима.
Год прошел а тут все те же яйца, только в проыиль.
Поделитесь ссылкой на макет платы БК-11(М), без ошибок, гарантированно рабочей, для заказа в китае. Спасибо.
-
? maxstudios@ - 27.09.2015 11:12
Зачем в Китае заказывать? Есть уже готовые в Москве.
Вот ссылка: http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5378
А вот другой вариант, посовременнее: http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5427
В обоих вариантах можно заказать отдельно готовую плату.
-
? maxstudios@ - 27.09.2015 11:14
Или вот по этой ссылке можно посмотреть настоящие ретро-платы, если остались ещё:
http://www.phantom.sannata.ru/forum/index.php?t=15942&a=stdforum_view&o=&st=0
-
? Аноним - 27.09.2015 12:38
>И от анонима стал писать тут нравоучения и предостережения от повторения своих ошибок
>разочарование от бесполезных попыток снискать славу и деньги все-таки >пришло и так обожгло
>С таким высокомерием сия экзальтированная особа действительно не словит тут ничего кроме язвительных насмешек и неуважения. Так что да, ему и подобным тут ловить нечего.
¤
Вот блин же - воинствующее невежество. Ему просто посоветовали учить актуальные языки, а не маяться мечтами, если чего-то хочет добиться в жизни. Так нет же, развел срач, как будто его кто-то будущей славы лишает. Ну ничего же не сделал сам, чтобы гордиться, одни словеса, а еще над другими думает, что он типа насмехается. Причем свои же мотивы на других переносит.
Я человек, вообще, мирный, но люблю прикалываться иногда, особенно встречясь с теми, что некогда называли "ламерами". Вот бродит мысля стартовать демку для "2.5человек" на БК под названием "Дмитрий и пустые слова", и наворачивать её по заслугам данного персонажа на данном форуме (цитат тут за много лет интересных наберется).
Ну нехрен приставать людям с пустыми претензиями в ответ на простые советы, блин. Даже не зная, кто это. Если ничего не можешь,сиди не и болтай гадости про незнакомых людей хотя бы, чтобы не словить ответку по заслугам...
-
? Дмитрий - 27.09.2015 13:06
>> Ему просто посоветовали учить актуальные языки
В ваших советах я не нуждаюсь и не просил вас об этом, поэтому оставьте их при себе.
¤
>> Так нет же, развел срач, как будто его кто-то будущей славы лишает.
Срач развели вы своими никому не нужными советами и насмешками. Слава мне не нужна, а вас ее отсутствие похоже задело.
¤
>> Ну ничего же не сделал сам, чтобы гордиться, одни словеса,
А вы что сделали? Одни пустые словеса "поболе вашего" и никаких доказательств. Вы же понятия не имеете кто я и что я писал, а слепо рассуждаете о том, что вы выше всех. Ну, право слово, глупо.
¤
>> но люблю прикалываться иногда
Ну так любите когда прикалываются над вами...
¤
>> Вот бродит мысля стартовать демку для "2.5человек" на БК под названием "Дмитрий и пустые слова"
Этим вы покажете свою подленькую душонку, которую задело все, что я написал. Хотя вы и так тут раскрылись...
¤
>> Ну нехрен приставать людям с пустыми претензиями в ответ на простые советы,
Нехрен советовать, если вас об этом не просили. Учителя из себя строите? Детей своих учите, а к другим с советами не лезьте, пока не попросят. Неужели родители в детстве не научили этой доктрине.
¤
>> Если ничего не можешь,сиди не и болтай гадости про незнакомых людей хотя бы, чтобы не словить ответку по заслугам
Ответка в точности подходит к вашим постам: Если ничего не можешь, сиди не и болтай гадости про незнакомых людей хотя бы, чтобы не словить ответку по заслугам
¤
Вы ничего не показали, что вы можете применительно к БК. Вы пустословный аноним, безличная сущность, коих море. Так что повторю - не лезьте с советами к людям, которых вы не знаете. Кстати, вы уже который раз собираетесь закончить обсуждение, но что-то у вас свербит и вас сюда тянет как будто медом намазано.
-
? Аноним - 27.09.2015 15:26
>Слава мне не нужна, а вас ее отсутствие похоже задело.
Гы, если бы мне нужна была тут слава, я бы не был анонимом. И о славе я ничего не начинал, а дал вам совет (указав лишь про собственный опыт, а не какую-то упущенную славу), а вы там уже развели свои голословные обвинения в моей корыстности и тщеславии. Мне слава не нужна, мне и так на работе нормально платят.
¤
А совет на то и совет, чтобы его давать. Бурно на него реагируют только воинствующие невежи, остальные говорят "(нет,) спасибо".
Но за совет извиняюсь, я думал вы реально что-то хотите делать, но вы типа ждете БК-12, ну и ждите. Может и такое хобби быть - БК-12 ждать, оно каши не просит...
¤
>что вы выше всех
Где я говорил, что выше всех? Совет это выше всех? Вы в коллективе когда-нибудь работали? Где и советы, и критика, и остальное - в порядке вещей?
¤
>Если ничего не можешь
>Вы ничего не показали
>Этим вы покажете свою подленькую душонку, которую задело все, что я >написал. Хотя вы и так тут раскрылись...
Не находите противоречия? Если я ничего не могу, то как я покажу "свою подленькую душонку"? И вообще, это ведь у меня "пустые слова", а вам-то чего своих "полных слов" стеснятся? Вы же на форуме их не стесняетесь, нет?
¤
>Вы пустословный аноним, безличная сущность, коих море.
Потому и безличная, что мне слава не нужна. Нахрена мне на какой-то ник "авторитет нарабатывать"?
¤
>Кстати, вы уже который раз собираетесь закончить обсуждение, но что-то у вас свербит и вас сюда тянет как будто медом намазано.
Не люблю, когда плюют в спину. А вы плюнули - я нормально отношусь к ругани, но терпеть не могу голословных обвинений. Я предупредил, что могу и ответить, однако. Грубо плюнете еще раз в спину всякими дурацкими обвинениями, ругаться не буду. Но демку стартану - до извинений. Отвечу вам своего рода карикатурой (вполне культурный способ, как и эппиграмы, кстати - читали Гафтовские?), и доказательством, что я всегда делаю, что говорю, и никогда не говорю пустых слов.
¤
p.s. В конце-концов, никто ничего не потеряет. БК обретет новую дему (возможно мульти со временем), ваши слова сохранятся для истории в софте, а я обрету заслуженную, пусть и анонимную, славу одного из последних разработчиков хоть каких-то дем для БК-11M (для "2.5 человека", которыми вы пренебрегаете в своём великом устремлении вперед, в будущее). Раньше я эту великую славу снискать ну никак не мог, как "пустословный аноним". Но вы меня прям так вдохновили, что я прям готов забыть про бесполезность разработки под БК и свои же советы - в данном конкретном случае.
-
? severyanin - 27.09.2015 15:40
Ну что вы как маленькие, право слово! Как в пятый класс попал.
-
? Аноним - 27.09.2015 15:49
Увлечение БК по нынешним временам этому созвучно ;)
-
? Дмитрий - 27.09.2015 16:00
>> А совет на то и совет, чтобы его давать. Бурно на него реагируют только воинствующие невежи, остальные говорят "(нет,) спасибо".
Если совет просят, его дают. А соваться со своими советами, когда не просят, так как раз невежи и делают. Без обид. Я написал, что хочу сделать в первую очередь. Ибо БК12 будет ВООБЩЕ без софта, даже банального монитора не будет. Вы упомянули про TV. Я подтвердил, что да, именно нуна. Далее вы пустились в выдачу советов. Заметьте, я не написал "а вы что-то другое предлагаете?". Согласитесь, вопроса к вам не было и советов я не просил. Тогда с чего вы стали их давать? Вот вы и получили негативные ответы на ваши советы.
¤
>> я думал вы реально что-то хотите делать, но вы типа ждете БК-12
Хочу, не поверите, даже бесплатно - мне это просто интересно. Но интерес к 11М пропал давно (про 10-ку вообще молчу), и меня интересует именно 12-я. Вот для нее я и хочу попробовать что-то написать - что, кстати, я уже неоднократно указывал. Поэтому и жду хотя бы тех. документации - что она из себя будет представлять, а потом уже решу, буду я что-то делать или нет. Иначе меня бы здесь давно не было. Но пока затягивается ожидание и это не моя вина. Если бы имел опыт разработки - непременно бы подключился.
¤
>> Где я говорил, что выше всех?
Вы пустились в высокомерную раздачу советов. Вы посчитали себя выше, чтобы вмешаться со своими советами. Стали мне советовать что изучать, что дельфи старье и что мне будет лучше.
¤
>> Вы в коллективе когда-нибудь работали? Где и советы, и критика, и остальное - в порядке вещей?
В коллективе есть авторитеты и более опытные работники, которые и дают советы, у которых можно спросить совета. Вы же для меня не авторитет, я вас не знаю. И вы меня не знаете. Я вам советов не давал, а вы мне в поучительной форме стали советовать.
¤
>> а вам-то чего своих "полных слов" стеснятся? Вы же на форуме их не стесняетесь, нет?
А где я утверждал, что я "поболе вашего сделал"? Какие мои "полные слова"? Не находите противоречия? Это были ваши слова, что вы поболе меня сделали. Вы сами говорите, что неправильно говорить ерунду неизвестному человеку, и сами тут же не зная собеседника даете советы, в которых он не нуждается и, более того, не просил от вас советов!! Что за двойные стандартны?
¤
>> как я покажу "свою подленькую душонку"?
Ну вас же задело, что вам немного резко ответили на ваши советы. Вы развели срач. Прошли бы мимо, ничего из всего этого не было бы. Разве не так?
¤
>> Потому и безличная, что мне слава не нужна. Нахрена мне на какой-то ник "авторитет нарабатывать"?
Стоп, секундочку. А разве нику или имени просто обязательна слава или авторитет? Имхо нет.
¤
>> Не люблю, когда плюют в спину. А вы плюнули - я нормально отношусь к ругани, но терпеть не могу голословных обвинений.
А я не люблю советы, которых я не просил. Согласитесь, разумное желание. И я не плюнул в спину, а указал, что не нуждаюсь в них. Вас же это задело по какой-то причине.
¤
>> Грубо плюнете еще раз в спину всякими дурацкими обвинениями, ругаться не буду. Но демку стартану - до извинений.
Ну вот и готовый злопамятный аноним. Извинений вам я приносить не буду, не я начал этот срач. А вот от вас не помешали бы извинения за влезание со своими советами. Тогда, возможно, я принесу свои извинения, но только за резковатый отказ от ваших непрошенных советов. Но не ранее. Все остальное - ответ на ваши высказывания.
¤
>> БК обретет новую дему (возможно мульти со временем), ваши слова сохранятся для истории в софте, а я обрету заслуженную, пусть и анонимную, славу
Ой да наплевать. А славу вы обретете только одну - невоспитанного злопамятного анонима.
-
? Аноним - 27.09.2015 22:39
Запомните, советы дают не высокомерно, советы дают, когда считают, что человек делает ошибку. Может, поймете это когда-то. А уж учиться - это вообще не совет, а жизненная необходимость (особенно для тех, кто хочет стать программистом - вернее, если хочет). Ладно, так и быть, надоело мне об этой виртуальной войнушке думать. Вроде на этот раз вы мне не нахамили, ну и забудем. За совет я извинился выше (более-менее :). За остальное тоже извиняюсь. Но когда выйдет БК-12 - обязательно вернусь посмотреть, а не ошибся ли я всё-таки с советом (будем надеяться, что ошибся ;)
-
? Дмитрий - 27.09.2015 23:48
>> что человек делает ошибку
Хм, и какую же я сделал? То, что хобби у меня такое? Или что я время хочу потратить на то, что мне интересно? Так это мое личное дело на что тратить свободное время. Сегодня одно, завтра - другое. Я еще люблю книги читать в свободное время - это, надеюсь, не ошибка?
¤
>> Но когда выйдет БК-12
Дождаться бы этого...
¤
>> За остальное тоже извиняюсь
В таком случае приношу и мои извинения. Хотя ваше "так и быть" выглядит так, что вы делаете мне одолжение. Не надо одолжений. И я не хамил, а отвечал на вашу несправедливую критику и пытался показать вам моменты, где вы были неправы.
-
? maxstudios@ - 28.09.2015 00:12
Думал, что ветка про Бустер, а оказалось что про Дмитрия + Анонима, и выяснение их отношений.
Из технического форум превратили в психопатический. :)
Моё приглашение в другую ветку по теме тоже проигнорили.
Вашу бы энергию, да в Бэкашных целях - цены бы вам не было! :)
-
? Аноним - 28.09.2015 00:37
Ладно, замяли...
-
? Voland@ - 28.09.2015 08:11
>> Нужны ли какие-то аппаратные изменения в Бустере, в связи с последними возникшими проблемами?
Навесной монтаж, пока 1 перемычка, может ещё 1-2 понадобится. Большая часть проблем конечно же перепрошивкой устраняется.
¤
>> Возможно ли перепрошивать Бустер с помощью РС самостятельно?
При наличии байт-бластера точно можно, при отсутствии можно будет просто по USB через имеющкюся на борту микросхему FTDI, подбросив в квартус её драйвер от известного проекта "Марсоход". Правда пока что этот способ испытывает проблемы - сильные помехи в схеме и прошивка через FTDI прокатывает только один раз из 30-50. Будем бороться, на JTAG подбирать конденсатор нужной емкости.
¤
>> к примеру, на БК10 с Бустером использовать ретро-механизм переключения страниц ОЗУ и экранов
Специально этого делаться не будет, если это случайно как-то будет работать на 10-ке, ну и ладно. Попытки сделать Бустер устройством, превращающим БК10 в БК11М наталкиваются как минимум на одну трудоемкую задачу - доступ ВМ1 напрямую к памяти Бустера, от чего мы уже давно отказались.
Впрочем, поскольку Бустер - по сути отладочная плата - любой желающий может, изучив VHDL - реализовать в нём любую желаемую архитектуру, в том числе и полностью стороннюю, хоть спектрум, хоть Амига, хоть 8086. При подаче внешнего питания Бустер можно использовать просто как отдельный компьютер. При желании, в Бустере автономно можно эмулировать БК11М ПОЛНОСТЬЮ, конечно без интерфейсов МПИ и УП, и используя внешнюю клавиатуру и мышь PS/2. Дисковод при этом можно эмулировать через SD, написав соответствующий драйвер.
-
? Voland@ - 28.09.2015 08:41
TheGWBV, пришлёте последний документ по регистрам Бустера? Я его выложу в ветку бустера. А то у меня он куда-то потерялся, а разработчик пока пропал со связи.
Обновил спецификацию, описал бОльшую часть изменений, которые сейчас необходимо выполнять вручную, и которые в дальнейшем будут учтены во второй ревизии печатных плат.
-
? gid - 28.09.2015 09:41
Вообще-то на БК10 с Бустером использовать ретро-механизм переключения страниц ОЗУ и экранов невозможно без аппаратной переделки БК10 в БК11. Т.к. подключив бустер к МПИ, в БК10 не появится чудесным образом диспетчер переключения станиц ОЗУ и экранов. Его оригинальную часть можно только повторить внутри бустера, чтобы эмулировать поведение БК11 на БК10, т.е. по типу СМК512 сделать свой диспетчер памяти, работающий точно так же, как на БК11, свой регистр памяти 177716 (с битом 11) и свой регистр 177662 по записи. Но такой задачи вроде как не ставилось изначально.
-
? TheGWBV@ - 28.09.2015 12:16
>> ? Voland @ - сегодня 08:41
>> TheGWBV, пришлёте последний документ по регистрам Бустера? Я его выложу в ветку бустера.
Отправила самую свежую версию, от 08.08.2015 г.
-
? maxstudios@ - 28.09.2015 18:34
>>>>? Voland @ - сегодня 08:41
TheGWBV, пришлёте последний документ по регистрам Бустера? Я его выложу в ветку бустера. А то у меня он куда-то потерялся, а разработчик пока пропал со связи.
.....
А что, уже готовы регистры и описания? Куда буду выложены - сюда или на pk-fpga.ru?
-
? Voland@ - 29.09.2015 09:05
>> Отправила самую свежую версию, от 08.08.2015 г.
Спасибо, выложил сюда, после спойлера: http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5510
¤
>> А что, уже готовы регистры и описания?
Предварительный документ, думаю будет ещё немало изменений.
¤
Кстати разработчик продолжает вопрошать на тему предложенного им способа реализации видеоадаптера:
"в принципе гипотетически верный способ предложили - отслеживать записи в регистры палитры, только реальзация пока абстрактная предложена и записи на переключение буферов экрана тоже вот так нужно отслеживать и потом привязывать к частоте кадров уже бустера; возможно даже, что нужно просто делать управляющий регистр дисплея сдвоенный, как буфер, все записи в него идут в предварительный регистр, а потом по началу гашения переходят в основной зеркалируемый, тогда вообще ничего специально отслеживать не нужно, ну кроме усложнения самого регистра; только надо уточнить у людей сначала, насколько это корректно в плане каких-то фокусов самого БК, но это вполне может сработать, разве что может нюансы какие-то есть, я же пока только общую идею высказал"
¤
"по идее что-то должно сработать типа того, что я предложил - делать регистр 177662 как составной из двух или даже FIFO и переписывать значение по синхронизации 60-70 гц, но там много комбинаций - сколько надо ступеней буферизовать, по какому месту синхронизации (или гашения) переписывать и мало ли еще какие подвохи там"
¤
Может кто-то прокомментировать?
¤
TheGWBV, а к Вам такой вопрос: если Ваш тест палитр заставить в Бустере работать правильно, то приведет ли это автоматом к тому, что 90% видеоэффектов Инсульта начнут работать корректно?
-
? TheGWBV@ - 29.09.2015 10:00
>> ? Voland @ - сегодня 09:05
>>TheGWBV, а к Вам такой вопрос: если Ваш тест палитр заставить в Бустере работать правильно, то приведет ли это автоматом к тому, что 90% видеоэффектов Инсульта начнут работать корректно?
¤
1.1. Я не исследовала код Инсульта, идея теста палитр пришла после прочтения ТО в части ВП1-037 http://forum.pk-fpga.ru/viewtopic.php?f=52&t=5420
Не могу сказать на сколько %% Инсульт будет корректен, но...
1.2. если там не используется закачка данных в участок сканируемой страницы ВОЗУ пока "луч" подбирается к такому участку, или
1.3. закачка данных в участок сканируемой страницы ВОЗУ после прохода "луча" и до момента конца кадра (КСИ, с частотой 48.8 Гц), когда происходит прерывание по вектору 100 (если разрешено), а используется закачка во вторую страницу ВОЗУ и их переключение, то совместимость может быть и 100%.
¤
В общем, нужна отложенная запись в участок видео-ОЗУ Бустера, если "луч" сканирования ВОЗУ БК0011М уже прошел этот участок ВОЗУ БК0011М, как минимум, для поддержки приема программирования видео-эффектов, описанного выше в п.1.3.
Нужна ли двойная буферизация видеоОЗУ в Бустере, и будет ли неизбежно задержка на один ТВ-кадр Бустера, и тогда будет возможно синхронизировать изображение на Мониторе, подключенном к Бустеру, с приемом программирования видео-эффектов, описанного выше в п.1.2.?!
¤
За время "хода луча" можно заполнить до 1/6 части видео-страницы БК0011М.
Если бустер пройдет оба теста палитр -- и PALTST13, и PALTST15 уже будет хорошо :) т.к. там разные периоды времени между переключением палитр...
У меня давно в планах реализовать видео-декодер для БК0011М, изучаю С++, чтобы написать кодер под РС ))
По хорошему, чтобы декодер работал и на голой БК0011М и на Бустере, нужна поддержка приемов по пп.1.2-1.3...
-
? TheGWBV@ - 29.09.2015 10:07
Для частоты кадров видео-декодера порядка 12Гц -- поддержка приемов программирования по пп.1.2-1.3. не потребуется :)
-
? maxstudios@ - 29.09.2015 10:15
Только мои логические предположения, так как не знаю, по какой логике устроена эмуляция переключения экранов в Бустере, да и палитр со страницами памяти.
Если при переключении экрана по записи в 177662 Бустер просто меняет адрес в своем ОЗУ, с которого идет вывод изображения - тогда просто должно быть два аппаратных механизма: один при переключении экранов по записи в 177662 меняет адрес вывода, а другой механизм просто выводит изображение с того адреса, который указан. То есть, можно ввести промежуточный регистр для хранения адреса вывода изображения из ОЗУ Бустера.
А если механизм работает не путем просто перезадания адреса, а при записи в 177662 задействуется механизм переписывания содержимого экрана из области памяти Бустера по адресу 40000, то также в дополнительном регистре должен содержаться адрес того экрана, который будет отражаться.
...
Еще одна мысля: главное, чтобы переключение экрана срабатывало в тот же момент, когда будет произведена запись в 177662.
....
Хотелось бы узнать, конечно, принцип эмулирования переключения экранов, палитр и страниц.
-
? TheGWBV@ - 29.09.2015 10:27
Имхо, лучше не заморачиваться с полной поддержкой демок, ведь...
1. могут найтись желающие вспомнить молодость и крэкнуть демы под Бустер ;)
2. видео-декодер на частоту кадров 12..15 Гц, и большинство видео-игр, скорее всего, должны использовать переключение видео-страниц БК0011М, что потребует от Бустера только синхронизировать отложенное переключение копий видео-страниц со своим КСИ и записью в регистр переключения экранов БК0011М.
3. Задерживая продажи Бустера, снижается вероятность появления нового софта, не использующего видео-эффекты (драйверы эл.диска, сом-порта, джойстика, принтера, клавиатуры ps/2). Думаю, у многих на чаше весов лежат что-то типа ТВ-тюнера, чтобы подключить БК0011М к современному монитору через РС, и Бустера, чтобы подключить монитор без участия РС...
-
? gid - 29.09.2015 10:37
[Может кто-то прокомментировать?]
Комментирую:
Делайте два зеркальных внутренних регистра 177662 и 177716(с битом 11) Доступных только по записи и не выдающих RPLY при записи в них. Они должны сидеть на шине МПИ параллельно оригинальным, и сохранять там все значения, которые пишутся в оригинальные регистры. Потом данные из них будете интерпретировать нужным вам способом. Определять, куда в данный момент подключены экраны и подключены ли вообще, чтобы оттуда выцеплять или не выцеплять данные для отображения. И который из двух экранов в данный момент отображается.
Вот как собираетесь реализовать эмуляцию хода луча ЭЛТ с помощью буферизации, я плохо представляю.
Просто если брать статический снапшот состояния экрана в текущий момент и формировать из него буферное изображение, то даже FIFO значений регистра 177662 мало поможет. Для палитр нужно использовать именно текущее значение на данный момент времени. Оно может меняться много раз во время формирования кадра, это и есть режим мультиколора, когда верхняя группа строк кадра рисуется одной палитрой, следующая - другой, следующая - третьей, и т.д. При очень сильном желании, можно сделать даже чтобы одна строка по мере формирования отображалась разными палитрами. Но это просто эффект ради эффекта, быстродействия БК не хватает делать это и ещё что-то другое. Поэтому обычно используют закраску одной палитрой группы строк.
А вот переключение экранов в FIFO можно. Экраны переключаются между формированиями кадров.
-
? TheGWBV@ - 29.09.2015 10:37
>> ? maxstudios @ - сегодня 10:15
>> Еще одна мысля: главное, чтобы переключение экрана срабатывало в тот же момент, когда будет произведена запись в 177662.
Видимо, имелось в виду именно запись в 15-ый разряд?
Но всё-равно возникает коллизия, ведь часть изображения уже выведена Бустером (и не синхронно с БК0011М), и при "переключении страницы" в Бустере на экране монитора мы увидим сверху часть "старой" страницы, а внизу часть "новой".
Вроде как ВП1-037 задерживает переключение видео-страниц до момента КСИ, тогда и Бустер должен отложить обновление указателя на начало сканируемого участка ВОЗУ до момента своего КСИ (до конца вывода ТВ-кадра)!
-
? А.Б. - 29.09.2015 10:53
если Ваш тест палитр заставить в Бустере работать правильно, то приведет ли это автоматом к тому, что 90% видеоэффектов Инсульта начнут работать корректно?
---------------------------------------------
Зависит еще от таймингов инструкций процессора и доступа к памяти,на которых эффекты Инсульта построены (там их блоки гоняются между прерываниями экрана).В доказательство эмуляторы, где на некоторых тест работает,а Инсульт не всегда правильно (если снятое TheGWBV видео взять за эталон).Автоматом не получится.
-
? TheGWBV@ - 29.09.2015 10:54
>> ? gid @ - сегодня 10:37
>> режим мультиколора, когда верхняя группа строк кадра рисуется одной палитрой, следующая - другой, следующая - третьей, и т.д. При очень сильном желании, можно сделать даже чтобы одна строка по мере формирования отображалась разными палитрами. Но это просто эффект ради эффекта, быстродействия БК не хватает делать это и ещё что-то другое. Поэтому обычно используют закраску одной палитрой группы строк.
¤
Да, если по-максимуму оптимизировать код, используя таймер ВЕ1 -- в лучшем случае, это две палитры в одной ТВ-строке. Или около 4-х, если таймер использовать для отбора группы строк, а в промежутке считать такты машинных команд...
-
? TheGWBV@ - 29.09.2015 11:02
>> ? А.Б. - сегодня 10:53
>> В доказательство эмуляторы, где на некоторых тест работает,а Инсульт не всегда правильно (если снятое TheGWBV видео взять за эталон).Автоматом не получится.
¤
Ммм... А на каком эмуляторе нормально работает PALTST13 в версии для реальной БК0011М @ 4MHz ?
Для эмулятора gid-а версии 3.7. я специально подбирала другую константу для задержки между КСИ и первым переключением палитр...
В остальном все переключения синхронизируются строго по таймеру ВЕ1 и не зависят сильно от таймингов отдельных машинных команд :)
-
? anonymous - 29.09.2015 11:25
「Вроде как ВП1-037 задерживает переключение видео-страниц до момента КСИ」ВП1-037 к переключению не имеет никакого отношения, разве что привязка осуществляется по декодированному с её синхросмеси кадровому импульсу.
Ещё можно сделать память палитр на 256 байт, по нибблу на каждую строку, и синхронизировать половинки по 128 байт по кадровому импульсу БК, и когда все строки синхронизированы, копировать кадр из записываемой памяти в память вывода, до следующего совпадения полной перерисовки.
-
? А.Б. - 29.09.2015 11:25
В остальном все переключения синхронизируются строго по таймеру ВЕ1 и не зависят сильно от таймингов отдельных машинных команд :)
------------------------------------
Это про дему Инсульт было,что блоки инструкции между прерываниями гоняются.
А эмуляторы,тут когда-то диск вроде пробегал под ANDOS (или у Воланда),где тесты 13,14,15 были. Вроде бы на этом http://spc-emu.uphero.com эмуляторе работали под БК11М,не знаю для gid-а или нет.
Может и еще где,не помню уже.
-
? maxstudios@ - 29.09.2015 11:26
Я просто вижу обсуждение технических нюансов, а примененную логику работы вывода изображения никто так и не объяснил.
Если знать принцип работы, как все организовано, тогда можно и что-то предлагать.
Вот есть в бустере 32 Мбайта ОЗУ. Сплошное.
В БК же реализовано постраничное подключение страниц размером 16 Кбайт по адресам 40000 и 100000.
То есть, прямое копирование памяти БК в Бустер без проблем возможно только без переключения страниц, как в БК10. Каков принцип расположения этих страниц в Бустере при эмуляции БК11М? Каков принцип переключения экранов?
Ведь одно дело - подключить страницы экранов (одного или другого) с адреса 40000 или 100000, и совсем другое - какой экран будет включен для отображения.
В описании регистров Бустера я также не нашел ответов по организации всех этих механизмов.
...
Думаю, что все страницы БК располагаются вне адресов 0-177777, при подключении (через 177716) указанные страницы копируются из недоступной области по указанным адресам (40000 или 100000). Должен наверное присутствовать аппаратный механизм такого "подключения-копирования".
Исходя из таких предположений, предполагаю два варианта работы переключения экранов:
1). При переключении экранов через 177662 автомат в Бустере определяет подключаемый экран, и просто меняет адрес на один из двух адресов внутреннего ОЗУ, с которого делается вывод изображения.
2). При переключении экранов через 177662 автомат в Бустере копирует содержимое одного из буферов экрана в область ОЗУ, из которой осуществляется вывод изображения.
...
Во втором варианте можно использовать тот же механизм "подключения-копирования", что и для подключения страниц.
Но первый вариант вроде как быстрее. Но не знаю, возможно ли использование любой области ОЗУ Бустера в качестве видеоОЗУ. Не знаю просто, как там все задумано.
....
Это только мои логические рассуждения, так как реально не знаю - что там и как задумано.
-
? anonymous - 29.09.2015 11:27
「Или около 4-х, если таймер использовать для отбора группы строк, а в промежутке считать такты машинных команд...」 Или припаять проводок и использовать стороннюю частоту таймера ВЕ1, более подходящую...
-
? anonymous - 29.09.2015 11:44
「и когда все строки синхронизированы, копировать кадр из записываемой памяти в память вывода, до следующего совпадения полной перерисовки.」 Сдурил, проверил на десятке доработанной, где есть таймерное прерывание: будет дёргаться ужасно движущееся изображение. :(
-
? TheGWBV@ - 29.09.2015 12:16
>> ? maxstudios @ - сегодня 11:26
Я уже днями раньше писала, что нет привязки видео-страниц к областям 40000+40000 или 100000+40000 :)
Так делается только для удобства программирования в некоторых случаях. Работать с каждой из страниц можно по очереди в любом окне!
Например, ОС типа Уникс может один экран подключаемый к окну 100000+40000 использовать под одну консоль, а второй экран подключаемый в этоже окно в другое время как консоль номер 2 (или графический стол). При этом область памяти 1000-37777 может полностью быть занята ядром и буферами ОС...
-
? maxstudios@ - 29.09.2015 12:29
А где можно почитать о распределении адресного пространства Бустера, принципе работы эмуляции постраничной организации памяти-экранов-палитр?
Или это секретная информация?
Или вообще еще ничего не задумано а работает "как получается"?
-
? Дмитрий - 29.09.2015 13:13
>> указанные страницы копируются из недоступной области по указанным адресам (40000 или 100000)
Емнип, они именно подключаются, а не копируются. Могу ошибаться, но скорее всего 32кб с 40000 до 140000 вообще отсутствуют (хотя кол-во микросхем памяти указывают на обратное) - туда обязательно должна быть подключена либо страница ОЗУ, либо ПЗУ.
¤
Интересно состояние этого диапазона в БК, когда туда ничего не подключено, то бишь какие страницы там присутствуют при включении питания до их переключения в БОС.
-
? maxstudios@ - 29.09.2015 13:20
на БК как раз все описано и подробно очень.
А вот про Бустер никто ничего вразумительного так и не написал.
Я свои предположения написал, ни опровержения, ни подтверждения.
И описание очень хочется узнать, как это все задумано, принцип работы эмуляции страниц по типу БК11М, распределение адресного пространства, как работает вывод изображения и адреса видео-ОЗУ.
Или это все секретная инфа, либо просто еще ничего не задумано. Может вообще все делается по принципу "Я его слепила из того что было, а потом что было то и запилила". :)
-
? maxstudios@ - 29.09.2015 13:22
В общем, буду ждать полного описания принципов работы Бустера и эмуляции БК11М в плане организации памяти, переключения страниц, экранов, палитр, и всего остального.
:)
-
? TheGWBV@ - 29.09.2015 15:02
По организации вывода изображения пока разработчик нас тут всех вопросами мучает, а мы почти молчим ))
Описание регистров и примеры кода на Си уже выложены -- см. ссылку "Модуль Booster-11. Руководство разработчика от 08.08.2015" http://files.pk-fpga.ru/storage/fpga/booster-11/Booster-11%20Developers%20Guide.zip на странице http://forum.pk-fpga.ru/viewtopic.php?f=15&t=5510
-
? TheGWBV@ - 29.09.2015 15:07
Поправочка к позапрошлому посту: - При этом область памяти 1000-77777 может полностью быть занята ядром и буферами ОС...
-
? Дмитрий - 29.09.2015 15:43
>> принцип работы эмуляции страниц по типу БК11М
Кстати да, вроде заявлялось (но в описании также не увидел), что вся память бустера будет доступна через спец. регистр и, вроде как, подключаться будет по аналогии с доп. памятью 11М. По крайней мере, разговор про ЭД из памяти бустера за вычетом видео-ОЗУ разговор был.
-
? А.Б. - 29.09.2015 17:32
По мультиколору в Инсульте вот что вспоминается, по крайней мере некоторых из его демок (за достоверность и порядок операций не ручаюсь, давно было, но можно посмотреть подробнее под отладчиками):
---
По кадровому прерыванию начинает выполняться подготовленный авторами блок инструкций - инструкции-заглушки с нужными таймингами, чередующияся с инструкциями изменения палитры в нужный момент. Когда он завершает выполнение, инкрементируются некоторые переменные цикла и переходит переход не на начало блока, а немного ниже или выше, для движения мультитиколора в нужном направлении. Затем ожидание прерывания от экрана, и опять к блоку инструкций, с дальнейшим движением вниз-вверх.
---
Все действия между кадровыми прерываниями должны успеть выполниться, и еще остаться время до кадрового прерывания, чтобы отловить в промежутке клавиатуру.
Если времени не остается из каких-то погрешности таймингов на разных моделях БК или эмулятора по сравнению с машиной авторов, может не срабатывать клавиатура для перехода к следующей демке (тогда сначала обрабатывается экранное прерывание и переход на новый виток, а клавиатура при этом игнорируется).
---
Что-то типа этого, может не везде. Поэтому работа мультиколора от TheGWBV, реализованного через таймер, не гарантирует корректность мультиколора в тех демках Инсульта, где использовался не таймер, а подбор таймингов инструкций. Они в принципе даже на разных БК11М могут работать по разному, из-за разброса характеристик.
-
? TheGWBV@ - 29.09.2015 18:00
На 08.08.2015 загрузить данные в память Бустера по-блочно можно было только косвенно -- при записи в любую страницу ОЗУ БК0011М эти данные оказываются в соответствующих блоках памяти Бустера. Забрать данные из Бустера можно только через страницы СМК512. Внутри Бустера данные можно перемещать блоками командами GPU...
-
? Дмитрий - 29.09.2015 18:24
>> данные в память Бустера по-блочно можно было только косвенно
А по идее желательно прямо, а не косвенно. Но пока неизвестно - будет ли такая возможность. Представьте себе ситуацию, когда надо вывести на экран некий текст с использованием нескольких цветов. Лить в бустер фонт на каждый из всех возможных цветов и посимвольно дергать из кучи спрайтов и фонтов изображения символов при помощи ГПУ? Данунафик...
-
? Voland@ - 29.09.2015 20:42
Спасибо всем за информацию, скину разработчику, может дело двинется с мертвой точки.
gid, можно Вас попросить добавить в тест AY опцию, чтобы одновременно 3 канала выводили разные частоты - низкую на общий и пару высоких на левый и правый отдельно, чтобы близко к реалиям, там же бас наверное в одном канале, который микшируется наполовину с правым и левым? У нас просто проблема как раз с тем, что отсутствует составляющая баса AY, если её конечно так можно назвать.
-
? А.Б. - 29.09.2015 20:44
Ммм... А на каком эмуляторе нормально работает PALTST13 в версии для реальной БК0011М @ 4MHz ?
------------------------------
Вспомнил еще один, Emulator3000: http://www.emulator3000.org , тоже правильно работает, хотя палитра в нём своеобразная (вроде бы такая была и у эталонного эмулятора Савельева под ДОС). Эмуляторов хватает, за все годы.
-
? А.Б. - 29.09.2015 22:50
Глянул по-быстрому дему Инсульт под отладчиком, небольшое дополнение к предыдущему:
---
Похоже, инструкции-заглушки (MOV) используются и для полезной работы - перемещения бегущих строк. Например, пока проходится верхняя часть экрана с мультиколором, эти инструкции двигают строки внизу экрана. Когда проходится нижняя часть экрана, можно двигать строки сверху. При таком подходе даже двойная буферизация не нужна. Зато сильно зависит от таймингов инструкций и памяти. Отсюда и разнобой у эмуляторов, и даже, скорее всего, у реальных БК.
---
Встроенный таймер, как у TheGWBV, используется только в двух демках - где падает снег между греческих колонн (ближе к началу мультидемы), и в самой последней (где шахматка).
¤
-
? А.Б. - 30.09.2015 00:11
Да, и еще переключение видеостраниц посмотрел:
- В ~30% демок не переключаются (например, на самой первой после заставки, с мультиколором и бегущей строкой);
- в остальных переключаются (в том числе на второй-с мерцанием, и на самой последней-шахматке с мультиколором и бегущей строкой).
-
? maxstudios@ - 30.09.2015 01:15
>>>>? maxstudios @ - 29 сентября 11:26
Нашел ошибку - забыл добавить при описании предполагаемого механизма подключения-копирования страниц, что автомат должен прежде текущую подключенную страницу по выбранному адресу (40000 или 100000 или оба) копировать обратно в недоступную область памяти Бустера по определенному адресу для этой страницы (на своё место).
И только после этого копировать выбранную для подключения страницу из памяти Бустера в область с 40000 или 100000 (или в обе одновременно).
Тогда механизм будет работать полноценно.
Нужно иметь свободную системную ячейку ОЗУ, в которой будет записано, какая страница по каким адресам в настоящий момент подключена-скопирована. В этой же ячейке можно хранить информацию о "подключенном"экране.
-
? gid - 30.09.2015 09:59
>>? Voland @ - 29 сентября 20:42
[можно Вас попросить добавить в тест AY опцию]
С этим более успешно справится Rock Monitor. Там даже гораздо большую вариабельность можно реализовать, чем в простом тесте. Какие будут возражения против РокМонитора? Если он просто не запускается с бустером, то тогда да, отдельный тест необходим.
-
? TheGWBV@ - 30.09.2015 12:15
Наверное, с видео в Бустере нужно сделать как в СОЮЗ-НЕОНе :)
Нужны две индексные таблицы строк -- одна хранит индексы строк для вывода на экран монитора,
а вторая хранит индексы на строки, куда производилась теневая запись данных через видео-страницы БК0011М. 64,5КБ (а то и меньше) в ОЗУ Бустера должно для этого хватить? Допустим, если данные закачиваются в область ВОЗУ где "луч" уже пробежал, то индексы заполняются в таблице №2, а если туда, до куда "луч" ещё не дошел -- в таблицу №1. Как-то так :)
Тогда, манипулируя на лету индексами, можно добиться того, чтобы на мониторе с частотой 60Гц выводилось изображение похожее на то, что формирует выход ЦТВ самой БК0011М с частотой 48.8Гц...
Что скажут гуру? ;)
-
? фанат точности - 30.09.2015 15:55
а будет ли мумулироваться мигание спрайтов под лучем как в играх БК-0010?
-
? Voland@ - 30.09.2015 17:58
>> Какие будут возражения против РокМонитора?
Не подумал про такой вариант. Только вот справится ли с ним человек, который его видит в первый раз? Таким человеком и я являюсь и разработчик.
И второе собственно - где его можно взять?
-
? gid - 30.09.2015 22:27
Если человек достаточно упорный и целеустремлённый, то справится. Я когда впервые его увидел, потыкался вслепую, ничего полезного не добился и поначалу просто загружал и слушал музыку и рассматривал сэмплы, ничего в них не понимая, в общем - привыкал, затем переписал на бумажку доку по рокмонитору и постоянно держал её перед глазами и использовал метод научного тыка.
Где взять? В принципе много где. Например там "http://pdp-11.ru/mybk/IMG/FromTim/ROCK MONITOR.bkd" Вероятно для мкдос, т.к. на мкдосной дискете. Возможно и на каких-то ещё не очевидно названых образах оттуда же тоже рокмонитор есть.На образе винта, которым Дмитрий Николаевич поделился, который в формате ксидоса был, ссылки правда не помню, где искать на этом форуме, тоже есть рокмонитор, под ксидос естественно.И от меня - https://yadi.sk/d/PPi3wvQ2jS4CG там рокмонитор под андос, на образе дискеты есть документация, и два файла - ROCK_MON - для запуска оверлея RMD11.OVL, который в принципе можно и так запустить, и RM3_STD - однофайловый фариант, в котором я поправил для себя цвета, а то вообще невозможно на чб телевизоре им было пользоваться.Ещё там есть немного музыки в исходных файлах, и убожество TEST.TSN которое наглядно показывает, что я тоже считай как будто в первый раз рок монитор вижу. Я эти несколько нот больше часа набирал. Всё заново вспоминать нужно.
-
? фанат точности - 01.10.2015 13:41
никому что ли бустер не нужен, чтобы помочь облегчить работу разработчикам написав тест-пак кроме гида?
-
? Аноним - 01.10.2015 15:46
Кто нибудь ещё помнит, зачем нужен бустер?
-
? Чтобы на ассемблере софт не писать? - 01.10.2015 16:27
Процессор NIOS в составе модуля будет использован не столько в качестве привлекательного функционала, сколько в качестве суровой практической необходимости: писать тесты GPU и mp3 на ассемблере БК некому, а для NIOS существует компилятор C, под который есть масса готовых исходников, позволяющих решать указанные задач.
-
? TheGWBV@ - 01.10.2015 18:37
У предыдущих трех участников этой конференции -- информация устаревшая, либо не осмысленная :)
Писать тесты есть кому, только Бустер пока не дают на руки (идет борьба за устройство формирования изображения на экране современного монитора) ;)
-
? TheGWBV@ - 01.10.2015 18:58
август и сентябрь за этим делом пролетели... Попробую упорядочить свои идеи по этой теме...
http://forum.pk-fpga.ru/viewtopic.php?f=15&p=6127#p6127
¤
-
? фанат точности - 01.10.2015 20:55
имелся ввиду тест-пак для всяких возможностей оригинальных БК в мелких тестах чтобы его прогонять на бустере и БК12 и проверять корректность тонкостей и толстостей видео звука процессора
такие эмуляторщики обычно делают типа как gid для тестирования точности эмуляции. разработчику наверняка бы пригодилось все что можно
-
? TheGWBV@ - 01.10.2015 21:13
В этом ув.тов. GID-у равных не видно -- так он и тесты для SMK64/512 написал, и для AY написал :)
и эмулятор допиливает в старой архитектуре, и новую прорабатывает (я так понимаю) на основе декапинга и разбора от Vslav-а...
-
? Аноним - 01.10.2015 21:53
Да всем давним БК-шникам пофиг, наверное. Не оригинал, значит в пролете. Тут вот один из самых заслуженных, SK Corp., появляется в темах про железо. Который кучу демок и даже что-то типа оконной операционки написал. Могли бы и советов дать, и тестов написать. Но новоделы им не интересны, видимо...
-
? maxstudios@ - 01.10.2015 21:55
Я так и не понял - Разработчик уже сделал механизмы эмуляции переключения страниц, экранов, и палитр?
Или ждет варианты идей от участников форума?
-
? TheGWBV@ - 01.10.2015 22:46
Разработчик ждет варианты идей от участников форума по следящему конечному автомату-преобразователю поведения ТВ-контроллера БК0011М, использующего частоту кадров 48.8Гц, в поведение видео-контроллера Бустера, использующего частоту кадров 60Гц. Как-то так :)
-
? TheGWBV@ - 01.10.2015 23:31
Идеи разные были высказаны тут. Но беда в том, что придется реализовать два разных алгоритма -- когда используется прерывание по КСИ и когда оно запрещено (в этом случае нет особого смысла следить за КСИ БК0011М, моментом переключения палитр -- можно просто переносить его на конец кадра Бустера).
Или делать один алгоритм, но вводить в Бустер сигнал синхронизации с разъема ЦТВ и всегда следить за КСИ в БК0011М...
Насколько я понимаю, разработчик уже практически реализовал алгоритм без использования прерывания по вектору 100, когда возник вопрос по глюкам при воспроизведении демок. Были не учтены режим РП и сдвиговый регистр только вроде как...
-
? maxstudios@ - 02.10.2015 00:45
Меня интересовала поддержка переключения страниц и экранов.
Насчет прерывания таймера 48.8Гц по 100 вектору - зачем это вообще нужно, когда Бустер прерывания не обрабатывает? Программы и так будут работать.
Нужно просто реализовать нормальное переключение страниц (177716) и отображение одного из двух на выбор экранов (177662).
Приблизительную идею я уже выше писал, но уже пересмотрел, так как нашел ошибки.
Думаю теперь над реализацией "рулонного сдвига" и режима РП (177664).
Рулонный сдвиг тоже уже задумал, как сделать.
Насчет РП - пока думаю. Есть несколько вариантов.
Завтра-послезавтра выложу сюда описание моей идеи, хотя сомневаюсь что она "прокатит".
Заодно может и картинку-схему нарисую, как это все должно работать, в моём понимании.
Если уже это все не нужно, и все уже решили, напишите мне - зря писать не буду. :)
¤
-
? maxstudios@ - 04.10.2015 00:40
Вот нарисовал схему эмуляции постраничной работы Бустера на БК11М.
https://yadi.sk/i/xtoMHPxFjVcWD
...
Пояснения:
- изображение, в основном, выводится с адреса в Бустере 40000, но когда ни одна из двух страниц экрана не подключена с 40000, адрес вывода изображения переключается на одну из страниц экрана в памяти Бустера вне адресов 0-177777 (см.схему).
- постраничная эмуляция основана на хранении информации всех страниц вне адресов 0-177777. При переключении страниц через 177716 Бустер сначала копирует текущую страницу в свою память по фиксированному адресу для этой страницы, а затем копирует содержимое подключаемой страницы из своей области по указанному адресу (40000 или 100000 или одновременно).
...
Режим рулонного сдвига экрана в БК сделан аппаратно, на его основе сделан и режим РП. В этом направлении я пока не придумал ничего. Думаю, что нужна реализация такого же аппаратного режима, может быть GPU на такое способен. На всякий случай я в схеме добавил страницу буфера рулонного сдвига. :)
-
? Voland@ - 04.10.2015 02:58
2->gid, комментарий разработчика:
все равно там нет четкого согласия, даже если усложнять контроллер и копировать из буфера в буфер, то неясно когда именно. Это же надо, чтобы между отрисовками кадров попасть, а иначе никакого толку не будет. А что касаемо зеркалирования регистров 177662 и 177716 - так они там давно уже отзеркалированы.
¤
Скорее всего придется делать две разных развертки, выход 50 гц буферизовать, а считывать отдельным контроллером с другой частотой. В общем, удваивать контроллер по сути, ну и как-то культурно смешивать данные, если понадобится, что тоже неочевидно пока как.
При таком методе и бегущие строки не будут дергаться, но только честная пересинхронизация - это не такой простой котроллер вообще, там интерполируется несколько кадров, а чтобы попроще и без интерполирования, то тогда надо подбирать, что и как, но пока непонятно как, и все равно контроллер усложняется заметно.
-
? Voland@ - 04.10.2015 03:10
2-> maxstudios от разработчика: так страница же мгновенно не скопируется, проблема в том, что пока страница копируется, процессор может что-то писать куда-то. Это в эмуляторе можно процессор придержать на короткое время, а в реальных системах всё сложнее.
-
? maxstudios@ - 04.10.2015 08:22
>>>? Voland @ - сегодня 03:10
Ну значит, делать нужно вообще все аппаратно, в том числе и переключение страниц. Хотя я считал, что Бустер "быстрый" и такое копирование будет почти моментальным (по сравнению с БК).
Буду ждать чужих идей тогда. :)
-
? anonymous - 04.10.2015 11:18
maxstudios, введите таги к страницам вместо старших адресов и просто перенумеровывайте их вместо безумного копирования. Как TheGWBV про таблицу адресов отображаемых строк предложила. Тогда ваше копирование одной пересылкой ограничится.
-
? maxstudios@ - 04.10.2015 23:20
>>>? anonymous - сегодня 11:18
Просто таги- это не то.
Ведь страниц целых 8, а в области 0-177777 всего 64 Килобайта.
Получается, что половина памяти БК всегда скрыта, и без сохранения подключенных страниц не обойтись.
И нужно просто быстрое копирование, которое упоминалось тут - типа Бустер может выполнять блочное копирование внутри своей памяти. Я просто предположил, что такое копирование происходит очень быстро, меньше чем за один такт процессора ВМ1.
Ну ладно, посмотрю как решат все эти аппаратные проблемы в Бустере. :)
-
? Voland@ - 05.10.2015 00:05
>> меньше чем за один такт процессора ВМ1.
Даже если допустить, что циклон-3 будет работать на реальной частоте 80мГц (думаю в действительности пониже), то копируя слово за 4 такта (если мне не изменяет память, на перенос данных минимум 4 такта требуется), производя 20 тактов за один такт ВМ1, он скопирует не более 10 байт. Вот как-то так отличаются идеи от практики :)
-
? anonymous - 05.10.2015 01:20
「Просто таги- это не то. Ведь страниц целых 8, а в области 0-177777 всего 64 Килобайта. Получается, что половина памяти БК всегда скрыта, и без сохранения подключенных страниц не обойтись.」
maxstudios, а как вы понимаете таги страниц памяти? Просто интересно.
-
? maxstudios@ - 05.10.2015 11:49
Ну значит копирование не получится.
Остается только для каждой страницы определить смещение, которое будет прибавляться к текущему адресу записи в БК. На это может у Бустера хватит быстродействия. Нужна ячейка для хранения текущего значения смещения, которое будет определено для каждой конкретной страницы.
В принципе, моя нарисованная схема остается актуальной и для такого варианта работы, только копирование будет работать не на 16 Кбайт, а постоянно, для каждого "перехвата" Бустером записи-чтения ОЗУ БК.
Работу рулонного сдвига тоже можно сделать на основе такого смещения - при каждом обращении по адресам 40000-77777 придется прибавлять вычисляемое значение для прибавления-вычитания конечного адреса записи-чтения. Режим РП должен очистить экран, оставив сверху адреса 70000-77777, рулонный сдвиг ограничив этими адресами.
А область памяти 40000-67777 будет также работать на обычном смещении в ОЗУ Бустера.
...
Хотя по мне - все эти мучения пусты и не нужны. Я уже об этом написал в "своей" ветке рядом. :)
-
? TheGWBV@ - 05.10.2015 19:08
На самой БК в режиме РП ничего не очищается :)
Зачем это должен делать Бустер -- не ясно...
Сама ВП1-037 просто выводит нули, вместо реальных данных, находящихся в диапазоне 40000..67777, если включён режим РП. Наверное и Бустер так сможет :)
-
? maxstudios@ - 05.10.2015 21:28
Ну так я и писал про это - в памяти Бустера нужно будет очистить экран, то есть записать нули в область 40000-67777. :)
А в памяти БК конечно ничего никуда не девается - для этого режим РП и сделан, чтобы увеличить ОЗУ пользователя. Кстати, на БК11М этот режим не используется, но работает.
-
? gid - 05.10.2015 22:33
Не забывайте про рулонный сдвиг. ВП1-037 выводит нули, вместо реальных данных, находящихся в диапазоне 40000..67777 только при значении 0330 в мл. байте регистра 177664. При любом другом значении диапазон адресов рулонно смещается. Грубо говоря, в зависимости от значения регистра 177664 верхним левым углом экрана может быть любой адрес экрана с шагом 0100 байтов.
-
? maxstudios@ - 05.10.2015 22:48
Режим РП должен "рулонить" только адреса 70000-77777, область 40000-67777 он не касается. В режиме РП отображается только 1/4 экрана, в верхней его части, но адреса этой области как раз 70000-77777.
Область 40000-67777 в режиме РП недоступна для "рулонного" сдвига.
-
? gid - 06.10.2015 09:26
Ну, если так рассуждать, было бы круто программировать на БК, указывая микросхемам, что они должны делать. ВП1-037, приказываю тебе рулонить только адреса 70000-77777, а не как тебя запроектировали рулонить всю облать экрана. Или так: ВП1-037, приказываю тебе делать горизонтальный рулонный сдвиг экрана, мне очень надо.
-
? TheGWBV@ - 06.10.2015 09:56
:))) Вот кстати, да, -- меня давно уже занимает вопрос -- как в точности работает режим РП, особенно на БК0011М.
Если действительно работает "плавающее" окно в 10000 (8) байт для вывода на экран ТВ, в диапазоне 40000+40000 или 100000+40000, то это очень-очень интересно использовать для некоторых видео-эффектов :)
Я помню из доков по Монитору БК0010, что в режиме РП -- ЕМТ16 не использует аппаратный рулонный сдвиг строк...
-
? SKcorp. - 06.10.2015 10:31
Дык так и работает. И давно в демках используется.
Единственный недостаток, что окно это только вверху экрана.
-
? gid - 06.10.2015 11:23
Проведите простой тест.
1. Заполните чем-нибудь экран, например каким-нибудь рисунком.
2. Включите режим РП.
3. Плавненько прокрутите экран рулонным сдвигом в любую понравившуюся сторону.
4. Наслаждайтесь плавно появляющимися фрагментами рисунка в видимой части экрана.
-
? maxstudios@ - 06.10.2015 20:33
Жаль, я смогу проверить не раньше чем через неделю.
А работу РП на БК10.01 вообще не смогу проверить, так как у меня только БК11М.
Я не вдавался конкретно в работу РП, поэтому могу ошибаться.
Просто помню, что на моём БК10.01 экран в РП как-будто реально уменьшался до нескольких строк.
К примеру, программа на Бейсике выводилась только в эти верхние несколько строк, никакого "мусора" не было, память с 40000 по 67777 как бы вообще "отсекалась" от экрана. Может, это было сделано без участия рулонного сдвига экрана.
Сколько нюансов в БК11М вылазит, жуть. Бедный разработчик, он уже наверное вешается от "новенького" и "неизведанного" в БК11М. :)
¤
-
? TheGWBV@ - 06.10.2015 21:27
Да, вот такая загогулина выходит :)
-
? Voland@ - 07.10.2015 00:52
Запускал тесты AY, которые ранее написал gid. Такое ощущение что все частоты выше в 2 раза чем на оригинале. А самый главный глюк услышал в тесте AY8930, номера тестов 8-14, на оригинальной YM2149 журчат переливы музыкальные, а FPGA-YM ноет какую-то одну частоту.
¤
gid, а что за тест кстати multicol.bin на ваших образах рабочих? Запускал его из под MKDOS, он рисует чего-то непонятное и виснет.
-
? TheGWBV@ - 07.10.2015 09:41
Это что-то типа PALTST13, только менее наглядное :)
-
? gid - 07.10.2015 09:46
Видимо в FPGA ошибка как с базовой частотой, так и в реализации блока волновых пакетов. Их реализация кстати различна на AY8910 и AY8930 (в режиме совместимости с AY8910). Из-за чего совместимость не полная. В принципе заставить звучать мелодию на AY8930 так же, как и на AY8910 можно, но это потребует отдельных модулей воспроизведения под каждую конкретную модель. Я одно время даже хотел этим заняться, да дальше хотения дело не пошло. Хоть и AY8930 у меня есть, и звучит он как-то мягче и приятнее, чем мой YM2149. Да и хочется послушать, как он будет звучать в своём родном режиме, но пока не до этого.
¤
multicol.bin - тест написанный Александром Тишиным (terra) как раз для проверки эффекта мультиколора. По его словам, он выводит на экран одновременно цвета всех 16 палитр. Он зациклен, выход из него - клавиша СТОП. Если он зависнет, то на экране останутся цвета только одной палитры.
-
? Дмитрий - 07.10.2015 12:50
Кстати, ув. gid, в вашем эмуляторе не совсем верно работает эмуляция AY. К RM прилагался музон TECH. Так вот он на реальной AY и в эмуляторе Е3000 звучит верно, а на вашем - частично. Пробовал переделанный вами RM из вашего же образа https://yadi.sk/d/PPi3wvQ2jS4CG
-
? Дмитрий - 07.10.2015 20:11
Ошибся, Е3000 также неверно играет TECH - звук местами перевран до неузнаваемости. У кого есть БКшка с реальным AY - запишите, плз, эту мелодию.
-
? Дмитрий - 07.10.2015 20:22
Все встало на свои места. Этот файл кем-то подправлен. Случайно отрыл у себя оригинальный - все играет как надо. Вопрос снят.
-
? gid - 07.10.2015 23:16
Не кем-то, а мной, надо же мне на чём-то было тренироваться и осваивать рокмонитор. А об сохранении оригиналов я тогда не заботился и коверкал исходники музыки, попавшие ко мне с рокмонитором. И уже теперь и не помню, что там и где не так звучит, и что вообще шло в комплекте.
-
? Terra - 07.10.2015 23:32
Я с позволения поправлю - Александро Тишин (Sandro) автор эмулятора БК на Java и возможно автор этого файла. Если мне не изменяет память, я делал вывод всех цветов и всех палитр одновременно - файл all_pale (а также файлы all_col и all_col2) на диске CSIDOS -TOOLS-2 (DISK-O) подкаталог EFFECT'S в образе HDD Сonner Peripherals 121MB - CP212 Conner. Там еще есть кое-какие эффекты, но те точно не мои, а этим вроде как причастен, хотя всё может быть - 20 лет прошло :)
-
? Аноним - 08.10.2015 03:59
А где можно ознакомится с блок-схемами Бустера ?
Какая предполагается адресная карта ?
*
Отмечу, что в Динамическом ОЗУ, в отличии от Статического, есть дополнительные издержки по времени доступа к ячейке - т.н. "латентность", т.е. ни о каком таком копировании слова за 4 такта от 80 мгц речь не идет. Потребуется сначала открыть страницу Динамического озУ, а потом уже пересылать слова за 4 такта каждое ( несколько Кслов в 1 странице ).
Типовое время открытия страницы при 200 мгц тактовой - около 40 нс + время на трансфер данных.
-
? А.Б. - 08.10.2015 14:25
а что за тест кстати multicol.bin на ваших образах рабочих?
---
Этот тест выкладывался автором в теме "Времянки экрана БК" ( http://zx-pk.ru/showthread.php?t=14413 ). Там же есть и фото с БК от nzeemin.
-
? Voland@ - 18.10.2015 19:59
Сравнил я на осциллографе звучание железного YM2149 и его FPGA-варианта во время прогонов тестов AY от gid. На картинках вверху реальный YM2149, внизу его FPGA-реализация:
http://s017.radikal.ru/i431/1510/05/ebaf98e0438c.png
http://s009.radikal.ru/i308/1510/a1/a0f207c180f4.png
¤
Можно констатировать, что по неясной причине на FPGA-версии ровно в 4 раза частота выше требуемой, когда сравниваются низкие частоты - десятки и сотни герц. Когда частоты под килогерц - разница почему-то меньше, хотя может просто замеры во времени на осцилле не совпадают, я в этом не спец.
Еще непонятно почему на реальном YM2149 ровная картинка, а на fpga скошенная, особенно хорошо это видно на втором скриншоте.
-
? maxstudios@ - 18.10.2015 23:27
Из своего небольшого опыта программирования YM2149F могу предположить, что просто нужно попытаться сравнять подводимые частоты "железного" и "эмулируемого" процессоров.
Можно взять за основу один центральный канал (В), записать туда определенные значения для прямого звука определенной частоты. Замерять частоту звука с "железного" муз.процессора, а потом то же самое сделать с "эмулируемым" и тоже замерять частоту звука. Затем менять подаваемую частоту на эмулируемый муз.проц, добившись полного совпадения частот звуков.
Это только так, теория. :)
-
? Аноним - 19.10.2015 00:15
Это больше чем теория, это предположение, основанное на картинках. С какой частотой работает FPGA-реализация?
-
? maxstudios@ - 19.10.2015 00:39
Но если есть возможность как-то замерять частоту на эмулируемом муз.процессоре, это конечно стоит сделать однозначно.
:)
-
? maxstudios@ - 19.10.2015 00:41
Насчет частоты я не в курсе, это только к Voland-у вопрос, или к разработчику.
:)
-
? Voland@ - 20.10.2015 13:19
>> Видимо в FPGA ошибка как с базовой частотой, так и в реализации блока волновых пакетов.
gid, а как мне объяснить разработчику, что такое волновой пакет в YM2149? В VHDL-коде опенсорсного YM2149 лично мне вообще ничего не понятно...
-
? Дмитрий - 20.10.2015 14:18
А живой YM2149 не прикрутить? Я б тоже не отказался от живого вместо эмуляции.
-
? gid - 20.10.2015 15:03
>>? Voland @ - сегодня 13:19
Я не совсем правильно выразился, надо было написать "в реализации блока огибающих" в целом. Потому что волновой пакет, в общем-то не совсем корректный термин, но прижившийся.
Обозначает не совсем штатный режим работы, т.е. как я понимаю, сами проектировщики чипа AY-3-8910 специально его не проектировали, это просто такой побочный эффект, зато всеми повсеместно используемый.
Есть регистры (0xB, 0xC) - период огибающей и 0xD - форма огибающей
Если в регистре смесителя 0x7 выключить и шум и тон, но задать любую циклическую огибающую, с заданным периодом, и в регистре амплитуды заданного канала установить бит 4, то получим характерное для AY-3-8910 звучание - чистый волновой пакет, если в смесителе включить шум или тон - получим грязный волновой пакет, он обычно не используется. Пример звучания - тест №6 при тестировании AY-3-8910.А какой реализацией VHDL YM2149 пользуетесь? Я бегло погуглил, их оказывается несколько разных, причём некоторые исходники затак не хотят раздавать, требуют регистрации на своих сайтах, а мне неохота. А где бесплатно раздавали, там почему-то везде 404. Заговор кокойты.
-
? Voland@ - 20.10.2015 15:22
Используется вот эта реализация: https://cloud.mail.ru/public/2vVf/qao6F6ejV
Правда разработчику пришлось переделывать там выход, чтобы он мог как-то заводиться в DAC. Но вроде это не должно было повлиять принципиально.
Ещё мне прислали от MSX версию 2001 года, какой-то японец писал, выложу вечером.
-
? Voland@ - 20.10.2015 15:23
>> А живой YM2149 не прикрутить?
Его уже прикрутили в БК. В БУстер его и поздно тащить, и ног ПЛИС на него никаких не хватит. Сейчас-то он внутри ПЛИС, а так будет снаружи.
-
? Дмитрий - 20.10.2015 21:29
>> ног ПЛИС на него никаких не хватит
Так если эмуляцию выкинуть, ноги разве не освободятся вместе с ячейками?
-
? gid - 20.10.2015 22:40
>>? Voland @ - сегодня 15:22
После осмотра исходника, есть некоторые соображения. Похоже, за основу взят исходник оттуда http://zx-pk.ru/showthread.php?t=8649, а там, он - переделанный оттуда http://en.pudn.com/downloads162/sourcecode/others/detail738895_en.html
после сравнения исходников между собой, возникло два вопроса.
В строке 117: if (wr_data = '0') and (addr(3 downto 0) = x"D") then
В обоих других исходниках условие if сравнивается с 1, т.е. сброс огибающей делается, когда wr_data == 1.
Может это результат переделки разработчиком, но смысл непонятен, когда всё остальное как в оригинале.
В строке 251: p_envelope_shape : process(env_reset, reg, CLK)
В оригинале из pudn.com этого параметра нету, но в исходнике из zx-pk.ru он уже появляется. Непонятно зачем, раз и без него всё работало. Для процесса p_envelope_shape теперь reg становится условием чувствительности, и он выполняется не только тогда, когда надо, но и тогда, когда меняется любое значение в любом регистре.
-
? Voland@ - 20.10.2015 23:36
>> Так если эмуляцию выкинуть, ноги разве не освободятся вместе с ячейками?
А насчет места? Куда его пихать, дополнительную плату вторым этажом?) Ну в общем-то даже смысла нет обсуждать.
¤
>> После осмотра исходника, есть некоторые соображения.
А если сравнить вот с этой реализацией от MSX: https://cloud.mail.ru/public/4gro/ZsDHDxTQS ?
-
? Дмитрий - 21.10.2015 00:09
>> Ну в общем-то даже смысла нет обсуждать
Это и многие другие детали надо было обсуждать после написания полного и законченного ТЗ тут на форуме. И не было бы сейчас этих вопросов - это выкинем, это не работает, это неверно работает, но на МС уже места на плате нет, ног нет, ячеек тоже.
-
? Voland@ - 21.10.2015 00:21
>> написания полного и законченного ТЗ тут на форуме
Полного и законченного ТЗ не существует по сей день. За его написание специалисты соответствующей компетенции хотели бы не меньше 100тыс рублей, еще тогда, в 2011 году. И не факт, что оно на сегодня было бы удачнее того, что имеем без ТЗ, ибо идей было от каждого валом, а последствия своих идей мало кто готов на себя взять.
-
? Аноним - 21.10.2015 00:41
Голосование рублём - самое достоверное.
-
? TheGWBV@ - 21.10.2015 00:58
в ТЗ за 100 тыщ врядли бы была полностью описана математическая модель AY... Полученный без ТЗ, оформленного согласно ГОСТ, результат по Бустеру -- нормальный. Просто беда коллективного разума в том, что идеи и компетенции проявляются хаотично, не по идеальному производственному плану для такого продукта как Бустер...
Для тех, кто не в курсе -- по ГОСТ только оглавление ТЗ занимает порядка 26 страниц, без контента по продукту.
-
? maxstudios@ - 21.10.2015 01:17
Не представляю такое длинное "оглавление-лекцию", но очень бы было интересно почитать, что можно выдумать на 26 страниц. :)
-
? maxstudios@ - 21.10.2015 01:19
Может, есть пример такого 26-страничного оглавления?
-
? gid - 21.10.2015 10:29
>>? Voland @ - 20 октября 23:36
[А если сравнить вот с этой реализацией от MSX]
не сравнивается. Это просто два принципиально разных алгоритма реализации. Какой из них лучше, можно просто проверить практически.
И я чего-то не понимаю. У них там у всех все три канала микшируются в один выходной поток что ли. Стерео звук там не популярен видимо. Либо они используют, как правило, по нескольку AYшек, по одной или по две на левый/правый канал.
-
? Дмитрий - 21.10.2015 12:04
>> Полного и законченного ТЗ не существует по сей день.
Я про ТЗ в плане что и в каком виде (железная/эмуляция) ставить на плату, какие интерфейсы, шины, префиксы/команды, FPU, MMU, адреса устройств, распределение памяти, ее объем и подобное. Я не про математическую модель устройств с точностью до такта. Из этого выбирать ПЛИС, чтобы хватило ячеек и ног. А не в процессе выкидывая уже готовое разводить руками, что нет ног. Сейчас-то, понятное дело, менять что-то сложно и, в какой-то мере, невозможно. Об этом надо было думать раньше.
-
? maxstudios@ - 21.10.2015 13:50
По-моему, вообще проще убрать из ПЛИС AY/YM, чтобы не мучаться.
Ведь эмуляция будет один-в-один со схемой 90-х, по адресу регистра 177714?
Лучше сделать отдельно звуковую карту, а для МПИ сделать разветвитель типа "двойник" или "тройник".
Но я понимаю, что существует определенный азарт - сделать, во что бы то ни стало, довести до ума.
:)
-
? TheGWBV@ - 23.10.2015 09:52
в моем БК0011М установлен муз.сопроцессор ещё со времен Altec :)
-
? maxstudios@ - 29.10.2015 14:45
Интересно, как там Бустер поживает? Какие доработки и свойства он приобрёл? Что умеет на сегодняшний день?
:)
-
? Voland@ - 29.10.2015 15:04
Этот же вопрос примерно с частото
-
? Voland@ - 29.10.2015 15:08
й раз в неделю я задаю своему разработчику, но кроме как "процесс идёт" никакой интересной информации пока не получаю.
Из последнего - он сказал что честная интерполяция 48.8->60Гц по нескольким кадрам получается слишком ресурсоемкой во всех отношениях (и по производительности и по количеству ячеек ПЛИС), поэтому приходится по ходу дела заниматься упрощением алгоритма, где это возможно. Для оконечного теста результата будет применён тест палитр PAL15 by TheGWBV.
-
? Аноним - 29.10.2015 15:20
В хобби главное процесс, а не результат, это все знают. Результат часто мало кому нужен, а вот процесс интерестен всем. Все могут поучаствовать в обсуждении и с ценными советами :) И разработчика все бы давно забыли, если бы он за год сделал и сдал. А так - легендарная и таинственная личность. Поэтому торопиться не надо...
-
? Аноним - 29.10.2015 16:47
Чем дольше длится процесс, тем безразличнее результат.
-
? maxstudios@ - 29.10.2015 20:07
Понятно, процесс идет.
А вот про переключение страниц по типу БК-11М так и непонятно - какой алгоритм разработчик применил, как это работает (и работает ли вообще). И про распределение адресного пространства Бустера тоже было бы интересно узнать.
:)
-
? maxstudios@ - 29.10.2015 22:12
В начале данной темы нарыл:
>>>Voland @ - 30.12.2013 15:57
Блок перемычек модуля
● отключение FPGA-AY-3-8910 (замкнута=включено, разомкнута=отключено)
● исключение из адресного пространства БК регистров всех новых устройств - GPU, электронный диск, PS/2, NIOS, STA015 (замкнута=исключены, разомкнута=присутствуют)
● эмуляция подключенной мыши "Марсианка" при наличии PS/2 мыши (замкнута=эмулируется, разомкнута=не эмулируется)
● три зарезервированные перемычки
¤
Хотел уточнить насчет блока перемычек:
- отключение FPGA-AY-3-8910 будет сделано?
- эмуляция мыши "Марсианки" осталась, или только PS/2 мышь осталась, и перемычка не используется?
:)
-
? Voland@ - 30.10.2015 00:06
>> И про распределение адресного пространства Бустера тоже было бы интересно узнать.
Как только у меня будет какая-то новая информация, я ею поделюсь. Пока ничего интересного.
¤
>> отключение FPGA-AY-3-8910 будет сделано?
Разве что программно. А чем он Вам мешает?
¤
>> эмуляция мыши "Марсианки" осталась, или только PS/2 мышь осталась
Нет, только PS/2.
¤
>> и перемычка не используется?
Никаких перемычек не будет вообще - нет ног ПЛИС на них.
-
? maxstudios@ - 30.10.2015 14:28
Voland, благодарю за ответы.
FPGA-AY-3-8910 мне не мешает, просто интересно стало - если будет "железный" AY/YM и Бустер с эмуляцией AY/YM, между ними конфликта не будет? Бустер ведь только зеркалирует запись по адресу 177714?
-
? Voland@ - 30.10.2015 16:11
>> если будет "железный" AY/YM и Бустер с эмуляцией AY/YM, между ними конфликта не будет?
Нет, они просто одновременно играть будут. Точнее уже играют, сам слушал) Правда FPGA-AY-3-8910 пока играет криво.
-
? maxstudios@ - 30.10.2015 18:36
Voland, еще вопрос - на какой частоте работает "железный" AY/YM и на какой эмулятор?
-
? Voland@ - 01.11.2015 02:05
Железный на 1.714, FPga-AY наверное на 1.77
-
? Дмитрий - 01.11.2015 12:29
2 Voland: На Бк12 будет железный AY или, опять-таки, эмуляция? Хотелось бы всенепременно железный...
-
? maxstudios@ - 01.11.2015 21:38
1.77 Мгц - это уже выше, чем 1.75 Мгц на ZX.
:)
Хотя небольшое отличие, думаю, несущественно.
Я бы вообще ровно на 2 Мгц сделал.
:)
-
? maxstudios@ - 05.11.2015 16:10
Ещё вопрос про Бустер - на БК-10.01 он заработал? Если нет, может по питанию не хватает мощности БП?
-
? Voland@ - 10.11.2015 23:38
TheGWBV, хочу понять для себя: в Вашем тесте отрисовка цветов разных палитр в одной линии происходит в рамках одного кадра? Или какое-то чередование идет?
Если отрисовка всего кадра в рамках хода одного луча происходит, то никакие буферизации нам не помогут, блокирование смены палитр до обратного хода луча тоже не спасет, т.к. менять их надо неоднократно за время хода одного и того же луча.
-
? Дмитрий - 11.11.2015 16:05
>> ? Дмитрий - 1 ноября 12:29
>> 2 Voland: На Бк12 будет железный AY или, опять-таки, эмуляция? Хотелось бы всенепременно железный...
Хотелось бы услышать ответ...
-
? Voland@ - 11.11.2015 16:11
>> На Бк12 будет железный AY или, опять-таки, эмуляция?
Так фотки платы БК12 уже года три как опубликованы http://files.pk-fpga.ru/storage/temp/bk12/IMG_1344.JPG
На ней установлен железный AY, если останется место, то и FPGA-вариант установим, чтобы играл в случае изъятия железного.
-
? TheGWBV@ - 11.11.2015 18:34
>> ? Voland @ - 10 ноября 23:38
>> TheGWBV, хочу понять для себя: в Вашем тесте отрисовка цветов разных палитр в одной линии происходит в рамках одного кадра?
В одной линии, в любом кадре, используется только одна палитра и в PALTST15, и в PALTST15, а
в PALTST15 для эффекта интерлейсинга (наложения цветов друг на друга в правой части экрана) используется поочередное переключение отображения видео-страниц, и таким образом кажется, что в одной ТВ-линии несколько палитр. При этом в правой части экрана цветные полоски мерцают, т.к. там цвет соседних точек меняется местами от кадра к кадру :)
-
? Voland@ - 11.11.2015 18:47
>> В одной линии, в любом кадре, используется только одна палитра
Одна палитра только в одной линии, или одна палитра и в одном кадре? Один кадр - это я имею ввиду один из 48.8 кадров, отрисовываемых в секунду.
Присутствие всех 16-та палитр на экране одновременно достигается попеременным включением разных палитр для разных кадров из состава 48.8, в последовательно разной части этих кадров, которые при наложении складываются в последовательную радугу цветов разных палитр?
-
? TheGWBV@ - 11.11.2015 19:21
В одной линии используется только одна палитра.
Внутри одного кадра для разных групп линий назначаются разные палитры,
а в PALTST15 ещё и поочередно переключаются видео-страницы, причем в 4-ом и далее столбцах для наблюдателя происходит (обман зрения в виде интерлейсинга) смешение цветов двух разных кадров...
-
? TheGWBV@ - 11.11.2015 19:24
Присутствие всех 16-ти палитр на экране одновременно достигается попеременным включением разных палитр для разных групп строк внутри одного (и каждого) ТВ-кадра.
-
? TheGWBV@ - 11.11.2015 19:40
Поэтому при преобразовании в частоту отображения 60Гц в Бустере нужно следить -- можно (и когда) переключить палитру или нет. Если реально отследить интервал времени между КСИ в БК0011М и переключением палитры, то теоретически можно высчитать эквивалентный интервал времени для Бустера, и тогда Бустер с задержкой, например, в один "свой" кадр сможет в том же "месте" переключить палитру... Т.е. должна быть очередь заданий на переключение палитры для конкретной тв-строки и лучше в виде индексной таблицы -- для каждой строки, которую в будущем из своей видео-памяти отобразит Бустер, должна быть ячейка, где будет хранится значение номера палитры (или её 16-ти битное RGB-представление)...
-
? Voland@ - 11.11.2015 20:05
Да я думаю если реализовывать такой контроль, то слишком уж сложный механизм получится. Можно проще поступить, формировать в памяти бустера кадр БК, используя родную частоту 48.8, заведенную с БК, считывать его во время обратного хода луча, после считывания каждого 4 и 5 кадра высчитывать интерполяцией средний кадр между ними и вставлять его в поток выводимых на выход кадров, получая таким образом 60Гц.
Насчет между 4 и 5 - это я условно, там надо подгонять, чтобы именно 60гц получалось, а не 58.5 и не 61.
-
? TheGWBV@ - 11.11.2015 20:06
Может быть, вообще, проще описать и реализовать конечный автомат для преобразования четырех последовательных кадров БК0011М и пяти "эквивалентных" тв-кадров в Бустере, отображающихся с частотой 61Гц...
-
? TheGWBV@ - 11.11.2015 20:15
Имхо, не нужно тратить на это время вовсе! Пусть палитра в режиме 60Гц переключается "как придется".
С точки зрения программиста достаточно иметь возможность выяснить из какого-то регистра состояния какой режим используется -- 48.8Гц или 60Гц...
-
? Дмитрий - 11.11.2015 22:25
Да не заморачивайтесь вы с этим преобразованием. Делайте 60Гц чистые. Никто не будет играть в тест палитр. Бустер - это не совсем эмулятор старого формата, это новое устройство со своим функционалом.
-
? TheGWBV@ - 11.11.2015 23:17
Мне думается, что в итоге энтузиасты изменят прошивку ПЛИС, чтобы Бустер мог, если понадобиться, изображать таймер ВЕ1 для тех 1801ВМ1, в которых он по какой-то причине не работает, или для реализации идеи ММ -- БК-шки с процем 1806ВМ2 (можно будет сделать простую плату вычислителя, без ВП-037), где видео-адаптером станет Бустер (можно ведь внедрить в него эмулятор драйверов дисплея БОС или Монитора БК0010)...
-
? MM - 12.11.2015 00:39
Отмечу, что реальная БКшка имеет физическое ограничение по быстродействию МПИ - 1.2 млн транзакций в сек, практически полностью перекрываемом 1801ВМ3А-6.5 мгц. Если МПИ буферизировать и умощнить ( как в ДВК ), а так же исключить БИС серии 1801ВП1 и т.п. - т.е. сделать почти всё на рассыпухе - то можно и о 1.8 млн. транзакций подумать, что примерно соответствует быстродействию 1806ВМ3-8 мгц ( с обвесом по синтезу таймингов МПИ ).
А дальше - 2 пути :
1. Подешевле и побыстрей. Делать всё на плюшках, отказаться от классической МПИ , совместимость с БК0010 останется. Реальный предел - 100 мгц. ( проект БК-ОН-ЧИП Вслав из г. Киев, примерно 2017 г. ). Примерна цена платы БКшки - $300.
2. Подороже, но абсолютно в стиле настоящего ретро. Приделать 1806ВМ5-20 ( небольшой разгон ), много мелкоты, и шину ИСА-16 с готовыми картами IDE, VGA, SB, ( и т.п. ). С программной точки зрения сложен, но вполне решаем. Прямой совместимости с софтом БК0010 - скорее всего не будет или будет специальный режим совместимости, 60 гц. Архитектура - близкая к Э-85. Предел - 24 мгц ( или около того ). Стоимость - в районе $800, плата размера УКНЦ.
-
? Voland@ - 12.11.2015 10:22
>> тогда Бустер с задержкой, например, в один "свой" кадр сможет в том же "месте" переключить палитру
А как в Вашем тесте отсчитывается временной интервал, через который надо переключать палитру? Т.е. ведь получается, что палитру надо каждый раз переключать скажем на начале отрисовки каждой 16-й линии экрана?
Второй вопрос, как Вы думаете, а много ли из всех демок используют переключения палитр на ходу следования луча?
Разработчик говорит, что если учитывать ещё и переключения палитр по ходу следования луча (придется интерполировать 16-битные данные или запоминать в специальный буфер, когда переключались палитры и при интерполяции из него извлекать в нужный момент новое значение), то там очень сильно всё усложняется.
-
? Дмитрий Николаевич - 12.11.2015 12:53
> а много ли из всех демок используют переключения палитр на ходу следования луча?
Много, сам в молодости "страдал" демками.
¤
Может поможет чем-то:
¤
Voland, я вам показывал файл pallette.exe ( http://data2.floomby.com/files/share/12_11_2015/11/12DlqftEx310JN1TZAg.png )
¤
Задержки между сменой палитры задаются простым SOB-ом (на реальной БК получалось 274 OCT. цикла на 16 строк). Вот код из отладчика эмулятора ( http://data2.floomby.com/files/share/12_11_2015/11/klqgtH8VIEm9FfSEo6T7sg.png ), подробнее можете посмотреть в своей копии эмулятора.
¤
С адреса 1004 идёт список задержек. Первое число - задержка ДО начала отрисовки 0-й строки экрана.
¤
И всё это в одном прерывании по вектору.
-
? TheGWBV@ - 12.11.2015 16:16
Временной интервал отсчитывается строго по таймеру ВЕ1 :)
Например, в PALTST13 для групп из 14. последовательных тв-линий, отсчитывается 28. тиков таймера.
Таким образом, при частоте 1801ВМ1 равной 4Мгц, одна линия эквивалентна 2 (двум) тикам таймера ВЕ1!
¤
Использовать в Бустере буферы-стеки для запоминания моментов переключения палитр -- имхо, вредно :)
¤
Лучше, если следящий автомат обнаружит изменение палитры, произведенное на условно N-ой строке тв-сигнала 48.8Гц, отсчитанной с момента КСИ, случившегося в БК0011М, и запишет номер "новой" палитры, скажем, в ячейку N+1 индексной таблицы переключения палитр в Бустере. Тогда Бустер, при выводе тв-сигнала на "любой" частоте, просто последовательно проходит эту таблицу и включает для каждой строки свою палитру.
Проще говоря, Автомат №1 следит за значением текущей палитры и синхронно, начиная с сигнала КСИ, заполняет индексную таблицу значений палитр тв-строк, а Автомат №2, формирующий изображение для вывода с частотой 60Гц, просто просматривает последовательно эту таблицу при выводе соответствующих тв-строк (это будет удобно и для дабл-скан вывода, кстати)!
¤
Кроме того, использование такой таблицы никак не завязано на регистр рулонного сдвига -- индекс соответствует номеру реально отображаемой на ТВ строки, и не является указателем на область памяти, откуда берутся данные для видео-DAC...
-
? TheGWBV@ - 12.11.2015 16:31
А если сделать такую таблицу управляемой из БК0011М, и для каждой тв-строки хранить 64. значения палитр (по значению для каждого "байта"), реализовать запрет обнаружения КСИ также программно -- получится довольно таки продвинутый видео-контроллер в ретро-стиле ;)
-
? TheGWBV@ - 12.11.2015 16:52
Можно пойти и чуть дальше...
- реализовать Автомат №3, который будет принудительно заполнять определенной палитрой десять ячеек с номерами N, N+64. ... и таким образом исполнять функцию выбора палитры для знакоместа АЦ-дисплея;
- Автомат №4 для программного задания номеров цветов фона и символа, а также вывода символа (копирования с нужными масками из знакогенератора в видео-память DAC)...
¤
;-)
-
? Voland@ - 24.11.2015 21:29
По информации от разработчика, он переделал видеоадаптер, сейчас там группируются несколько кадров в один хитрым образом так, что биты из 4 кадров чередуются, и уже прямо при выводе пикселей делается интерполяция из последних двух кадров в буфере (такое решение позволило уместить интерполятор в ограниченные ресурсы). Также было учтено, что палитры могут переключаться внутри кадра, осталось теперь разместить новую реализацию видеоадаптера непосредственно в железе Бустера. Надеюсь, к Новому Году у БК появится видеоконвертер, содержащий в своём роде уникальные решения, в частности такой важной для ретро-сообществ задачи, как полноценный видеовывод изображений ретро-компьютеров на современные мониторы, использующие другие частоты.
-
? TheGWBV@ - 29.02.2016 03:24
Похоже, БК через Бустер умеет работать и SD-картой :)
https://yadi.sk/i/KU1CDnJ9phEi3
-
? Аноним - 29.02.2016 12:07
В чём заключается работа?
-
? peg - 01.03.2016 01:09
Какой ужас с палитрами вы тут обсуждаете!
К чему все эти переключения палитр на кадре, линии и т.п?
Кому-то он нужен, этот кошмар?
Что, нельзя сделать сколько-то бит на точку, - и все дела?
И если уже идти, то по пути Неона: видеорежим определяется в окне числом строк/числом точек в строке и числом бит на точку. А в окно можно отобразить любое место в ОЗУ.
И ведь схема видеоадаптера была весьма простой!
-
? maxstudios@ - 01.03.2016 03:25
Интересный видеоадаптер на Неоне.
:)
Особенно понравилось, что "...в окно можно отразить любое место в ОЗУ...".
:)
-
? Аноним - 01.03.2016 12:07
Что плохого в такой возможности?
-
? maxstudios@ - 01.03.2016 14:11
Если предыдущее сообщение было вопросом ко мне, то мне действительно понравилась такая возможность.
В Бустере бы реализовали - круто бы получилось.
:)
-
? TheGWBV@ - 01.03.2016 21:06
>>? peg - сегодня 01:09
>> Какой ужас с палитрами вы тут обсуждаете!
В том сообщении речь шла не о новом адаптере, а о реализации вывода изображения, формируемого демками БК0011М, с использованием синхронного теневого копирования видеобуферов в память Бустера, но уже с частотой кадров 60Гц.
Думаю, реализация видео-адаптера Неона в Бустере со временем появится.
-
? Аноним - 01.03.2016 22:28
Не появится. Во всяком случае, не ранее, чем будет сделана железная реализация. У многих были задумки, как это сделать на БК, но всё разбивалось о вопрос - зачем?
¤
Не желаете обсудить в отдельной теме, как формировать изображение на будущих БК?
-
? peg - 02.03.2016 00:25
Да, Неон - это была суперБКашка! В отличие от покоцанных БК0010-11М, Неон по полной использовал все возможности процессора. А какой там был Монитор!
Встроенная многозадачность, встроенная оконная система, окна любой формы и видеорежимов, отображенные в любое место ОЗУ.
В гостях у Дениса Сотченко я восхищенно наблюдал, как на дисплее Неона идет в эмуляторе БК наш "Принц", проигрыватель играет трекерный музон, архиватор сжимает и записывает заданные файлы на дискету в системе RT-11, причем его работа видна тут же в отдельном окне (на манер БКашных экранных копировщиков), да еще сам Денис режется в тетрис!
-
? TheGWBV@ - 02.03.2016 00:39
Вот ведь... Оказывается и эмулятор БК для Неона был/есть!
Жаль на дискетах архивных только демо и диамонд для ОС Аспект имеются...
-
? peg - 02.03.2016 01:25
К моему великому сожалению, я лишился своего Неона примерно через полгода, как приобрел его. Мою квартиру обокрали, утащили и Неон.
Не осталось ничего. Только воспоминания.
Эмулятор БК на Неоне сделал Сотченко. При совпадающей системе команд процессоров это было, наверное, не трудно.
-
? Александр...@ - 02.03.2016 09:00
@peg. Это в каком году то было? С RDC я общался много, но не помню, чтобы он про чудеса многозадачности Неона рассказывал. Скорее всего, он сам напилил что-то на таймере.
-
? Александр...@ - 02.03.2016 09:06
Про "адаптер, отображающий любое место в ОЗУ" можно подбронее? Как оно реализовывалось? В родной демке видно невооруженном взглядом, что там окна, перемещение, блиттинг и скроллинг программный. Возможно, за счет периферийного процессора, но все равно оконные операции не аппаратные.
-
? Terra - 02.03.2016 11:12
Я тоже как минимум 2 раза бывал у Дениса и видел Неон в деле, а потом у него была Амига и эмулятор БК на ней. А исходники для Союз-Неона я выкладывал в архиве http://t-h-s.ru/bk/rdc.zip там есть и эмулятор БК и еще много чего интересного.
-
? peg - 02.03.2016 12:33
? Александр > @peg. Это в каком году то было?
Это был 1994 или 95 год. Я же говорю, Неон у меня был, никаких чудес, многозадачность настоящая, процессор позволял. Многозадачность зашита в Монитор, доступна сразу, еще до загрузки операционной системы. Да сама RT-11 запускалась в Неоне отдельным процессом! Там же, в Мониторе, находилась и оконная подсистема, тоже доступная сразу после включения питания. Никакого сопроцессора в Неоне не было. Был только звуковой процессор/таймер, похожий на AY, на который он трекерную музыку играл.
¤
? Александр.> Про "адаптер, отображающий любое место в ОЗУ" можно подбронее?
По-моему, там ПЛИСина была. Принцип-то вообще простой: одна часть сканирует в ОЗУ описатели плоскостей (окон), а вторая часть отображает заданную память в соответствии с заданными видеорежимами.
Описатели позволяли задавать каждую строку (в результате можно было делать окна произвольной формы).
Где-то же выложена документация на Неон, там и схема должна быть. А про плоскости написано в документации все подробно.
-
? TheGWBV@ - 02.03.2016 12:56
Схемы в архиве по НЕОНу, к сожалению, нет. Но это не помешало написать функциональный эмулятор для РС. Т.е., как минимум, уже есть среда для написания функциональных тестов, есть возможность сравнивать работу видео-адаптера в НЕОНе и кода видео-адаптера под ПЛИС для другого компьютера...
-
? Александр...@ - 03.03.2016 00:26
@peg. Настоящая многозадачность в моем понимании - это процессор, который умеет мгновенно сохранять и загружать котексты процессов (как минимум) и очень желательно, чтобы в компьютер был настоящий MMU и уровни доступа supervisor/user, иначе каждую программу придется писать так, чтобы она знала про многозадачность (читай "кооперативная многозадачность"). Как оно могло быть тогда в Неоне "настоящей", если всего этого не было? Если Денис и сделал демо с перключением задач, то это не говорит, что из не Неона можно было сделать настоящую универсальную многозадачную систему.
P.S. Эмулятор на Амиге я как раз видел. Даже помогал Денису заработать на эту самую Амигу. :D
-
? Александр...@ - 03.03.2016 00:30
Про адаптер вопрос все еще остается открытым. Есть человеческая документация у кого по его устройству? Если адаптер еще умел разрешать конфликты по глубине между окнами и из этого чуда можно было делать спрайты, то это уже что-то. Меня, правда, все еще удивляет, почему гениальным инженерам вместо того, чтобы городить своеобразный адаптер с индивидуальным сканом по линиям, нельзя было додуматься сделать простые аппаратные спрайты и блиттинг. Это они еще должны были сделать в УКНЦ.
-
? peg - 03.03.2016 00:45
? Александр> @peg. Настоящая многозадачность в моем понимании - это процессор, который умеет мгновенно сохранять и загружать котексты процессов (как минимум) и очень желательно, чтобы в компьютер был настоящий MMU и уровни доступа supervisor/user
Вы не знаете, о чем пишете. В Неоне применялся процессор 1806ВМ2 с режимом супервизора и пользователя (отдельные наборы регистров). Демки Дениса тут не при чем. Я и сам писал на Неон процессы.
Да вы найдите описание драйвер-мониторной системы и почитайте.
¤
? Александр.> Если адаптер еще умел разрешать конфликты по глубине между окнами и из этого чуда можно было делать спрайты, то это уже что-то.
Нет. Окна по глубине он разрешал, но никаких аппаратный спрайтов не было.
Вы слишком много хотите от такого простого адаптера. Он просто отображал состояние указанных участков памяти (конечно, в соответствии с указанным видеорежимом и палитрой). И ничего более.
-
? Александр...@ - 03.03.2016 02:49
@peg. Давайте без переходов на личность и перлов "вы не знаете, о чем пишите"? Во-первых, какой нафиг супервизор в ВМ2? Вы с пультовым режимом не путаете? Классическое определение многозадачности и того, как она (многозадачность) реализуется, я дал. Ничего из этого в Неоне для поддержки многозаданочности я не заметил. Процессор тоже ее не поддерживал. Про документацию и детали работы Неона я спрашивал несколько раз, пока не видел ответа.
Спрайты были реализованы еще в простеньких контроллерах Commodore'а и TI еще до того, как БК-0010 в серию пошла. Ничего там сложного нет, интеграции 1801ВП вполне хватило бы для реализации спрайтов. По крайней мере, сложность построчной переадресации в Неоне ничем не сложнее спрайтов в чипе от TI.
-
? peg - 03.03.2016 08:40
Возможно за давностью лет, я забыл детали, но в Неоне была многозадачность.
Вот документация, сможете перекодировать, читайте.
https://drive.google.com/file/d/0B8cX8UwMKHrGRmNPWUZaVmdCMjA/view?usp=sharing
-
? TheGWBV@ - 03.03.2016 10:37
в Бустере, кстати, включен функционал halt-контроллера SMK-512, в котором есть монитор многозадачности. ЕМНИП в 1998 г. уже была бетта версия ОС WASP, которая этот монитор эксплуатировала...
-
? Аноним - 03.03.2016 12:36
Александр..., не нервничайте, сейчас они переварят что такое многозадачность (одновременное выполнение нескольких задач в фоновом режиме) и что такое переключение между задачами (активная задача выполняется, фоновые задачи неактивны), приведут мысли в порядок, и выдадут объективное суждение о увиденном в далёком прошлом, на это же нужно время.
-
? . - 03.03.2016 13:07
>многозадачность (одновременное выполнение нескольких задач в фоновом режиме)
¤
что, на однопроцессорных машинк