Последний раз редактировалось James DiGreze; 17.04.2007 в 19:22.
Вопрос поставлен несколько некорректно.
Команда HALT ждет прихода прерывания. Согласно структуре ULA спектрума, данное событие (приход прерывания) совпадает с началом отрисовки видеокадра. Так что, выполнив эту команду, всего лишь синхронизируешься с лучом- HALT применяется для организации задержек, кратных периоду кадра (50мс). Для более мелких задержек (с более высокой точностью) надо действовать иначе- например, просто организовать цикл или выполнение "ненужных" команд.
Вообще, сначала прочитай все на http://www.zxdn.narod.ru/ - большая часть вопросов отпадет сама.
А вот аналогичная бегущая строчка, которую я хотел встроить в Бобика, но не успел. По адресу 40000 грузится русский фонт или любой другой. А можно и вообще использовать ПЗУшный, если вместо INCBIN "fontrus" вставить EQU 15616. Выход из процедуры по BREAK:
ORG 40000
FONT INCBIN "fontrus"
ORG 30000
R4 LD IX,TEXT
R3 LD A,(IX)
OR A
JR Z,R4
INC IX
ADD A,A
LD L,A
LD H,0
ADD HL,HL
ADD HL,HL
LD DE,FONT-256
ADD HL,DE
LD DE,BUFER
LD BC,8
LDIR
LD C,8
R2 HALT
LD DE,BUFER
LD H,#50
R0 LD B,32
LD L,#FF
LD A,(DE)
RLCA
LD (DE),A
INC DE
R1 RL (HL)
DEC L
DJNZ R1
INC H
BIT 3,H
JR Z,R0
CALL 8020
RET NC
DEC C
JR NZ,R2
JR R3
BUFER DEFS 8
TEXT
DEFB "HELLO WORLD!"
NOP
Последний раз редактировалось Jukov; 18.04.2007 в 20:35.
Кворум-192, Кворум-128 CP/M, Кворум-64, ZS-Scorpion 256 Turbo+&Caro ZX_MC, Мастер48К
Кворум-192, Кворум-128 CP/M, Кворум-64, ZS-Scorpion 256 Turbo+&Caro ZX_MC, Мастер48К
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Демку не видел, поэтому ориентируюсь по коду
Чувствуется давность кода В экранной области #5100-#5700 циклически скроллируются байтики. По два пиксела за раз. Если скроллируемый байт будет равен %01111110 (хранится в ячейке 51933), то в нижней трети увидем двигающиеся вправо квадратики размером 6х6 пикселов.
Как работать со стеком, смотрим в цикле статей от Alco на вышеуказанном сайте
А, да-да. Много таких демок в Волгодонской коллекции, в играх. в нижней трети сроллируются квадратики, потом только успевать к ним атрибутами пририсовывать восьмикратно увеличенные символы.
Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
Власть людей сильнее, чем люди у власти.
Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)
Скрытый текст
Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
Мы все немного режем по дереву, а потом собираем корабли в бутылках.
Is it the same old story you are going to tell me
or is it the old story telling me and you we are the same?
http://www.sky.od.ua/~ptsk[свернуть]
Всегда использовал IX только в системных утилитах.
Например как ссылку на массив констант/переменных при отрисовке меню.
По принципу:
CALL drawcells
cell1: DB xx,yy,l,h,(etc)
cell2: DB xx,yy,l,h,(etc)
***
drawcells: POP IX
Последний раз редактировалось klondike; 15.05.2007 в 21:54.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)