Вопрос по коду из гайда и комментарию к нему:
Код:
       ld hl,15616         ; ROM font.
       ld de,60000         ; address of our font.
       ld bc,768           ; 96 chars * 8 rows to alter.
font1  ld a,(hl)           ; get bitmap.
       rlca                ; rotate it left.
       or (hl)             ; combine 2 images.
       ld (de),a           ; write to new font.
       inc hl              ; next byte of old.
       inc de              ; next byte of new.
       dec bc              ; decrement counter.
       ld a,b              ; high byte.
       or c                ; combine with low byte.
       jr nz,font1         ; repeat until bc=zero.
       ld hl,60000-256     ; font minus 32*8.
       ld (23606),hl       ; point to new font.
       ret
Сам я не понял для чего конкретно нужен этот код (подозреваю, что-то связано с переносом при декременте). Перевел пока вот так:
Код:
       ld hl,15616         ; загружаем адрес ROM-шрифта.
       ld de,60000         ; адрес нашего нового шрифта.
       ld bc,768           ; 96 символов * 8 строк для изменения.
font1  ld a,(hl)           ; получаем изображение символа.
       rlca                ; сдвиг влево.
       or (hl)             ; совмещаем два изображения.
       ld (de),a           ; записываем в новый шрифт.
       inc hl              ; следующий байт старого шрифта.
       inc de              ; следующий байт нового шрифта.
       dec bc              ; уменьшаем счетчик.
       ld a,b              ; старшую часть байта.
       or c                ; объединяем с младшей.
       jr nz,font1         ; повторяем пока bc не будет=0.
       ld hl,60000-256     ; адрес шрифта минус 32*8.
       ld (23606),hl       ; указываем на новый шрифт.
       ret
Поясните и поправьте, если надо, пожалуйста.