Среда, 17.04.2024, 01:42

..



Главная Регистрация Вход
Приветствую Вас, Гость · Браузер: « v»
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Всё об «Электроника БК0010(-01), БК0011(М)»! » Газеты | Документации | Статьи | Журналы » Газеты на «БК001x» » «Дuck Tales» » «Дuck Tales N#4» [30.11.94] (Автор: Dale publishing co.)
«Дuck Tales N#4» [30.11.94]
-=RUS=-Дата: Вторник, 12.08.2014, 18:22 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 352
Репутация: 1
Статус: Offline

                       Я хочу, чтоб к штыку приравняли ки-борд!

        #####│  #│   #│  #####│ #│   #│
        #│   #│ #│   #│ #│      #│ ##│
        #│   #│ #│   #│ #│      ###│
        #│   #│ #│   #│ #│      #│ ##│
        #####│   #####│  #####│ #│   #│

                     ▒▒▒▒▒▒   ▒▒▒▒▒  ▒      ▒▒▒▒▒▒  ▒▒▒▒▒
                       ▒    ▒▒   ▒  ▒      ▒       ▒
                      ▒    ▒    ▒  ▒      ▒▒▒▒    ▒▒▒▒▒
                     ▒    ▒▒▒▒▒▒  ▒      ▒           ▒
                    ▒    ▒    ▒  ▒▒▒▒▒▒ ▒▒▒▒▒▒  ▒▒▒▒▒

          Независимая файловая газета для программеров

 ══════════════════════════════════════════════════════════════
 Основана в июне 1994 года   N#4, 30.11.1994   Цена отсутствует
 ══════════════════════════════════════════════════════════════

                  ┌──────────────────────────┐
                  │   СЕГОДНЯ В НОМЕРЕ:      │▒
                  ╞══════════════════════════╡▒
                  │ 1. Брянские новости и... │▒
                  │ 2. Уроки языка.          │▒
                  │ 3. Аппаратный раздел.    │▒
                  │ 4. Пишем на Ассемблере.  │▒
                  │ 5. Ошибки, глюки...      │▒
                  │ 6. Наш анонс.            │▒
                  │ 7. Немного UMORA.        │▒
                  └──────────────────────────┘▒
                   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

                     ┌────────────────────┐
                     │ Брянские  новости. │▒
                     │         +          │▒
                     │ Уголок потребителя │▒
                     └────────────────────┘▒
                       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

    К сожалению, более трех месяцев наши Дuck Tales не выходили
 в свет. А все потому, что испортился купленный у А.М. Надежина
 контроллер (наши постоянные читатели знают, о чем идет  речь).
 Даже самых бывалых членов Клуба неполадка поставила  в  тупик.
 Представьте: запускаете MIRAGE (или нечто подобное), начинаете
 дизассемблировать ПЗУ контроллера... Вдруг на какой-то  ячейке
 ни с того ни сего происходит прерывание по вектору 4. В то  же
 время дамп "выпавших" ячеек  проходит  нормально,  без  всяких
 прерываний. Но драйвер не запускается!
    А все оказалось просто. Испортилась МС К559ИП2 (по схеме  -
 D9). Именно испортилась, а не  сгорела.  В  результате  сигнал
 SYNC стал нередко приходить к ПЗУ в момент,  когда  адрес  уже
 частично снимался с шины.  Естественно,  после  установки  DIN
 (DOUT) процессор не получал сигнала RPLY и реагировал соответ-
 ственно.
    Но подобные вещи случаются редко; обычно ДОЗУ или ПЗУ начи-
 нают выдавать  неправильную  информацию.  Как  найти  причину?
 Очень просто! Загрузите какой-нибудь отладчик и:

    * Занесите в каждую ячейку ДОЗУ ее собственный адрес
      (извращенцам предлагаем сделать это вручную);
    * Теперь просмотрите содержимое ДОЗУ:

      - адреса 120000-120100 с шагом 2;
      - адреса 120100-121000 с шагом 100;
      - адреса 121000-124000 с шагом 1000;
      - адреса 124000-130000 с шагом 4000;
      - адреса 130000-160000 с шагом 10000.

    Если ДОЗУ неисправно, Вы заметите несоответствие значений в
 ячейках занесенным. Некоторые возможные варианты:

    1) Во всех ячейках установлен или  сброшен  какой-либо  бит
       (или биты); других несоответствий нет.

    Причина: обрыв или КЗ линий данных на участке "МС ОЗУ-внут-
             ренняя шина контроллера". Номер линии шины опреде-
             ляется по номеру неверного бита.

    2) На некотором участке памяти значения по  адресам  (A)  и
       (A+X) совпадают; других несоответствий нет.

    Причина: обрыв или КЗ линий адреса на участке "выход защел-
             ки адреса-МС ОЗУ"; неисправность регистров защелки
             адреса. Номер линии шины и  регистра  определяется
             по биту, соответствующему числу X.

    3) Одновременно  наблюдаются  несоответствия,  описанные  в
       пунктах 1 и 2.

    Причина: обрыв или КЗ линий адреса/данных на участке  "вход
             защелки адреса-внутренняя шина контроллера";  пло-
             хой контакт в разъеме между платой ДОЗУ  и  платой
             контроллера.

   На этом нам придется поставить точку. Память поджимает...

                              Chips, Dales & Technologies, Inc.

                        ┌──────────────┐
                        │ Уроки языка. │▒
                        └──────────────┘▒
                         ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

    Начиная с этого номера Дuck Tales,  мы  несколько  изменяем
 структуру наших "уроков".  Иногда  недостаточно  лишь  указать
 ошибку, необходимо  ее  прокомментировать.  Такие  комментарии
 заключены между символами "▒" и относятся к предыдущей  строке
 таблицы.

   ┌───────────────────┬────────────────┬───────────────────┐
   │     Как пишут     │    Кто пишет   │    Правильно:     │
   ├───────────────────┼────────────────┼───────────────────┤
   │общеупотребиМых    │???             │общеупотребиТЕЛЬных│
   │устОновка          │MV corp.        │устАновка          │
   │dEvide             │MV corp.        │dIvide             │
   │прек-ращаться      │MV corp.        │пре-кращаться      │
   │в заключениИ...    │VIC corp.       │в заключениЕ...    │
   │oWerwrAT           │VIC corp.       │oVerwrITE          │
   │monochrom          │Камнев С.       │monochromE         │
   │проблеММы          │LAV             │проблеМы           │
   │съэкономить        │LAV             │сэкономить         │
   │динамичИскими      │LAV             │динамичЕскими      │
   │lengHT             │LAV             │lengTH             │
   ├───────────────────┬────────────────┬───────────────────┤
   │line fINd          │Камнев С.       │line fEEd          │
   ▒ имеется в виду кнопка принтера "ПЕРЕВОД строки"        ▒
   ├───────────────────┬────────────────┬───────────────────┤
   │DIL-переключатель  │Камнев С.       │DIP-переключатель  │
   ▒ аббревиатура от Dual-Inline Package (дословно - "двух- ▒
   ▒ рядная упаковка")                                      ▒
   ├───────────────────┬────────────────┬───────────────────┤
   │compare dlrectorY  │Камнев С.       │compare directorIES│
   ▒ дословный перевод - "сравнить каталог". Встает вопрос: ▒
   ▒ как можно сравнить  ОДНУ  вещь? Надо сказать, с чем ее ▒
   ▒ сравнивать. Правильная фраза - "сравнить каталоги".    ▒
   └───────────────────┴────────────────┴───────────────────┘

    Кстати, хотелось бы узнать, кто  впервые  стал  употреблять
 слово "сквизирование"? Еще можно понять, почему в  слэнг  рус-
 ских программеров вошли специфические термины типа "рэндеринг"
 (процесс преобразования трехмерной каркасной модели объекта  в
 его фотореалистическое изображение) - для них  нет  подходящих
 русских эквивалентов.

    НАША СПРАВКА: to sqeeze ("уплотнять, сдвигать") -  перерас-
 пределять динамически распределяемую память (обычно на  диске)
 так, чтобы свободное пространство занимало  непрерывный  учас-
 ток.

    Так вот, для обозначения этого процесса  существует  весьма
 точное и емкое русское слово: "сжатие". Нужно ли было  изобре-
 тать что-то еще?..

                     ┌────────────────────┐
                     │ Аппаратный раздел. │▒
                     └────────────────────┘▒
                      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

    ...Итак, Вы приобрели контроллер с 16 Кбайт дополнительного
 ОЗУ, несколько дней порадовались приобретению, но  Вас  мучает
 один недостаток: с дисководом не работает Ваш (или Вашего бра-
 та, сестры, папы, мамы...) любимый БЕЙСИК  ВИЛЬНЮС,1986.07.24.
 Что же делать? Лететь (для не москвичей - в прямом смысле сло-
 ва) в центр Altec (или к Надежину), платить 2.000  (ДВЕ  ТЫСЯ-
 ЧИ!!!) за установку одной-единственной ЛА'шки?..
    Нам  могут  возразить, как  в  одном  анекдоте: 300 руб. за
 микросхему и 1700 за знание места и способа  ее  установки.  В
 таком случае мы дарим Вам эти 1700 рублей! Если Вы  имеете  (а
 Вы, конечно, имеете) небольшой опыт работы  с  паяльником,  то
 переделка отнимет у Вас не более пяти минут. Итак,

    * перережьте дорожку XT1/A23-D1/18
    * перережьте дорожку XT1/B19-D1/20
    * установите перемычку D1/39-А14
    * установите диод (Д9Б или  аналогичный)  между  XT1/A29  и
      XT1/A14 анодом к A14 (A14 ─┤>├─ A29)
    * распаяйте микросхему К555ЛА3 (или аналогичную)  следующим
      образом:

               к XT1/B19 к D1/38  к D1/20
                   ↑           ↑  ↑
                   │           │  │       │\ │
                   о──о  о──о  │  о───────┼─>├────→ к XT1/A1
                   │  │  │  │  о──┼───┐   │/ │
              ┌─┴──┴──┴──┴──┴──┴──┴─┐ │
              │ 14 13 12 11 10 9  8 │ │
              │Э    D0  К555ЛА3     │ │
              │ 1  2  3  4  5  6  7 │ │
              └─┬──┬──┬──┬──┬──┬──┬─┘ │
                │  │  │  │  │  │      │
                о──┘  о──о  о──┼──────┘
                │              │
                ↓              ↓
            к XT1/A23       к D1/18

    Микросхема располагается поверх МС  К555ТМ2  (D10).  Выводы
 D0/7 и D0/14 припаиваются к соответствующим выводам D10.

    На этом работа с паяльником заканчивается. То, что Вы  сде-
 лали, на принципиальной схеме выглядит так:

                      1┌────┐
                   ┌───┤ &  │3     4┌────┐
    к XT1/A23 ←────о  2│    о───────┤ &  │6
    (вых DIN)      └───┤D0.1│      5│    о─────────→ к D1/18
                       └────┘  ┌────┤D0.2│           (вх DIN)
                               │    └────┘
    к D1/38   ←────────────────о
   (вых DS3)                   │   9┌────┐
                     13┌────┐  └────┤ &  │8
                   ┌───┤ &  │11   10│    о────о────→ к D1/20
    к XT1/B19 ←────о 12│    о───────┤D0.3│    │     (вх INIT)
   (вых RESET)     └───┤D0.4│       └────┘   ─┼─
                       └────┘                \ /
                                             ─┼─
                                              └─────→ к XT1/A1

    Теперь установкой бита 2 (маска 4) в  ячейке  @#177130  (РС
 КНГМД) производится включение всех трех ПЗУ Бейсика, а  бит  3
 (маска 10) блокирует прохождение сигналов DIN и RESET на  кон-
 троллер. Чтобы включить Бейсик, достаточно подать команду  MOV
 #14,@#177130; чтобы выключить - CLR @#177130.

                По материалам Chips, Dales & Technologies, Inc.

                   ┌──────────────────────┐
                   │ Пишем на Ассемблере. │▒
                   └──────────────────────┘▒
                    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

    * Иногда использование команд TST (Rn)+  и  TST  -(Rn)  для
 увеличения или уменьшения значения в регистре на 2 может  при-
 вести к нежелательным эффектам. Так, если число в Rn  лежит  в
 пределах 177700...177777, выполнение этих  команд  приведет  к
 обращению в "никуда" (по этим адресам нет  устройств,  которые
 могли бы выдать сигнал RPLY), и процессор,  выждав  64  такта,
 произведет прерывание по вектору  4.  Такое  развитие  событий
 редко предусматривается авторами программ...

    * Если Вы используете какое-либо слово (или регистр) в  ка-
 честве флага, принимающего только два значения, Вы,  несомнен-
 но, очищаете его командой CLR FLAG. А устанавливаете? Наверня-
 ка чем-то типа MOV #1,FLAG. А  можно  короче  и  быстрее:  MOV
 PC,FLAG.

    * Как Вы проверяете наличие ПЗУ на некотором адресе? Конеч-
 но, командой TST @#ADDR. А наличие ОЗУ? Говорите, CLR  @#ADDR?
 Увы, это может привести к фатальным  последствиям,  если  ADDR
 попадет в область операционной системы.  Немного  длиннее,  но
 значительно безопаснее: BIS #0,@#ADDR (или BIC #0,@#ADDR).

    * Наиболее быстрый и экономичный  способ  поменять  местами
 содержимое двух регистров:

         XOR  Ra,Rb
         XOR  Rb,Ra
         XOR  Ra,Rb

    * И, наконец, "по горячим следам" -  простейшая  программа,
 обеспечивающую работу стандартного Бейсика с дисководом (аппа-
 ратная часть переделки была описана выше):

    START:  MOV   #DISP30,@#30   ;Инициализируем диспетчер
            MOV   #14,@#177130   ;Включим Бейсик
            EMT   272            ;JMP @#120000
    DISP30: MOV   R5,-(SP)
            MOV   2(SP),R5
            MOV   -(R5),R5
            CMP   R5,#104036     ;EMT 36 обрабатывается
            BEQ   EMT36          ;                отдельно,
            CALL  @174000(R5)    ;остальные - как обычно
    RETPP:  MOV   #DISP30,@#30   ;Вектор надо восстанавливать
            MOV   (SP)+,R5
            RTI                  ;Финиш.
    E3MT6:  MOV   SP,STOP+2      ;SP сохраним,
            MOV   #STOP,@#4      ;      по СТОПу - наша п/п
            CMPB  @#326,#137     ;Первый символ - "_"?
            BNE   TSTMAG
            COM   TSTMAG+2       ;Да - переключим устройство
    TSTMAG: TSTB  #0             ;Работаем с магнитофоном?
            BEQ   MAG
            CLR   @#177130       ;Нет - включим ОЗУ с системой
            CALL  @#120002       ;         и выполним ее EMT 36
            BR    STOP
    MAG:    CALL  @#116076       ;С магнитофона - как обычно
    STOP:   MOV   #0,SP          ;Восстановим стек,
            MOV   #14,@#177130   ;  вернем Бейсик на место,
            MOV   #120234,@#4    ;             и вектор 4 тоже
            BR    RETPP          ;Теперь - на выход.

    Большинство систем корректно  работает  с  файлами  .COD  и
 .BIN; файлы .ASC нормально обрабатываются только  системами  с
 16-символьным именем (DaleOS и т.п.).

                     ┌──────────────────┐
                     │ Ошибки, глюки... │▒
                     └──────────────────┘▒
                      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

    * Если создать в MKDOS файл с именем "ABC.DEF GHI" и запус-
 тить MCommander, окажется, что файл носит имя "ABC.DEF"

                        ┌────────────┐
                        │ Наш анонс. │▒
                        └────────────┘▒
                         ▒▒▒▒▒▒▒▒▒▒▒▒▒▒

    В следующих номерах Дuck Tales:

    * Все об условных переходах;
    * Как покупать новую клавиатуру;
    * СЕНСАЦИЯ! Как программно отличить свою БК'шку от чужой;
    * Быстрые алгоритмы построения геометрических фигур.

    Выйдут в свет очередные выпуски приложения "Фантастика":

    N#4. Роберт Шекли. "Специалист".
    N#5. Клиффорд Саймак. "Достойный противник".
    N#6. Л. Теплов. "Вертикаль".
    N#7. Айзек Азимов. "Вставьте деталь "А" в отверстие "B"".
    N#8. Роберт Хайнлайн. "Колумб был остолопом".
    N#9. Алексей Паншин. "Судьба Мильтона Гомрата".
    N#10. Герберт Франке. "Самоуничтожение".
    N#11. Дюла Хернади. "РНК".

                      ┌────────────────┐
                      │ Немного UMORA. │▒
                      └────────────────┘▒
                       ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

                         Наша реклама.

                       ЧАСЫ КОМАНДИРСКИЕ
          с зубонепрокусаемым ремешком и смертным боем

    Часы имеют 8 стрелок. Четыре из них показывают  время,  ос-
 тальные - запасные, чтобы сбить с толку вероятного противника.
 Стрелки покрыты специальным составом, благодаря  которому  они
 светятся в темноте и служат для ослепления врага. Доза излуче-
 ния достаточна для радиационного поражения в радиусе 200  мет-
 ров. Для простоты угол  между  часовой  и  минутной  стрелками
 всегда равен прямому.
    Все шестеренки часов выполнены из самых  современных  тран-
 зисторов и микросхем. При изготовлении часов использованы луч-
 шие западные технологии: сварка взрывом, клепка газом,  сборка
 трезвым. Позолоченный корпус часов оцинкован вольфрамом.
    Часы командирские заводятся с пол-оборота, в северных  рай-
 онах страны к ним прилагается специальная ручка для завода  на
 морозе. В случае попадания внутрь часов песка они начинают ра-
 ботать как песочные.
    В боевой обстановке автоматически включается часовой  меха-
 низм замедленного действия, и часы начинают тикать.  В  крити-
 ческий момент командир может метнуть их в сторону  противника.
 При этом встроенный динамик пищит  командирским  голосом:  "За
 мной! В атаку!" В темноте часы шепотом говорят: "Не бойся, я с
 тобой!".

    Покупайте часы командирские! Это будут самые приятные  часы
 в вашей жизни!

 ───────────────────┬───────────────────────────┬──────────────
 УЧРЕДИТЕЛЬ         │АДРЕС РЕДАКЦИИ:            │     Тираж
 Dale Publishing co.│241047, Брянск 47, а/я 109.│неограниченный
 ───────────────────┴───────────────────────────┴──────────────
         Номер сверстан в издательской системе VorteX!


 
Всё об «Электроника БК0010(-01), БК0011(М)»! » Газеты | Документации | Статьи | Журналы » Газеты на «БК001x» » «Дuck Tales» » «Дuck Tales N#4» [30.11.94] (Автор: Dale publishing co.)
  • Страница 1 из 1
  • 1
Поиск:

-=RUS=-
ICQ: 320867225
asr-corp@yandex.ru
bk001x@yandex.ru