User Tag List

Страница 7 из 30 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 361

Тема: Секреты и трюки программирования (в том числе и игр) для РК-86

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    А кнопка рус/лат где тут?
    Таблица описывает что будет на выходе порта В при опросе порта А. Как выше заметили, остальные кнопки в порту С, который настроен одним полубайтом на вход, а другим на выход. Опросить их ещё проще - просто прочитать из порта С (0x8002).
    В общем, не успел я про них написать и тем более табличку составить. Ночь была, да я и сам на тот момент не разобрался в схеме, какие биты порта С за что отвечают = ))

    - - - Добавлено - - -

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

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

  3. #2

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    покопался в схеме
    конечно книжачка
    Домашний компьютер Г.В.Зеленко
    сильно помогла в восприятии

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

    а теперь вопросы

    В РК можно программно мигать светодиодом????

    так это просто шикарно!!!

    у ИК57 есть доступ ко всем портам и пзу о_О?????
    можно перекидывать содержимое портов и пзу на экран????


    у РК с 16К рамы
    в окне 4000-7FFF так понимаю не зеркалиться 0000-3FFF
    что будет читаться от туда FF? или 00?


    исходя из этого возникает вопрос
    КАКОГО!!!! мужского полового члена в 16к версии нельзя было кинуть проводок
    с 9 ноги DD10.3 на 4 ногу DD10.2 (ну или любая другая манипуляция(я не железятник))

    получить этим зеркало в окне 4000-7FFF

    и использовать ОДНО!!!!! ПЗУ(32К версию) для ОБОИХ КОМПОВ!!!!!????? о_О
    а при добавлении еще 16К проводок снимать

    я то думал адреса экрана и переменных
    как то заметно отличаются
    а нифига (кому там говоришь памятник ставить?)

    по моему дебилизм разработчиков не в отдавании 24К адресного пространства под порты
    а именно в использовании двух версий пзу

    - - - Добавлено - - -

    Цитата Сообщение от barsik Посмотреть сообщение
    а мнемоники пишу большими буквами, чтобы не портить зрение
    а мне наоборот намного тяжелей ее прочитать

    всякий текст


    я когда вижу такое
    (особенно меня бесят табы между)

    Код:
    AF825:	LD	A,(0)		; ждём команды с клавиатуры
    	LD	(0),A
    
    	LD	A,(PPA_KL+2)	; проверим нажали ли на спец.клавишу
    	LD	B,A
    	AND	80H
    	JP	Z,KEY_RL	; если нажата РУСЛАТ
    	LD	A,B
    	AND	40H
    	JP	Z,AF8F6		; если нажата УС
    	LD	A,B
    	AND	20H
    	JP	Z,AFA9F		; если нажата СС
    	JP	AF825
    исправляю на


    Код:
    af825:    ld a,($0000)        ; ждём команды с клавиатуры
        ld ($0000),a
    
        ld a,(ppa_kl+2)    ; проверим нажали ли на спец.клавишу
        ld a,a
        and $80
        jp z,key_rl    ; если нажата РУСЛАТ
        ld a,b
        and $40
        jp z,af8f6        ; если нажата УС
        ld a,b
        and $20
        jp z,afa9f        ; если нажата СС
        jp af825
    но сами шестнадцатеричные цифры я пишу большими
    Код:
    ld a,$FF
    и их сразу видно
    и они заметно отличаются от меток, переменных компилятора

    не помню чтоб у меня хоть раз возникало спутывание l и 1
    я чаще исправляю увиденную опечатку забывая сменить раскладку
    (не если бы она менялось с первого раза... и когда их у меня...)
    а потом не замечаю что там какое нибудь jз defи lв напечаталось...
    [свернуть]
    Последний раз редактировалось NEO SPECTRUMAN; 12.03.2017 в 16:00.

  4. #3

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от A_AVL Посмотреть сообщение
    Строки от столбцов в клавиатуре РК разделены диодами. В такой конфигурации можно отслеживать хоть все нажатые кнопки.
    Да, это я со Специалистом путаю.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    у ИК57 есть доступ ко всем портам и пзу о_О?????
    можно перекидывать содержимое портов и пзу на экран????
    Можно-то можно, но это бессмысленно - скорее всего даже увидеть ничего не получится из-за наличия управляющих кодов F0-FF

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    у РК с 16К рамы
    в окне 4000-7FFF так понимаю не зеркалиться 0000-3FFF
    что будет читаться от туда FF? или 00?
    82h скорее всего - слово состояния процессора, так как на РК не использовались шинные формирователи

  5. #4

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Можно-то можно, но это бессмысленно -
    ну это
    1. нужно эмулировать
    2. нужно эмулировать
    3. нужно эмулировать

    иначе эмулятор не truЪ

    а 4-е
    если бы вместо этого для DMA
    вместо 8000-FFFF было зеркало 0000-7FFF
    это можно было бы попытаться использовать для ускорения кода

  6. #5

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

    По умолчанию

    Отчего в 16К версии нельзя было кинуть проводок ..., чтобы
    получить этим зеркало в окне 4000-7FFF и использовать одно ПЗУ F800 (32К версию) для ОБОИХ КОМПОВ !
    Здравая мысль. Но опоздала на 30 лет. Надо было её опубликовать в ж.РАДИО в 1987 году.

    Всего было не менее 100.000 владельцев РК86 и клонов. В клонах ОЗУ много - 32-64 кб. Предположительно, только наборы для самосборки шли в комплектации 16 кб. Среди самодельщиков первой волны 1986-1990 память в 16 кб не имел никто, т.к если спаял весь компьютер, то уж лишние 8 корпусов припаять сумеешь. Оттого программ для версии 16К мало, всего 20%, т.к они были никому не нужны, их никто не делал и они не сохранились.

    Среди 25.000 людей купивших промышленный набор с ОЗУ 16К никто не догадался сделать "зеркальность", т.к готовые РК покупали уже не радиолюбители, а безрукие и некомпетентные отцы семейств, которые с трудом отличали байт от бита. Да и те обычно ставили расширение ОЗУ и перешивали ПЗУ на 32К.

    "Зеркальность" памяти позволила бы на РК с ОЗУ 16К прогонять игры с размером до 3500, т.е, как минимум, половину программ. Но это должны были сделать авторы, т.к при этом возникают проблемы с RAMTOP для текстового редактора и бейсика (они определяют сколько ОЗУ, запросив RAMTOP).

    Конечно, сейчас "кидаться тапками" в авторов некрасиво. Ведь они были первыми. Авторы РК сделали много ошибок, хотя и не были новичками. Они занимались компами на КР580 профессионально с 1978. И в 1980 уже сделали МИКРО-80 и опубликовали его в 1982 в журнале РАДИО. Есть воспоминания одного из авторов о разработке МИКРО-80 и РК86. http://zxbyte.ru/history.htm
    Последний раз редактировалось barsik; 12.03.2017 в 17:02.

  7. #6

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Но это должны были сделать авторы, т.к при этом возникают проблемы с RAMTOP для текстового редактора и бейсика (они определяют сколько ОЗУ, запросив RAMTOP).
    проверка наличия зеркальности каких то 8 команд...
    можно и меньше если наплевать на надежность...

    - - - Добавлено - - -

    Цитата Сообщение от barsik Посмотреть сообщение
    Только зачем Вам мышь, если экран текстовый?
    о_О
    а как же мышь в любом nc, vc, dn в досе????
    при текстковом режиме

    удобно же!

    хотя я вырос и без нее
    и никаких трудностей не испытывал

    qaopm наше фсеа!!!
    намного лучше чем дубовый джойстик
    Последний раз редактировалось NEO SPECTRUMAN; 12.03.2017 в 20:06.

  8. #7

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

    По умолчанию

    Способ экономии размера экранного буфера при высоте знакоместа в 8 линий, изобретённый vinxru в основном основан на том, что в невидимых строках не выполняется видеовывод и соответственно, регенерация ОЗУ. Перерыв в регенерации при НЕ-выводе 5-ти строк составляет 5*64.5*10 + 2 * 64.5 = 3.354 МСЕК (за 2 линии ОЗУ регенерируется).

    Максимальный период регенерации у РУ3/РУ5 составляет 2 МСЕК. Таким образом РУ3/РУ5 не будут правильно регенерированы. Но мы все знаем, что даже если выключить питание, а затем закоротить его на секунду на землю, некоторые ОЗУ упорно не хотят забывать (с этим сталкивался, когда ЭД не хотел забывать флаг форматированности диска при кратковременном выключении питания). Т.е в реальности времена хранения без регенерации намного превосходят паспортные данные.

    Если ОЗУ не гибнет при НЕ-регенерации 5-ти строк, то этот способ можно использовать для экономии ОЗУ и ускорения работы - меньше тактов ПДП и во время обратного хода по кадрам процессор работает без тормозов.

    Поэтому можно установить число строк на обратный ход луча по кадрам, не 1, как в базовом режиме, а 4, оставив не 30 отображаемых строк, а только 26. Перерыв регенерации будет даже на строку меньше (4 вместо 5). Адрес начала экрана надо установить не 76D0, а 76D0 + 78*2. Смещение координат по строкам - не 3, а 1. Все позиции экрана остаются на месте, только часть бордюра по кадрам станет аппаратной. Размер экрана сократится на 78*4= 312 байт.

    Всё вышесказанное чётко объясняет почему схемотехника РК86 такая. Авторы, применив динамические ОЗУ и отказавшись от специальных схем регенерации, просто вынуждены были растянуть экран по вертикали до 30 строк (включив тем самым бордюр в экран) и имитировать бордюр программно. Они действовали по РТМ, зная, что при большом числе строк на обратный ход луча по кадрам, будет перерыв регенерации и потеря данных в ОЗУ. Поэтому они и применили минимальное число строк на обратный ход луча и программное формирование "гашения по кадрам".

    Таким образом авторы РК86 оправданы от обвинений в идиотизме. Однако тот же программный способ они сдуру применили и для формирования ССИ и бордюра по строкам, затемнив по 7 знакомест слева и справа от строки, за счёт заполнения нулями. Хотя тут это уже не объясняется ничем, кроме желания с'экономить 1 корпус 155 серии.

    Применение аппаратного ССИ и аппаратного бордюра по строкам, ускорило бы прогон, с'экономило бы 14*30=420 ячеек памяти, но главное - позволило бы произвольно программно менять режим дисплея, т.е число символов в строке. А сейчас мы жёстко связаны необходимостью иметь 78 символов в строке. Кстати ровно столько надо, чтобы частота строк была правильной. Строчный период: 78*(6:8) + 6*(6:8)= 64.5 МКСЕК.

    Мой личный РК86 находится сейчас в стадии большой реконфигурации, поэтому я не могу сейчас проверить сокращение числа строк на практике.
    Последний раз редактировалось barsik; 02.01.2018 в 21:40.

  9. #8

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите эмуль с отладчиком и правильной эмуляцией. Пользовался Emu80 3.13 но в хелпе про отладчик тихо, наверное там его нет, а гугл выдает только что то на js в которое свое загрузить не понятно как. Есть еще b2m, но это на крайний случай, очень уж он дубовый (особо раздражает что сбрасывает брейки по любому поводу).

  10. #9

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Подскажите эмуль с отладчиком и правильной эмуляцией. Пользовался Emu80 3.13 но в хелпе про отладчик тихо, наверное там его нет
    Ну так попробуй Emu80 v.4 - как раз только позавчера выложил тестовую сборку.
    http://zx-pk.ru/threads/27488-emu80-v-4.html
    Буду рад бета-тестированию.

  11. #10

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Буду рад бета-тестированию.
    Я просто запускаю http://zx-pk.ru/threads/27478-sekret...l=1#post904186
    И получаю в вашей версии немного не ту картинку что в 3.13 и b2m, как должно быть правильно я не в курсе.

    - - - Добавлено - - -

    Запускаю http://rgho.st/8ZmKxHQL8

    - - - Добавлено - - -

    Цитата Сообщение от Pyk Посмотреть сообщение
    Ну так попробуй Emu80 v.4
    Ну и отладчика я тоже чет не нашел. Как его вызвать?

Страница 7 из 30 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 210
    Последнее: 26.07.2019, 11:45
  2. Ответов: 6
    Последнее: 07.02.2016, 11:55
  3. Трюки с контроллером FDD 82077
    от Titus в разделе Утилиты
    Ответов: 4
    Последнее: 10.06.2011, 19:17

Ваши права

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