tablacus / LSX-Dodgers

CP/M80 MSX-DOS Compatible OS(Z80) for SHARP X1/turbo/Z, MZ-700/1500, PC-8801mkIISR and MSX
https://tablacus.github.io/LSX-Dodgers/
MIT License
43 stars 6 forks source link

漢字VRAM #7

Closed tablacus closed 2 years ago

tablacus commented 2 years ago

X1turboの場合、テキストVRAMに2バイト、漢字VRAMに2バイト書き込むと漢字が1文字表示できます。 テキストVRAMの2バイトは左右とも同じに、漢字VRAMはbit6で左半分:0、右半分:1の部分のみ異なります。

ソースと実行ファイル kvram.zip

OSFLG   EQU 00003H
SYSTEM  EQU 00005H
FCB1    EQU 0005CH

    ORG 00100H
    JP  START       ;0C3HはZ80ではJPだが、i8086ではRETなので
START:              ;間違えてMS-DOS環境で実行しても即終了できる
    LD  E,$0C       ;画面クリア
    LD  C,2
    CALL    SYSTEM
    LD  E,$1F
    LD  C,2
    CALL    SYSTEM

    LD  HL,VRAM
    LD  BC,$3000    ;VRAM
    LD  E,16
LOOP1:
    LD  A,(HL)
    INC HL
    OUT (C),A
    INC BC
    DEC E
    JR  NZ,LOOP1

    LD  HL,KANJI
    LD  BC,$3800    ;漢字VRAM
    LD  E,16
LOOP2:
    LD  A,(HL)
    INC HL
    OUT (C),A
    INC BC
    DEC E
    JR  NZ,LOOP2

VRAM:
    DB  $A2,$A2,$A4,$A4,$A6,$A6,$A8,$A8 ;アイウエ
    DB  $AA,$AA,$81,$81,$7A,$7A,$82,$82 ;オ漢字あ
KANJI:
    DB  $80,$C0,$80,$C0,$80,$C0,$80,$C0 ;アイウエ
    DB  $80,$C0,$86,$C6,$89,$C9,$80,$C0 ;オ漢字あ

image