Здесь пробовали жевать тему замены кварца: http://zx-pk.ru/threads/21982-pentag...nizatsiya.html
Здесь пробовали жевать тему замены кварца: http://zx-pk.ru/threads/21982-pentag...nizatsiya.html
Последний раз редактировалось IL_DECAMERON; 01.11.2017 в 20:27.
Делаешь новую игруху под спектрум или ищешь "новьё"? Загляни сюда zxonline.net. Если хочешь просто поиграть в классику - то сюда viva-games.ru,
ZX Spectrum forever
Epsilon, это как? in a,(порт строки экрана) врядли упустит 2-3 строки
С уважением,
Jerri / Red Triangle.
Номер строки в byte не влезет, так, например, у некоторых моделей 320 и более строк. Во-вторых, я, конечно же, имел ввиду не только считывание, но и какие-то вычисления, связанные с обработкой и применением считанного значения.
Спектрумский проц очень медленный. И поэтому не мешало бы иметь дополнительный сопроцессор (как в Амиге), который по событиям от контроллера луча может делать какие-то существенные действия. При этом имея возможность поймать не только строку, но и столбец.
Последний раз редактировалось Epsilon; 11.11.2017 в 01:53.
Делаешь новую игруху под спектрум или ищешь "новьё"? Загляни сюда zxonline.net. Если хочешь просто поиграть в классику - то сюда viva-games.ru,
ZX Spectrum forever
Epsilon, на спеке 192 строки экрана
если 0 значит луч выше экрана
если 1-192 значит экран
если 193 значит за экраном
куда здесь двухбайтный счетчик?
Код:ld bc,port ld e,value in a,(c) cp e jp nz,$-3 или in a,(c) or a jr z,upper_border_control cp 193 jr nc,bottom_border_control in a,(c) cp e jp с,$-3 ждем конкретную строчку.
С уважением,
Jerri / Red Triangle.
В нехте уже есть прерывание на нужном месте растра, copper называется, узбагойтезь.
Последний раз редактировалось SaNchez; 11.11.2017 в 17:50.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Железо так не делается. Тебе нужен только номер пиксельной строки? Прекрасно. Но кому-то надо будет номер строки скана, который начинается с верхнего края экрана (где бордюр). Для него отдельный регистр делать? Поэтому регистр этот, если бы он существовал, был бы 2х байтным.
А насчёт того, что в ZX Next есть коппер - очень хорошо. Жаль, что даже со всеми наворотами и прибамбасами совершенно новый ZX даже не дотягивает до старенькой Amiga 500. Грустно всё это.
Делаешь новую игруху под спектрум или ищешь "новьё"? Загляни сюда zxonline.net. Если хочешь просто поиграть в классику - то сюда viva-games.ru,
ZX Spectrum forever
Ну это как посмотреть. Например, для Z80 я могу назвать себя экспертом в кодинге, а на амиге я ноль без палочки. Изучать амигу мне влом, т.к. я уже довольно старый, у меня её в детстве не было, поэтому никакой ностальгии.
Но то, что сейчас я могу юзать такие фишки - для меня очень круто
Copper работает на амиге работает не так
там есть copper list который выполняется по мере появления растра, и это очень сурово.
там нет прерывания. прерывание там лишнее
- - - Добавлено - - -
хорошо можно по другому.
с порта (хх) мы дергаем номер строки/2 (512 строк же нам хватит?)
из порта (хх+1) читаем бит четности и всё.
С уважением,
Jerri / Red Triangle.
Да, там именно сопроцессор (copper = co-processor), который сам за 0 тактов выполняет действия в нужных точках растра. Центральный процессор не отвлекается.
По сути на этой концепции построена вся Амига - каждый девайс там сам по себе. Поэтому с CPU на 7 МГц она делает космос, хотя это всего в 2 раза больше, чем на ZX.
- - - Добавлено - - -
Так это не по-другому. Это именно то, что я и писал. Двухбайтный порт или в случае восьмибитного Z80 это два порта. Читаешь с двух портов, тратишь такты на это. Луч уже на следующей строке, а ты только начинаешь что-то делать с этим номером.
Делаешь новую игруху под спектрум или ищешь "новьё"? Загляни сюда zxonline.net. Если хочешь просто поиграть в классику - то сюда viva-games.ru,
ZX Spectrum forever
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)