Daewoo CPC-400S hanja display bug.

Page 2/4
1 | | 3 | 4

By RetroTechie

Paragon (1563)

RetroTechie's picture

30-05-2019, 22:02

Mail sent... Smile

By Manuel

Ascended (15536)

Manuel's picture

31-05-2019, 01:09

U38 contains: (in order): BASIC/BIOS (32k), diskROM (16k), subROM (16k).
U44 contains: (in order): part 2 of subROM (?) (16k), Hangul ROM part 1 (16k), nothing (16k), Hangul ROM part 2 (16k)

Can someone translate the names of the ROM on page 225 (and 224) of the manual as we can read here: https://archive.org/details/CPC400400S/page/n229 please? Then I know what are the proper names...

(The names there do not seem to match those of the Wiki article (or the names in the old openMSX config and blueMSX config... What I called part 2 f subROM *seems* to be called Hangul ROM, just like the first half of what we used to call the Hangul ROM. But what is that 2nd part in slot 0-1, in page 2 called?)

That manual also only specifies 0xD8 and 0xD9 to access the kanji/font ROM:
0xD8 W: b0-b5: lower address set
0xD9 W: b0-b6: upper address set
0xD9 R: read

Does someone how this compares to a Japanese kanji ROM? The decoding procedure seems to be explained in page 236... but I can't understand it with Google Translate...

By gdx

Prophet (2864)

gdx's picture

31-05-2019, 01:45

한글ROM = Hangul Rom (16KB)
한자콘트롤ROM = Kanji Control Rom (16KB)
문자ROM = Font Rom (256KB)
시스템RAM (256KB획장가능) = System Ram (256KB possible)
슬로트 = Slot

By masquane

Supporter (6)

masquane's picture

31-05-2019, 06:38

page 236

한글코드표 (2바이트 분리형)
Hangul code table (2 byte separated type)

2바이트 분리형 한글코드는 초성, 중성, 종성이 각각 5비트로 구성되어 있으며, 맨 앞의 한 비트는 한글식별비트로, 항상 1로 설정되어 있읍니다.
The two-byte separable Hangul code consists of 5 bits each of the initial, medial, and final, and the first one is the Hangul identification bit, which is always set to 1.

1바이트 1byte
2바이트 2byte
초성 Initial
중성 Medial
종성 Final

By masquane

Supporter (6)

masquane's picture

31-05-2019, 06:53

For example,

1 - First bit
10100 - ㅎ
00011 - ㅏ
00101 - ㄴ

D065 - 한

By Manuel

Ascended (15536)

Manuel's picture

31-05-2019, 10:14

So, there are 2 16kB areas that are called Hangul ROM...

The font ROM indeed is 256kB but it is not known how to address that exactly based on the input of these I/O ports.

By masquane

Supporter (6)

masquane's picture

31-05-2019, 11:42

SCREEN 9:WIDTH 64

PRINT CHR$(&HD0);CHR$(&H65)
한 (Hangul "han") correct.

[SHIFT]+[SELECT] then type D065
ゐ (Hiragana "wi") perhaps wrong.

why??

By Manuel

Ascended (15536)

Manuel's picture

31-05-2019, 12:46

My question is how the 256kB Font ROM is accessed by the software. Apparently you are supposed to send 6 lower address bits to port D8 and then 7 higher address bits to port D9. And then the character data can be read from port D9. But how exactly are these bits used to retrieve data from the Font ROM? Apparently for the first 128kB it works like a JIS1 font ROM. But what about the second 128kB?

By Manuel

Ascended (15536)

Manuel's picture

31-05-2019, 22:57

masquane wrote:

On Daewoo CPC-400S, later DC95 hanja (kanji) fonts does not display correctly.

10 SCREEN 9:WIDTH 64
20 FOR I=0 TO 14
30 PRINT CHR$(&HDC);CHR$(&H90+I);
40 NEXT I

The correct is

讃賛察札参倉創唱彰昌暢窓蒼債彩

There are no fonts later DC95 in cpc-400s_hangulfont.rom
Maybe the file size is not enough.

OK, I changed the openMSX Kanji code to take 7 bits into account instead of 6 at 0xD9 (thanks Wouter for the explanation)... Together with the 256kB font ROM it gives me:

By Manuel

Ascended (15536)

Manuel's picture

31-05-2019, 23:52

The next development build (and the current source code) has this fix included. Please test and confirm! Smile

Page 2/4
1 | | 3 | 4