User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 20 из 43

Тема: Управление эмулятором из zx-программы

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

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

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

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    По идее через трапы много чего можно сделать. Попросить подрубить оборудование. Включить нужную модель
    модель - некорректно. по хорошему, после смены модели (т.е. пзу и портов памяти) нужен reset. трап, вызывающий reset, бесполезен. если только не модель, а времянки (нафига это кодерам)
    Цитата Сообщение от Vladimir Kladov
    Да хоть движок графический 3D реализовать
    и под этот движок будет ровно 1 игра, написанная автором эмулятора ;-)
    Цитата Сообщение от Vladimir Kladov
    скороть текущую как раз можно сделать чтобы узнавать. Например - узнал, сохранил, выставил новую (большую) сделал дела, врубил прежнюю
    очень сомневаюсь, что будут пользоваться значениями, отличными от normal/max. интерактивную прогу или демо немного ускорить нет смысла (если есть, юзер сам это сделает в настройках эмуля. а принудительно не надо), на реалах будет тормозить. проще тогда писать полноценную писишную версию
    Цитата Сообщение от Spectre
    другое дело созранить IX, вызвать трап, подсчитать CRC полученной строки, сравнить с нужным, восстановить IX. Это уже байт на 50 потянет
    чуть поменьше -
    Код:
      call nn
      db 'emulator traps'
    nn: pop ix
      dw #FFED
    так и знал, что кодеры накинутся считать байты

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

  3. #2

    Регистрация
    23.03.2005
    Адрес
    г. Чернигов, Украина
    Сообщений
    477
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну а чем не катит как в унреале было ? Правильно : можно дизасмить и тп. тоже сомневаюсь в необходимости скоростей нормал и макс... ну мож еще турбо 200% ???

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

    короче Spectre - давай как оно конкретно будет... я всеми конечностями ЗА!

    offt: SPECTRE!!! - как там QC 311B c sprView ???
    Последний раз редактировалось Знахарь; 07.03.2006 в 17:24.

  4. #3

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сразу скажу: по-хорошему это или не по-хорошему, но я нарочно делал так, чтобы модель можно было менять на ходу и по возможности при этом не делать ресета. По крайней мере если ишра уже работает - нафига ей ПЗУ. А по ОЗУ многие ОЗУ и так сходятся. "Смена модели" в этом случае - это просто переход к другой дешифрации портов, другому мультиколору, таймингу, звуку. Мне вообще здорово помогало при отладке мультиколора, когда я еще не знал под какую колору та или иная дема заточена. Правдя в этом случае я тайминг сенял, моделей как таковых у меня тогда и не было. Ресет пусть юзер делает, если хочет.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  5. #4

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    и мне абсолютно по барабану поймет или не поймет конкретный дизассемблер эту инструкцию (мой-то поймет, он умный :) ). Мне важнее, что с префиксом ED - я просто перехожу по таблице jump-ов в эмуляторе, если траповский, то он начинает там чего-то делать, а если не траповский, то и делать ничего не надо. С какой стати я должен добавлять такты ПЦ на анализ дополнительных условий в обычной команде. Она должна сделать то, что ей полагается - за минимальное число тактов, и бежать дальше. Это только кажется, что у эмулятора море времени на эмуляцию кадра (70000 тактов - подумаешь делов-то). А если включен какой-нибудь режим графики типа HQM или Blur motion? А если эмулятор запущен на медленном ПЦ - до 200МГц? Я согласен только на префиксы ED (другие неиспользуемые команды тоже подошли бы, но их не так много, эквивалентных NOP'у). Собственно, я уже и сделал, осталось только добавить, что по IX лежит "та строка". А код правда, чего вы начинаете байты-то считать. Зато уже 99.999999% что никакие ксорки не сломаются. Насчет CRC я не понял. Какое еще CRC? Вот интерфейс, который я реализовал, дословно:

    PUSH IX:LD A,0:LD IX,strap:DEFB $ED,$FF:POP IX
    RRCA:JR NC,@1;если нет перехода, то есть поддержка speed-control, HL='EW'

    PUSH IX:LD A,1:LD IX,strap:DEFB $ED,$FE:POP IX
    ;HL=текущая скорость

    HL=new_speed
    PUSH IX:LD A,0:LD IX,strap:DEFB $ED,$FE:POP IX
    ;установлена новая скорость

    strap: DEFB 'Emulator traps';финальный байт или флаг не нужен в строке

    (Не, ну можно оптимизировать, это я так, для ясности написал по-простому. Уже проглядывается, что это один и тот же код, и его самомодификацией можно переиспользовать, чтобы 3 раза не дублировать).

    Еще одна потенциальная возможность: плагин сделать, который будет дополнительные трапы обрабатывать. Передавать этому плагину адреса блоков памяти и регистров процессора, и пусть с ними делает чего хочет. Возможное применение: трап-заглушка будущей какой-либо фукнциональности, которую проще реализовать на первых порах пока прога отлаживается не кодом в спеке, а кодом в ПЦ. Или трап-заглушка обращения к некоторому внешнему оборудованию, которое еще не готово к реальному подключению к спеку (но есть шанс проэмулировать его на ПЦ или просто обатиться к нему на ПЦ), а протестировать хочется, и софт делать надо (и возможно) одновременно или "до того как".
    Последний раз редактировалось Vladimir Kladov; 07.03.2006 в 21:56.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  6. #5

    Регистрация
    26.01.2005
    Адрес
    Минск
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    строка - нормально.
    Строка - это дико. Одно дело впихнуть STS'кой в код программы 5 байт, включающих турбо, совсем другое дело созранить IX, вызвать трап, подсчитать CRC полученной строки, сравнить с нужным, восстановить IX. Это уже байт на 50 потянет. А значит по памяти их не вспомнишь, да и место выискать придется.

    Тем более еще раз повторюсь: не надо ED и прочие префиксы, если я этот код захочу дизассемблировать, поймет ли его дизассемблер? Плюс в разных ассемблерах разные обозначения недокументированных команд.

    Цитата Сообщение от SMT
    а может, действительно, сделать так, чтобы эмулируемая машина не имела возможности узнать, что сработал TRAP? все нужные функции (даже гипотетические) не требуют возврата данных: скорость, режимы постобработки изображения/звука, раскладка стерео для AY
    Вот, все ближе и ближе к спектрумским программистам.

  7. #6

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Щаз. На что нас хватит, то и поддержим. Что есть анти64? Против чего 64? Видеоэффекты и полный экран включать - это прерогатива юзера все-таки, а не программы спековской. Спековские проги вообще-то для реала должны (гм, как бы) делаться, а не для эмуля. Эмуль я так понимаю - для людей, которые не переносят запаха горелой канифоли, и наоборот для разработчиков железа, чтобы свои идеи воплотить быстрее и аккуратнее.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  8. #7

    Регистрация
    23.03.2005
    Адрес
    г. Чернигов, Украина
    Сообщений
    477
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да ну ты чего, Володь ???

    Это нужно многим нам для 1 лишь АЛАСМА с шрифтом 64 символа. И всё. Чтоб аласм это дело при запуске сам включал, при ОТпуске сам выключал. Это мечта идиота ... Spectre, я правильно говорю???. То же для макс. скорости при компиляции того же аласма. Конечно, лучше в ZXemuASMe - так не все хотят чего-то... А вот остальные лпции... имхо опционально, наверное...
    Последний раз редактировалось Знахарь; 09.03.2006 в 22:15.

  9. #8

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дык не понял. Пусть врубает видеорежим текстовой под АТМ-кой и все дела. Или чего я не дорубаю?
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  10. #9

    Регистрация
    23.03.2005
    Адрес
    г. Чернигов, Украина
    Сообщений
    477
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так под АТМ ку нет асма - Аласма А кто его перепишет ? АлКо ? Не думаю...

    Пытаюсь разъяснить:

    Вот как выглядит просто аласм ... и аласм с фильтром anti64 - совсем другое дело гораздо читабельнее.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	al1.png 
Просмотров:	298 
Размер:	16.7 Кб 
ID:	2806   Нажмите на изображение для увеличения. 

Название:	al64.png 
Просмотров:	325 
Размер:	17.8 Кб 
ID:	2807  

  11. #10

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А, ну так то для unreal-а. У меня такого фильтра не предвидится. Автор аласма жив-здоров, а переделать аласм под АТМ не хочет? Нехорошо это. Есть еще Пентагон с 512х192, тоже высокое разрешение. (Есть еще 384х304, немного поменьше будет, вот сейчас ZX-Guide качаю, - типа кто-то где-то дал кому-то в качетсве ответа на вопрос по этому режиму на него намек. Что-то мне это все не нравится. Электронные СМИ должны бы быть более доступными. Типа нажал в гугле - и загрузил текст. Трудно что ли авторам своих "сми" выложить тексты. Нет, пусть мучаются, загружают в эмулятор и читают в оригинале, бедным квадратным шрифтом, убогой клавишной управлялкой... А главное - не индексирует гугль содержимое архивов, да еще в виде scl-trd-файлов!)
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Ответов: 9
    Последнее: 10.11.2024, 08:26
  2. Замена дисковода эмулятором диска
    от pbogdan в разделе Внешние накопители
    Ответов: 643
    Последнее: 15.02.2018, 15:45
  3. Ответов: 0
    Последнее: 16.02.2006, 11:21
  4. Программы для модемов
    от p@lex в разделе Софт
    Ответов: 21
    Последнее: 11.02.2006, 21:36

Ваши права

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