barsik wrote:Кстати, если уж атрибуты наконец пошли в дело, то стоило задействовать 3 атрибута, чтобы поиметь 8 фонтов, а атрибут RVV (ReVerse Video) отдать на инверсию знакомест.
Вoт именно!
Какие-то недоделки - из-за чего? Излишняя осторожность из-за обратной совместимости?
barsik wrote:Всё равно от резервирования атрибутов на цвет толку нет.
Если хотя бы механический тумблер или JP-перемычку внедрить для переключения режимов поддержки…
barsik wrote:А так как теперь время упущено и ясно, что ни плат цветного РК, ни цветных РК-программ уже не будет, то вполне разумно получить от атрибутов "хотя бы шерсти клок", т.е отдать их на коммутацию фонтов.
Как говорится, пока тело способно сохранять личность индивидуума - никогда не поздно!
Было бы желание и желающие…
barsik wrote:Но увы, программно поддержать даже всего два фонта не получится, в эмуляторах это не поддерживается.
Эмуляторы - не молекулы графена: Электронный микроскоп или адронный коллайдер не требуется - переписать/дописать можно на уровне клавиш клавиатуры…
barsik wrote:Сразу заимствовал у Вас подпрограмму CLS, что с'экономило в ПЗУ 5 байтов (теперь свободно 285 ячеек).
Неужели код столь уникален?
barsik wrote:Если заметить, что коды 18, 19, 1A и 1B отличаются на единицу, то …
А Вы не заметили, что регистры B и C хранят границы текущего окна? Никак нельзя уже код символа считать из C…
Это место меня всегда напрягало и даже пытался таблицу использовать, так как все ключевые куски кода находятся в одном 256-байтовом пространстве и адресовать их можно одним байтом с использованием трюка с маскированием директив. Но код получался ещё толще…
Тем не менее, сейчас удалось те же 3 байта выиграть.
Спасибо!
Правда, тупо - «SUB 1AH + … + ADD A,18H». Всегда задавался вопросом в таких случаях: Стоит ли?
barsik wrote:Достаточно лишь знать организацию экрана и можно начинать писать "Принц Персии" или "Doom" для Специалиста.
Да уж… От «Принца» до «Думы» - рукой подать!
barsik wrote:Подпрограммы C8xx те же, что и в РК86 на F8xx. Специалист даже проще, чем РК, быстрее и экран удобнее.
Всегда задавался вопросом: А что мешало Волкову ПЗУ разместить как в РК? Было бы совсем всё просто!
barsik wrote:А главное, экран графический.
Я уже высказывался на этот счёт: Все 90-е я в тетрадках малевал схемки собственных синхрогенераторов, изучая книжку Овечкина про телевизионные игры Хоккей и Скачки…
Если бы РК имел бы графику, я совсем не разбирался бы в основах формирования телевизионного матраца.
Как раз РК тем и привлекателен, что графики в нём - нет. А узел формирования видео не занимает половину схемы.
Можно сказать РК - не хитрее отладочного стенда в этом смысле, где вместо тумблеров и индикаторов - нормальный терминал.
barsik wrote:Это значит, что можно написать любую программу. А РК86 пригоден только, чтобы обкатывать системные программы, предназначенные для Специалиста или тренироваться в написании программ на Паскале или Си. Игры для РК писать бессмысленно.
Если этот терминал на базе ВГ75 оставить в покое и не изощряться с оконностью, то его более, чем достаточно, чтобы нагло подключить
контроллер от Денди и начать разрабатывать игры с графикой и цветом. Получим систему покруче того же
Сюбора с двумя дисплеями и с возможностью портировать игры 1 в 1 графикой, но уже с CISC-кодом против RISC
Ещё в 90-е я поглядывал на Денди с искушением её PPU подключить к D14 и попытаться его программировать…
Хотя, если внедрить несколько ВГ75 с разными каналами ПДП, можно как в том же Atari/Commodore чередовать текст и графику, если КСИ первого ВГ75 запускает тактирование второго ВГ75, который, в свою очередь, своим КСИ запустит третий ВГ75 - своеобразная карусель. И у каждого ВГ75 свои настройки развёртки.
Или теми же атрибутами основного ВГ75 организовать селективное тактирование вспомогательных ВГ75. Тогда в одной строке основного знакоместа можно разместить 2…4 строки вспомогательных знакомест и даже добиться подобия спрайтов…
barsik wrote:Чтобы программировать для Специалиста иметь работающий Специалист не обязательно. Имеющиеся эмуляторы вполне точные. В отличие от РК для Специалиста нет программ, что не работают в эмуляторе.
Быстро проверить код - нету онлайн-эмуляторов.
Приходится запускать VMware и там уже возиться.
К тому же, в Специалисте нету директивы «M» и дамп травится как в «Микро-80» - очень резко, без прокрутки.
А так как я привык к
плюшкам (да,
плюшкам!) РК, для меня такая среда очень непривычно и всё для меня дико!
Подчёркиваю: 99% кода своего написал и отладил именно
тут, так как в промежутках между пролистыванием форумов и новостных сайтов, если в голову пришла мысль - достаточно кликнуть на закладку.
Кстати, когда питомец запрыгивает на стол - сразу открываю страницу
КСОНИКСА. Чем и призывает меня дорабатывать свои идеи!
Какой из эмуляторов ПК исполнен так минималистически просто и гениально‽
Именно в нём я и перелопатил весь Монитор, так как в случае краха достаточно нажать «Refresh» браузера. Тогда как другие эмуляторы принуждают создавать резервные копии файлов и возиться с их перекопировкой.
Практически 100% rom-файлов и 99% rkr-файлов моих здесь сгенерировано именно им: Мой Chrome-плагин (выложил ниже, если интересно) перехватывает точки вывода файла и по «OF800,FFFF» сохраняет rom-файл автоматически, а также и «световое перо» симулирует… То есть, я его превратил в настоящий инструмент, удобный именно мне. Причём, сейчас в нём же сгенерировал rkr-файл с прокруткой экрана стеком под ОРИОН-128 для Emu80 - всё работает.
(Хотя, вот сейчас нашёл
онлайн ОРИОН-128. Но эмулятор - демонстрационный и инструментально на нём мало чего добиться можно…)
Вот и ZX-Spectrum я пытался за-РК'шить,
вымыв его Бейсик и написать МОНИТОР. Но дальше той подпрограммы с выводом
полноценного дампа и символами 6×8 дело не дошло из-за слишком неудобного редактора встроенного ассемблера. Из-за чего сообщество Спектрумистов обозлилось на меня и послали меня писать свой эмулятор, заявив, что в 8-битных технологиях я ничего не смыслю со своими PHP и JavaScript.
Из-за чего я и ушёл в
подполье и стал проверять, правда ли мои мозги с этими PHP/JS/SVG совсем расплавились и не способны решать базовые задачи на
реальных ЭВМ пост-апокалипсиса?
И
всплыл именно здесь со своей «оконной подпрограммой» для РК как
пародия на современные технологии.
В том и суть, что Вы свой Монитор переделываете со знанием своего дела.
А я лишь, в отместку сторонников Спектрума, с головой ушёл в РК.
Так как тот же Commodore/Atari - технологии соседнего континента, ZX-Spectrum - технологии Европы. А вот РК - наш, родной. Да и самый первый из доступных.
Он - как пластилин, как ядро, на которое можно навесить всё, что угодно!
barsik wrote:Тогда объясните мне за счёт чего гаснет экран в 9-той и 10-той линиях знакоместа.
В схеме D13 по LTEN сбрасывает ИР13 по-видимому…
Выше я тоже задавался вопросом:
Вот интересно: Бит 7 байта #4 в настройке ВГ75 управляет сдвигом линии знакогенератора на 1 позицию…
То есть, линия 0000 гарантировано никогда вылазить не будет ни при ССИ, ни при КСИ?
Если так, то это тоже можно использовать опционально: Включать альтернативный знакогенератор по линии 0000.
barsik wrote:Дорабатывать монитор совместимо, добавляя новые возможности, что-то дающие пользователю, - полезно, а несовместимо - это занятие только для себя. Вы ведь так и не отвечаете на сколько больше программ станет доступно пользователю РК, если он заменит ПЗУ на ваше. Или как улучшится удобство пользования РК?
Прежде всего, я проверяю свои мозги!
barsik wrote:А чего принципы компиляции изучать?
Не принципы, а выходной код.
На форумах часто сравнивают разные компиляторы и обсуждают, от чего тот или иной компилятор так или иначе
чудит в таких-то случаях…
barsik wrote:Я Вам и без изучения скажу, что написать компилятор ЯВУ очень сложно.
Всегда свой Бейсик хотел написать, но спотыкался на редакторе строки. А к арифметике вещественной вообще не знал, как подойти!
Сейчас - опыт какой-никакой имеется. Выше я делилки/умножалки свои показал. Осталось их допилить до
вещества…
А экранный редактор мне в Atari-XE (он у меня в шкафу лежит с двумя дисководами) нравится, но дискет под него нет.
(Вот жалею, что не додумался 20 лет назад выкупить Atari-ST у одного, когда тот мне на тест его принёс на месяц с кучей дискет с играми. На Бейсике я там быстро разобрался и пищать/трещать удалось. Да потом дети хозяина его куда-то дели или разобрали в хлам, так как не смогли с мышкой разобраться и с телевизором.)
Кое-что…
Тут подумал, что в MS-DOS имелся FIFO-буфер клавиатуры. В РК любопытно было бы это тоже попытаться сделать, чтобы во время вывода долгого дампа можно было бы не одну букву нажать, а десяток.
В таком случае, в том же Бейсике, можно вызывать COUT, CHSUMM и WRBYTE через PRINT с параметрами…
Вообще-то…
В самом начале темы я прикидывал, как бы в РК сделать ОЗУ 128 Кб, где 64 Кб - системное и 64 Кб - пользовательское.
В отличии от остальных РЛК типа Ориона и Специалиста, в РК 128 Кб сделать, в каком-то смысле, легче…
Именно оттуда и вытекла идея переключать страницы по FF00…FFFF. Правда, если Вы внимательны, там - всего две страницы / банка по 64 Кб. Причём, память 128 Кб - лишь для одновременного доступа. А так, она может быть и в 1 Мб из 16 банков, лишь два банка доступны в один момент. А для доступа к соседним страницам не обязательно обращаться к подпрограмме Монитора, как в Орионе…
Тем более, сама микросхема ПДП прозрачно сигнализирует о своём доступе к памяти: Можно 1 Мб ОЗУ иметь и под экран подставить именно нужную страницу из 16.
Потому, именно РК привлекателен тем, что в нём нет ничего лишнего - ни теневого регенератора ОЗУ, ни рассыпухи под графический экран

You do not have the required permissions to view the files attached to this post.