ZX Pilot
#36
11 марта 2000 |
|
Coding - процедуры "пересчет адресов в экранной области" и "пересчет пиксельных строк снизу вверх".
C O D I N G ────────────────────────────────────────── (C) Z-ZERO Пожалуй, это самая больная тема для лю- бого, кого распирает гордость от того, что он работает на Speccy. Для меня эта тема не менее больная, после прочтения статейки в ZX-PILOT'е #34, за подписью VIRTUAL'а - меня (образно говоря) взяла "злость", а VEL выступил как подстрекатель... Короче, читайте. Для начала коснусь темы "пересчет адре- сов в экранной области". Входные: HL - адрес верхнего байта нужного зна- коместа. Выходные: HL - соответственный адрес в атрибутах. SRL H SRL H SRL H SET 4,H SET 6,H И обратная процедурка... Входные: HL - адрес в атрибитах. Выходные: HL - адрес верхнего байта соответствую- щего знакоместа. SLA H SLA H SLA H RES 7,H Короче небывает!!! Следующая прога, выполняет пересчет пи- ксельных строк снизу вверх. LD HL,#adr in screen DEC H LD A,H AND #0F CP #07 JR Z,CONT CP #0F RET NZ CONT LD A,L SUB #20 LD L,A RET C LD A,H ADD A,#08 LD H,A RET Сразу оговорюсь, что в ZX-Ревю упомина- лась более короткая, но я ее не видел и не проверял, а эта меня уполне удовлетворяет. В приложении (VEL! They must be!!!) ви- сит еще одна моя прога (ALASM FORMAT), коя предназначена для опроса клавиатуры, не зависимо от прерываний, а так же не деск- риминирующая SCORPION'щиков. Входные: НИШИША! Выходные: В A-код нажатой клавиши. Комментарий: После запуска прога висит, и ждет нажа- тия. Опрашиваются как простые нажатия, так и через CapsShift & SymbolShift, а так же: Break, SS+Enter, SS+Space, CS+Enter, Ext- Mode, коды Delete, Graphic, Cursor, Edit, CapLock, True Video, Inverse Video. Во! Весь опрос производится через таблицы, ко- торые легко меняются. 11/XXII-99 Z-Zero SYSTEMS inc.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября