Занялся изучением этого режима из-за появления демки. Началось всё с инициализации, которая реализуется на Бейсике:
PRINT CHR$(4)"PR#3" : PRINT CHR$(0); : POKE 49246,0 : GR
А дальше - тупик, многие руководства говорят об использовании двух страниц, но запись в ячейки в $C055 и C054 не дают результата. Как видно, в этом режиме доступно 4 цвета для знакоместа - проблема в том, что задаются только цвета справа. Провозился весь вечер, даже забыл о пиве. Вспомнил, достал бинарь демки и стал изучать. Доступ осуществляется записью в другие адреса
*=$6000
!to "hl#0x6000.bin", plain ; set output file and format
!cpu 6502 ; set processor type
STA $C050;TEXTOFF
STA $C056;HIRESOFF
STA $C052;MIXEDOFF or STA C053;MIXEDON
STA $C00D;80COLON
STA $C05E;SETAN3
ldy #0
ldx #4
lda #0
zz
tya
sta $C005; left
p1 sta $400,y
sta $C004
eor #$FF
p2 sta $400,y
iny
bne zz
inc p1+2
inc p2+2
dex
bne zz
rts
!to "hl#0x6000.bin", plain ; set output file and format
!cpu 6502 ; set processor type
STA $C050;TEXTOFF
STA $C056;HIRESOFF
STA $C052;MIXEDOFF or STA C053;MIXEDON
STA $C00D;80COLON
STA $C05E;SETAN3
ldy #0
ldx #4
lda #0
zz
tya
sta $C005; left
p1 sta $400,y
sta $C004
eor #$FF
p2 sta $400,y
iny
bne zz
inc p1+2
inc p2+2
dex
bne zz
rts
результат на скринщоте. Осталось разобраться, где левые и где правые данные:
lda #$99
sta $C005;left
sta $400
lda #$61
sta $C004;left
sta $400
Комментарии не нужны, на картинке итак видно. Осталось написать процедуру построения точки.
Комментарии
Отправить комментарий