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

User Tag List

Страница 76 из 78 ПерваяПервая ... 72737475767778 ПоследняяПоследняя
Показано с 751 по 760 из 777

Тема: Робик: схема, фото, обсуждения, расширения

  1. #751
    Member
    Регистрация
    19.05.2011
    Адрес
    Сидней, Австралия
    Сообщений
    115
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Slider Посмотреть сообщение
    А знаете ли вы, что у Робика ЕСТЬ ТЕНЕВОЕ ПЗУ? Включается с помощью команды OUT 15,0. В результате, ПЗУ можно менять вручную (ну, т.е. POKE 1366,0 заносит реально в ячейку 1366 ноль), как следствие можно, к примеру, поменять процедуру загрузки с ленты и грузить в ТУРБО-РЕЖИМЕ!!! Кстати, несовместимость некоторых игр с Робиком лечилась именно с помощью режима теневого ПЗУ - подгружалось с кассеты ПЗУ фирменного спектрума вместо ПЗУ Робика.
    Есть ли у Вас пример кода на ассемблере либо на бейсике, который делает с Робиком подобную подмену ПЗУ? Что-то у меня ничего не получается, Робик всегда виснет при команде OUT 15,0. Спасибо!

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

  3. #752
    Member
    Регистрация
    30.06.2011
    Адрес
    г. Кривой Рог
    Сообщений
    74
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я так понимаю что сначала загрузчик с ленты полностью размещается в оперативной памяти, затем происходит out 15, 0, и только потом файл пзу записывется с адреса 0x0000. Когда -то у меня была такая кассета для робика, скорее всего не сохранилась, посмотрю когда поеду к родителям.

  4. Этот пользователь поблагодарил ale2k за это полезное сообщение:

    atmavan (16.06.2021)

  5. #753
    Veteran Аватар для lisica
    Регистрация
    19.12.2008
    Адрес
    Черкассы
    Сообщений
    1,573
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пишется с кассеты в память, с адреса 49152, образ ПЗУ, потом OUT 15,0 и переброс по LDIR из памяти в область ПЗУ, следующая комманда JP 0
    Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
    Pentagon 128(1991г.)+YМ
    программатор 2732-27512.


  6. Этот пользователь поблагодарил lisica за это полезное сообщение:

    atmavan (17.06.2021)

  7. #754
    Member
    Регистрация
    19.05.2011
    Адрес
    Сидней, Австралия
    Сообщений
    115
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lisica Посмотреть сообщение
    Пишется с кассеты в память, с адреса 49152, образ ПЗУ, потом OUT 15,0 и переброс по LDIR из памяти в область ПЗУ, следующая комманда JP 0
    спасибо!
    я же все правильно делал, только слона-то не заметил, забыл саму команду LDIR дописать для переброски назад))
    Вот такой код сработал для меня.
    После запуска могу менять содержимое ПЗУ

    LD HL,0
    LD DE,30000
    LD BC,16384
    LDIR
    LD A,0
    OUT (15),A
    LD HL,30000
    LD DE,0
    LD BC,16384
    LDIR
    JP 0

    а еще, первые 5 байт остаются неперезаписываемыми почему-то
    Последний раз редактировалось atmavan; 17.06.2021 в 03:45.

  8. #755
    Veteran Аватар для lisica
    Регистрация
    19.12.2008
    Адрес
    Черкассы
    Сообщений
    1,573
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от atmavan Посмотреть сообщение
    неперезаписываемыми почему-то
    Там, в коде калькулятора, есть ошибка, И из за неё перезаписываются первые байты теневого ПЗУ. Стандартное ПЗУ не возможно так просто перезаписать.
    Попробуйте после нажатия ресет, сделать OUT 15,0 и rendomise USR 0 увидите. Теневое, до нажатия ресет, должно уже быть в памяти.
    Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
    Pentagon 128(1991г.)+YМ
    программатор 2732-27512.


  9. #756
    Member
    Регистрация
    19.05.2011
    Адрес
    Сидней, Австралия
    Сообщений
    115
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    что сделал я
    запустил такую программу на Робике:
    LD HL,0
    LD DE,30000
    LD BC,16384
    LDIR
    LD A,0
    OUT (15),A
    LD HL,30000
    LD DE,0
    LD BC,16384
    LDIR
    JP 0

    Произошел сброс
    После чего я могу написать POKE 5,1 (а там было не 1) и потом прочитать оттуда 1. До запуска программы такое сделать было невозможно, так как ПЗУ не перезаписывается, только читается обычно. Но такое не прокатывает с байтами по адрессам от 0 от 4. Значения переписать нельзя, что там есть, то есть.

    >Попробуйте после нажатия ресет, сделать OUT 15,0 и rendomise USR 0 увидите. Теневое, до нажатия ресет, должно уже быть в памяти

    Когда бы я не нажал Ресет на Робике (две клавишы Ресет), Робик всегда возвращается в изначальное состояние, с обычным не перепезаписываемым ПЗУ, то есть мне нужно по новой проводить подобную операцию переброса информации ПЗУ в теневое ПЗУ. Ну по крайней мере мне все так показалось.

  10. #757
    Veteran Аватар для lisica
    Регистрация
    19.12.2008
    Адрес
    Черкассы
    Сообщений
    1,573
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от atmavan Посмотреть сообщение
    то есть мне нужно по новой проводить подобную операцию переброса информации ПЗУ в теневое ПЗУ.
    Нет, теневое сбрасывается, только после выключения питания. После ресет оно остаётся. Проверьте. Сбрасывается только триггер OUT 15,0 (ТМ2)
    Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
    Pentagon 128(1991г.)+YМ
    программатор 2732-27512.


  11. Этот пользователь поблагодарил lisica за это полезное сообщение:

    atmavan (26.06.2021)

  12. #758
    Member
    Регистрация
    19.05.2011
    Адрес
    Сидней, Австралия
    Сообщений
    115
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только заметил Ваш ответ и сразу проверил на своем Робике. Просто круто. Я не ожидал. Как я сам не проверил - не знаю. Видно посмотрел что ОЗУ сбросилось на стандартное и все. А попробовать снова OUT 15,1 и увидеть измененное ПЗУ - не делал! Теперь можно будет поэкспериментировать со скоростными загрузками (2х и 3х). Будут результаты - напишу. Благодарю!

  13. #759
    Master
    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    966
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На робике запись в теневую память происходит всегда, переключение работает только на чтение, поэтому можно сделать
    LD HL, 0
    LD DE, 0
    LD BC, 16384
    LDIR
    LD A, 1
    OUT (15),A
    RET

    Там кстати и видеоконтроллер устроен точно так-же, запись происходит одновременно в две страницы, а видеоконтроллер потом читает при выводе на экран одну а процессор вторую.
    Последний раз редактировалось ram_scan; 29.06.2021 в 16:34.

  14. #760
    Junior Аватар для Rolex
    Регистрация
    29.03.2006
    Адрес
    Запорожье
    Сообщений
    25
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добрый день, год назад стал счастливым обладателем Робика 1990 года выпуска, с прошивкой V02 (точно такой, какой был в моём детстве, в 1993-1994). Над подключением к VGA как раз заморачиваюсь, но "вслепую" удалось сдампить прошивку (через SAVE и line-in компа). Т.к. в сети есть только V03 - выкладываю, может кому интересно

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

    а еще, первые 5 байт остаются неперезаписываемыми почему-то
    Баг Spectrum BASIC. Лично не проверял, но говорят что правится заменой байта по адресу #33FD с 00 на 2B
    Вложения Вложения

  15. Этот пользователь поблагодарил Rolex за это полезное сообщение:

    cherkasy (16.11.2021)

Страница 76 из 78 ПерваяПервая ... 72737475767778 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ищу схему расширения до 1024
    от dM_GBG в разделе Pentagon
    Ответов: 5
    Последнее: 16.02.2009, 19:21
  2. Куплю РОБИК или отдам в замен...
    от KingArthur в разделе Барахолка (архив)
    Ответов: 23
    Последнее: 27.12.2008, 19:48
  3. Ответов: 242
    Последнее: 11.09.2008, 17:18
  4. Как подключить Робик?
    от LegosZX в разделе Несортированное железо
    Ответов: 12
    Последнее: 01.02.2008, 13:42

Ваши права

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