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

User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 43

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

  1. #21
    Activist
    Регистрация
    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.

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

    По умолчанию

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

  3. #23
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    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]

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

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    Вот интерфейс, который я реализовал, дословно:

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

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

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

    strap: DEFB 'Emulator traps';финальный байт или флаг не нужен в строке
    Ну если так удобнее авторам эмуляторов, то делайте так. Я, как писал в первом сообщении, поддержу любой стандарт. Только один вопрос: обязательно ли проводить проверку наличия трапов (мне было бы удобнее не проводить) перед началом работы с ними?

    Осталось определится с нужными операциями и их номерами. Мой вариант такой:

    Memory model: PENTAGON, SCORPION, KAY, PROFI, ATM450, ATM710
    Memory size: 0 = 0Кб, 255 = 4096Кб (то есть каждая единичка соответствует 16Кб)
    CMOS type: none, DALLAS, 512Bu1
    CMOS size: 0..32Кб (с шагом 1Кб)

    EFF7mask
    SMUC features

    RESET to: BASIC,DOS,MENU,SYS,CACHE,...

    Keyboard Layout
    Mouse type: NONE/KEMPSTON/AY/emulate kempston joystick on mouse
    Mouse Scale
    Swap mouse buttons

    Frame ; t-states in frame
    Paper ; t-states before paper
    Line ; t-states in line
    int ; int freq
    intlen ; int length in t-states
    EvenM1 ; align M1 cycle to even T-state (for scorpion)
    4TBorder ; update border every 4T states (for scorpion)
    FloatBus ; unstable data bus, unstable data bus in TR-DOS mode

    AtmPalette

    VSync
    Full Screen
    Border size

    [...]

    Короче практически весь конфиг US нужно сюда переписать. Выкинуть только возможность сменить частоту экрана, диск и прочие системные фичи, то есть то что должен менять только сам пользователь.

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

    По умолчанию

    Цитата Сообщение от Spectre
    Короче практически весь конфиг US нужно сюда переписать
    да вы чего, люди! что кроме макс. скорости будет реально использоваться в программах? ага, ты лучше пользователя знаешь, что ему просто необходим FullScr, и что с vsync у него хватает производительности и не глючит видеокарта
    Цитата Сообщение от Spectre
    Только один вопрос: обязательно ли проводить проверку наличия трапов
    никто не заставляет. включай скорость сразу, без проверок на то, что получилось (а если не получилось, кому жаловаться?) разве что реализовать идею с флажком, когда трап #EDFF требует строку в IX и отдаёт версию эмуля, ставит флажок. а последующие вызовы #EDFE уже не требуют использования IX (если флажок установлен)

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

    По умолчанию

    Реально использоваться ? Anti64 - обязательно!

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

    По умолчанию

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

  8. #28
    Activist
    Регистрация
    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. #29
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

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

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

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

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

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

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

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

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

Похожие темы

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

Ваши права

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