шрифты редактора "Слово и Дело"

 


Искал очередной шрифт кодировки 866 и нашел старенький редактор "Слово и Дело". В комплекте оказался файл WD.fnt, который содержал свалку шрифтов. Сначала я решил извлечь файлы с помощью Sprite Grabber, но после нескольких попыток запутался. Поэтому написал программу, которая сохраняет файлы со шрифтом по отдельности. Ушло много времени на разбор шрифта WD8.fnt - то ошибся с высотой символа, то с другим параметром. Финалочка - написание программы, которая на ZX Spectrum рисует буквы. Наверное, я плохо соображал, как лучше сделать код и решил выводить данные по знакоместам. Готовый код можно найти в игрушке Venom Strikes Back, но хотелось сделать самостоятельно - нарисовал таблицу "координата Y - экранный адрес" и после правки пары ошибок получил картинку на экран. Процедура вышла такой:

device zxspectrum128
        ORG #6000
begin
ld hl,$5800,de,$5803,bc,765:set 6,(hl):ldir
ld ixl,0
tlp:
;0000 0000 $4000 01000000 00000000
;0000 0001 $4020 01000000 00100000
;0000 0010 $4040 01000000 01000000
;0000 0011 $4060 01000000 01100000
;0000 0100 $4080 01000000 10000000
;0000 0101 $40A0 01000000 10100000
;0000 0110 $40C0 01000000 11000000
;0000 0111 $40E0 01000000 11100000
;0000 1000 $4800 01001000 00000000
;0000 1001 $4820 01001000 00100000
;0000 1010 $4840 01001000 01000000
;0000 1011 $4860 01001000 01100000
;0000 1100 $4880 01001000 10000000
;0000 1101 $48A0 01001000 10100000
;0000 1110 $48C0 01001000 11000000
;0000 1111 $48E0 01001000 11100000
;0001 0000 $5000 01010000 00000000
;0001 0001 $5020 01010000 00100000
;0001 0111 $50E0 01010000 11100000
;...h Hyyy       01 hH    yyy00000
;               ...hHyyy  .....yyy
ld a,ixl
and %00011000
or $40
ld h,a
ld a,ixl
and 7
rrca
rrca
rrca
ld l,a
ld (hl),$FF
inc ixl
ld a,ixl
cp 24
jp nz,tlp
jr $
end
display /d,end-begin
savesna "!void.sna",begin

Файлы тут, кодировка 866.


Комментарии