|
М |
К моему глубокому удивлению, среди этих многих оказались некоторые программисты и хакеры... Секрет этого "глюка" настолько прост, что мне просто неудобно говорить о нём, но по просьбе редакции газеты я это сделаю.
Как известно, в 128К компьютере имеются две области памяти, отведённые под экран: стандартная - с адреса _#4000_ в основном поле памяти, и дополнительная - с адреса _#C000_ в банке RAM7. Выбирать нужный экран надо через порт _#7FFD_, сбрасывая или устанавливая третий бит. Если бит установить, то будет отображаться второй экран (RAM7), если его сбросить, то стандартный (RAM5).
Теперь о Reset'е. При приходе сигнала reset аппаратно устанавливается стандартный экран, который очищается программой инициализации, расположенной в свою очередь с адреса _#0000_ в ПЗУ в момент отжатия кнопки "RESET".
Таким образом, если использовать в программе только дополнительный экран, а в основной поместить какое угодно сообщение, то при Reset'е оно появится! В DOUBLE XINOX'е, например, сообщение находится в области атрибутов в целях экономии памяти.
ORG 30000 START DI LD A,23 CALL MEMORY LD HL,49152 CALL CLS LD HL,16384 CALL CLS LD A,23+8 CALL MEMORY LD HL,TEXT LD DE,22528+256 LD BC,32*7 LDIR LOOP JR LOOP MEMORY LD BC,32765 OUT (C),A RET CLS LD E,L LD D,H INC E LD BC,6911 LD (HL),L LDIR RET ;12345678901234567890123456789012 TEXT DM " " DM " @@@@@ @@@@@ @@@@ @@@@@ @@@@@ " DM " @ @ @ @ @ @ " DM " @@@@@ @@@@@ @@@ @@@@@ @ " DM " @ @ @ @ @ @ " DM " @ @ @@@@@ @@@@ @@@@@ @ " DM " "
|