Displaying かな on UK MSX

Page 1/2
| 2

By mxmy

Resident (39)

mxmy's picture

07-06-2018, 17:22

Hi all! I'm really keen to display hiragana and katakana on my Sony HB-57B, but obviously that's not possible with the base system. However, I'm wondering if anyone knows of a way of changing the charset to instead use the Japanese charset? Would it maybe even be possibly to build in a rom changer board with a switch into the bios socket?

Also, as I am on the subject of it, inside my MSX there is a blank area on the PCB where an IC is not soldered in ( I believe it's IC43, but that's just off the top of my head). Does anyone know what even goes into that slot?

Login or register to post comments

By Sylvester

Champion (398)

Sylvester's picture

07-06-2018, 21:18

In the service manual: http://msx.hansotten.com/uploads/xfiles/sonyhp5575sm.pdf

IC42 and IC43 are mentioned in chapter 4 above the BASIC ROM 32kb, but i'm not a hardware guy, so that's all I can tell you :)

By Randam

Paladin (916)

Randam's picture

07-06-2018, 21:21

There are cartridges with Kanji rom etc. I think I saw some people back in the day that added it in their computer IIRC.

What is possible with your msx? I don't really know...

And if it's for one of your own games/ projects? You can always create a custom font with hiragana or katakana in it...

By gdx

Prophet (2979)

gdx's picture

08-06-2018, 01:21

Kanji Rom do not change this font. It is in Bios Rom.
On international MSX, Kana key is the Code key. You can redefine the characters by software or change the Bios.

By mxmy

Resident (39)

mxmy's picture

08-06-2018, 07:25

Unfortunately I have a Japanese cartridge that I really want to use, but it relies on the font in the MSX. And in my MSX, that means the UK character set Sad

By sdsnatcher73

Hero (535)

sdsnatcher73's picture

08-06-2018, 09:48

What cartridge is it? Most game software do not rely on KANJI ROM. But it may just detect it is running on a non-Japanese machine and revert to English. What you could try is (if you have a ROM file of the cartridge) is to run the game on a HB-75 (no postfix letter), that is the Japanese variant of the HB75B you have. You can than see how it runs on that machine (which has no KANJI ROM either). I am not 100% sure but I think KANJI roms are only available for MSX2 and higher.

By NYYRIKKI

Enlighted (5365)

NYYRIKKI's picture

08-06-2018, 09:56

About the used character set... Address #F91F (byte) contains the Slot ID of the character set and address #F920 (word) contains the base address of the character set (size = 2KB), so practically few POKEs are enough to change it. Default character set is indeed in BIOS ROM (You can find & rip character set from Japanese computer using this info), but you can put alternative set to anywhere you like... ROM or RAM it doesn't make a difference. If you use main RAM just try to select area that your software does not use.

By gdx

Prophet (2979)

gdx's picture

08-06-2018, 11:27

It must be possible to do a ROM with a character set or more by changing the address #F91F.

By NYYRIKKI

Enlighted (5365)

NYYRIKKI's picture

08-06-2018, 12:05

Sure... Something like: (Not tested)


	OUTPUT "FONT.ROM"

	DW #4241,BEGIN,0,0,0,0,0,0
	ORG #4000
BEGIN:

	CALL GET_SLOTID
	LD (#F91F),A
	LD HL,FONT
	LD (#F920),HL
	RET

RSLREG:	EQU	0138H		;read primary slot select register
EXPTBL:	EQU	0FCC1H		;slot is expanded or not

GET_SLOTID:			;Example from MSX2 technical handbook

	CALL	RSLREG		;read primary slot #
	RRCA			;move it to bit 0,1 of [Acc]
	RRCA
	AND	00000011B
	LD	C,A
	LD	B,0
	LD	HL,EXPTBL	;see if this slot is expanded or not
	ADD	HL,BC
	LD	C,A		;save primary slot #
	LD	A,(HL)		;See if the slot is expanded or not
	AND	80H
	OR	C		;set MSB if so
	LD	C,A		;save it to [C]
	INC	HL		;Point to SLTTBL entry
	INC	HL
	INC	HL
	INC	HL
	LD	A,(HL)		;Get what is currently output
				;to expansion slot register
	AND	00001100B
	OR	C		;Finally form slot address
	RET

FONT:
	INCBIN "FONT.RAW"

	DS #8000-$

Plug this in cartridge slot 1 and the game in cartridge slot 2 -> the problem should be fixed.

By Alexey

Guardian (2349)

Alexey's picture

08-06-2018, 14:37

The "org #4000" should be above the dw #4241 because this way the Begin starts at #4000 while it should be at #4010

By mxmy

Resident (39)

mxmy's picture

09-06-2018, 03:34

Wow, I'm absolutely bewildered by the amazing breadth of knowledge y'all have ^^ I've not yet done much assembly yet (usually I code C++) and I'm very new to the MSX, but this gives me an excellent project to get my hands dirty. I'm not yet sure how to put together a physical cartridge, but having taken apart the one I have, it's basically a rom in a box, so should be too hard to figure it out from there, just gotta connect the right pins (might have seen a capacitor in there too). I've also never put on a rom on a chip before either, so this will be very fun indeed!

Thank you all for your awesome advise. I guess my first port of call is to learn these assembly opcodes. Being an MSX1, there are no kanji on the cartridge and it doesn't use the kanji cartridge. It's only hiragana, katakana and romaji. Also, the cartridge definitely has no english translation switching, it's all just Japanese. Building a ROM cart to play Japanese cartridges correctly on my UK MSX will be an excellent use of my time, especially if I can just override the font in the RAM and load the second cart Big smile

Page 1/2
| 2