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

User Tag List

Страница 2 из 9 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 87

Тема: ROM-disk для Специалиста

  1. #11
    zx_
    Гость

    По умолчанию

    PVV, бейсики здесь правленные https://zx-pk.ru/threads/10345-spetsialist-bejsik.html

    и еще игру Джет Сет, барсик принес, дай бог ему здоровья
    https://zx-pk.ru/threads/27540-lenin...sta/page2.html

  2. #12
    Activist
    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    351
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не забываем, что ПЗУ на 32КБ, а программа должна быть меньше, тк нужно еще 16 байт на описатель заголовка. Джет-сет сам на 32КБ только...
    Образ я то собрал тестовый, проблема в другом, а монитор то правильный под РОМдиск есть?! в журнале он приведен с ошибками:

    никого не смущают одинокие 'С' ? Монитор с сайта fifan_а подставляет все C0, но это ошибка.
    Надо в отладчике разбираться.
    Надо еще посмотреть как ПЗУ к ВВ55 подключена, совпадают ли адреса с РК-86, а то я конфиг РОМдиска из РК взял, но не сверял.

    ------------
    удалил вложение, ниже есть исправленное
    Последний раз редактировалось PVV; 04.10.2019 в 19:15.

  3. #13
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    Надо еще посмотреть как ПЗУ к ВВ55 подключена, совпадают ли адреса с РК-86, а то я конфиг РОМдиска из РК взял, но не сверял.
    данные на порт А, адрес - на порты В и С ВВ55.

  4. #14
    Master Аватар для Pluto
    Регистрация
    26.01.2018
    Адрес
    г. Долгопрудный
    Сообщений
    903
    Спасибо Благодарностей отдано 
    175
    Спасибо Благодарностей получено 
    97
    Поблагодарили
    67 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    Образ я то собрал тестовый, проблема в другом, а монитор то правильный под РОМдиск есть?! в журнале он приведен с ошибками:
    Спасибо!
    Попробую прошить и запустить
    Монитор в архиве с сайта fifana?

  5. #15
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    PVV, небольшое увлекательное расследование с заглядыванием в коды Монитор-2, для которого и приведены эти коды обслуживания ROM диска легко восстанавливают изначальный вариант:

    Однако в ячейке 0C923H должен быть код 0C9H (RET), который кстати уже есть в теле Монитор-2. Видимо этот байт лишний в данной таблице. Если этот байт забить 00H (NOP), то после копирования строки директории программа вывалится в кишки монитора и дальнейшее поведение будет непредсказуемо.

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

    PS В дампе первый байт 01H вместо 11H - это моя ошибка. Не обращайте внимание. В дизасме справа всё правильно.

  6. Эти 4 пользователя(ей) поблагодарили HardWareMan за это полезное сообщение:

    fifan (03.10.2019), Pluto (03.10.2019), PVV (03.10.2019)

  7. #16
    Activist
    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    351
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо. Часть переходов я раскопал, а вот куда они ведут в мониторе не знал. Особенно CALL 0xCC0C что такое. Однако все еще не работает этот патч. Имя программы пишет, в монитор по М выходит, но на N и Y глючит. Я поправил описатель в образе РОМдиска (последние 4 байта образа FF 46 00 00) , и первую программу загрузил правильно, она запустилась, но надо разбираться дальше.
    ------------------
    надо изменить на:
    C8E2 E5 PUSH H
    тогда работает N
    Последний раз редактировалось PVV; 03.10.2019 в 14:08.

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

  9. #17
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    надо изменить на:
    C8E2 E5 PUSH H
    тогда работает N
    А, вот куда 10Н девается. Теперь точно всё чётко: 01 => 11, F5 => E5 и контрольная сумма остаётся какой была. Что касается клавиш, там всё прикольнее и проще:
    Код:
    C8FC  CD 03 C8   CALL 0C803H
    C8FF  D1         POP  D
    C900  FE 4E      CPI  4EH
    C902  CA D9 C8   JZ   0C8D9H
    C905  D8         RC
    C906  F9         SPHL
    C907  C1         POP  B
    C908  D1         POP  D
    C909  E1         POP  H
    C90A  31 FD 7F   LXI  SP,7FFDH
    C90D  00         NOP
    C90E  00         NOP
    Сначала вводится символ, он попадает в [A]. Затем восстанавливается уровень стэка, компенсируя первый PUSH по адресу C8E2 а затем считанный код символа сравнивается с 4EH, а это ASCII 'N'. Если код символа равен - то идём на второй круг, если код ASCII меньше 4EH - выходим через RC (RET C). А в остальных случаях идем дальше, где значение в HL заносится как вершина стэка (должно указывать на параметры запускаемой программы), откуда идет прогрузка всех регистров и однократный вызов подпрограммы считывания данных с ROM диска, которая завершаясь через RET выйдет уже в загружаемую программу. Смысл кнопок в том, что по таблице ASCII 'M' < 'N' < 'Y'. Но будут работать все кнопки согласно весу ASCII относительно кода 'N'.

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



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

    А не, автозапуска не происходит, ведь стэк обнуляется до стандартного мониторного адреса. Только загрузка кода в память. Статью надо читать внимательнее:


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

    Цитата Сообщение от PVV Посмотреть сообщение
    Я поправил описатель в образе РОМдиска (последние 4 байта образа FF 46 00 00) , и первую программу загрузил правильно, она запустилась, но надо разбираться дальше.
    Нужно делать строго как описано в статье. Код вычисляет строку от 0000H, делая -0010H за каждый проход цикла вывода имени и свойств файла. Т.е. сначала 7FF0H, затем 7FE0H и так далее (старший бит игнорируется в адресации ROM диска), с каждым нажатием на 'N', но это перед выводом. А на момент запуска этот указатель в начале параметров, откуда уже через серию POP они и попадают в регистры. Это плата за простоту и компактность кода. Порядок же описываемых программ действительно не важен.
    Последний раз редактировалось HardWareMan; 03.10.2019 в 14:46.

  10. #18
    Activist
    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    351
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ROM-disk для Специалиста

    Предлагаю модераторам перенести сообщения 156-172 из темы Линевский Специалист сюда, дабы не оффтопить там. - СДЕЛАНО

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

    Во вложении исправленный монитор, им fifan_у следует заменить тот файл, что выложен сейчас у него на сайте.
    Еще во вложении продублирован конфиг, который не изменился от выложенного ранее и исправленный образ диска.
    Касательно образа, я не вполне понял, для чего нужно старший бит адреса выставлять в 1 (я это не делаю, сейчас он в 0), по указанию в статье? или таким образом в этом цикле:
    C90F 22 01 F0 SHLD 0xF001
    C912 3E 0E MVI A,0x0E
    C914 32 03 F0 STA 0xF003
    C917 3A 00 F0 LDA 0xF000
    C91A 02 STAX B
    C91B 23 INX H
    C91C 03 INX B
    C91D CD 27 C4 CALL 0xC427 ; cmp HL == DE
    C920 C2 0F C9 RNZ 0xC90F

    планировалось старшим битом выключать по /OE ПЗУ? так здесь, похоже, ошибка, тк мы выключаем ПЗУ, а след командой ее читаем, и для древних, медленных, ПЗУ это похоже работать будет, то для современных и быстрых получим мусор... Плюс еще и 32КБ возможной адресации теряем. Предлагаю этот
    C912 3E 0E MVI A,0x0E
    C914 32 03 F0 STA 0xF003

    кусок кода выбросить, и получим РОМдиск на 64КБ. Такая доработка еще на РК-86 делалась, когда /OE и /CS ПЗУ всегда в нуле.

    PS в образе диска LRUNNER я странный зашил, он и в оригинале так работает, те не работает по факту, только экраны меняются...
    Вложения Вложения
    • Тип файла: zip ROM1.zip (20.6 Кб, Просмотров: 62)
    Последний раз редактировалось fifan; 04.10.2019 в 13:14.

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

    Pluto (03.10.2019)

  12. #19
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    PVV, схему посмотри и догадайся:

  13. #20
    Master Аватар для Pluto
    Регистрация
    26.01.2018
    Адрес
    г. Долгопрудный
    Сообщений
    903
    Спасибо Благодарностей отдано 
    175
    Спасибо Благодарностей получено 
    97
    Поблагодарили
    67 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    Я поправил описатель в образе РОМдиска (последние 4 байта образа FF 46 00 00).
    ------------------
    надо изменить на:
    C8E2 E5 PUSH H
    тогда работает N
    Перезаписал Монитор, исправил прошивку РОМ-диска.



    При вводе директивы X комп виснет

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

    Отличается схема подключения 27С256 и 28С256 ?
    Ставил и одну и другую.
    Последний раз редактировалось Pluto; 03.10.2019 в 20:29.

Страница 2 из 9 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Музыкальная система для Специалиста
    от ivagor в разделе Специалист
    Ответов: 4
    Последнее: 20.07.2022, 21:47
  2. Элита для Специалиста
    от jerri в разделе Специалист
    Ответов: 77
    Последнее: 20.11.2021, 20:22
  3. OriNET для Специалиста ?
    от SYR-ALEX в разделе Специалист
    Ответов: 22
    Последнее: 21.07.2017, 07:40
  4. Advanced ROM Manager (ROM Switvcher + Prof. ROM)
    от Alex_NEMO в разделе Память
    Ответов: 4
    Последнее: 04.10.2010, 11:43
  5. ROM-DISK и Кеш
    от AlexFantasy в разделе Память
    Ответов: 11
    Последнее: 23.02.2010, 19:31

Ваши права

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