если можно портить С, то если так?Код:zx_wait
ld b,255
1 push bc
ld b,255
djnz $
pop bc
djnz 1b
ret
Код:zx_wait:
ld с,255
1: djnz $
dec c
jr nz, 1b
ret
никто не мешает туда поставить все что угодно
по хорошему при сбросе GS нужна пауза с привязкой к инту
а то мало ли какая турба и конвеер :) у спектрума
и за сколько этот счетчик отработает
и мой вариант на вид дольше, что и нужно
и не помешала бы и какая то проверка а сбросился ли GS или он вообще висит
а так это просто пример как загрузить свой код в GS (надеюсь и в NGS тоже)
а не SUPERMEGABIGVERYULTRAFASTPROCEDURE :)
кому надо тот сам оптимизирует оно вдоль и поперек под нужные задачи
- - - Добавлено - - -
тут было бы полезней инфа сколько примерно тактов сбрасывается GS
и через сколько тактов после перекидывание будет запущен код
или например можно ли слать GS-у команды когда сбрасывание в процессе
не сбросит ли он установленные спектрумом флаги сразу перед началом ожидания команды
нормальная там документация была (оригинальная, не недопс).
сброс гс:
и никаких zx_wait не требуется. даже на турбированных машинах. на моём бывшем профи при турбировании на 10мгц всё работало штатно.Код:;-----------------------------------------------------
; GS procedures
gs_reset:
ld a,0xf4
call sentcom
ret
sentcomd:
out (gsdat),a
call wd
ret
sentcom:
out (gscom),a
call wc
ret
wc: in a,(gscom)
rrca
jr c,wc
ret
wd: in a,(gscom)
rlca
jr c,wd
ret
угу
не могут нарисовать таблицу
где сопоставлены одни порты GS другим портам ZX
сплошная портянка на 5 страниц
а нужна таблица на одну И ВСЕ
не нужно будет вчитываться в каждое слово чтоб нарисовать эта таблицу самому
а потом за пол секунды все понять...
и вместо номеров портов в документе принято называть порты именами которые кому то там удобны
под предлогом "мы в любой момент можем все поменять"
поэтому инклудте файлик со списком зарезервированных имен...
прям как для мерзких ардуин...
- - - Добавлено - - -
угу интересно
я подсматривал вариант с задержками в какой то прессе
и еще от себя на всякий случай :)
чтоб гарантированно работало
значит нужна задержка только перед исполнением своего кода
чтоб гарантированно были сброшены флаги до начала отсылки спектрумом команд
потом по втыкаю чо нить выпилю
- - - Добавлено - - -
1. это у тебя работает
2. представь ситуацию когда вставят классический медленный ГС в какой нибудь фпга поделие с 50МГц-ным процем с каким нибудь конвеером мало ли?
сейчас вполне может оказаться что проц спектрума быстрей чем проц ГС-а
не 97-й год давно...
чтоб я не видел проблем
приведи листинг ПЗУ-шки ГС с ресетом
мне твоего не видения мало
а так для желающих что нибудь пооптимизировать по объему
я могу подкинуть 18К процедур синклер бейсика рекомпилированного под 8080
на оптимизироваться можно вдоль и поперек :)
за одно можно потыкать носом NEO SPECTRUMAN-а в кучу ошибок которые он там наделал :rolleyes:
Причём тут ПЗУ? Ты дал команду сброса. Пока девайс ребутится, ты с её порта читаешь фф. От сюда флаг с. Когда девайс готов, с пропадает. Перед отправкой данных в гс делаешь чтение порта статуса. Если на не готова, просто pollишь, циклично ожидаешь. Как только на готова, кидаешь 1 байт, читаешь снова регистр статуса и так по кругу.
Если машина медленнее гски, то статус успевает выставиться и комп почти сразу делает отправку. Если комп быстрее гс, то он будет попадать на цикл ожидания.
О том как работает гс, можешь поговорить с Евгением Мучкиным. Он на ней корейскую собаку с тонной салата съел.
вспоминаю что был такой адаптатор. он (добавление музыки в игру) всё делал под эмулем (и кажется не проверял статус готовности GS),
в результате всё работало только под эмулем, на реале - нет.
интересно что это был за эмуль
и какие эмули с ГС-ом еще бывают?
щас проверил emuzwin и там на удивление ГС-ный дебагер не плохо работает
(и зависает на бряках :v2_dizzy_facepalm:)
GS OUT назван GS OUT-ом а не GSDAT-ом как в говенных документациях
и физически там по моему разные регистры
- - - Добавлено - - -
а так интересно что произойдет когда GS и ZX одновременно обратятся к одному регистру
unreal естественно. вот нашёл тему https://zx-pk.ru/threads/24867-bagi-...on-z-quot.html