|
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.
Другие статьи номера:
Похожие статьи:
В этот день... 1 января
SibNews #08,
Woot! #01,
Spectrum Magazine #01,
ACNews #25,
Psychoz #14,
ACNews #14,
Last 128 #08,
Last 128 #06,
Last 128 #05,
Last 128 #04,
Last 128 #03,
Last 128 #02,
Last 128 #09,
Last 128 #3.5,
Last 128 #8.025,
Sinclair Club #05,
Last 128 #M!R 01,
Fantadrom #01,
Buzz #20,
Last 128 #01,
DonNews #13,
Nicron #120,
Promised Land #01,
Inferno #01,
Marazm #25,
Ultimathum #01,
Marazm #21,
Hooy Mag #02,
KrNews #11,
Marazm #22,
Marazm #23,
ZX Football 2000 #01,
Codemania #01,
Always #03,
Bugs #02,
IzhNews #08,
Virtual Worlds #01,
Listok #04,
Scenergy #02,
Flash Info #18,
Marazm #16,
Marazm #17,
Zed #01,
Balagan #02,
ZX Format #08,
ZX Power #03,
Shock #01,
Impulse #02,
Deja Vu #03,
ZX Club #08,
ZX Club #06,
Numberology #01,
Marazm #13,
Marazm #12,
Marazm #14,
Gorodok #02,
Zodiac #01,
Marazm #15,
Deja Vu #07,
Marazm #11,
Deja Vu #07,
Playboy #03,
Crazy News #2,
Crazy News #4,
ZX Light #01,
Crazy News #5,
Playboy #02,
ZX News #03,
ZX Review #1-2,
Read Me #02,
Crazy News #3,
Nicron #13,
Read Me #01,
Public Spirit #01,
Faultless #06,
Faultless #05,
ZX Software #01,
Stump #04,
Speccy #07,
Возраждение #0,
Speccy #03,
On-Line #17,
Scene+ #01,
Welcome Press #01,
ZX Konig #04,
Adventurer #01,
Faultless #05,
Faultless #04,
Di Halt #01,
Faultless #01,
Playboy #01,
Crazy News #1,
Faultless #03,
Pioneer #03,
Sinclair Town #02,
ZX Magazine #01,
Eldorado #01,
ZX Magazine #02,
Spectron #01,
ZX News #01,
ZX Konig #02,
200 #W,
Welcome Press #00,
Dune #07,
Subliminal Extacy #01,
Subliminal Extacy #02,
ZX Konig #01,
Subliminal Extacy #00,
Muchomor #01,
Spectrofon #01,
ZX Revija #02,
Outlet #01,
Outlet #1-3