Важная информация

User Tag List

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 57

Тема: Простой графический компьютер на Z80

  1. #11
    Activist
    Регистрация
    30.01.2008
    Адрес
    Minsk
    Сообщений
    225
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Смысл его повторять может быть например в том, что на современных Z80 можно выдавать хоть TV, хоть VGA - частоты позволяют. Вот именно за VGA и стоит побороться.
    Предлагаю не заниматься извращением и всё делать "влоб", как положено. Проще понимать, проще программировать, проще использовать. Современная элементная база или даже старые специализированные микросхемы в помощь.

  2. #12
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rl76 Посмотреть сообщение
    Предлагаю не заниматься извращением и всё делать "влоб", как положено. Проще понимать, проще программировать, проще использовать. Современная элементная база или даже старые специализированные микросхемы в помощь.
    Вы против того что люди фантазируют? Замечу, в разделе "разное". Наверное своими фантазиями вас этим отвлекли от куда как более серьезного проекта который вы вот-вот нам предъявите? Нет правда, мне тон сообщения не понятен, как и то почему оно адресовано мне - мое предложение ничуть не более экзотическое чем тут уже прозвучавшие, а наоборот - наиболее очевидное в направлении чтобы используя предложенную топикстартером идею, можно было выдать реальный аппарат, который "проще программировать".
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  3. #13
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rl76
    Предлагаю не заниматься извращением и всё делать "в лоб"
    Jedem des Seine. Каждому своё - любимая поговорка Гитлера.

    А какой интерес, повторять то, что до тебя уже сделали тысячи раз? Сюжет-то вовсе не в том, чтобы получить 8-ми разрядный компьютер, даже с выдающимися свойствами. Мне это как раз не важно. У меня уже есть 5 разных 8-ми разрядок, потому сюжет не в том, чтобы получить ещё одну.

    В данном случае интерес как раз и заключается в "извращении". В реализации идеи, которую я когда-то обдумывал, тщетно пытаясь обойти ограничения железа, но так и не сделал, т.к на КР580 эта идея не работает. Сюжет заключается в том, чтобы проверить концепцию. А также и доказать, что реально было сделать компьютер лучше, чем РК86, истратив меньшее число деталей (естественно того же периода). Кстати, интереснее было бы получить экран в 256 точек на КР580, но пока, кроме использования ПДП и тупой идеи двух одновремнно читаемых банок, ничего не придумал. Кто-нибудь может разработать такой простейший компьютер на КР580 с экраном в 256*192?

    Кстати, что получится, если делать графический компьютер "в лоб"? Если сделать экран шириной в 256 точек, то получится СИНКЛЕР. Если сделать экран в 320, то получится ИРИША в цвете. А если сделать экран в 384, то в монохроме получится СПЕЦИАЛИСТ, а в цвете ОРИОН. С экраном в 512 получится Вектор. А с экраном в 640 снова получится ИРИША, но в монохроме.

    Да и что можно изменить в "лобовых" вариантах? Можно поменять микросхемы в видеогенераторе (ИЕ5, ИЕ7 заменить на ИЕ10, ИЕ19). Можно умнее организовать цвет и разогнать Z80B до физического предела, используя интенсивное водяное охлаждение. Но мне это не интересно. И тратить труд и время (паяя целый комп), только для того, чтобы спаяв его, с ужасом убедиться, что программ для него нет и не предвидится, - нет особого желания. Естественно, тут кто-то скажет, что надо применять ПЛИС. Но в этом я ничего не понимаю, и это не интересно.

    Поэтому в наше время интерес представляют именно извращения. В данном случае это аппаратно программный компьютер, оттого интересно проверить в реале саму концепцию и найти оптимум. Я уверен, что есть лучшие варианты. Да даже тот же вариант с цепочкой NOP даёт вдвое лучшее разрешение и реализуем с тактом уже в 3 МГЦ. Аналогичный вариант с ПДП тоже даёт вдвое лучшее разрешение. Но пайки больше, напряжения мозгов больше, а это меня пугает. В предложенном варианте, по крайней мере, всё просто и ясно. Если бы я хотел повторять чужое, то я бы повторил BCS-3, он грамотнее, чем ZX80 (т.к экран в нём не мигает).

    Я и паять-то собрался только потому, что есть уже готовая платка куда без больших трудозатрат остаётся добавить недостающее. Для меня больше интереса написать ROM-BIOS, чем припаять недостающие 5-6 микросхем и отладить.
    Последний раз редактировалось barsik; 17.04.2017 в 19:40.

  4. #14
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, и такой компик, ЕМНИП, тоже был. Но это было очень давно, более 8 лет назад, вроде. Но тут я согласен: если сделать двухпроцессорную систему и одно ядро не отвлекать от видеорендеринга, то может получиться годно, даже псевдовекторная графика (растеризованный вектор). Либо можно потушить экран и долбануть расчет на двух процессорах, что тоже вкусно.

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

  5. #15
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас меня интересуют другие проблемы, не двухпроцессорность. Пока обдумывал реализацию, у меня возникла ещё пара соображений. Текста много, но если не нравится, - не читай ! А то потомки Эллочки-людоедки, те, кто общаются одними междометиями, ставят в упрёк, что якобы я пишу простыни. Если админ не запретил, то кого это волнует?

    Идея двух процессорности не нова. Один знакомый сделал из ИРИШИ комфортабельный терминал к плате СИНКЛЕРА в 1989. Именно так - терминал, а не двух процессорная система. Понятно, что преимущество такой системы в том, что можно разгонять основное ядро используя водяное охлаждение (до физического предела 10-ти нано секундных ОЗУ и 20-ти мега герцовых Z80). Особого смысла в этом не вижу, кроме того, что имея большую скорость можно эмулировать любой другой комп, у кого графический экран хуже по разрешению. Но я не вижу никого, кого бы интересовала эмуляция на Z80. А мне для эмуляции в реальном времени надо не менее 25 МГЦ скорости Z80.

    Впрочем, такта 10-12 МГЦ хватает для более-менее приемлемой эмуляции РК86. Но сейчас в этом нет интереса, который был в начале 90-х,- теперь у всех есть PC с эмуляторами. А других сфер применения для скоростной двух процессорной системы не вижу. Хотя двух процессорная система с таким тормозным терминалом имеет одно применение - это недорогой "чисто CP/M" компьютер с довольно приличной скоростью Z80 в 8 МГЦ (Z80B).

    Хотя для CP/M-системы я бы рекомендовал внешний текстовый адаптер (10 ИМС МП-ядро и 30 ИМС текстовый адаптер), но, и данную концепцию можно использовать в качестве убогого текстового терминала, если придумать, как получить экран хотя-бы в 400 точек по горизонтали. Тормознутость Z80 ~2.3 МГЦ в терминале не особо важна, т.к критична только скорость ролика, а здесь это можно делать быстрее, используя переназначение адресов строк, что ускоряет ролик в 10 раз.

    Может быть сделаю в итоге двух процессорную систему (10 МГЦ, например, для эмуляции СПЕЦИАЛИСТА и РК86), но так далеко не планирую. Я хотел бы получить лишь дешёвый вариант цветного бытового компьютера с минимальным числом корпусов (параметры не особо важны). Для чего достаточно экрана 256/288 точек, что даёт 42/48 символов в строке (фонт 6*8). Склоняюсь к мысли, что оптимальным будет не байтовая организация экрана, а шести-битовая, т.к это одновременно решает 2 проблемы. Это удобнее также и, чем ниже описанная, более сложная в программировании, но дающая лучшее разрешение 15-ти битовая система (смотри далее).

    Шести-битовость, во-первых, в 3 раза ускоряет вывод шрифта 6*8. Во-вторых, даёт возможность получить 8 цветов на экране минимальной ценой. К тому же при сохранении линейной организации памяти. В третьих, отпадают проблемы раскраски шрифта (как на ОРИОНЕ). Для цвета использую идею Стива Возняка (именно поэтому привёл ранее описание цвета в Apple-II). Итак, если не будет лучших идей, то будет так. Визуализация командой POP HL, 12 тактов на вывод 2-х экранных байтов. Из каждого экранного байта 6 битов идут в сдвиговый регистр и затем в телевизор, а 2 бита тратятся на цвет.

    Пока не решил как использовать эти 2 бита, т.е какой цвет сделать. Тут 2 варианта. Первый вариант, удобен лишь для текстообработки. Это 4 предустановленных цвета (расход деталей в 155РЕ3). Второй вариант - это 8 цветов, но с потерей цветового разрешения по горизонтали, более подходит для игр. В таком варианте, цвета 00 и 01 - это 2 предустановленных цвета (жёлтый на синем и желтый на красном). А сочетания 10,11 закрашивают только те пиксели, где бит в единице и дают 2 цвета по принципам Apple-II, т.е для четных точек имеем 2 цвета, а для нечётных точек 2 других цвета. Если две соседних точки засвечены, то они белые, все погашенные точки чёрные. Т.е это в чистом виде цвет Apple-II с добавкой 2-х предустановленных цветов. Такой вариант даёт больше возможностей, но требует больше корпусов.

    Думаю, 2-х битовый цвет меня не устроит и придётся сделать более грамотный цвет. Для чего я добавлю параллельную банку ОЗУ 6514 (это древняя 4-х разрядная скоростная статика из 80-х, аналог 2114/541РУ2). В данной концепции удобно ставить параллельные банки с другим методом адресации (т.к нет адресных мультиплексоров). Для этого адреса 6514 A0...A9 будут адресоваться следующими сигналами шины: A0...A4, A8...A12. Т.к адреса A5-A7 пропущены, 8 линий будут одинаковыми, что и даёт знакоместный цвет, как в ZX-Spectrum. Только знакоместо 6*8 и организация иная. 4 бита для цвета символов считываются из ОЗУ 6514, а цвет фона берётся из 2-х излишних битов экранной плоскости. Но ОЗУ 6514 не включено в адресное пространство, а цвет в него автоматически пишется из 4-х битового регистра цвета. В принципе, можно и два бита каждого экранного байта писать из регистра цвета, но на это надо лишние 2 корпуса. Цвет с автозаписью из регистра цвета впервые применён в СПЕЦИАЛИСТЕ и оказался самым быстрым цветом 8-ми разрядок.

    Чтобы увеличить в 1.5 раза разрешение или во столько же раз понизить такт Z80, придумал следующее:

    Цель - получить 15 импульсов для сдвигового регистра за 10 тактов процессора. Для этого ставим кварц 16.5 МГЦ (уже имею) и делим его на 3, получая такт Z80, и на 2, получая такт сдвига точек. Тогда разрещение увеличивается в 1.5 раза. Экран читается командой POP HL, что длится 10 тактов и читает в регистры 16 бит. За 10 тактов на экран выдвигается 15 пикселей. Считаем, какой тогда возможен минимальный такт. 17 команд POP HL читают 17*15=255 пикселей. А это 17*10=170 машинных тактов. Тогда пиксельный период равен 52 МКСЕК : 170, частота 3.269 МГЦ. Столько КР580 потянет, но лишь вместе с ВК28.

    Жалко. А если согласиться на меньший экран? 15*15=225 точек. А требуемый такт КР580 составит 1: (52:150)= 2.88 МГЦ. А вот это уже КР580 вполне потянет. 225 точек дают текстовый формат в 37 символов в строке. Немного, но и в таком режиме писать программы на ассемблере можно. К тому же 1 лишний бит остаётся для цвета.

    Теперь посчитаем, какой максимальный формат экрана получается при 15-ти битовой системе с Z80 на такте 6 МГЦ. При 6 МГЦ в 52 МКСЕК развёртки умещается 312 машинных тактов, это значит 31 команда POP длиной в 10 тактов, что дают 31*15= 465 экранных пикселей. А при кварце 10 МГЦ за 52 МКСЕК выполняется 52 POP-а, что дает 52*15= 780 пикселей (значит с частотой строк VGA будет 390 точек).

    Посчитаем, какой минимальный такт Z80 нужен для экрана в ~400 точек. 27*15=405, значит надо 27 POP-ов. При 10-ти байтовых POP HL они длятся 270 маш.тактов и 52 МКСЕК. А это соответствует такту Z80 в 5.19 МГЦ. При 5.5 МГЦ будет удобен экран в 420 точек, что реализуется 28-ю командами POP HL. Экран 420*192 точек при шрифте 7*8 даёт текстовый формат 60*24. А при шрифте 6*8 будет 70 символов в строке. Такой режим привлекателен, но смущает, что придется писать хитрый драйвер текста, а главное невозможно полноценно раскрашивать шрифты, т.е это вариант скорее для монохрома и игр.

    Раз дочитали, вот Вам совсем досужие рассуждения "в пользу бедных":

    Если можно ограничиться маленьким разрешением экрана (например для индикации в контроллере), то вывод линии растра можно делать командами LD A,(HL) : INC L, что вместе занимают 11 тактов, но читают из экрана только 1 байт. Для текстового вывода этого достаточно (8 точек на символ и 3 точки межсимвольная пустота). При такте 5.5 МГЦ это дает 288:11=26 символов в строке. Зато при этом отпадают 2 регистра и расход деталей на видеовывод становится совсем маленьким.

    Удлинив с помощью WAIT команду чтения экрана на 1 такт, получаем 12 тактов, тогда получить 6 импульсов из такта Z80 не проблема (делим на 2). Тогда при такте Z80 в 6 МГЦ получаем разрешение 168 точек по горизонтали или 26 символов в строке при шрифте 6*8. Экрана 168*128 для текстообработки явно мало, но для игр хватит. Можно подумать и о таком варианте. Стоит это экономии в 2 дорогостоящих регистра?

    error404, для VGA эту же самую идею надо реализовать на ПЛИС, которые вроде бы достаточно скоростные для этого.
    Последний раз редактировалось barsik; 20.04.2017 в 07:13.

  6. #16
    Master Аватар для Shumadan
    Регистрация
    04.04.2017
    Адрес
    г. Казань
    Сообщений
    539
    Спасибо Благодарностей отдано 
    104
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    53 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я понимаю, что в первую очередь интерес - это создание такого компа, но какая то программная совместимость намечается?

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тема насамделе на 90% про графический и токо на 10% про компьютер, и тут она созвучна с темой что максимум можно выжать из ВГ75 (только в более широком смысле).

    Думаю интерес к теме будет если:
    1. НЕ лепить Z80 (~5000тр) всего-то как ГОЛЫЙ видеоконтроллер (типа как в ZX80/81). Потому что универсальный проц не для спец функций совсем, и в таком случае логичнее влепить v9958 ($12). В принципе можно добавить его как часть адаптера для обеспечения гибкости (пример КЦГД для ДВК);
    2. НЕ лепить "новодел" (это ARM, AVR, CPLD, FPGA...) потому что тогда - берите ISA VGA чип и 16/32bit процессор и будет Вам свой собственный недо-ATARI ST;
    3. ЛЕПИТЬ на 74ALS и PAL/GAL (RT1,2,4,5,7...);
    4. качество картинки должно быть не хуже чем у ZX-а (минимум как у Вектор-а) а скорость в разы быстрее чем у ZX-а.

    (т.е. по-моему мнению тема будет интересна если слепить шото по моще как Sega MASTER / MSX2+ но свое "на рассыпухе")

  9. #18
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shumadan
    какая то программная совместимость намечается?
    Если говорить о простейшей конструкции, что я планирую сделать, то в силу того, что я не смогу иметь быстродействие выше 6 мгц, что даёт не более 288-320 точек в строке, а компьютеров с таким экраном нет, то просто не с чем совмещаться аппаратно. Но программно, т.е по входным точкам принятым в отечественных ЭВМ совместиться не проблема.

    Было бы неразумно не иметь стандартных для отечественных 8-ми разрядок входов F803, F806, F809... Уже только одно это позволяет использовать кое-какое ПО, например ассемблер, теоретически даже BASIC (если удастся найти версию, что работает на Z80, а то у меня на Z80 не работали бейсики ни на СПЕЦИАЛИСТЕ, ни на ОРИОНЕ, в чём дело не знаю).

    Но смысл в этих входах не в совместимости, она не волнует. Т.к то ПО, что я хотел бы на этом компе посмотреть, есть в исходниках, и нет проблем странслировать их с другими параметрами. А почти всё остальное системное ПО РК86 и ОРИОНА требует иного числа строк и без переделок всё-равно не годится. Эти входы удобно иметь только в силу привычки, чтобы не надо было запоминать других стандартов.
    Последний раз редактировалось barsik; 20.04.2017 в 06:27.

  10. #19
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZX-NEXT приходит на ум, читая эту тему )

  11. #20
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,133
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нечто похожее использовалось в ДУ совковыми телеками на ВЕ51 в начале 1990-х, с индикацией огромных русских букв на экране .
    Вероятно, могли быть и прототипы на Z80, т.к. ТВ с OSD продавались гораздо веселей, и их можно было внешне разукрасить под "Японию".
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Самодельный компьютер на Z80 и не только
    от KeKc в разделе Разработка электроники
    Ответов: 1326
    Последнее: 17.11.2023, 12:01
  2. RC2014 — модульный бейсик-компьютер на Z80
    от foxweb в разделе Зарубежные компьютеры
    Ответов: 6
    Последнее: 27.07.2020, 00:52
  3. графический редактор
    от yur в разделе Вектор
    Ответов: 1
    Последнее: 08.11.2012, 13:01
  4. куплю самый простой спек! 48кб самый простой
    от REMR в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 23.08.2008, 23:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •