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

User Tag List

Страница 66 из 167 ПерваяПервая ... 626364656667686970 ... ПоследняяПоследняя
Показано с 651 по 660 из 1664

Тема: SjASMPlus Z80 кросс ассемблер

  1. #651
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,825
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для того, чтобы это сделать в асме, надо в асм запилить половину эмулятора учитывая вон вышесказанное про ноп в три такта. мало ли кто по какому режиму считать собрался.
    Последний раз редактировалось Shadow Maker; 08.06.2012 в 22:14.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  2. #652
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Йес!!! Наш ответ Чемберлену. Вернее некоторым чЮдакам, которые не верят, что NOP не всегда равен 4м тактам.
    ахаха!
    поди включен режим с ваитами 3 такта блин чЮдаки, лол
    Цитата Сообщение от NovaStorm Посмотреть сообщение
    Ну это-то понятно, но интересовало, как бы сделать это в асме, например для выравнивания таймингов, иначе слишком уж много тупой ручной работы.
    когда мне надо было выравнивать по тактам куски кода, я делал примерно так:

    Код:
     code ;X t
     code ;Y t
     code ;Z t
     padd_macro Tneed-X-Y-Z
    тут ручная работа, конечно, есть, но все же проще что-то менять. padd_macro - макрос (или куча макросов), который добавляет код в нужное кол-во тактов.

    было дело, даже писал автоматический такой "компилятор", который делал то же, что и макрос, но в процессе работы проги и кол-во тактов дробное(!). но в любом случае вручную надо было задавать кол-во тактов полезного кода.

  3. #653
    Member Аватар для thims
    Регистрация
    18.01.2005
    Адрес
    Калининград, Россия
    Сообщений
    110
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Лас Посмотреть сообщение
    Гораздо проще, если анрил будет проверять появление заданного снэпа в директории и сам будет загружать его.
    Никогда он не будет этого делать. Инфа 100%. Потому рекомендую в свой сборочный батник вставить команду taskkill и успокоиться.

  4. #654
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    это самый обычный режим. Конкретно Пентагоновский. На любом эмуле так.
    в этом проверь - http://detstwo.com/pub/zemu/
    зуб даю что NOP - 4 такта
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  5. #655
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Sinus, вполне верю, но ссылка какая-то неправильная. Перед всеми извиняюсь, потер свой бред, в споре рождается истина
    NOP всегда 4 такта, а вот при приходе команды HALT бывает плавающая задержка 0-4 такта )
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  6. #656
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TmK Посмотреть сообщение
    ...а вот при приходе команды HALT бывает плавающая задержка 0-4 такта )
    HALT делается как много NOP-ов, при возникновении INT очередной NOP не прерывается, а доделывается, после чего происходит выход из HALT-а. Поэтому HALT всегда кратен 4 тактам, никакой "плавающей задержки"
    Все любят гипножабу

  7. #657
    Master
    Регистрация
    27.01.2005
    Сообщений
    909
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    142 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    чо-где последняя-распоследняя версия ужасма? с правками от 2012 года?

  8. #658
    Veteran Аватар для Лас
    Регистрация
    18.11.2008
    Адрес
    пос.Полярный, ЯНАО
    Сообщений
    1,078
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от thims Посмотреть сообщение
    Никогда он не будет этого делать. Инфа 100%. Потому рекомендую в свой сборочный батник вставить команду taskkill и успокоиться.
    Я уже всё сделал. Без всяких taskkilloв, батников и перезапусков анрила. 4 часа в VS2010 с нулевым знанием Си и Unreal теперь запускает свежий qsave1.sna. Свою инфу 100% и рекомендации расслабиться можешь засунуть себе в исходник.

  9. #659
    Veteran Аватар для Лас
    Регистрация
    18.11.2008
    Адрес
    пос.Полярный, ЯНАО
    Сообщений
    1,078
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Реализовал еще одно решение, проще предыдущего. PureBasic.
    launcher.exe запускается после окончания компиляции SjASM или, к примеру, по кнопке Run из IDE (UEStudio).

    Код:
    ;launcher.exe при запуске ищет окно UnrealSpeccy
    ;в случае отсутствия запущенного эмулятора - запускает его и снова ищет окно
    ;переводит фокус на окно Unreal и имитирует нажатие клавиш
    ;Alt+F3 - быстрая загрузка qsave1.sna
    ;если UnrealSpeccy был изначально свернут - сворачивает снова
    ;иначе оставляет окно активным
    ;--------------
    ;поиск главного окна UnrealSpeccy
    count=0
    minim=0
    Repeat
     count=count+1
     UnrealWin=FindWindow_(0,"UnrealSpeccy") ;ищем по заголовку окна
     Delay(1)
     If count=1000
      RunProg = WinExec_("D:\ZX\Unreal\unreal.exe", #SW_SHOWNORMAL)
      Delay(1000)
     EndIf
    Until UnrealWin>0 ;пока не найдем окно
    
    ;фокус в окно Unreal
    If GetWindowLong_(UnrealWin, #GWL_STYLE) & #WS_MINIMIZE
     minim=1
     ShowWindow_(UnrealWin, #SW_SHOWNORMAL) 
     UpdateWindow_(UnrealWin) 
    EndIf
    actwin=GetWindowThreadProcessId_(GetForegroundWindow_(),0)
    curwin=GetCurrentThreadId_()
    If (actwin<>curwin)
     AttachThreadInput_(actwin,curwin,#True) 
    EndIf
    SetForegroundWindow_(UnrealWin)
    If (actwin<>curwin)
     AttachThreadInput_(actwin,curwin,#False)
    EndIf
    InvalidateRect_(UnrealWin,#Null,#True)
    
    ;эмуляция нажатия ALT+F3 (quick load qsave1.sna)
    Delay (800)
    keybd_event_(#VK_MENU,MapVirtualKey_(#VK_MENU,0),0,0)
    keybd_event_(#VK_F3,MapVirtualKey_(#VK_F3,0),0,0)
    Delay(200)
    keybd_event_(#VK_MENU,MapVirtualKey_(#VK_MENU,0),#KEYEVENTF_KEYUP,0)
    keybd_event_(#VK_F3,MapVirtualKey_(#VK_F3,0),#KEYEVENTF_KEYUP,0)
    If minim=1
     ShowWindow_(UnrealWin, #SW_SHOWMINIMIZED) 
    EndIf
    Последний раз редактировалось Лас; 10.06.2012 в 02:15.

  10. #660
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    никакой "плавающей задержки"
    имеется в виду, что при halt при приходе прерывания задержка выполнения следующей команды будет отстоять от начала прерывания в 0..3 такта (ну, плюс константное время входа в прерывание, т.е. болтанка возможна).

    Цитата Сообщение от Лас Посмотреть сообщение
    PureBasic.
    newart, перелогинься!

Страница 66 из 167 ПерваяПервая ... 626364656667686970 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  2. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03
  3. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  4. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 19:43

Ваши права

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