ZX-News #50
30 декабря 1999

Старина Z80 - Печать копии спектрумовского экрана в псевдографике.

<b>Старина Z80</b> - Печать копии спектрумовского экрана в псевдографике.
╔═───────────────════════───────────────═╗
│              Старина  Z80              │
╚═──────────══════════════════──────────═╝

   Сегодня у нас открытие новой рубрики  -
подарок для людей (?), которых  хлебом  не
корми, а дай создать в  ассебмлере  какую-
нибудь сногсшибательную процедуру. :)

   Надеемся, этот раздел будет  появляться
в нашей газете достаточно часто, но гаран-
тировать  это, к  сожалению, нельзя.  Ведь
кодеры привыкли  изъясняться  на  машинном
языке, и  посему  объяснить  для  смертных
принцип какой-нибудь команды зачастую  для
них сложнее, чем  исполнить  на  китайском
языке русские народные песни. ;-)

   А сейчас мы представляем вам  Ивана Ро-
щина (Москва), автора BestViev и многочис-
ленных публикаций в прессе, который, можно
сказать, и открывает новую рубрику. :)
__________________________________________

(C) Иван Pощин, 1999

   Предлагаю  вашему  вниманию  программу,
которая очень пригодится  в  случае, когда
нужно напечатать копию спектрумовского эк-
рана в сильно увеличенном виде. Эта  прог-
рамма перекодирует экранный файл в тексто-
вый псевдографический  файл, а  его  легко
можно распечатать на принтере. После печа-
ти как раз получится  изображение  формата
А2. Впрочем, изображение можно порезать на
куски в текстовом редакторе и печатать  по
частям, если принтер не поддерживает фор-
мат А2.
__________________________________________

;              Вход:  с #4000 - экранный файл (ч/б)
;         Выход: с #8000 - текстовый файл (длина #6100)

;               Pазмер объектного кода: 103 байта.

DESTIN    EQU   #8000

          LD DE,#00BF   ;координаты
          LD HL,DESTIN  ;адрес txt

          LD B,128
LP_MAIN   PUSH BC         ;главный цикл

LP_2      CALL GET_P
          ADD A,A
          LD B,A
          INC D
          CALL GET_P
          DEC D
          ADD A,B

          EXX
          LD HL,DECODE
          LD D,0
          LD E,A
          ADD HL,DE
          LD A,(HL)
          EXX

          LD (HL),A
          INC HL

          DEC E
          LD A,E
          CP -1
          JR NZ,LP_2

          INC D
          INC D
          LD E,191

          LD (HL),13    ;код
          INC HL         ;перевода
          LD (HL),10    ;строки
          INC HL

          POP BC
          DJNZ LP_MAIN

          RET

;-----------------------------------------

DECODE   DB  " ","~","~","~" ;символы

;-----------------------------------------
;Процедура GET_P - узнать цвет точки
;
;Вход: DE - координаты точки (X,Y)
;Выход: A - цвет (0 или 1)
;
;Значения других регистров не меняются.

GET_P     PUSH HL
          PUSH DE
          PUSH BC

          LD A,E
          AND A
          RRA
          SCF
          RRA
          AND A
          RRA
          XOR E
          AND #F8
          XOR E
          LD H,A
          LD A,D
          RLCA
          RLCA
          RLCA
          XOR E
          AND #C7
          XOR E
          RLCA
          RLCA
          LD L,A
          LD A,D
          AND 7
          LD B,A
          INC B
          LD A,1
LOOP      RRCA
          DJNZ LOOP

          LD B,(HL)
          AND B

          POP BC
          POP DE
          POP HL

          CP 0
          RET Z
          LD A,1
          RET

    __________________________________
         ───══════════════════───



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

ZX-Party - Посетители и уровень работ на Party.

Гуру - Жизнь в эхах. Этап 1: Как написать в эху.

Лит. страничка - Юмор и рассказ "В Новый год".

Новости ПО - О новинках ПО: Винни Пух-2, Tower Pod, Operation OiX, Stickman Animation Studio, Screen Traslate Universal v1.0, Code Disabler v1.0, Art Studio v2.3, Zx-Word v2.6, Picture viewer v1.18, Chunk Graphics Editor v1.2.

От редакции - С Новым годом! Воспоминания о старых добрых временах.

Список BBS - Список станций BBS.

Старина Z80 - Печать копии спектрумовского экрана в псевдографике.


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

Похожие статьи:
Вступление - содержание номера.
Technodrom-2 - История создания игры Technodrom'а.
Послесловие - Авторы и софт.
Юмор - рассказы от "Момара".
Реклама - реклама и обьявления.

В этот день...   25 апреля