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

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 27

Тема: Ассемблер для 8080

  1. #11
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от san010101 Посмотреть сообщение
    Я использую минимальную конфигурацию ЮТ88. Во вложении файлы конф-ии, проект и экраны, черный это запуск файла из эмулятора, с цифрами запуск из командного файла.
    Понятно. EMU.ext тоже изменил, значит. Я думал, речь идёт про полную версию.

    В минимальной конфигурации там всё немножко криво. В файле .rku началом загрузки указан адрес 0000, он и грузится по адресу 0000, но для процессора эта память располагается с адреса C000. Нужно наверное в конфиге поменять, чтобы с адреса C000 был действительно кусок памяти с адреса C000. Тогда и файлы, скомпилированные для этого адреса будут грузиться куда надо. И компилировать надо именно с командой ORG 0С000h, иначе переходы будут не туда, куда надо.

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

    Я думаю, надо сделать так:
    Код:
    ....
    mem1 : Memory {
      size=10000
    }
    
    ....
    
    mm : MemMap {
      map[0][0000-03FF].ro=bios[0000]
      map[0][9000-90FF].wo=vmm
      map[0][C000-C7FF]=mem1[C000]
    }
    Неважно, что вся память не будет использоваться, главное эмулятор будет грузить файл туда, куда указано в .rku (т.е. в самом начале должны быть байты C0 00, а не 00 00, как сейчас).

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    В современных версиях rko и ori пытаются грузится в отсутствующую (сейчас) в конфиге mem2
    Совсем забыл про это. Конфигурацию оптимизировал, а загрузку проверить забыл. Жаль, что нужно эмуль править, если в EMU.ext просто убрать строчки с mem2, то файлы будут грузиться в нулевую страницу. Задать loadaddr=10000 тоже нельзя (обрезается до word), да и для .rko нужно было бы ещё 4 байта после E6 как-то пропустить, тоже не предусмотрено пока.

  2. #12
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от san010101 Посмотреть сообщение
    Во вложении файлы конф-ии, проект и экраны
    а WAAddIns.Ini? из папки winasm\addins?
    ++++++++++
    Да, в принципе, не нужно, так как режим запуска эмулятора в данном проекте не используется.

    1.Попытка запуска выполняется так: C:\ASM2\ut88\Emu\EMU.exe %asm_name%.rku
    В проекте есть файлы ut88_00.rku и ut88_01.asm,
    т.е. делается попытка выполнить команду: C:\ASM2\ut88\Emu\EMU.exe ut88_01.rku,
    а такого rku нет. Т.е., это нужно исправить на:
    C:\ASM2\ut88\Emu\EMU.exe %out_name%
    Там же есть птичка "запускать через консоль" - она несущественна, но ее лучше убрать, т.к.
    это не консольное приложение вынь32. Не знаю, как вынь>ХР вообще к ней отнесется.

    2.Тип проекта установлен "прочий неисполняемый", поэтому кнопка запуска вообще блокируется.
    Нужно установить "прочий исполняемый".

    3.Возможно, что при запуске самого эмулятора от себя и из батника влияют разные конфиги,
    поэтому он может себя по разному вести, но здесь у меня уже только догадки.
    Последний раз редактировалось shoorick; 08.02.2016 в 18:32.

  3. #13
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проверил, все тот же черный экран когда грузишь из под эмулятора.
    Изменения, теперь при загрузке с командной строки программа запускается автоматически (не нужно выбирать директиву 6 (запуск программы с адр. С000)) и в дальнейшем все директивы работают и программа тоже.
    При запуске из эмулятора экран черный.
    Вложения Вложения
    Последний раз редактировалось san010101; 08.02.2016 в 19:32.

  4. #14
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shoorick Посмотреть сообщение
    3.Возможно, что при запуске самого эмулятора от себя и из батника влияют разные конфиги,
    поэтому он может себя по разному вести, но здесь у меня уже только догадки.
    Запуск из командной строки - это то-же самое, что и открытие через File/Open. Эмулятор попытается найти в EMU.ext подходящее расширение файла и запустить соответствующий ему конфиг. При этом, в зависимости от режима mode, будут выполнены разные действия, но в целом это просто загрузка файла в память и запуск его уже в эмулируемом компьютере.

    Есть другой способ загрузки. Это когда эмулируется чтение с магнитной ленты. Чтобы использовать его, нужно в мониторе (или другой программе) дать команду чтения с магнитофона. Как правило, если есть перехват процедур чтения/записи, автоматически появится окно открытия файла, и тогда байты из выбранного файла подставятся как результат выполнения процедуры чтения.

    Это обычно гораздо быстрее, чем полная эмуляция чтения с магнитофона, т.е. когда эмулируется состояние порта магнитофона (это уже третий способ, когда сначала выбирается файл кнопкой на тулбаре, той что с иконкой, похожей на кнопку воспроизведения на магнитофоне, а затем вводится команда чтения с магнитофона). К этому же варианту эмулятор переходит, если отменить диалог открытия файла из предыдущего способа.

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

    Цитата Сообщение от san010101 Посмотреть сообщение
    При запуске из эмулятора экран черный.
    Всё, нашёл. Подтверждаю - глюк эмулятора, не находит битмапы после смены текущего каталога. Ошибка в старом плагине Indicator.dll
    Убедиться можно, если поместить .rku в каталог рядом с EMU.exe, оттуда всегда работает.

  5. #15
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разместил файлы в корне, заработало.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	20150615_162122111.jpg 
Просмотров:	121 
Размер:	28.4 Кб 
ID:	55958  

  6. #16
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а если разместить там файлы проекта (с указанными исправлениями в свойствах проекта) - будет ли работать из студии?

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

  8. #17
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Работает если в проекте есть папка UT88 от эмулятора.
    В настройках студии включил прочий исполняемый файл.
    Во вкладке запуск ни чего не прописывал,
    если указывать C:\ASM2\ut88\Emu\EMU.exe %out_name%
    то изменений нет.
    Похоже что каталог UT88 от эмулятора нужно включать в проект иначе не запускается картинка.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	scr1.jpg 
Просмотров:	106 
Размер:	26.3 Кб 
ID:	55959  

  9. #18
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от san010101 Посмотреть сообщение
    Разместил файлы в корне, заработало.
    Нет, сами битмапы не надо перемещать. Просто файл ut88_00.rku можно размещать в корне, тогда после диалога открытия файла текущий каталог останется каким и был, и всё будет найдено. Но можно поступить иначе: указать в файле конфига полный путь к файлам битмапов, тогда должно работать в любом случае. Сейчас путь относительный (не известно же, куда эмуль распакуют). Я везде добавляю путь, по которому расположен EMU.exe, а плагин Indicator.dll давно уже не менялся и там осталось без этой фичи.

  10. #19
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хорошо. Попробую. Попутно вопрос. В версии конфига с дисплей модулем есть поддержка СР/М и квазидиска?

    Отправлено с моего A0001 через Tapatalk

  11. #20
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от san010101 Посмотреть сообщение
    В версии конфига с дисплей модулем есть поддержка СР/М и квазидиска?
    Там сейчас по-минимуму: проц, память, ПЗУ, одна ВВ55, раскладка памяти тривиальная (64Кб, E800 экран, F800 биос). Есть версии СР/М, адаптированные для ЮТ-88 с 32Кб и с 64Кб. Там квазидиск располагается в основной памяти после кода СР/М. Так что никакой поддержки не требуется. Правда, я не понимаю, как можно работать в голом СР/М. Это, видимо, было сделано только для ознакомления с этой системой.

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

    Посмотрел, для освежения в памяти, файлы cpm35.rku и cpm64.rku. Первый ничего не пишет, видимо, это как раз и есть вариант с квазидиском в основном ОЗУ, а второй пишет что-то про 256Кб. Я не помню, разбирался я с ним, или нет, и если разбирался, то почему не сделал квазидиск на 256Кб.

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

    Первый тоже пишет, запускать надо только с 4A00h. Как и следовало из названия, 35К CP/M VERS 2.2

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

    И надо перед запуском заполнять область 5000-53FF байтом E5, т.е. форматировать диск

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

    Посмотрел второй, вспомнил. Там включается через порт 40h один из банков памяти, доступ к которым идёт через стековые команды PUSH/POP (аналогичный квазидиск в Векторе-06ц). Для Вектора я делал карту памяти в плагине, чтобы учитывать стековые команды. Для ЮТ-88 - поленился.

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

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

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

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

Похожие темы

  1. Кросскомпилятор Си под 8080
    от vinxru в разделе Разное
    Ответов: 108
    Последнее: 18.10.2016, 16:29
  2. Ассемблер 8080
    от Kakos_nonos в разделе Утилиты
    Ответов: 0
    Последнее: 21.09.2011, 23:35
  3. схема АОН на 8080/z80
    от sergey2b в разделе Разный софт
    Ответов: 7
    Последнее: 07.02.2010, 22:43
  4. An 8080/Z80 C Compiler
    от breeze в разделе Программирование
    Ответов: 1
    Последнее: 18.08.2005, 06:54

Ваши права

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