ZX/IBM EDITOR v1.0 (1.5D) ══════════════════════════════════════════ Вам когда-нибудь приходилось использовать компьютер в качестве пищущей машинки ? НЕТ ?! Немедленно выключите компьютер !!! Все ниже написанное не для вас ! .......!!!! ......!!! .......!! .......! Ну вот. Теперь нас читают только те, кто сталкивался с проблемой ввода текста в компьютер. Если вы еще новичок в нашем де- ле, то вам будет наверное, не безынтересно узнать, что для ЭТОЙ цели создано великое множество программ - редакторов. До пос- леднего времени у нас (авторов этого текста) был популярен редактор, входящий в базовый пакет Is-DOS. У него есть масса достоинств, но один серьезный недостаток - он работает только в среде Is-DOS т.е. чтобы начать с ним работать, нужно сначала запустить саму Is-DOS. Но сейчас разговор не о нем. Мы предлагаем вашему вниманию новый (он написан в конце 1993 года, но появился на рынке ПО совсем недавно) редактор, облада- ющий почти всеми достоинствами Is-DOS-ов- ского,кроме одного -он не может форматиро- вать текст. Но если вы не занимаетесь из- данием газет, журналов, ..., ну в общем, если вам не надо очень красиво оформлять текст, то вам нет необходимости его форма- тировать, а значит для вас этот редактор вообще не имеет недостатков. Хотя, владельцы нескольких дисководов будут слегка разочарованы - редактор рабо- тает только с ТЕКУЩИМ диском. Спасибо ав- тору и за это - некоторые "железно" привя- зывают свои программы к диску "A", забыв что количество дисководов у пользователя его личное дело, а не автора. Да, забыли, он запускается прямо из TRDOS, имеет полную ASCII кодировку (как у IBM и у Is-DOS), оформлен по лучшим стан- дартам редакторов-оболочек СИ, ПАСКАЛь для IBM. Кто он ? Его зовут "ZX/IBM Text Editor". Написан он Хохловым Олегом. А мы - группа "STARS OF KELADAN" сейчас поведаем вам о том, как с ним работать. Итак. Весь экран можно разделить по вертикали на три зоны: строка меню, информационная строка, зона редактируемого текста. C чего начнем ? Хорошо, хорошо, пусть первым будет меню. Работа с меню. Работать с меню (даже если вы никогда не делали этого раньше) очень просто: клави- шами "вверх", "вниз", "влево", "вправо" вы передвигаете курсор (прямоугольник ин- версного цвета), а клавишей "ENTER" выби- раете понравившийся вам пункт. Можно пос- тупить еще проще: в названии каждого пункта есть хотя бы одна заглавная буква - это буква-ключ, если вы нажмете клавишу с такой буквой, то сразу выберете этот пункт. Например, пункт "File" - если вы нажмете клавишу "F", то это будет все рав- но что подвести к нему курсор и нажать "ENTER". Ну, а теперь о самом меню. В нем вы найдете пять пунктов: - File - работа с файлами: - Edit - переход в режим редактора: - Pribt - работа с принтером: - SetUp - настройки: - Ibfo - информация. Теперь по порядку: 1. File - работа с файлами. Это, по сути, ворота в "иной мир" для текстов. C его помощью вы можете проделы- вать головокружительные трюки с вашими текстами. Всего таких трюков восемь: - Save - запись текущего текста в файл с нужным именем, если такой файл уже существовал, то он автоматически переза- писывается: - Load - чтение текста с диска,те- кущий текст УНИЧТОЖАЕТСЯ: - Catalogue - просмотр каталога диска: - New - создание нового текста, с УНИЧТОЖЕНИЕМ текущего: - save Block - запись отмеченного блока в файл с нужным именем: - Merge - слияние текущего текста с текстом из файла: - Erase file - удаление нужного вам фай- ла на диске: - Quit - выход из редактора,у нас, правда,этот пункт "глючит", так что лучше пользуйтесь кнопкой "RESET". 2. Edit - режим редактирования. Если вы выберете этот пункт или просто нажмете "SPACE" (для знатоков IBM - здесь эта чудесная клавиша играет роль "ESC", т.е. это клавиша "ВЫХОД, ОТМЕНА"), то пе- рейдете в режим редактирования текста. О нем мы вам расскажем немного позже. 3. Pribt - работа с принтером. - Pribt text - печать всего текста: - pribt Block - печать выделенного блока: - page Size - задание размера страницы, т.е. сколько строк помеща- ется на странице. 4. SetUp - настройки. Сей пункт предлагает вам выбрать режим работы редактора: - EOLN code - выбор разделителя строк: - Compress - включение (ON) и выключе- ние (OFF) компрессии текста: - Driver - выбор типа драйвера печати, внутренний (Ibside) или поль- зовательский (User's). А вы знаете, что такое разделитель строк, и какой он бывает ? Обьясняем. Раз- делитель строки - это один или два байта, которые показывают, что текущая строка кончилась и следующий за ним символ при- надлежит другой. Разделитель в "ZX/IBM Editore" бывает двух типов: "CR" - возврат каретки, один байт #D (также как и в Is-DOS): "CR/LF" - возврат каретки + пере- вод строки, два байта #D,#A (а это как в IBM, именно поэтому он "ZX/IBM"). Если вы пишете свой текст ислючительно на (и для) ZX-SPECTRUM, то лучше ставьте "CR" - он займет меньше места. А если же ориентируе- тесь на IBM, то "CR/LF". Хотя, если вам надо поменять разделитель в уже готовом тексте, то поменяйте его в "SetUp", а за- тем "пробегите" курсором по всем строкам текста (снизу-вверх или сверху-вниз, но не по длине строки) - разделитель будет заме- нен. Если вы включите (ON) компрессию текста, то редактор "схлопывает" повторяющиеся пробелы, в результате чего текст становит- ся меньше в обьеме, при этом текст внешне выглядит вполне нормально (редактор выво- дит вам компрессированные строки в "удобо- варимом" виде). Но, горе вам, если вы потом отключите (OFF) компрессию - обратно декомпрессиро- вать ранее скомпрессированный тескт этот редактор пока не может, а внутреннее пре- образование "компрессия-декомпрессия" вы только что отключили, в результате на эк- ране окажется смесь вашего текста и слу- жебных байтов. И вообще, зачем нужна эта компрессия ? Мы ею никогда не пользуемся, и вам не советуем. Немного о драйвере принтера. 3а не име- нием последнего (принтера) мы не можем га- рантировать, что все ниже следующее чистая ИСТИНА. Но как хаккеры, мы можем дать вам несколько наших соображений по этому пово- ду (мы досконально исследовали процедуру печати). Во-первых. Пользовательский (User's) драйвер должен находиться с адреса #5B03 (23299) и занимать не более 252 байт (что вполне достаточно). Если его там не будет, то при печати: вас ждет сюрприз - или пол- ные "висячки" компьютера, или всякая "бя- ка". Во-вторых. Внутренний (Ibside) драйвер. Он зачем-то сначала вызывает процедуру #5B01 (23297),последствия те же (сюрприз), и только после этого начинает саму печать. Еще раз просим извинения за нашу неосве- домленность, но все же кто-то может и пой- мет, с каким принтером работает внутренний драйвер, а мы сообщим лишь то, что поняли: - информация для печати (очередной сим- вол) "кидается" в порт #3F (63): - порт #5F (95) является двунаправленным портом управления/контроля. При чтении 4-й бит - 1-занято, идет печать, 0-принтер готов, 5-й бит - 0-ошибка печати (нет бумаги) или принтер не подключен, 1-соответственно - "порядок". Запись. Совершенно не понятно - сразу же после печати символа в этот порт "заки- дывается" ноль, затем единица. [ Во время подготовки номера мы наконец-то узнали, что это за интерфейс принтера. Это интерфейс CENTRONICS (параллельный порт), построенный на базе микросхемы KPS8OBB55. При этом поочередная запись нуля и единицы в порт #5F генерирут импульс строба печати Порт #7F - активизация принтера. ] 5. Ibfo - информация. Здесь вам покажут название программы - "ZX/IBM Editor", ее версию (у нас 1.0), автора, и ... "Text Lebgth" - текущую длину текста (включая байты-разделители), и "Free Space" - коли- чество свободного места для текста. Ну вот, с меню вроде бы разобрались. Информационная строка. Здесь совсем все просто. Если смотреть слева на право, то вы увидите: - текущий алфавит, "Rus"-русский, "Lat" - латинский (и английский в том числе): - размер символов,"Lock" -строчные,"Caps"- заглавные. Если вы включили режим псевдо-графики,то вместо двух предыдущих надписей будет просто "Graphics". - режим редактирования, "Ibsert" - встав- ка нового символа с раздвижкой строки, "<пустота>" - наложение нового символа на старый, с уничтожением последнего: - десятичный код символа, на котором "сто- ит" курсор (для владельцев цветных мо- ниторов: код - красные цифры): - "Libe xxx" - номер текущей строки: - "Col xx" - номер позиции курсора в стро- ке. Ну вот, и с этим все. Зона редактируемого текста. К сожалению, не зная всего выше изложен- ного, вам было бы очень трудно (если вооб- ще возможно) нормально редактировать текст, именно поэтому описание самого процесса редактирования мы начинаем только сейчас. Итак. Если вы загрузили текст, или выб- рали "New" и попали в режим редактирова- ния, то первое, что вы увидите на экране какую-то мигающую "сикильду" - это курсор, ваш незаменимый помощник и партнер. Он указывает, в какое место будет вставлен нужный вам символ. Двигать его можно кла- вишами "влево", "вправо", "вверх", "вниз". И раз уж речь зашла о клавишах, поз- вольте рассказать вам о них: - "EDIT" - переключает алафавиты:русский/ латинский: - "CAPS LOCK" - переключает строчные/заг- лавные буквы: - "DELETE" - уничтожает один символ СЛЕВА от курсора: - "GRAPH" - уничтожает один символ СПРАВА от курсора, с помощью этой клавиши вы можете также сдвигать строки (попракти- куйтесь в этом, пригодится): - "TRUE VIDEO" - страница вперед, к концу текста: - "INV.VIDEO" - страница назад, к началу текста: - "EXT.MODE" - вход в режим команд, в ин- формационной строке появляется надпись "Commabd:", о клавишах в этом режиме мы скажем чуть ниже: - "ENTER" - раздвижка строк (появляется новая строка под текущей) и перенос всех символов правее курсора (если та- кие есть) на новую строку,если выключен режим Ibsert, то раздвижки не будет: - "SS/Q" - в начало строки: - "SS/W" - включение/отключение режима вставки (Ibsert): - "SS/E" - в конец строки: - "SS/Space" - выход в меню,чтобы попасть обратно в редактор, нужно выбрать соот- ветствующий пункт (см. выше) или нажать клавишу "Space": - "CS/Space" - к началу следующего слова, находящегося строчкой выше (!),довольно запутанное действие, означающее, что курсор в текущей строке устанавливается в позицию, с которой начинается следую- щее слово на предыдущей строке: теперь понятно ? Если нет, то поэксперименти- руйте - поймете. Похоже, это ошибка ав- тора, все действия должны производиться в текущей строке. Теперь клавиши режима команд: - цифры 0..9 - ввод кода символа,т.е. это ввод символа не через нажатие соответ- ствующей ему клавиши, а через ввод его кода: - стрелка "вверх" -переход к началу всего текста: - стрелка "вниз" -переход к концу текста: - "L" - УДАЛЕНИЕ текущей строки: - "J" - перейти к строке с нужным вам но- мером, "Libe Number" - номер строки: - "G" - включение/выключение режима псев- до-графики, к слову,псевдо-графика IBM, а не SPECTRUM (помните: рожицы,рамочки, уголки, ....: а не помните, так узнаете сами): - "S" - поиск (Search) последовательности символов, "Not Foubd" - такой фрагмент не найден: - "R" - замена (Replace) одного фрагмента другим: - "B" - отметить начало блока: - "E" - отметить конец блока: - "Q" - разотметить блок, снять отметку: - "C" - скопировать блок в позицию кур- сора: - "M" - перенести блок в позицию курсора, т.е. скопировать и уничтожить старое: - "D" - удалить блок: - любая другая клавиша - вывод помощи (HELP) по вышеописанным клавишам на английском языке. Теперь немного о русском алфавите. Так как в русском языке букв несколько больше, чем в английском, то некоторые буквы можно получить нажав "SYMB.SHIFT" + какая-то клавиша. А в общем, русские буквы располо- жены по стандарту "QWERTY", ох, простите, "ЯВЕРТЫ", и если вы работали в Is-DOS, то без труда освоите их, кроме того вас ждет сюрприз - цифры можно вводить, не переклю- чаясь на латинский алфавит. Для остальных приведем соответствие клавиш и русских букв (строчных, заглавные - тоже самое, но в режиме "CAPS" или с клавишей "CAPS.SHIFT") : а - A и - I р - R ш - SS/F б - B й - J с - S щ - SS/G в - W к - K т - T ъ - SS/D г - G л - L у - U ы - Y д - D м - M ф - F ь - X е - E н - N х - H э - SS/S ж - V о - O ц - C ю - SS/X з - Z п - P ч - SS/A я - Q [SS - клавиша "SYMBOL SHIFT"] Если вы вводите текст с далеко идущими планами (использовать его в своей програм- ме, или что то в этом роде), то вам полез- но будет знать, что русские символы зани- мают область национальных шрифтов в табли- це ASCII (ACKUU, а не АCЦ-2 !!) т.е. имеют код больший, чем десятичное 127. Вот в общем-то и все. Приятной работы и хороших и грамотных (очень актуально) текстов. P.S. Во время подготовки номера, нас все- таки "пробрал" (мы же тоже люди !) много- дисководный шовинизм - мы начали адаптацию редактора к нескольким дисководам. Ре- зультат трудов наших мы вам и представляем (уважаемые владельцы N дисководов, не "за- рывайтесь") как версию 1.5D. А теперь немного "чернухи". Оказывается v1.0 (та, которую мы хотели включить в наш номер, и которую мы описали выше) совсем не версия программы, это одна из СТАДИЙ РАЗРАБОТКИ первой версии !!! Мы нашли, что оказывается в программе есть процедура собственной печати каталога диска (!!), но из-за поставленной автором отладочной заг- лушки вывод каталога происходит стан- дартной процедурой TR-DOS. Кроме того, "безалаберно" выполняется обработка "Quit" (помните, чуть выше мы писали, что выход не срабатывает), вернее обработка вообще не выполняется никак. И самое главное - редактор рассчитан также на работу с MS- DOS-дисками, но сделано это настолько при- митивно (нет возможности работы с поддире- кториями), что совершенно непонятно, как работать с этими дисками. По нашему мнению с MS-DOS-дисками лучше работать через IS- DOS. Немного подумав, мы сделали версию 1.5D, которую и представляем вам. Теперь вместо пункта "Quit" (в подменю "File") стоит пункт "mOre" (буква "O" - буква-ключ), он позволит вам попасть во вторую часть под- меню "File". Там вы сможете выйти в Бейсик (опция "Basic", "починенный" нами "Quit") или выбрать другой дисковод (опция "Chabge disk", чисто наш прибамбас), где в свою очередь можно будет выбрать диск. Кроме того, мы убрали несколько заглушек и теперь вывод каталога диска будет прак- тически таким, каким он был для MS-DOS (хотя,каемся,мы его немного изменили, нап- ример, добавили выход по клавише "Space" между страницами каталога): поставили "заглушки" драйвера принтера на тот слу- чай, если драйвер принтера не загружен (а загружать его следует выйдя в Бейсик из редактора). Теперь у владельцев 128К-машин не будет практически никаких проблем с редактором - он автоматически переводит компьютер в псевдо 48К-режим ("натуральный" 48К, но с сохранением 128К-памяти). И теперь вы мо- жете спокойно выходить в Бейсик и заходить обратно в редактор,текст сохраняется, и компьютер не "глючит". P.P.S. Чур, по ушам не бить. По голове то- же. Счастливой охоты за меткими словами. ══════════════════════════════════════════ * * * * *