системные переменные похерены?
системные переменные похерены?
Прихожу без разрешения, сею смерть и разрушение...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
переменные/IY там выставлены (или вы гадаете не смотря в код)
косяк в битах переменной (#5c3b)
в SNA по результатам битов в этой переменной в результате опроса выдаётся код токена, а не символа !!!
Последний раз редактировалось goodboy; 05.01.2020 в 20:20.
YuronN(05.01.2020)
Спасибо за ответы.
А посоветуйте, пожалуйста, актуальный ассемблер, который умеет создавать SNA.
В sjasm 'savesna'.
sjasm не захотел работать под маком:
Просмотрел я темы, которые прилеплены в шапке раздела программирование (языки и среды; средства разработки).Код:libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: basic_string
Последние сообщения датированы 2006, 2007 годами.
Хочется современных средств, может даже, с прицелом на разработку для Spectrum NEXT, а информации особо нет.
Нормально всё работает. https://github.com/z00m128/sjasmplus...es/tag/v1.14.3 собирай тар.гз.
Современные средства - https://github.com/maziac/z80-debug (как можно видеть на гифках - запущено на чем-то, сильно напоминающем мак)
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
sjasmplus у меня работает, им я и собирал проблемный SNA.
Тут выше посоветовали sjasm (без plus), он и не работает на маке.
Спасибо, посмотрю.
- - - Добавлено - - -
О, за пример особое спасибо!
- - - Добавлено - - -
Попробовал z80-debug.
Там тоже используют sjasmplus для создания SNA и скармливают его эмулятору ZEsarUX.
Т.е. мой код по-прежнему не работает и при такой конфигурации.
Никто не использует SNA при написании программ/игр что ли?
Или мой код всё таки в корне не верен?
Последний раз редактировалось YuronN; 06.01.2020 в 07:49.
А он и не должен этого делать. Вдруг ваш написанный код должен перекрывать системные переменные, а тут ужасм взял их и инициализировал ))
Если вдруг нужно sna с переменными, надо сделать их дамп, причём желательно со срезом аналогичного вызова ассемблерной проги из бейсика, а то могут быть сюрпризы как тут.
А потом предварительно приинкбинить этот дамп в исходнике, а то желательно бы ещё и регистры какие (sp - в частности, IY - как видно по умолчанию выставляется) инициировать.
А вообще по мне для игрушки чтение управления лучше напрямую через порты организовать. Хотя если шустрость и отзывчивость не критична то можно и забить.
to YuronN пара конструкций на заметку если не наошибся конечно )) Не шедевр, здешние монстры покруче завернут (тут вариантов море), так для общего развития.
Код:... loop halt ; системный опрос проводится раз в прерывание, так что нет смысла гонять цикл вхолостую (не забыть только прерывания разрешить EI ) ld hl, last_k ld a, (hl) ld (hl),0 ; очищаем буфер сразу после забора символа, и не забудется и лишний раз ld hl,last_k не писать ld hl,pechataem ; поскольку у нас однотипное окончание обработки, можно сэкономить на джампах и коллах push hl ; кладём на стек адрес окончания обработки, теперь по 'ret' попадём на обработку ld de, keyp ; tright ld bc, eokeyp-keyp cp 112 ;key P ret z ld de, keyo ; tleft ld bc, eokeyo-keyo cp 111 ;key O ret z ld de, keysp ; tspace ld bc, eokeysp-keysp cp 32 ;key Space ret z pop af ; снимаем неиспользованный для ret адрес, иначе стек забьётся jr loop pechataem ; окончание обработки call 8252 jr loop last_k equ 23560 keyp defb "P " eokeyp equ $ keyo defb "O " eokeyo equ $ keysp defb "space " eokeysp equ $
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)