RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Март 2024
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000

Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000

Сообщение  barsik Вт Сен 01 2020, 08:25

1
Сначала просто размышления у парадного подъезда.

Как ни крути, а пользователей ZX-Spectrum в СССР (и с 1992 года ex-СССР) было почти на два порядка больше, чем пользователей отечественных бытовых ЭВМ на процессоре КР580. Причина этого, естественно, в наличии к моменту когда началось массовое изготовление клонов ZX-48К нескольких тысяч ZX-игр высокой играбельности. И это несмотря на то, что параметры многих отечественных 8-ми разрядок как компьютеров были намного лучше. Это соотношение чуть улучшилось спустя 30 лет, т.к игры уже не являются настолько преобладающим фактором для популярности и современные любители новички делают даже РК86 несмотря на тошнотворность его изобразительных возможностей и предельно низкую играбельность РК-игр.

Ситуацию усугубило то, что платформы отечественных 8-ми разрядок после появления практически не развивались, программ для них и имелось и писалось новых намного меньше, чем для ZX. К тому же единой отечественной платформы не было, а наличие до десятка более-менее популярных машин - только вредило. В итоге рынок, позволяющий получить средства на развитие, по этим машинам был очень небольшим и быстро свернулся уже к середине 90-тых.

Конечно отечественную платформу ZX тоже сдуру пытались растащить на кучу ZX-производных, что было вредно, отчего всякие там навороченные АТМ-Турбо и Профи отвлекли силы и средства, но в итоге получили ограниченную популярность (а в программном плане так и остались почти без программ). Потому намного более примитивный Scorpion ZS-256, по сути оставшийся тем же Spectrum-128 (лишь с увеличенным ОЗУ) поимел больший успех и его производители продержались намного дольше, почти до конца 90-тых. А могли бы продержать ещё несколько лет, если бы исходно догадались добавить в схему видео-режим 512*192 (хотя бы моно). Это при монтаже под экран банки РУ6 требовало добавки менее 15 корпусов (а при 6264 - менее десятка).

Пользователей ZX-производных 8-ми разрядок даже сейчас осталось в несколько десятков раз больше, чем владельцев отечественных ретро-машин и не ZX-совместимых иностранных. Сейчас одна новая программа для каждой из отечественных ЭВМ (не считая конверсии) появляется раз в 3-5 лет, а то и реже, тогда как для ZX-платформы всё-ещё делаются несколько десятков новых игр в год (не считая демы), и даже организуются конкурсы с богатыми денежными призами. Программистов для ZX было и есть сейчас намного больше, чем, программистов для РК86, Специалиста, Вектора и др. вместе взятых. И это при том, что начинать программировать на ассемблере для ZX сложнее, чем для отечественных 8-ми разрядок.



Это потому, что, если отечественные ретро ЭВМ имеют некое подобие ОС (в виде RAM-монитора) и хорошо документированные стандартные подпрограммы ROM-BIOS-а, которые существенно упрощают ввод с клавиатуры и вывод на экран символов, то у ZX всё усложняет идиотский резидентный бейсик интерпретатор. На этом бейсике, естественно, ничего приличного написать невозможно, но из-за отсутствия монитора на ZX начинающему программисту волей-неволей приходится осваивать бейсик. Бейсик для игрового компьютера вреден (только впустую сжирает адресное пространство), но так уж вышло, - сэр Клайв делал ZX-Spectrum именно для бейсика, т.к компьютер планировался учебным.

Я сейчас полный чайник в программировании для ZX-Spectrum. Хотя у меня с 1987 года всегда имелся ZX-Spectrum, но как компьютер я его осваивал всего 4 месяца, причём только бейсик, а в остальном лишь играл в игры. К сожалению, в то раннее время среди программ, что были доступны, не было ни ассемблеров, ни отладчиков и не было вообще никакой информации (было известно лишь, что надо нажать для загрузки). Системных программ для программиста не было вообще, имелось лишь две кассеты с играми. В то время я уже знал ассемблер и хотел иметь компьютер с ассемблером. Бейсик как инструмент программирования, естественно, не годился (в чём я убедился ещё на РК86).

Компьютер ZX-Spectrum тогда воспринимался как игрушка и считался непригодным для серъёзных людей. Да и убогий крошечный экранчик ZX меня не впечатлил. Потому стал искать компьютер с ассемблером и нормальной текстообработкой. У многих любителей тогда было мнение, что вскоре появятся отечественные компьютеры уровня ИРИШИ, а чисто игровой ZX-Spectrum останется только для детей. Но увы, вопреки такому вполне разумному предположению, именно убогий ZX-Spectrum стал самой массовой в стране 8-ми разрядкой.



Недавно решил оживить и попробовать слегка доработать свой ZX-Spectrum. У меня сохранилось несколько плат "Ленинград-1" (остальные распилил на фрагменты). Две из этих плат предположительно рабочие (если не сдохли с тех пор, как проверял их последний раз). С самодельной ZX-клавиатуры (на кнопках ВМ-16) отвалилась часть наклеек, потому подумываю о использовании другого ZX-корпуса с клавишами на токопроводящей резине (который купил в 1991 году, но так и не применил).

Хотя не уверен, что буфера клавиатуры на 555 КП11 воспримут сопротивление токопроводящей резины замыкающей вход КП11 на землю как 0, - возможно придётся заменить на 1533 КП11 или добавить на входы КП11 8 повторителей на КМОП ИМС 561-серии (если токопроводящая резина на этой клавиатуре всё ещё проводит ток спустя 30 лет). Если уже нет, то придётся опять использовать ту же клавиатуру с кнопками от советских калькуляторов (кнопки ВМ-16).

Если удастся запустить плату "Ленинград-1", то хотелось бы её доработать. Не факт, что сделаю это быстро, т.к пассионарность закончилась 25 лет назад, а энтузиазма осталось мало, особенно на железо. Суть в следующем. Хотелось бы попробовать программирование для ZX и, чтобы не мучиться с дурацким ZX-бейсиком при загрузке программ, хочу поиметь нормальный монитор в теневом ПЗУ.



Кракерский монитор делали многие из тех, кто занимался адаптированием ZX-игр для отечественных ЭВМ, чтобы брать коды ZX-игр из ОЗУ 48 кб. После загрузки игры включается монитор и коды игры сливаются на магнитофон или пересылаются по проводной линии. Аппаратно это достигается тем, что на плате вместо двух ПЗУ по 8 кб типа 2764 ставится одна 27256, в которой и прошивается теневой монитор (он размещается во второй половине ПЗУ). Зоновская платка как раз удобна для мелких доработок наличием участка слепыша.

Чтобы поиметь монитор в ZX-48K, теневое ПЗУ хитроумно включается не на все 16 кб, а только на первые 8 кб, а в остальных 8 кб включается доп.ОЗУ (чтобы перенести туда экран). Т.е архитектура участка ПЗУ чуть изменяется при включении теневого ПЗУ. А именно, - при включении теневого ПЗУ (что обычно делается по NMI, т.к по кнопке СБРОС не узнать точку входа в код) в адресах 0...1FFF включается ПЗУ 8 кб содержащее монитор с мини-дизассемблером, а в адресах 2000...3FFF открывается ОЗУ из 565 РУ5. Одновременно при включении теневого ПЗУ отображаемый экран ZX с адреса 4000/5800 аппаратно переносится на адрес 2000/3800. Это для того, чтобы во время работы теневого монитора не разрушалось содержимое родного ZX-экрана. Это позволяет "захват" кодов ZX-игры, даёт возможность мини-дизассемблером шариться по ОЗУ, а затем можно продолжить прогон ZX-игры.

Если сохранять целыми все 48 кб памяти ZX не требуется, то можно переключать ПЗУ 16 кб целиком или, например, включать код теневого монитора лишь в верхней половине с 2000...3FFF. Это удобно тем, что основные подпрограммы родного ZX-ПЗУ для ввода с клавиатуры и вывода на экран расположены в первых 8 кб ПЗУ, что даёт возможность из монитора с адреса 2000 вызывать родные п/п-ммы ZX-ПЗУ для ввода/вывода.

Чтобы обойтись без доп.ПЗУ делали очень простую доработку по открытию под-ПЗУ-шечного ОЗУ. Тогда приходится каждый раз грузить монитор с магнитофона в виде бейсик программы. После старта бейсик программы с кодом монитора, отключалось ZX-ПЗУ и код монитора пересылался в область открытого под-ПЗУ-шечного ОЗУ 0...3FFF. Затем после сброса можно было загрузить и запустить ZX-игру и по NMI произвести выход в монитор ранее загруженный в под-ПЗУ-шечное ОЗУ 0...3FFF. Такой вариант получения монитора аппаратно предельно прост, но в пользовании неудобен - уж лучше разориться на ПЗУ 27256.



Написав теневой монитор для ZX-48K (включающий в себя попутно все нужные подпрограммы ROM-BIOS для символьного ввода/вывода), уже можно будет добавить в сист.регистр ещё один бит, выставлением которого ZX-экран будет переноситься с адреса 4000 на E000. Это позволит поиметь с адреса 0 сплошные 56 кб ОЗУ, т.е получится архитектура нужная для CP/M. Тогда при потребности можно будет во вторую (свободную при 27256) панельку на 28 ног смонтировать 64 кб доп.статического ОЗУ на двух спаянных вместе 62256 и странслировать CP/M работающую на эл.диск в 64 кб. Однако такое статическое ОЗУ - в шине Z80 и его не удастся в дальнейшем использовать для экрана 512*192.

Это всё небольшие переделки, что делаются легко и быстро. А вот дальше уже можно подумать как сделать более кардинальную доработку расширяющую ZX-экран до 512*192, что позволяет поиметь 64 символа в строке шрифтом 8*8 (или 73 символа в строке шрифтом 7*8). Это можно делать добавив банку динамического ОЗУ 565 РУ6 или на статическом ОЗУ типа 62256/w24257.

Ещё бы для упрощения программирования было бы приятно распрямить экран ZX, - не обязательно полностью прямо (как в Специалисте), но хотя бы так, чтобы не было трёх областей. Быть может это возможно сделать добавив вторым этажом один-два мультиплексора. Непонятно зачем Альтвассер (или Викерс, не помню сейчас, кто из них программист, кто аппаратчик) решил поиметь настолько дурацкую архитектуру экрана. Не понимаю что это улучшает. Если бы это было надо для регенерации динамических ОЗУ, но нет. К тому же область цветовых атрибутов прямая, а экран графики зачем-то изуродовали.

Машинка на Z80 с прямым экраном 512*256 была бы удобна как инструментальная. Особенно, если сохранить совместимость с оригинальным ZX-Spectrum, чтобы сохранилась возможность прогонять родные ZX-игры. Если мои платы ZX-Spectrum ещё не сдохли, то ввести теневое ПЗУ совсем не сложно. Но сначала надо написать RAM-монитор. Это естественно надо делать в эмуляторе ZX-Spectrum (в таком, в котором можно подставить свой код для ПЗУ, а может быть удастся для эмулятора B2M сделать работающий конфиг с программным переключением ПЗУ).


Последний раз редактировалось: barsik (Вт Сен 01 2020, 09:18), всего редактировалось 1 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  Viktor2312 Вт Сен 01 2020, 09:12

2
.
Хотя не уверен, что буфера клавиатуры на 555 КП11 воспримут сопротивление токопроводящей резины замыкающей вход КП11 на землю как 0, - возможно придётся заменить на 1533 КП11 или добавить на входы КП11 8 повторителей на КМОП ИМС 561-серии (если токопроводящая резина на этой клавиатуре всё ещё проводит ток спустя 30 лет). Если уже нет, то придётся опять использовать ту же клавиатуру с кнопками от советских калькуляторов (кнопки ВМ-16).

Добрый день. Давно, году так в 2002, примерно, я работал в одной фирме. Продажа и ремонт 50/50 компьютеры, оргтехника, телефония и ремонт сотовых без продажи новых. Я тогда в основном занимался ремонтом копировальных аппаратов и мини-типографий, такие здоровые, тяжёлые похожие на большой копировальный аппарат, но по скорости на порядок производительнее, точнее даже на два порядка. Но иногда, точнее постоянно приносили в ремонт радиотелефоны, в основном Panasonic и основная неисправность у них была как раз клавиатура и именно токопроводящая резина. И если просто чистка спиртом или изопропиловым спиртом уже не помогала, так как часто виной была пыль, грязь и посторонние шлаки. То меня просили заняться нудным делом. Брали мы фольгу от пачек сигарет, только главное чтобы настоящая фольга была, а не просто покрашенная бумага, тестером легко проверяется. Я нарезал маленькие квадратики, примерно, 4 х 4 мм и обычным суперклеем приклеивал к круглому пятачку. После этого клавиатура отлично работала. Это я так, заметка из реальной практики, так как таких клавиатур я в то время восстановил, короче после 1000 я перестал считать...
А самое что забавное, только вчера разбирал свою клавиатуру, основную за которой работаю 99% времени, и вычищал от пролитого кофе. Целый стакан разлил с дуру прямо в клавиатуру. Но, она мне нравится, кофе в принципе-то и никуда не попало, только с самого края закоротило 4 дорожки, на плёнке, что при нажатии любой цифры приводило к выдаче сразу 4-х цифр. Я ещё как раз вчера по телефону сижу с KokaF77 разговариваю, а сам думаю, а если не заработает клава, как же я ему напишу адрес для отправки мне Ириши заводкой, но, всё заработало, чистка ватой с изопропиловым спиртом помогла. Нужно будет сейчас ему на почту как раз адрес скинуть, чтобы первую Иришу прислал, а потом и надеюсь вторую, и я ему заодно отправлю новых заводских платок, которые он хочет, ладно, что-то меня понесло не в ту сторону...


.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  barsik Вт Сен 01 2020, 15:21

3
Про недостаточную низкоомность токопроводящей резины, у меня возникли сомнения исходя из прежнего опыта. Т.к в конце 90-тых я поимел дохлую IBM-клавиатуру с замыкателями на токопроводящей резине и попытался подключить её матрицу к ОРИОНУ.

Для этого отрезал на платке её контроллера все выводы паучины от печати и к этим контактам проводами МГТФ подключил ОРИОН, т.е соединил непосредственно матрицу IBM-клавиатуры с выходами ППА ВВ55 (стоящую на плате по адресу F400). И нажатия на клавиши ни хрена ОРИОНОМ не воспринимались (предположительно из-за того, что сопротивление резины было недостаточно малым). Похоже следовало использовать не n-MOP, а КМОП вариант ППА типа 82C55 или же подавать сигналы на ППА через 8 КМОП повторителей.

Сейчас у меня накопились две или три дохлых (по электронике) плёночных IBM-клавиатуры. В них нет токопроводящей резины, - при нажатии клавиш происходит просто короткое замыкание напылённых на плёнку контактов, потому проблем с сопротивлением входов ППА не должно возникнуть. Давно хотелось подключить IBM-клавиатуру к РК86 или Специалисту. Естественно в виде матрицы, а не контроллером на Atmega, что я не хочу использовать (это нелампово). Хотя сейчас достал КМОП ППА 82C55 и где-то на антресоли пылится та древняя IBM-клавиатура с высокоомными резинками. Похоже плёночные клавиатуры в итоге оказались дешевле и надёжнее и вытеснили резиновые.



Трудозатраты, чтобы странслировать простой RAM-монитор работающий из теневогоо ПЗУ ZX-Spectrum малы, т.к у меня исходников мониторов хватает. Труд программиста нужен только на написание своей подпрограммы вывода символов на экран ZX и опроса его клавиатуры. Хотя скачал книгу "Полное описание ПЗУ ZX-Spectrum" (авторов Логан и О-Хара), но заимствовать оттуда чужие подпрограммы мне совсем не интересно (а вот в программах для ZX, естественно, выгодно использовать имеющиеся подпрограммы его ПЗУ).

Если разрабатывать и отлаживать код теневого ПЗУ в эмуляторе и для сАмого простого шрифта 8*8, то написание драйверов клавиатуры/экрана - это работа не более, чем на пару часов. Намного более сложные драйверы вывода символов 6*8 и 7*8 для Z80 на экран как у Специалиста у меня тоже есть, хотя их адаптировать под организацию кривого экрана ZX не так уж просто.

Так что на днях странслирую теневой ZX-монитор (по командам аналогичный специалистовскому), но с встроенным мини-дизассемблером. Не отладчик, т.к в 8 кб полноценный Z80 отладчик не влезет, только простейший RAM-монитор (что позволяет смотреть/менять ячейки ОЗУ и вводить/выводить куски ОЗУ на МГ-ленту) и мини-дизассемблер. Мини-дизассемблер в мнемонике Z80 у меня давно есть. Хотя и не полный, - нет всех префиксных команд Z80 (которых более тысячи), т.е из ~1500 всех Z80-команд есть только самые ходовые.

Мне этого хватало, т.к использовал в своих программах только полезные команды. Команды для IX, IY в Z80 префиксные и потому не дают никакого ускорения (хотя и облегчают программирование). А главное, что программы, которые из доп.команд Z80 используют лишь JR, DJNZ, LDIR и LD RR,(nnnn) макрокомандами транслируются для КР580. Такой мини-дизассемблер занимает менее 2 кб. Если его дополнить хотя бы до всех докумментированных команд, то он займёт объём в 6 кб и на это потребуется несколько дней труда. Впрочем, опыт такой разработки у меня есть, - я ещё в 90-тые годы написал полный Z80 мини-дизассемблер (а также и Z80 мини-ассемблер), но не на ассемблере Z80, а для эмулятора на ассемблере 8086.
Viktor2312 пишет:только вчера разбирал свою клавиатуру, основную за которой работаю 99% времени, и вычищал от пролитого кофе. Целый стакан разлил с дуру прямо в клавиатуру.
Если не принять мер, то весьма вероятно, что клавиатуре вскоре конец. У меня такое было дважды. Проливал, кажется, чай в клавиатуру. Естественно, сразу разбирал клавиатуру и вытирал влагу с плёнок. Но не протирал спиртом.

И оба раза спустя несколько месяцев эти клавиатуры дохли (переставала работать часть клавиш). После разбора было видно, что напылённые на плёнку проводники в местах где попала влага почернели, окислились и видимо где-то полностью растворились, отчего контакт прервался. Возможно, если облитые влагой места протереть спиртом и даже в некоторых местах где не нужен контакт покрыть лаком, то может быть клавиатуру ещё можно спасти.
Viktor2312 пишет:чтобы первую ИРИШУ прислал, а потом и надеюсь вторую
Решили наконец завязать тратить время на бессмысленные разработки (типа ВМИР) и поиметь рабочую ИРИШУ? В смысле поиметь уже готовую, чтобы не трахаться с отладкой своих ещё три года назад почти спаянных, но не отлаженных плат. Но ведь похоже alemorf так и не купил у Вас эти почти готовые платы, что я мечтал ему втюхать, чтобы он смог заняться разработкой для ИРИШИ игр "Принц Персии" и "Doom", что подняло бы эту исторически первую отечественную платформу из забвения.

В платформе ИРИШИ огорчает, что практически нет пользователей, не говоря уже о наличии необходимых для подъёма её популярности хотя бы нескольких хороших программистов. Остаётся думать, что ИРИША для современной молодёжи для повторения чересчур сложна. Т.к более трёх десятков комплектов плат ИРИШИ распродано, но рапортов о готовности (кроме как от KokaF77 и ещё одного москвича) пока не встречал (даже сборка ИРИШИ у xlat заглохла). Сделать ИРИШУ хотя бы в минимальной конфигурации достаточно трудоёмко и уж совсем это неподъёмно, если повторять ИРИШУ вместе с очень сложным и громоздким КНГМД (совмещённым в промышленном КНГМД с расширителем ОЗУ/ПЗУ).


Последний раз редактировалось: barsik (Ср Сен 02 2020, 13:50), всего редактировалось 2 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  Viktor2312 Вт Сен 01 2020, 16:34

4
.
barsik пишет:Решили наконец завязать тратить время на бессмысленные разработки (типа ВМИР) и поиметь рабочую ИРИШУ? В смысле поиметь уже готовую, чтобы не трахаться с отладкой своих ещё три года назад почти спаянных, но не отлаженных плат. Но ведь похоже alemorf так и не купил у Вас эти почти готовые платы, что я мечтал ему втюхать, чтобы он смог заняться разработкой для ИРИШИ игр "Принц Персии" и "Doom", что подняло бы эту исторически первую отечественную платформу из забвения.

Не считаю разработку ВМИР бессмысленной, во-первых. Не решил тратить время, а просто изучаю различную элементную базу, которая позволит доделать, в принципе уже и сделали и фирменное ПО имеется и отлично работает, например, справляется даже с распознаванием спиртных напитков. А по поводу Ириши, KokaF77 сам придложил отправить мне 1 или 2 Ириши заводской сборки, хотя они и называются не Ириша, а забыл как, в обмен на некоторые печатные платы. Но тут дело в том, что они утопленные и забитые грязью после наводнения, поэтому их ещё придётя вычищать и приводить в порядок, но платы там залитые лаком, поэтому возможно не всё так уж и печально будет. Мои платы не до конца спаяны, на некоторых что-то не до-запаяно, а некоторых элементов просто пока нет, в основном насколько я помню, это микросхемы 531 сирии и ПЗУ не все "прошиты" в общей сложности работы там полно, а у меня на неё не стоит последнее время. Но я решил, что лишними эти платки не будут, хотя бы привести в порядок и сделать фотки для истории. Ну и корпус всё таки, какой ни какой. Меня больше печалит, это утрата всей документации и ПО тогда у Коки при наводнении, то что он выкупил в Москве, я уже точно и не помню подробностей, но суть была такой, что он с кем-то связался, нашёл человека, который всё что было, собрал в кучу и продал ему, часть к счастью он выложить успел и многое тут на форуме есть, что-то я возможно пока ещё не выложил, в силу отсутствия свободного времени, так как сейчас я интересуюсь и решил досканально изучить STM32, сейчас конкретно, это серия STM32F4 пока вот собираю всё до кучи ПО скачиваю, отладочную плату с программатором, документацию, статьи, лабораторные работы и т. д. Ищу по всему инету, качаю, читаю, сюда выкладываю и готовлюсь к серьёзному и досканальному изучению. Эх жаль с английским всё не идеально, хотя из-за гугл-переводчика всё стало намного легче, а так приходится искать что уже перевели вменяемо, или самому сидеть мучать инглийский, но это очень медленно продвигается, но, я не сдамся. В общим ладно, буду потихоньку изучать, саморазвиваться, развивать форум, выкладывая всякое разное, а там возможно и до Ириши руки дойдут, одновременно с появлением желания...


.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  barsik Ср Сен 02 2020, 14:22

5
Начав писать драйвер вывода символов на экран ZX-Spectrum понял из каких соображений Р.Альтвассер разработал кривой экран состоящий из трёх участков. Он старался на графической машине упростить и ускорить вывод текста, т.е считал приоритетом текст, а не графику.

Потому Р.Альтвассер сделал так, что при выводе символа размером 8*8 адрес следующего экранного байта получается просто инкрементом старшего байта адреса. Это немного ускоряет вывод одного символа. Но ведь символы не выводятся по одному, потому во всех остальных графических машинах в мире экраны линейны целиком (а не лишь в пределах знакоместа). В них тоже или соседний экранный байт справа или соседний экранный байт снизу (или и справа и снизу, как в Специалисте) получается инкрементом старшего/младшего байта адреса в экране. Но только - на весь экран, а не на одно знакоместо.

IBM PC с CGA появился позднее и Альтвассер не смог узнать, что графический экран разумнее делать целиком линейным. Но уж про организацию граф.экранов в конкурирующих бытовых компьютерах он должен был знать. Тем более, что в Z80 регистров как грязи, потому, чтобы получить адрес следующего байта в символе, - без разницы добавлять к адресу число 32 или 1. Хоть как-то было бы оправдано, если бы речь шла об инкременте младшего байта адреса (что позволяет использовать команду LDIR). А так в итоге Альтвассер ради того, чтобы на 1% ускорить вывод текста, сделал в разы более медленной и главное излишне сложной работу с графикой. Естественно, такое извращение не было повторено ни на одном другом компьютере в мире.

Пристрастие Р.Альтвассера к текстообработке ему вскоре "вышло боком". После того, как Альтвассер поссорился с Клайвом Синклером и ушёл от него (при этом сманив и Викерса, который из-за этого не закончил разработку ROM-BIOS-а Spectrum-а), он создал свою фирму и начал выпускать текстовый компьютер Upiter Ace. И естественно, уже через полгода после начала продаж стал банкротом, т.к в конце 1982 года уже никому не был интересен текстовый компьютер.

Бесперспективность текстовых машин в бытовой сфере не поняли и разработчики РК86 и потому опубликовали убогий РК86. Что нанесло колоссальный вред СССР, т.к ущербную схемотехнику на базе ВГ75 сдуру подхватили инженеры промышленных предприятий, которые согласно решениям пленумов ЦК КПСС о компьютеризации, были озадачены выпуском 8-ми разрядных компьютеров для школ и населения. Несколько сотен тысяч РК-подобных выпущенных в стране были вскоре выкинуты с 9-го этажа и заменены клонами ZX-Spectrum.

Это случилось потому, что у инженеров этих предприятий опыта на быструю разработку графической машины не хватило - им проще и быстрее показалось заимствовать готовое (только "Львов" среди бытовых машин первой волны разработали графическим, хотя это и вышло у инженеров весьма коряво). Хотя уже за годы до этого А.Волков разработал безупречный "Специалист".

А вот в странах соц.лагеря, где промышленностью производился собственный графический компьютер, ZX-Spectrum не вытеснил местные компьютеры. Например в ГДР, где и Z80 производился и доступ к оригинальным ZX-Spectrum и его программам (из-за соседства ФРГ) был намного лучше, чем где-либо, - Синклер вообще даже не занял 0.1% парка бытовых ЭВМ (хотя местный клон без ULA и был сделан).
Viktor2312 пишет:KokaF77 сам предложил отправить мне 1 или 2 ИРИШИ заводской сборки, хотя они и называются не ИРИША, а забыл как
В русской Википедии написано, что клоны ИРИШИ выпускаемые для населения назывались «Каспий» и «Диалог». Один из этих клонов в конструктиве "кирпич" с внешней клавиатурой, другой в корпусе клавиатуры. Делайте фото, может быть удастся вставить их в Википедию.
Viktor2312 пишет:Мои платы не до конца спаяны, на некоторых что-то не до-запаяно, а некоторых элементов просто пока нет
У Вас потому нет энтузиазма к ИРИШЕ, что Вы не придумали для чего она Вам нужна. Т.к к для ИРИШИ программ не изобилие (это 3 игры и бездисковый текстов редактор), то просто пользователем игроманом, как для ZX-Spectrum, - с ней не станешь. Всё для чего ИРИША сейчас полезна (и подходит лучше других ввиду отсутствия для неё программ), - это написание для неё программ или хотя бы изучение программирования на ассемблере Z80 (изучать программирование в мнемониках КР580 не только глупо, но и тяжелее).
Viktor2312 пишет:там возможно и до ИРИШИ руки дойдут, одновременно с появлением желания...
Придумайте себе задачу на ниве ИРИШИ и такое желание сразу же появится.
Viktor2312 пишет:решил досконально изучить STM32, сейчас конкретно, это серия STM32F4
В принципе это не относится к хобби по ретро компьютерам. В них это не применялось. С другой стороны адаптеры клавиатур и micro-SD, аппаратные эмуляторы дисководов уже нашли довольно широкое применение в виде периферии к ретро-машинам, ввиду того, что делать самодельную матричную клавиатуру сложнее, чем взять готовую от IBM PC и потому, что дискеты стали недоступны.

В этом аспекте интересно подключить к ретро машине интерфейс "блю-ту". "Блю-ту" есть в учебном компьютере BBC-micro:bit (это кстати, оказался вовсе не дешёвый клон BBC micro на современных деталях, а убогая шалабушка с экраном на одну букву). "Блю-ту" в 8-ми разрядке позволит скоростной обмен с PC и телефонами/планшетами. Т.к у этих гаджетов уже нет общих интерфейсов с ретро-ЭВМ. А вообще знать программирование современных контроллеров необходимо лишь тем, кто хочет поиметь работу программиста. Но для этого знания только одного МПК и одного ЯВУ не хватит и конкуренция на вакансии программиста очень большая.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  Viktor2312 Ср Сен 02 2020, 14:47

6
.
В принципе это не относится к хобби по ретро компьютерам.

А я вам в очередной раз, уж не помню какой точно, напишу. У меня нет хобби ретро компьютеры. У меня с 7 лет и хобби, и увлечение, и мечты, и в последствии и работа - Это электроника. Так как мне всё интересно, и источники питания, и радиосвязь, и компьютеры в части ПО и вычислительные системы вообще. Придумывать зачем мне нужна Ириша, мне не нужно, я и сам знаю зачем мне она нужна, и помимо ПО там огромные возможности для "железа".

А вообще знать программирование современных контроллеров необходимо лишь тем, кто хочет поиметь работу программиста

Ну а я, так не считаю, в первую очередь это нужно знать и уметь, человеку увлекающемуся электроникой, радиолюбителю и вообще для развития, а не деградации.
А вот портов в МК огромное множество, десятками и пачками, так что выбирать можно любой от I2C до UART и вплоть до USB. Да и вообще, это просто интересно. Можно собирать различные измерительные приборы частотомер, термометр, LC-метр и т. д. и т. п. А учитывая, что продаются отладочные платы, очень дёшево, на которой установлена и сама микросхема микроконтроллера и вся необходимая обвязка, то ничего не нужно паять вообще, и на плате так же имеется программатор, который можно использовать для программирования как самой микросхемы МК установленной на плате, так и других. Так что это идеальное решение для вас, компьютер простейший РС с ПО, USB кабель и отладочная плата, и всё все сигналы выведены либо на стандартные разъёмы, либо на IDC разъёмы, то есть паяльник вообще не нужен, который вы так не любите, ну или по минимум в самых крайних случаях.
А вот мнемонику КР580 мне как раз таки изучать не требуется, я это неспешно сделал за последние 5 лет, когда занимался Иришей, Радио-86РК и ВМИР-1, так что при желании программу написать могу, вопрос только в том, как долго я буду это делать и насколько она будет оптимизирована и эффективна, так как я просто изучил, понял, и немного попрактиковался. А вот с Z80 я до конца жизни точно связываться не буду, мне этого шлака хватило в детстве, но хорошо, что я хоть не стал изучать его систему команд, не интересен он мне.


.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  barsik Чт Сен 03 2020, 18:13

7
Viktor2312 пишет:
barsik пишет:это не относится к хобби по ретро компьютерам.

У меня... хобби... электроника. Так как мне всё интересно
На мой взгляд распыляться неправильно, иначе ни в одном направлении не будет достижений. Лучше сконцентироваться на чём-то одном, что наиболее интересно. Я вот в своё время не избежал этой глупой ошибки.
Viktor2312 пишет:портов в МК огромное множество... это идеальное решение для вас, компьютер простейший... паяльник вообще не нужен
Вы совсем мимо. Суть ретро хобби в том, что здесь применяется простое и понятное железо и намного более простое программирование. Именно для того, чтобы избавиться от сложного современного программирования и железа типа "чёрный ящик" (непонятного для всех кроме его автора) и уйти в мир, где всё доступно и понятно, люди и занимаются 8-ми разрядными компьютерами. Чтобы не надо было непомерно напрягать мозг (и непрерывно учиться), что приходится делать современным программистам.

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

А у меня уже процесс деградации и развитие Альцгеймера в разгаре. Ничего нового уже давно даже не пытаюсь освоить - ни смысла, ни энергии/желания на это нет. Тут бы хотя бы частично удержать то, что знал и по возможности восстановить утраченные знания. Например, я в 90-тые годы прилично программировал на Си и Паскале, но (т.к уже 20 лет нет задач для них на PC) давно забыл. Последний год пытаюсь хотя бы минимально восстановить умение программировать на Паскале, но видимо Альцгеймер постепенно прогрессирует, память ослабла. Если возникает перерыв на несколько недель, то снова приходится вспоминать нюансы изучая свои же исходники.

Энергии пару дней назад не хватило даже на то, чтобы найти информацию и изучить бейсик ZX-Spectrum, что требуется, чтобы загружать написанное на ассемблере в реале. При программировании на ассемблере для ZX есть проблема бейсик-загрузчика и надо понять можно ли удобным способом компилировать с ассемблера прямо в TAP или TZX файлы.

Пока без этого обошёлся, используя эмулятор B2M (т.к его уже давно имею для эмуляции КР580-машин). Для ZX-Spectrum он считается не лучшим выбором (некоторые TZX и TAP не грузит, а если конвертировать их в WAV, то грузит, но это долго). Но зато в нём можно с помощью изменения конфигов немного дополнять архитектуру железа. А для меня сейчас ценно, что там можно грузить коды прямо в ОЗУ командой ^L. Так что мне достаточно ассемблером М80 странслировать ассемблерую программку с адреса 6000 и загрузив блок кодов по ^L, поставить регистр PC Z80 на адрес 6000 и программа запускается. Для останова (выхода из программы) делаю DI : HALT. Так что вся бейсиковая трахомудия, что находится в ПЗУ ZX-Spectrum не волнует и её, пока я не захочу загрузить что-то в реале, мне и знать не надо (да и тогда что-то своё можно грузить с проводной линии монитором, а не неудобным резидентным бейсиком).

Вообще от ZX-Spectrum и в эмуляторе такое же впечатление, что это игрушка, как и в реале (даже РК86 как компьютер приятнее), хотя крошечный экранчик в эмуляторе B2M растягивается на весь дисплей. Для ZX из имеющихся 20.000 игр есть несколько сотен гениальных шедевров (остальное менее играбельно, есть и совсем туфта). Причём это огромный труд написать для ZX игру, даже очень слабую, минимально приличную. А уж тем более, если делать это на самом ZX используя его неудобный инструментарий. Если бы такой гигантский объём труда люди потратили на программирование для РК86, то у него было бы сейчас около миллиона хороших игр.

Я естественно, писать игры для ZX не собираюсь, да и не смог бы (ни энергии, ни остатка жизни на это не хватит). Пока моя задача освоить минимальное программирование на ассемблере и CP/M-Паскале для ZX (ценно, что для ZX годится Турбо-Паскаль, а он удобнее, чем МТ+). Конечная цель этого - написать ROM-BIOS поддерживающий экран 512*192, чтобы из убогой игрушки получить инструментальный компьютер (естественно, не с крошечной 40-ка кнопочной клавиатурой).

К сожалению, эмуляторов для видео режима 512*192 нет, потому максимум, что можно сделать в эмуляторе, - это написать ROM-BIOS для ZX с обычным экраном, но на адресе E000, а потом изменить исходник под экран 512*192, надеясь, что заработает в реале. Хотя ещё и не факт, что в эмуляторе B2M удастся перенести экран с 4000 на E000. Так что придётся отлаживать такой ROM-BIOS в реале, а вероятно проще (и полезнее для написания других программ) будет написать свой эмулятор ZX с экраном 512*192.
Viktor2312 пишет:мнемонику КР580 мне как раз таки изучать не требуется
С мнемоникой КР580 лучше не связываться. Есть люди ставшие её жертвами. Которые привыкнув к мнемонике КР580, даже не попробовав вникнуть в удобство мнемоники Z80, тупо упорствуют, отрицают её преимущества и по-прежнему трахаются в мнемонике КР580 теряя много в эффективности. Они просто упёртые упрямцы сдуру пошедшие на принцип, упорствуют не попробовав.

На самом деле невозможен идиот, который написав 5000 строчек ассемблера в мнемонике Z80, вернулся бы к мнемонике КР580. Ведь программирование, даже на ассемблере, означает, что данный человек способен к мышлению. Просто эти несчастные люди пробуя Z80-ассемблер принимают решение (что мнемоники Z80 для них не лучше) написав всего лишь 1000 строчек ассемблера Z80 не успев привыкнуть и въехать в сюжет. Кстати есть алгоритмы, что без доп.регистров Z80 получаются в разы более громоздко и невразумительно. Потому, например, компиляторы ЯВУ написанные на Z80 почти невозможно конвертировать для КР580.
Viktor2312 пишет:вот с Z80 я до конца жизни точно связываться не буду, мне этого шлака хватило в детстве, но хорошо, что я хоть не стал изучать его систему команд
Какая там другая система команд? -- Та же самая (в Z80 лишь несколько дополнительных регистров плюс тысяча команд для их обслуживания, но они используются лишь при нужде). Потому программы для Z80 (не считая JR-переходов) на 99% состоят из команд процессора КР580, благодаря чему ZX-игры и удавалось конвертировать для машин с этим процессором). Речь же не о процессоре Z80, а о использовании более прогрессивной мнемоники фирмы Zilog при программировании для КР580, т.к она НАМНОГО более удобная и выгодная для программиста.



Обидно, блин. Оказывается, что не я один настолько умный, что догадался, что неплохо бы в ZX-Spectrum поиметь экран 512*192. Оказывается в 1998 году кто-то ещё более умный придумал (причём аппаратно более простой) способ поиметь экран 512*192. Точнее - без установки параллельной банки ОЗУ. А я исходил из стремления минимально вторгаться в работающую плату, и отчасти под влиянием идеологии ОРИОНА, вознамерился поиметь доп.графику из дополнительной банки читаемой синхронно.

При организации экрана 512*192 без монтажа доп.банки ОЗУ используется факт, что в отечественных клонах ZX видеосхема делает два обращения к ОЗУ за время вывода видеобайта. В первом обращении читается графика (затем она задерживается на 4 пиксель-клока в ИР16, чтобы подождать цвет), а во втором обращении видеосхемы читается цвет. И лишь третий маш.такт доступен процессору. Кстати, из-за этого процессор Z80 существенно тормозится. Коварные фанаты Синклера об этом знают, но скрывают точные данные о быстродействии, всегда пишут лишь, что клок процессора 3.5 МГЦ, что вводит в заблуждение. Вот здесь эффективный такт ZX оценен всего в 2.33 МГЦ.

А если вместо цвета читать графику (защёлкивая её в дополнительном регистре ИР9), то дополнительно монтировать целую банку дополнительной памяти не понадобится. Тогда в цикле, когда в оригинале читается ОЗУ цвета (5800...5AFF), будет читаться графика нечётных экранных байтов с адреса 6000. Видимо именно так сделан режим 512*192 в американо-испанских компьютерах Timex, т.к там режим 512*192 моно.

Естественно, я в курсе о логике работы видеосхемы в отечественных клонах ZX и обдумывая экран 512*192 расматривал такую возможность, но пришёл к выводу, что схема коммутации в этом случае получится громоздкая, цвет станет невозможным, а главный минус, - при этом не удастся поиметь сплошные 64 кб доступными для программ. Так что я ещё буду думать на тему этой доработки, но пока с учётом перспективы более сложная доработка для сплошных 64 кб с цветом кажется более предпочтительной. Конечно и в 1998 году для усовершенствований видео-режимов ZX было слишком поздно. Эта схема стала бы революцинной в 1989 году.

Вот здесь я нашёл информацию о такой схеме. К сожалению, эта доработка делается на плате "Пентагон", а не на плате "Ленинград". Так что детальной информации это мне не даёт, лишь наводит на размышления. Любопытно, что эта статья для ташкентских синклеристов упоминает, что эта (или подобная) схема уже встречалась ранее в каких-то российских газетах.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  Viktor2312 Чт Сен 03 2020, 19:26

8
.
На мой взгляд распыляться неправильно, иначе ни в одном направлении не будет достижений. Лучше сконцентироваться на чём-то одном, что наиболее интересно. Я вот в своё время не избежал этой глупой ошибки.

Ну а как не распыляться, вот мне 7 лет, залез я в шкаф, а там журналы отца ЮТ. Я листал, смотрел, красивые картинки, интересно, а в конце электроника. И наткнулся я на машинку с двигателем, о хочу такую же, упросил деда купить двигатель, батарейки, собрал, что-то страшное из консервных банок, палок и говна, работает, ездиет, провода нашёл, да подлинее, чтобы выключателем, вперёд назад, классно! но, а как поворачивать, да и провода, хочется без них, и пошло поехало, а что такое резистор, а это что такое...

Читал читал, мучался мучался, непонятные вопросы ни дед ни отец, прояснить не могут и пошёл в радиокружок, а таммм...

И вот, нужен же БП, нужен, да лабораторный и регулируемый, поизучал, что такое трансформатор, диодный мост, конденсатор, работает, но нужна стабилизация, регулирование и т. д. Вот и первое знакомство с разделом "Источники питания" потом всякие разные посложнее и импульсные, но это уже дипломная в училище была, не я выбирал, распределяли, ИИП телевизоров 3УСЦТ.

А потом у пацанов игрушка классная, по типу "Сквош по пятому каналу", тоже хочу собрать, а это уже цифровая техника, изучил, собрал. А тут открываешь журнал "Радио" а там   ОООО "Компьютер" аж Радио-86РК, хочу и пошоло поехало, у знакомого на ZX сидели по вечерам набирали МОНИТОР, и т. д.

А потом в училище когда поступил, там с Веталем познакомился, а он усилками увлекается, мне тоже интересно, ох сколько же я транзисторов поперепалил, пока мы налаживали "УМЗЧ высокой верности".

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

А по поводу чёрного ящика, да нет, там всё расписано и наиподробнейшим образом, каждый чих, каждое соединение, каждый регистр, до каждого бита, к которому вы имеете полный доступ из того же С. А какая разница 8 бит или 32 бита, всё то же самое, просто количество бит больше, а соответственно и возможностей, было бы желание и время изучать...

Я вас конечно понимаю, возраст, сам начал замечать различия в своём поведении, желаниях, силах и возможностях, по сравнению с теми, что были, например 20 лет назад, но с этим нужно бороться, уже заставлять мозг работать, заставлять себя чем-то заняться, а не поваляться на диване, я уже это делаю, с попеременным успехом. Вот сегодня работал, пришёл, ну разбит, просто в дрыск, устал, как будто весь день канавы копал, а на самом деле прошёл пешком 45 минут, да с тяжёлым 3М пылесосом и с кульком с инструментами, поработал 3 часа, и обратно 45 мин. да 3к+ руб. в кармане, а ощущения, но тут ещё добавила адская жара, когда выходил из дома было +31, как и в предыдущие 5 дней, но сегодня она как-то совсем тяжко переносилась, ветерок слабенький, да и всё прогрелось, от всего пышет жаром, надеюсь в выходные закончится МЧС СМС прислали свою стандартную,
хотя у них там как всегда, ливень, град, шквал, в общим - конц света, надеюсь дождик хоть слабенький пройдёт и начнутся намёки на осень... Раньше я так не уставал, обычно с друзьями шли на дискотеку после этого и там ещё работали, танцы, шманцы, много пивасика и т. д. Но теперь хочется вечерком засесть за изучение какого нибудь МК, а не трясти булками, опять же, наверно приходит старость...
Зато, на обратном пути, когда зашёл в Магнит купить попить и продуктов на вечер, бесплатно досталась бутылка подсолнечного масла, с добавлением аливок, мелочь, а приятно...

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

А вообще, это вы раскидываетесь, то Ириша, то Радио-86РК, теперь вот ZX, что потом ?  А может поизучаем, вместе STM32F4, было бы весело, интересно, изучили бы что-то новое, подумайте, хотя бы, как вы там пишите:
"Они просто упёртые упрямцы сдуру пошедшие на принцип, упорствуют не попробовав."

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

Да. 1980 год "Микро-80", одназначно "нехорошие люди, которые освоив современное железо по работе, тащат его в ретро хобби", и были " кто справедливо считает это вредительством". Что-то уже знакомое... КР580 серия и вообще микропроцессоры, для советского радиолюбителя, и уж тем более начинающего. в силу малости лет, точно новые технологии. Так и сейчас STM32F0...STM32H7 и ПЛИС и т. д. Но пройдёт, ещё 40 лет, и это будет девнейшее и наидревнейшее-ретро...
Я вам немного расскажу, это уже сейчас древнейшая древность. Почему, потому что техпроцессы применяемые при производстве МК это 90 нм. 40 нм. В то время как вся остальная электроника уже базируется с 2020 года на 7 нм техпроцессе, некоторые вещи на предыдущих 16 нм. А всё из-за того, что в МК есть аналоговые периферийные устройства, в большом изобилии, и именно они пока оставляют МК позади по сравнению с чисто цифровыми устройствами, теми же микросхемами ПЛИС фирмы Xilinx или GPU процессорами фирмы Nvidia.

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

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 31532084

Сидишь себе спокойно, занимаешься своими делами, а денюшка капает...

И вообще, электроника - это здорово!



О, а оказывается нам всем скоро на зону отправляться, чалиться:

По словам и.о. замглавы Ленинградского УФАС Александра Евлапмиева, фрагмент по всем признакам является рекламой алкоголя в интернете, а по российскому законодательству она запрещена.

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


.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  barsik Пн Сен 07 2020, 20:53

9
Viktor2312 пишет:по поводу чёрного ящика, да нет, там всё расписано и наиподробнейшим образом
При чём здесь наличие наиподробнейшей документации? О том и речь, что устройство на МК состоит не, из всем понятно как работающих стандартных цифровых микросхем, а именно "чёрный ящик", на схему которого сколько ни гляди и не напрягай мозг исследуя соединения цепей - яснее не станет. Чтобы понять, что там впихнул в программную реализацию железа разработчик надо знать и понимать столько же, сколько знает и понимает он.

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

Цель ретро-компьютерного хобби как раз и заключается о том, чтобы избавиться от такого дерьма. Настоящие ретро хоббиисты (в отличие от случайных залётных) придерживаются ламповости и даже делая апгрейд используют детали той эпохи.
Viktor2312 пишет:А может поизучаем вместе STM32... изучили бы что-то новое... как вы там пишете: "... упёртые упрямцы сдуру пошедшие на принцип, упорствуют не попробовав."
Некорректное использование цитаты. Чтобы знать, что это не интересует не требуется пробовать. Цитата была в контексте, что кто-то программируя не хочет использовать лучший инструментарий, причём когда это ему не стОит ничего. А совсем другое дело - это сменить платформу, отказаться от программирования для ретро компьютера и вместо этого заняться долгим электротрахом своего мозга - утомительным и бесполезным освоением STM32, что никак не относится к этому хобби и никакого интереса не вызывает. С тем же основанием под предлогом "не попробовав, - не узнаешь" можно советовать заняться изучением других несвязанных с этим хобби областей науки, техники или искусства с целью выяснить степень интересности всего этого в качестве хобби.
Viktor2312 пишет:STM32F0... пройдёт, ещё 40 лет, и это будет древнейшее и наидревнейшее-ретро
Опять мимо. Платформы ретро-ЭВМ составляли сотни тысяч (это клоны ZX-Spectrum, клоны РК86), десятки тысяч (ОРИОН, Вектор, Львов), тысячи (Специалист, Корвет), пара сотен (ИРИША), десятки (Микро-80) или хотя бы несколько (ЮТ88) работающих машин и их пользователей. А любителей STM32 (не считая профессионалов) - три человека, причём каждый из них делает что-то своё и потому это не платформа и не имеет никакого отношения к ретро хобби. Через 40 лет ретро платформы останутся ретро платформами, а STM32 станет одной из миллионов безвестных устаревших микросхем и о ней никто и не вспомнит.
Viktor2312 пишет:1980 год, Микро-80... "нехорошие люди, которые освоив современное железо по работе, тащат его в ретро хобби", и были " кто справедливо считает это вредительством".
Это не довод. Популяризуя Микро-80 его авторы Попов и Зелёнко не стали нехорошими людьми, т.к не губили этим платформу предыдущего любительского компьютера (построенного без микропроцессоров). И я сам был как раз из тех, "кто справедливо считал..." и возмущался с 1982 года о том, что журнал "Радио" тратит страницы на безинтересную радиолюбителям муйню, которая к тому же никому из них не понятна (не считая кучки профессионалов). Я смог понять о чём в этих статьях шла речь, лишь когда на многомесячных курсах повышения квалификации инженеров в 1987 году меня обучили этому.
Viktor2312 пишет:
barsik пишет:На мой взгляд распыляться неправильно

Ну а как не распыляться, вот мне 7 лет...
Это не при чём. У каждого своя история общения с электроникой вообще, с ретро-компьютерами и программированием. Речь о сейчас. И именно о ретро-хобби. О том, что тут глупо пытаться объять необъятное, интересностей сейчас миллион. Из-за обилия соблазнов тяжело надолго сосредоточиться на конкретной задаче, поддерживать свой интерес и энтузиазм именно на ней.
Viktor2312 пишет:А вообще, это вы раскидываетесь, то ИРИША, то Радио-86РК, теперь вот ZX
Точно, раскидываюсь и это вредно. Хотя какие железяки имеются в реале, теми и пытаюсь заниматься, не лезу в постороннее. Для написания системных программ не особо важна платформа, а взаимо-заимствование идей и кода из разных платформ - полезно. При изучении ЯВУ делая текстовые программы удобнее как раз именно текстовый компьютер (к тому же у графического на ЯВУ скорости может иногда и не хватить).



Кстати, если эффективная скорость ZX-Spectrum всего 2.3 МГЦ, то даже базовый Специалист с Z80 и кварцем заменённым с 8 на 9 МГЦ и безтормозным цветом - для игр аппаратно лучше. А на одном ZX-форуме меня фанатичные синклеристы затоптали за то, что я намекнул, что аппаратных возможностей советских бытовых ЭВМ хватало на то, чтобы игры на них были не хуже. Якобы ZX-Spectrum намного круче аппаратно. На самом деле - нет. Изобилие программ для ZX обусловлено лишь намного большим тиражом, а главное, - наличием рынка программ, чего для советских ЭВМ не было.

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

А своих ведущих разработчиков он обидел, вынудив уйти и начать выпуск конкурирующих машин BBC micro и Upiter Ace. Глупо было ссориться с Альтвассером и Викерсом из-за всего лишь 5000 фунтов премии за разработку ZX (которую они явно честно заработали), причём за 1982 год прибыль лично К.Синклера достигла 1 млн.фунтов и такая выплата разработчикам ZX его бы не разорила, а их вклад при создании последующих моделей ZX мог бы поднять его на недосягаемую высоту потеснив ставший самым массовым Commodore-64.

А формат ZX-экрана отчасти обусловлен тем, что вертикальный размер экрана не мог составлять 256 линий. Не мог потому, что этот компьютер планировался к продаже в США, где в телевидении 525 строк разложения. Отчего 256 линий из компьютера не отобразить. Потому и в Apple-II также вынужденно всего 192 линии растра и даже в IBM PC адаптере CGA всего 200 линий. При нечерезстрочной развёртке в NTSC всего 525:2= 262 линии. С учётом обратного хода луча по кадрам, на экране едва-ли видимы более 220 линий. Т.е это не американские инженеры были идиотами, а на формат экрана компьютеров повлиял местный TV-стандарт.

А при 192-х линиях, чтобы точка оставалась более-менее квадратной (что нужно, чтобы круги не уплющились), надо делать 256 точек по горизонтали (хотя 320*192 было бы точно лучше). По этим причинам компьютер BBC micro у которого формат экрана 160/320/640 на 256 не может работать на NTSC-телевизор, отчего в США не продавался.

Но всё-равно это не мешало Альтвассеру сделать линейный экран. Линейный экран получается, если на мультиплексорах адреса A8...A15 сдвинуть в точное соответствием весам счётчиков. Вероятно это можно сделать сохранив режим совместимости за счёт всего двух или м.быть четырёх КП11.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  Viktor2312 Вт Сен 08 2020, 16:11

10
.
...устройство на МК состоит не, из всем понятно как работающих стандартных цифровых микросхем, а именно "чёрный ящик", на схему которого сколько ни гляди и не напрягай мозг исследуя соединения цепей - яснее не станет.

Нуу, по разному мы мыслим, считаем, нет смысла это дальше перетирать, поэтому мне иногда микросхемы ПЛИС нравятся больше МК, но, и это в силу не знания С, пока что, на должном уровне, и других причин, а так там всё просто, просто информации на порядок больше, разрядов больше, регистров больше, а так оно всё элементарно. Проблема не в устройстве - сложности, а в объёме информации, очень много регистров, очень много бит и каждый за что-то отвечает, переключил один бит в 1-ку, подтягивающий резистор подключился внутри микросхемы к конкретному выводу порта, в другом регистре, других пару бит переключил в 00, вывод стал работать как "Выход", можно светодиодиком мигать, или последовательный вывод организовать и т. д. и т. п. МПС на КР580 тоже самое, всё определяет ПО. Только медленно, громоздко, и энерго не эффективно...


.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty Почему в ZX-Spectrum экран организован нелинейно ?

Сообщение  barsik Сб Сен 12 2020, 23:47

11
В Интернете гуглится несколько статей типа "Почему в ZX-Spectrum экран нелинейный". В которых авторы этих статей утверждают, что Ричард Альтвассер применил нелинейную организацию экрана в ZX-Spectrum из-за необходимости использовать для доступа видеочасти к ОЗУ режима "два /CAS после одного /RAS", что несколько сокращает потери времени на доступ видеочасти к ОЗУ, но требует совпадения адресных битов выдаваемых на ОЗУ по /RAS для полей графики и цвета.

Я с этим нелепым доводом совершенно не согласен. Структура ZX-экрана действительно даёт возможность упразднить один /RAS, но это отнюдь не причина такой организации экрана. Доступ видеочасти с одним /RAS на два /CAS - это вовсе не довод, потому, что это не обязательно. В советских клонах /RAS выдаётся для каждого читаемого видеочастью экранного байта при абсолютно той же организации экрана (это лишь немного тормозит). А в ZX-клонах на статических ОЗУ это свойство DRAM вообще невозможно использовать (например, в клоне "Хоббит" ОЗУ не на 565 РУ5, а на статике 62256).

Вопреки этим статьям отнюдь не упрощённый метод выдачи адресов динамическому ОЗУ от видеочасти два /CAS на один /RAS определил структуру ZX-экрана. Нелинейность экрана обусловлена знакоместным цветом, т.е условием затрачивать всего один экранный байт на раскраску целого спрайта 8*8. При знакоместном цвете каким либо другим способом размещение СПЛОШНОГО поля атрибутов и ВПРИТЫК к полю графики не сделать. Да ещё и так, чтобы период регенерации не превысил 2 мс и экран цветовых атрибутов получился линейным.

В динамических ОЗУ, если в следующих обращениях к ОЗУ биты адреса защёлкиваемые по /RAS - те же самые, то нет нужды защёлкивать их фронтом /RAS повторно. Использование этого свойства сокращает число мультиплексоров и позволяет исключить один /RAS. Потому в оригинале ZX-Spectrum сначала по /RAS защёлкиваются веса счётчиков V4, V3, H4, H3, H2, H1, H0, которые одинаковые для чтения поля графики и поля цветовых атрибутов. А затем двумя /CAS-ами защёлкиваются разные адреса (т.к для ОЗУ графики и ОЗУ цвета эти остальные адреса разные) и в видеорегистры считываются данные графики и данные цвета. Замечу, что в клонах на 565 РУ5 по /RAS защёлкивается также 8-й бит, но он идёт на адресную ногу 9 РУ5, которая у этих ОЗУ не участвует в регенерации.

Как всем известно, регенерация в DRAM выполняется по RAS, потому по фронту RAS должны защёлкиваться самые высокочастотные веса счётчиков. Т.к самый низкочастотный сигнал в вышеприведённой группе из 7-ми регенерирующих весов - V4, то период регенерации длится 32 строчных периода (в 64 мкс), т.е 64*32= 2.048 мс. Это на пределе максимально допустимого периода регенерации у таких динамических ОЗУ.

В действительности нелинейный графический экран применён не ради чтения экранных байтов из DRAM методом RAS-CAS-CAS или программного ускорения вывода текста, а ради того, чтобы цветовые атрибуты действовали на графический квадратик из пикселей 8*8, что, как минимум, в 8 раз сокращает потери на раскраску. Также ради того, чтобы экран атрибутов располагался ВПРИТЫК и был СПЛОШНЫМ. При этом период регенерации DRAM не должен превысить нормы. Чудесным образом Альтвассеру удалось удовлетворить все эти пять жёстких условия.

Чудесным - потому, что странным образом совмещены пять (строго говоря даже шесть) трудносовместимых факторов - удалось получить и один цветовой байт-атрибут на целое знакоместо 8*8, и экранный буфер цвета СПЛОШНОЙ, и он располагается ВПРИТЫК к графическому буферу экрана, и период регенерации не превышает допустимого (хоть и на пределе). Причём ещё и экранный буфер цветовых атрибутов получился линейным. А попутно ещё и появилась возможность использовать чтение экранного ОЗУ видеосхемой укороченным циклом RAS-CAS-CAS.

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

Кстати ограничений на распределение адресов/весов на биты адреса защёлкиваемые по /CAS не было. Потому у Альтвассера не было аппаратной необходимости разбивать экран графики на три части. Но он это сделал исходя из того, что экранный буфер цвета тогда получается линейным.

А то, что графику на нелинейный экран выводить не очень удобно, - это неизбежное следствие красивой организации экрана для цвета и текста. Потому довольно часто программисты организуют в ОЗУ линейный экран в котором намного удобнее двигать и оценивать столкновения спрайтов, а визуализацию на кривой ZX-экран делают отдельной процедурой.

Таким образом, Р.Альтвассер сначала изобрёл свою уникальную организацию экрана и лишь затем, когда дело дошло до схемы придумал укороченный цикл доступа видеочасти. Т.е укороченный цикл RAS-CAS-CAS для доступа видеочасти - это следствие ZX-экрана, а не его причина. Если бы ОЗУ 4116 такого режима чтения не допускали, экран ZX всё равно был бы таким же.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Empty .

Сообщение  barsik Пт Окт 30 2020, 07:35

12
Эта тема, по крайней мере в этом году, мной не будет продолжена (и даже хотелось бы не вернуться к программированию для ZX). Т.к у меня без следа испарилось всякое желание пробовать хоть что-то программировать для ZX-Spectrum даже на ЯВУ (что планировал) и уж тем более на ассемблере. И вряд-ли что-то заставит поиметь RAM-монитор в реале для заимствования ZX-графики, - это маловероятно, т.к есть эмуляторы. Для программирования привлекал экран с цветом, но убедился, что кривизна экрана намного перевешивает этот плюс.

Даже несмотря на наличие комментированного исходника от попыток попробовать заимствовать ZX-бейсик для другой ЭВМ на Z80 разумно отказаться, т.к недостаточно подменить драйверы ввода/вывода - придётся отковыривать от него идиотский способ ввода ключевых слов. Есть и другие Z80 бейсики без такого встроенного уродства. На что ни посмотри, всё в ZX сделано через задницу, спасибо сэру Клайву. Простота и дешевизна это конечно ценно, но и удобство хотелось бы.

Упомянутый выше монитор, который планировал (отладив в ОЗУ) прошить во вторую страницу ZX-ПЗУ, - так и не дописал. 1.5 месяца назад за один присест успел сделать только цветной драйвер 8*8, хотя и полноценный с упр.кодами на уровне резидентного драйвера РК и ОРИОНА (т.е с роликом, всеми однобайтовыми упр.кодами и одним искейп-кодом позиционированием по ESC-Y). Объём кода драйвера, причём с встроенной процедуркой вывода фонта (чтобы оценить скорость ролика) - менее 700 байт и ещё 8*(256-32)= 1792 байта занимает фонт КОИ-8.

На написание у меня ушло много времени - аж 4 часа (т.к сначала надо было въехать в организацию экрана ZX). Лет 20 назад, я бы написал это за час, т.к в 90-тые годы написал десятки драйверов для ОРИОНА (естественно писал драйвер не с нуля, а используя как заготовку драйвер 8*8 для линейного экрана Специалиста). Но и этого опыта программирования мне вполне хватило понять, что экран ZX дико неудобный и написать драйвер шрифта некратного байту будет намного тяжелее, чем аналогичный драйвер для машины с линейным экраном и он получится раза в 2 тормознее.

Чтобы подключить готовый драйвер к готовому исходнику RAM-монитора и получить запланированный монитор с встроенным дизассемблером и приёмом по проводной линии надо было потратить ещё не более получаса. Но с тех пор за целых 1.5 месяца я так и не смог заставить себя этим заняться. Вообще нет желания возвращаться и продолжить. Возник психологический барьер, видимо усугублённый давно и глубоко укоренившимся отвращением к возможностям ZX-Spectrum и осознанием, что программировать для этой железки нудобно.

Ещё один довод в том, что и расширять экран до 512 точек в реале нет никакого энтузиазма, т.к это будет на порядок хуже и неудобнее, чем даже самый базовый Специалист с 5-ю цветами. К тому же на реале растр будет уплющенный и далеко не на весь экран, даже если его растягуть понижением кварца до 12 МГЦ. А если не делать экран 512 точек, то и кракерский монитор становится не нужен.

Да и бессмысленно создавать сейчас новую платформу из платки клона ZX, даже если это и не предельно трудоёмко (можно спаять МГТФ-ом за неделю). Но зачем нужна новая платформа с тиражом в одну машину и без ПО ? Тем более, что для двойного экрана программировать ещё менее удобно (удобно будет, если только распрямить экран, но это уже существенные доп.хлопоты). Технически экран 512*192 легко реализуем, но для этого нужно желание этим заниматься, а этого нет. Даже предельно убогий базовый РК86 вызывает на два порядка больше положительных эмоций. Так что я закончил свои опыты по программированию для ZX-Spectrum.

Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000 Fontdrajvera.1604013336
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения