Deja Vu #09
13 ноября 1999

Coding - coding для чайников: цивилизованный выход в TR-DOS.

(C) SKL-KEEPER aka Колесников Сергей
__________________________________________


      Coding для "чайников"


   Эту небольшую  заметку я хочу посвятить
тому, как осуществить корректный и удобный
для пользователя выход из программы.
   А  что, разве не попадались Вам систем-
ные программы или утилиты,которые по окон-
чании  своей  работы  даже не задавали Вам
вопрос о том, хотите ли Вы закончить рабо-
ту  с программой? Что делает в этом случае
пользователь? Да жмет "Reset" и все дела!
   А  бывает, что  и спрашивает, что, мол,
закончили  работу?  Пользователь  нажимает
"Y"  и благополучно вываливается в Бейсик!
Бедному  юзеру  ничего  не  остается,  как
опять  жать "Reset", чтобы на экране мони-
тора  или телевизора увидеть привычное TR-
-DOS'овское меню...
   А ведь как красиво, корректно и цивили-
зованно  поступают  разработчики программ,
когда пользователь при желании всего одним
или двумя нажатиями клавиш выходит из про-
граммы, а компьютер уже услужливо не прос-
то  сбросился,  но и вышел в TR-DOS и даже
загрузил  "boot"! Какое удовольствие испы-
тывает  синклерист от работы с такой прог-
раммой! И разработчика добрым словом помя-
нет!:-)
   Мне  стало  интересно, а как же это де-
лается? Загрузил  одну  из таких цивилизо-
ванных  программ в свой "Скорпион" и с по-
мощью  теневого монитора немного покопался
в ней. Все оказалось настолько просто, что
даже неудобно заметку посвящать этой теме!
Но, тем  не  менее, я  нигде  и никогда не
встречал в литературе подобного материала,
поэтому решил поделиться этой своей наход-
кой  с друзьями по увлечению. Пусть даже и
не  для применения, а просто для интереса,
я думаю, Вам это пригодится. А Вы, асы ко-
динга,  не  улыбайтесь,  а  лучше побольше
посвящайте  статей  и  заметок  о секретах
программирования, причем, в  расчете не на
"матерых"  кодеров, а  на  тех, кто в  ас-
семблере  слабоват, но хочет знать поболь-
ше!
   Итак,  если  Вам нужно сделать выход из
программы  таким  образом, как  я  описал,
после запроса о желании оставить программу
Вы  делаете  опрос  клавиатуры  на нажатие
"Y",  и, если она нажата, переход на такую
программку:

RESET   LD   HL,0
        PUSH HL
        JP   #3D2F


   Чуть-чуть  комментария. Мы  посредством
регистра  HL заносим на стек нулевой адрес
и  делаем  JP на адрес #3D2F, где, как из-
вестно, стоит NOP и RET. После команды RET
мы  возвращаемся  на адрес, находящийся на
вершине  стека, а там у нас ноль. Но обра-
щение  к  адресу  #3D2F переключает ПЗУ на
TR-DOS. Если  TR-DOS  запускается с адреса
0,  то после инициализации компьютера сис-
тема выбирает дисковод "А" и пытается заг-
рузить с него и запустить Бейсик-программу
"boot". А нам того и надо!

    Успехов Вам в кодинге, начинающие!



Другие статьи номера:

Апперативчик - вступление от авторов.

Апперативчик - Об управлении в Deja Vu.

Апперативчик - Халява №2: о пиратах и взломанных версиях журнала.

Апперативчик - Dejavu Info: Как приобрести журнал Deja Vu.

Тема - Swap: "От письма до бандероли" как найти в своем городе Спектрумистов.

Тема - Тусовка: CSP'99 - интервью со Slack Den.

Тема - Тусовка: CSP'99 - интервью с main coder'ом молодой Новосибирской группы AREASoft

Тема - Тусовка: CSP'99 - интервью с одним из издателей электронного журнала Deja Vu' Daniel/Playgear Co./Binary Dimension.

Тема - Тусовка: CSP'99 - интервью с одним из участников Рыбинской группы Cav/Auryn.

Тема - Тусовка: CSP'99 - интервью с отцом группы Playgear классным дядькой Ze Pagan.

Тема - Тусовка: CSP'99 - интервью с main coder'ом Flash и по совместительству одним из основателей группы - Alex Rider.

Тема - Тусовка: CSP'99 - опрос, как прошла party в двух словах, общие впечатления.

Тема - Тусовка: Сказание о том, как проходило Crazy Siberian Party 1999.

Капля припоя - HD диски: Доработка контроллера дисковода для работы с HD-дисками.

Капля припоя - Решение пpоблемы 1.2Мб дисковода.

Капля припоя - увеличение объема ОЗУ до 1024к на SPECCY варианта Таганрог 128К!

Капля припоя - схема программатора для микросхем постоянных запоминающих устройств (ПЗУ).

Капля припоя - о матричных принтерах.

Капля припоя - ISA-Spectrum: плата вставляемая в ISA слот IBM, являющееся частью или полным компьютером ZX-Spectrum.

Software - Демосцена: Обзор'инг демозов: 63 bit III, Jam, Anamnesis, 7 Up, 63 bit IV, DemoDyin, Napalm, Crapmo 2, Bunch of Arce, Devotion, WorkStop, Energy, Yes.

Software - Обзор Игр: MIST: Monstrland Part Two, Bomb Lakes, Marbles, KluXer, 4x4 Puzzle, Солдатики, Кораблики.

Software - Gun Commander: руководство пользователя.

Coding - coding для чайников: цивилизованный выход в TR-DOS.

Coding - coding для чайников: Подробно об одном из способов опроса клавиатуры.

Coding - coding для чайников: как устроен "Boot" изнутри.

Coding - coding для чайников: доработка MINI BOOT V3.0.

Coding - процедура печати 42 символа в строке (с трабутами), процедура быстрой печать спрайта с точностью до пикселя.

Coding - быстрай печать 64 символов в строке.

Coding - Конверсия числа со стека калькулятора в символьную строку.

Coding - быстрая печать спрайта 2х2 знакоместа, с точностью до знакоместа.

Coding - Hrust Library свободноpаспpостpаняемая библиотека пpоцедуp, с помощью котоpых можно упаковывать и pаспаковывать pазличные данные.

Coding - Обработка ошибок TR-DOS при работе через #3D13.

Coding - набор процедур для построения пользовательского интерфейса.

Coding - пишим вирус невидимку для TR-DOS.

Another world - Иллюзия безопасности: Страшные сказки о безопасности Windows и Internet (часть первая).

Доска почета - 3 метода отличить pеальный ZX Spectrum от эмулятоpов.

Доска почета - устав национального Фонда Спектрума (HФСП).

Доска почета - Резервы: попытка представить совершенный ZX Spectrum.

Доска почета - Накипело: "А жив ли еще Speccy, курилка?" Размышления в слух.

Доска почета - Ща скажу №1: оптимизация процедур, анонс журнала и новой аркадной игрушки.

Доска почета - Ща скажу №1: разборки Serg'a и Playgear, Взлом телефонных карт, анонс Crazy Siberian Party '2000.

Доска почета - Краткая история кемеровской группы Digital Life Group.

Семь и 1/2 - Студенческая мифология.

Семь и 1/2 - День дурака 2 (окончание).

Семь и 1/2 - Сказочки для детей.

Семь и 1/2 - Особенности национального рулеза или чисто Сибирский проект (повесть о Crazy Siberian Party 1999).

Пробы пера - воспоминания: новелла по игре "Черный Ворон".

Пробы пера - рассказ "Элексир Зверя".

Пробы пера - "Last Warrior".

Реклама - текстовая реклама и обьявления.

Реклама - графическая реклама и обьявления.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Реклама - реклама и объявления.
От автора - Знаете ли вы,что 10 февраля исполнилось полгода,как я с вами?
Реклама - Реклама и объявления.

В этот день...   21 сентября