User Tag List

Результаты опроса: Дорабатывать РАДИО-86РК в XXI веке

Голосовавшие
24. Вы ещё не участвовали в этом опросе
  • Дело интересное и увлекательное, когда руки прямые и паяльник горяч

    18 75.00%
  • Это всё хорошо в эмуляторах. А практически - уж слишком поздно

    4 16.67%
  • В эмуляторе это хотя бы реализовано?

    0 0%
  • Пора проснуться от ностальгии и ухватиться за все ядра современных технологий

    3 12.50%
Опрос с выбором нескольких вариантов ответа.
Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 29

Тема: В поисках утерянных возможностей…

  1. #11

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking ВГ75 - микросхема ещё та!

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    Не забудьте реализовать загружаемый знакогенератор в ВГ75 дабы хоть игрушки делать более красивые.
    B большинстве схем подобных знакогенератор переключается либо механически (тумблером), либо битами ППА, хотя ВГ75 поддерживает атрибуты…
    У меня была мысль, чтобы знакогенератор грузить через ПДП и графику (384×200) сделать через ПДП.
    • Знакогенератор перегружается не процессором, а ВГ75+ВТ57 циклами от специального атрибута, после которого все последующие символы будут считываться от ПДП и записываться в ОЗУ знакогенератора
    • Символ 1F знакогенератора можно аппаратно перехватывать и вместо данных со знакогенератора считывать данные с ПДП непосредственно в виде графики, где старшие 2 бита управляют цветом
    В обоих случаях схему развёртки необходимо доработать и добавить регистры задержки на несколько тактов, чтобы скомпенсировать задержку дополнительных циклов ПДП.

    Просто сам по себе ВГ75 достаточно наворочен и его можно использовать под графику с любым разрешением, если хорошенько продумать не совсем традиционную схему. Получается почти подобие ATARI со смешиванием текста, графических спрайтов из символов, а также и чистой графики в цвете.
    Последний раз редактировалось Радио-86РК; 16.12.2019 в 23:24.

  2. #12

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post Windows'86

    Кaк я уже говорил, код МОНИТОРа в ПЗУ местами можно и подправить, чтобы отвоевать несколько ячеек…
    Например, я подкорректировал частично дамп ПЗУ таким вот образом:
    Код:
         .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    F800 C3 40 F8 .. .. .. .. .. .. .. .. .. .. .. .. ..
    F810 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
    F820 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
    F830 2A 31 76 22 31 76 C9 XX XX XX XX XX XX XX XX XX <- 9 CELLS
    F840 21 03 80 36 8A 2B AF 77 7C FE 75 C2 45 F8 22 31
    F850 76 2A 6D F8 22 1C 76 F9 CD CE FA 21 50 FF CD 22
    F860 F9 21 2A 1D 22 2F 76 3E C3 32 26 76
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    F950 .. .. .. .. .. .. .. .. .. .. 21 00 00 1A 13 FE
    F960 0D 37 C8 FE 2C C8 FE 20 CA 5D F9 01 AE FA C5 D6
    F970 30 F8 FE 0A FA 7D F9 FE 11 F8 FE 17 F0 D6 07 4F
    F980 29 29 29 29 D8 06 00 09 C1 C3 5D F9 XX XX XX XX <- 4 CELLS
    F990 7C BA C0 7D BB C9 CD A4 F9 CD 90 F9 23 C0 2B 33
    F9A0 33 C9 XX XX .. .. .. .. .. .. .. .. .. .. .. .. <- 2 CELLS
    Чем получил суммарно 15 байтов (помеченных «XX»).

    Здесь, четыре ячейки по F98C можно использовать под «08 20 08 00» и F8E4 вписать их адрес.
    Тем самым, в более удобной области FF9E…FFA1 появляется резерв, а там много текста и его можно несколько иначе спланировать…
    Например, вот так:
    Код:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    FF50 .. .. XX XX XX XX XX XX XX XX XX XX XX XX 1F 72 <- 12 CELLS
    FF60 61 64 69 6F 2D 38 36 72 2B 00 0D 0A 2D 2D 3E 00
    FF70 0D 0A 18 18 18 18 00 0A 0D 0A 20 48 4C 2D 0D 0A
    FF80 20 42 43 2D 0D 0A 20 44 45 2D 0D 0A 20 53 50 2D
    FF90 0D 0A 20 41 46 2D 19 19 19 19 19 0D 20 50 43 2D
    FFA0 19 00
    Если продолжать в том же духе, то можно заполучить больше нефрагментированного пространства:
    Код:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    F800 C3 3D F8 .. .. .. .. .. .. .. .. .. .. .. .. ..
    F810 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
    F820 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
    F830 2A 31 76 22 31 76 C9 XX XX XX XX XX 21 03 80 36 <- 5 CELLS
    F840 8A[0D_0A_2D_2D_3E_00]77 7C FE 75 C2 45 F8 22 31 <- TEXT!!!
    F850 76 2A 6D F8 22 1C 76 F9 CD CE FA 21 64 FF CD 22
    F860 F9 21 2A 1D 22 2F 76 3E C3 32 26 76 31 CF 76 21
    F870 41 F8
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    F950 .. .. .. .. .. .. .. .. .. .. 21 00 00 1A 13 FE
    F960 0D 37 C8 FE 2C C8 FE 20 CA 5D F9 01 AE FA C5 D6
    F970 30 F8 FE 0A FA 7D F9 FE 11 F8 FE 17 F0 D6 07 4F
    F980 29 29 29 29 D8 06 00 09 C1 C3 5D F9[08_20_08_00]
    F990 7C BA C0 7D BB C9 CD A4 F9 CD 90 F9 23 C0 2B 33
    F9A0 33 C9 XX XX .. .. .. .. .. .. .. .. .. .. .. .. <- 2 CELLS
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    FF50 .. .. XX XX XX XX XX XX XX XX XX XX XX XX XX XX <- 18 CELLS
    FF60 XX XX XX XX 1F 72 61 64 69 6F 2D 38 36 72 2B 00
    FF70 0D 0A 18 18 18 18 00 0A 0D 0A 20 48 4C 2D 0D 0A
    FF80 20 42 43 2D 0D 0A 20 44 45 2D 0D 0A 20 53 50 2D
    FF90 0D 0A 20 41 46 2D 19 19 19 19 19 0D 20 50 43 2D
    FFA0 19 00
    Имеем уже 23 ячейки… При этом эстетически интерфейс никак не изменился!

    А что же дальше?
    Если пожертвовать эстетику, то получим мою…

    «WINDOWS'86»
    Удалось втиснуть все функции (Escape-позиционирование) в спартанские просторы ПЗУ!
    Правда, пришлось многое перекроить, отвоёвывая каждый байт литром крови
    Но, к сожалению, не всё так гладко…
    Хоть «ПИТОН» и запустился, но вот «Ксоникс» самовольно перезаписывает указатель на символ под курсором не меняя саму позицию, из-за чего очистка экрана по «1F» уже невозможна и это никак не исправить!
    Также «Цирк» и «Вулкан» работают крайне некорректно…

    В общем, «кодик мой да с запашком оказывается». И это очень обидно!
    То есть, кровью и нервами отвоёвывая каждый байт тактически, стратегически я проиграл!

    Теперь и не знаю, что делать…
    Заняться больше и нечем…

    Выкладываю это добро здесь…
    Вложение 71048
    Вставьте его в ассемблер эмулятора, прошейте и погоняйте, если не лень!

    Работают 7 «точек входа»:
    Просто набирайте директивы «G0», «G1», «G2», «G3», «G4» и сами всё увидите…
    А именно:
    • «G0»: Режим максимального окна - 78×30. Довольно любопытно посмотреть, как работают некоторые директивы МОНИТОРа в этом режиме
    • «G1»: Стандартное окошечко - 64×25. Просто это должно быть встроенным
    • «G2»: Вывод содержимого памяти ASCII-дампом
    • «G3»: Среднее окошечко
    • «G4»: Маленький менеджер окон… Нажатием TAB переключает окна; Курсорные клавиши двигают окна; Пробелом выбирается опция в окне с вопросом; «ВК» подтверждает опцию; Другие клавиши - переход в режим МОНИТОРа

    ВАЖНО!
    Поддерживается и произвольная Escape-последовательность, но крайне опасно
    Если после сразу после кода 1B не идёт код 59 ('Y'), то управление передаётся на адрес 7626h, где МОНИТОР хранит свою команду JMP.
    Тем самым, пользовательский драйвер должен изменять в ячейках тех адрес на свой, чтобы оперативно получать управление прямо из недр подпрограммы вывода символа.
    В регистрах - все данные:
    • B C - Y2 X2 (нижний правый угол окна)
    • D E - Y X (текущая позиция курсора)
    • HL - Адрес символа в памяти под курсором
    • A - символы Escape-последовательности
    Тем самым, свободно можно и ANSI-последовательности поддержать на самом базовом уровне!

    P.S.: В остальном - вполне любопытные возможности открываются…
    Последний раз редактировалось Радио-86РК; 17.12.2019 в 00:47.

  3. #13

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post Windows-86РК

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

    Теперь «ЦИРК» отображается нормально, а «КСОНИКС» не гонет с очисткой экрана, так как код 1F выставляет дефолтные параметры вьюпорта.
    Также и «ВУЛКАН» работает, так как МОНИТОР ставит свою заглушку на незнакомые Escape-последовательности при холодном старте

    Чтобы и окошечки функционировали, для очистки окна следует использовать коды «1B+1F».

    P.S.: В общем,провёл выходные в бинарном паззле и устранил оплошности…

    Эти 3 пользователя(ей) поблагодарили Радио-86РК за это полезное сообщение:

    anasana(13.01.2020), Shumadan(14.01.2020), unclerus(13.01.2020)

  4. #14

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post DUMP & HINT

    Написaл простейший код вывода дампа с поддержкой подсказки длины инструкции…
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Smart_Dump.jpg 
Просмотров:	135 
Размер:	23.8 Кб 
ID:	71300  

  5. #15

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb DE-JA-VU Дамп

    Eсли обратиться к мнемонике системы команд MC6502, то можно вспомнить, что вместо «MOV X,A» инженеры сократили запись инструкции до «TAX». Я неоднократно пытался применить подобный подход и к i8080, так как технически он не так далёк от этого.
    А чтобы была возможность и дампом выводить инструкции, я сократил их до двух символов…
    • Регистры B и C - J и O соответственно
    • Регистры D и E именуются также
    • Регистры H и L - V и U соответственно
    • Регистры M и A именуются так же
    • Регистровая пара BC - буква X
    • Регистровая пара DE - буква Y
    • Регистровая пара HL - буква Z
    • Регистровая пара PSW - буква W
    • Указатель SP - буква S
    Все MOV-пересылки обозначаются просто двумя буквами - приёмник+источник. Так, вместо «MOV M,E» пишется просто «ME».
    Арифметика:
    • ADD - «+», ADC «#»
    • SUB - «-», SBB - «=»
    • AND/XOR - «&»/«^»
    • CMP/OR - «?»/«!»
    • RLA/RRA - «<<»/«>>»
    • RLC/RRC - «-<»/«>-»
    • INR/DCR - «r+»/«r-»
    • INX/DCX - «p+»/«P-»
    Написан простой код, который выводит дамп таким же образом…

    P.S.: Директиву «M» подкорректировал так, чтобы выдавала целую строку дампа…
    Правда код весит 73 байта…
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	TinyCode.png 
Просмотров:	150 
Размер:	15.6 Кб 
ID:	71315  
    Последний раз редактировалось Радио-86РК; 16.01.2020 в 05:50.

  6. #16

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Радио-86РК, картинки скриншотов не разобрать.

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

  8. #17

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Картридж для любимого РЛК!

    Цитата Сообщение от fifan Посмотреть сообщение
    Радио-86РК, картинки скриншотов не разобрать.
    A что именно интересует: Красивые картинки или эскиз концептуальной реализации задумки?
    Я могу здесь выложить исходники на ассемблере эмулятора, если кому-то нужны…

    Но, данная тема - исследовательская, прежде всего…

    На данный момент я прощупал следующее:
    • Редактирование дампа одной строкой: Цена - 74 байта
    • Вывод дампа с разметкой всех байт инструкций: Цена - 100 байт
    • Вывод дампа с экспресс мнемоникой команд: Цена - 603 байта


    Меня давно интересовал вопрос о более компактном размещении функционального кода в адресном пространстве.
    Например, само ПЗУ проецировать в памяти страницами и переключать их на лету по мере обращения к отдельным функциям…

    Так, у ZX-Spectrum не просто переключать ПЗУ между BASIC и TR-DOS, а переключать все их подпрограммы.
    • 2000…3FFF - подпрограмма вывода символа - 8 Кб
    • 2000…3FFF - подпрограмма вывода точки - 8 Кб
    • 2000…3FFF - подпрограмма загрузки с магнитной ленты - 8 Кб
    То есть, все подпрограммы проецируются в одну адресную область, а выбираются - отдельной страницей ПЗУ.

    Например, у РАДИО-86РК в области F800…FFFF можно переключать 256 страниц по 2 Кб - 512 Кб ПЗУ…
    Разместить там можно абсолютно всё: Бейсики, Редакторы, Трансляторы и т.п…

    При этом переделка самого РАДИО-86РК будет минимальной и напомнит картриджи от приставки Денди.
    Если помните, картридж занимал в памяти всего 32 Кб, но дополнительным регистром мог переключать страницы ПЗУ до мегабайт…

    То есть, если РФ2 из панельки платы РАДИО-86РК выдернуть и вставить туда свой псевдо-картридж, то в памяти он займёт ту же область F800…FFFF, где будет 256 страниц…
    Естественно, если развернуть ПЗУ линейно адресами 00000…7FFFF, то каждые 2 Кб должны повторяться JMP-команды набора F800…F836.
    Тем самым, все директивы («M», «D», «I», «O», «G» и т.д.) не будут раскиданы по разным адресами в области 2 Кб, а будут иметь одну точку входа, но на разных страницах. А буква - лишь выбирает страницу…
    • «A» - Ассемблер
    • «B» - BASIC
    • «E» - Emu80 (отладчик)
    • «H» - Help-страница
    • «J» - Java / C / C--
    • «K» - Калькулятор (mini-excel)
    • «N» - Net/Modem/Fido
    • «P» - Pascal
    • «Q» - Quick-DOS
    • «V» - Video-Test
    • «W» - Редактор WELL
    • «Z» - Zyxel (терминал работы с модемом)


    Думаю, при желании, можно в 512 Кб поместить достаточно много функционала.
    Главное - ничего модифицировать в схеме не нужно: Всё - в «картридже»…
    Последний раз редактировалось Радио-86РК; 16.01.2020 в 20:32.

  9. #18

    Регистрация
    11.10.2010
    Адрес
    Запорожье
    Сообщений
    166
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Радио-86РК Посмотреть сообщение
    эскиз концептуальной реализации задумки?
    Если говорить о концепции, то давайте так:
    В Nintendo была необходимость разработать крутую игру. Но не хватало памяти на картридже.
    Инженеры-электронщики задумались напряглись и придумали мапперы, которые расширяют адресное пространство Денди до нужного.
    Вы тоже пытаетесь расширить адресное пространство РК, а для чего? Вы разрабатываете супер программу, которая не умещается в 32кб ОЗУ Радио-86РК?
    Если нет, то тогда Вы ставите телегу впереди лошади.
    Для загрузки перечисленного Вами софта вполне подходит ROM диск. А если сделаете ROM диск на SD-контроллере, так это вообще "песня"

  10. #19

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от kovdry Посмотреть сообщение
    Вы тоже пытаетесь расширить адресное пространство РК, а для чего?
    Дoпустим, в 512 Кб можно впихнуть весь объём ПО от РК.
    Естественно, страница #0 - сам МОНИТОР. А страницы #1…9 - различные его модификации…
    Затем уже идут 90 страниц прикладного ПО и ещё 100 страниц - игровые программы…
    Тем самым в эти 200 страниц (480 Кб) можно уместить весь архив имеющихся программ для РК.
    Остаётся 56 страниц ≈100 Кб. Туда можно поместить различные (наши) оболочки для работы со всеми страницами: Типа ROM-DOS…

    Тем самым, получится, что само ПЗУ (РФ2) как бы и есть, но в нём хранится весь архив программ…
    И не требуется подключать никакие внешние устройства.

    P.S.: А так - стимул есть некоторый…
    (Есть друг за рубежом и он 25 лет назад ещё забросил РК в подвал. Было бы отлично прислать почтой ему такое ПЗУ, которое он бы вставил в панельку, включил в сеть и на экране сразу увидел приглашение с каталогом программ…)

  11. #20

    Регистрация
    11.10.2010
    Адрес
    Запорожье
    Сообщений
    166
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Речь как раз о ПО. Предположим завтра кто то удосужится написать прикольную прогу или игрушку для РК.
    Чтобы засунуть ее в вашу конструкцию нужно разобрать РК достать флешку и прошить туда пункт меню и новую прогу.
    А в SD-контроллере достаточно просто записать файл через картридер с ПК.
    Чувствуете разницу?

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

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

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

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

Похожие темы

  1. Расширение возможностей Evo SDK
    от alone в разделе Программирование
    Ответов: 30
    Последнее: 15.07.2014, 19:43
  2. В поисках 7P3K3PH0N MYZbIKN
    от ALKO в разделе Для начинающих
    Ответов: 4
    Последнее: 03.02.2014, 12:45
  3. Ответов: 11
    Последнее: 16.11.2012, 00:28
  4. Расширение возможностей Ленинград1
    от DVS в разделе Ленинград
    Ответов: 53
    Последнее: 24.05.2009, 18:14

Ваши права

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