Логотип.
 Разделы сайта Cтатьи.
Сайт в разработке!

Статистика сайта.

Посещений за день: 334
Посещений за месяц: 2364
Посещений за год: 19574


Баннеры.

DMconnect
Maksy's PWS


Статистика в картинках.

likes counter


  • Главная.
  • Новости.
  • Программы.
  • Файлы.
  • Контакты.
  • Чат "Пиво".
  • Статьи.
  • Ссылки.
  • Гостевая.
  • Старина Z80.

     Предлагаю вашему вниманию программу, которая очень пригодится в случае, когда нужно напечатать копию спектрумовского экрана в сильно увеличенном виде. Эта программа перекодирует экранный файл в текстовый псевдографический файл, а его легко можно распечатать на принтере. После печати как раз получится изображение формата А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
    

    >>

    BitByByte, 2000г. (2025).