nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 09:42



Reply to topic  [ 24 posts ]  Go to page 1, 2  Next
Школьные компьютеры УКНЦ и Корвет. 
Author Message
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
СССР, 1987 год
Школьные компьютеры УКНЦ и Корвет.



Для школ СССР были разработаны специальные школьные компьютеры.

Сразу скажу, что бы не было возражений, в школах СССР можно было
встретить: БК0010, Yamaha MSX и даже Радио 86РК со Спектрумом. А
можно было ничего не встретить.

Но именно Корвет и УКНЦ были крайне редкими гостями дома. Тому
причина незначительное количество игр и высокая цена, которая
была обусловлена начинкой компьютеров:

Электроника МС 0511 (УКНЦ)

Процессоры: 2 шт КР1801ВМ2 (PDP11 совместимый)
ОЗУ: 192 Кб
Графика: 640x288 8 цветов

Корвет ПК8010 (или ПК8020)

Процессор: КР580ВМ80А (8080 совместимый)
ОЗУ: 113 Кб или 257 Кб
Графика: 512x256 8 цветов, аппаратное ускорение и текстовый режим.

Несколько Корветов (или несколько УКНЦ) можно было объединить в
локальную сеть. Сетевые адаптеры были встроенными. Обычно один из
компьютеров в локальной сети оснащался дисководами и принтером.

Я писал ранее, что БК0010 странный компьютер. Дак вот УКНЦ страннее
в два раза. Там целых два процессора PDP11. Один процессор выполнял
программу пользователя, он назывался центральным. А второй процессор
следил за всем оборудованием, в том числе за экраном, этот процессор
назывался переферийным.

УКНЦ имел хорошую совместимость с другими компьютерами стандарта
PDP11. На нем запускалась операционная система RT-11 (это популярная
ОС для PDP11).

Первые компьютеры PDP появились в 1960 годах, задолго до появления
Intel и Apple. Это были относительно недорогие и относительно небольшие
компьютеры. На них была разработана операционная система UNIX, язык
программирования С и даже Тетрис.

Компьютер УКНЦ разработали в НПО «Научный центр», там же, где и БК0010.
И не просто разработали компьютер, а разработали процессор и
специализированные микросхемы для компьютера.

Ну а Корвету повезло меньше. Его разработчики не могли выпускать собственные
микросхемы и собственный процессор. Им пришлось использовать процессор
КР580ВМ80А, такой же как в любительских компьютерах. И использовать
стандартные микросхемы.

Поэтому им пришлось постараться, что бы произвести впечатление. Разработчики
Корвета обеспечили полную совместимость с операционной системой CP/M, а
вместе с ней на компьютере появилось много полезных программ: электронная
таблица, текстовые редакторы, базы данных, компиляторы.

Разработчики не просто сделали высокое разрешение экрана (* для 1987 года).
Они сделали аппаратное ускорение графики. Корвет обгонял более мощный
УКНЦ при рисовании инженерной графики.

На плате каждого Корвета находился контроллер дисководов. Детали контроллера
часто не впаивали, но допаять их мог любой любитель.

Итого, мы имеем два компьютера оснащенных:
- Цветным видеоадаптером высокого разрешения
- Отзывчивой клавиатурой.
- Портом принтера
- Портом для подключения модема
- Локальной сетью
- Контроллером дисководов
- Операционной системой CP/M или RT-11

Для учебы или офисной работы отличный вариант (*для 1987 года)





20 Mar 2017 14:32
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
alemorf wrote:
Корвет ПК8010 (или ПК8020)

Процессор: КР580ВМ80А (8080 совместимый)
ОЗУ: 113 Кб или 257 Кб
Графика: 512x256 8 цветов, аппаратное ускорение и текстовый режим.

А можно подробнее про вот это аппаратное ускорение ? Что это было такое?

_________________
iLavr


21 Mar 2017 08:38
Profile
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
Lavr wrote:
alemorf wrote:
Корвет ПК8010 (или ПК8020)

Процессор: КР580ВМ80А (8080 совместимый)
ОЗУ: 113 Кб или 257 Кб
Графика: 512x256 8 цветов, аппаратное ускорение и текстовый режим.

А можно подробнее про вот это аппаратное ускорение ? Что это было такое?


Знаешь как рабоатет EGA ? Вот примерно то же самое.


22 Mar 2017 04:55
Profile WWW
Senior

Joined: 31 Mar 2012 16:50
Posts: 152
Location: 93.73.80.128
Reply with quote
Lavr wrote:
аппаратное ускорение и текстовый режим
А можно подробнее про вот это аппаратное ускорение ? Что это было такое?

На вики расписанно очень хорошо по-моему WIKI речь идет об возможности заполнять сразу 3 bitmap-а заранее установленным в спец-регистре цветом (схема похожая на расширение цветности в Специалисте). Но также есть возможность чтения изображения из экрана обратно и "быстрого" вычисления границы полигона. Это аппаратный копировщик битов из регистра в три битовые плоскости экрана при записи байта в любую плоскость.


22 Mar 2017 04:58
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
alemorf wrote:
Lavr wrote:
А можно подробнее про вот это аппаратное ускорение ? Что это было такое?

Знаешь как рабоатет EGA ? Вот примерно то же самое.

Как работает EGA знаю, где у EGA аппаратное ускорение - не знаю.
Подозреваю также, что в этих одноплатных машинках явно не EGA...

_________________
iLavr


22 Mar 2017 07:59
Profile
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
Lavr wrote:
Как работает EGA знаю, где у EGA аппаратное ускорение - не знаю.


В Википедии хотя бы:

Quote:
Для доступа процессора к такой видеопамяти EGA содержал т. н. секвенсор. Секвенсор поддерживал 3 режима записи в видеопамять и 2 режима чтения, и имел немалое количество управляющих регистров.

При записи использовались регистры:

маска плоскости. Запись не вносила изменений в те плоскости, биты которых в данном регистре были установлены в 0.

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

логическая операция. 16 стандартных логических операций, они же используются в Windows GDI. В результате записи бит видеопамяти устанавливался в логическую функцию от бита пришедших от процессора данных и старого значения бита видеопамяти. Код логической операция есть 4 бита, бит данных процессора выбирал между старшими и младшими 2, а старое значение бита видеопамяти — между четными и нечетными. Выбранный бит кода логической операции и являлся новым значением бита видеопамяти. Например, логическая операция 0000b — установить все в чёрное, 1111b — все в белое, 1100b — обычное копирование битовой карты, 0011b — копирование с инвертированием, 1010b — пустая операция, 0101b — инвертирование старого содержимого, 1110b — OR старого содержимого с новым, 1000b — AND старого и нового, 0110b — XOR.

циклический сдвиг данных, поступивших от процессора (только для режима 0).

В режиме 0 байт, поступивший от процессора, понимался как новое значение для 4 байтов 4 плоскостей. В режиме 2 использовались только 4 бита в байте, поступившем от процессора. Для плоскостей, у которых в этом байте был 1 — использовалось значение 11111111b, для остальных — 00000000b.

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

В режиме 1 использовался регистр выбора бита, секвенсор извлекал 4 бита, позиция которых была задана регистром выбора, из 4 плоскостей и комбинировал их в 4битное значение (старшие 4 бита обнулялись).


Это позволяло ускорить работу в 2-4 раза по сравнению с обычной видеопамятью. Не нужно самому делать AND, OR при наложении изображений. Не нужно самому делать сдвиги. Не нужно обрабатывать все 4 битплана. Процессор может обрабатывать один, а обработаются 4 с правильным наложением масок.


22 Mar 2017 15:08
Profile WWW
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
Lavr wrote:
Подозреваю также, что в этих одноплатных машинках явно не EGA...


Да, там не EGA.


22 Mar 2017 15:11
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
alemorf wrote:
...позволяло ускорить работу в 2-4 раза по сравнению с обычной видеопамятью. Не нужно самому делать AND, OR при наложении изображений. Не нужно...
А... я как-то никогда не думал, что это - "аппаратное ускорение", думал - ну так устроена карта.
Просто об "ускорении" обычно думаешь - по сравнению с чем?

_________________
iLavr


22 Mar 2017 19:07
Profile
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
Lavr wrote:
alemorf wrote:
...позволяло ускорить работу в 2-4 раза по сравнению с обычной видеопамятью. Не нужно самому делать AND, OR при наложении изображений. Не нужно...
А... я как-то никогда не думал, что это - "аппаратное ускорение", думал - ну так устроена карта.
Просто об "ускорении" обычно думаешь - по сравнению с чем?


По сравнению с CGA или Специалистом :)


23 Mar 2017 00:44
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
в цветном специалисте такое же "ускорение" было - пишешь цвет в регистр один раз, а потом лупишь в видеопамять байтики, а цвет сам закрашивается ;)

_________________
:dj: https://mastodon.social/@Shaos


23 Mar 2017 22:27
Profile WWW
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
Shaos wrote:
в цветном специалисте такое же "ускорение" было - пишешь цвет в регистр один раз, а потом лупишь в видеопамять байтики, а цвет сам закрашивается ;)


Ну да. Что бы вывести одноцветный спрайт 8x8 на Орионе требуется в >2 раз времени.

А на Корвете или EGA при записи в видеопамять (одной записи в видеопамять) в заданный цвет устанавлиается только указанный пиксель из 8.
Т.е. сразу на 3 или 4 байта накладывается маска AND, а потом цвет по OR.

Есть режим сравнения цвета. Мы устанавливаем 5-ый цвет (например) в регистр видеоадаптера. И при чтении из видеопамяти единичными битами отмечаются все совпадающие цвета. Это позволяет ускорить функцию заливки во много раз.


24 Mar 2017 01:09
Profile WWW
Maniac
User avatar

Joined: 05 Oct 2006 04:45
Posts: 269
Location: Moscow
Reply with quote
Shaos wrote:
в цветном специалисте такое же "ускорение" было - пишешь цвет в регистр один раз, а потом лупишь в видеопамять байтики, а цвет сам закрашивается ;)


Решение с "параллельной записью из регистра в некое навесное ОЗУ", если правильно его понимаю, годится только для вывода на экран. Любой ролик (скролл) части экрана, произвольно покрашенного при выводе в разные цвета, превращается в интереснейший квест (из-за невозможности произвольной адресации к этой области цветовых атрибутов). Либо надо вести буферизирование всего выведенного в дополнительном отдельном буфере в ОЗУ (что убъет все "преимущества" вывода по скорости) и скроллы в области цветовых атрибутов вместо пересылки стеком или LDIR делать тормознейшей паразаписью области в текстовом режиме из буфера (посимвольно) со сдвигом на строку или столбец. Классический пример как железячники, съэкономив, делают платформы под которые сами не планируют что-то программировать серьезнее HelloWorld.

_________________
Всем добра!


24 Mar 2017 04:12
Profile
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
Location: SPb
Reply with quote
Error404 wrote:
Shaos wrote:
в цветном специалисте такое же "ускорение" было - пишешь цвет в регистр один раз, а потом лупишь в видеопамять байтики, а цвет сам закрашивается ;)


Решение с "параллельной записью из регистра в некое навесное ОЗУ", если правильно его понимаю, годится только для вывода на экран. Любой ролик (скролл) части экрана, произвольно покрашенного при выводе в разные цвета, превращается в интереснейший квест.


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

И вообще, кому нужен цветной скролл? Компьютер его не ослит.


24 Mar 2017 15:43
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
alemorf wrote:
И вообще, кому нужен цветной скролл? Компьютер его не ослит.
Ну коль не ослит, то аппаратно заишачит... :mrgreen:

_________________
iLavr


25 Mar 2017 06:41
Profile
Maniac
User avatar

Joined: 05 Oct 2006 04:45
Posts: 269
Location: Moscow
Reply with quote
alemorf wrote:
Error404 wrote:
Shaos wrote:
в цветном специалисте такое же "ускорение" было - пишешь цвет в регистр один раз, а потом лупишь в видеопамять байтики, а цвет сам закрашивается ;)


Решение с "параллельной записью из регистра в некое навесное ОЗУ", если правильно его понимаю, годится только для выво
да на экран. Любой ролик (скролл) части экрана, произвольно покрашенного при выводе в разные цвета, превращается в интереснейший квест.


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

И вообще, кому нужен цветной скролл? Компьютер его не ослит.



подобным образом сделанный (где каждый байт цвета буферизируется однобайтовым регистром и его надо сразу же перевывести по новому адресу)- да, не осилит скролл: одна итерация цикла слишком растягивается. А тупо многоплоскостной в адресном пространстве, где в каждой плоскости можно пересылать стеком в минимальном цикле или ldir вполне себе осиливает. Может и не моментально как аппаратный блиттер, но вполне терпимо - по принципу "гораздо лучше чем если бы никак"

_________________
Всем добра!


25 Mar 2017 08:22
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 24 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.