Saturday, September 17, 2016

Sony Kanji Video Titler XV-J777: Inside the ROMs

In our last post we saw two video titlers from Sony:  XV-J770 and XV-J777. We find that they are both MSX based machines (if you are keeping a count, now Sony have four video titlers listed in this blog). In that previous post we show a little snippet from one of the ROMs only to confirm that those devices are MSXs. Now it's time to see all the secrets from those ROMs

The five chips at left and the one just below the Zilog are all ROMs

There are six Mask-ROM chips inside each of those video titlers, all from Fujitsu: 3 x 831000 and 3 x MB834000, totalizing 1920KB, which is a lot of data for an 8 bits computer. Besides some version numbers, I don't believe the contents of those ROMs are too different between the two titlers, Alexandre Tabajara have a XV-J777 and made a dump of all those ROMs, so we will examine them.

The first thing that I did to examine those ROMs was to split each dump file in 16KB, 32KB, 64KB, 128KB and 256KB blocks. The second step was to compare the sha1sum of each block with other better known MSX's ROMs. That strategy gives to us all the contents of one of the 831000s:
0fbd45ef3dd7bb82d4c31f1947884f411f1ca344  hb-f1xd_msx2sub.rom
12f2cc79b3d09723840bae774be48c0d721ec1c6  hb-f1xd_disk.rom
4ce41fcc1a603411ec4e99556409c442078f0ecf  hb-f1xd_basic-bios2.rom

They are the HB-F1XD's ROMs. But those files together have only 64KB and the chip is a 128KB Mask-ROM, what Sony did with the extra space? Well, Sony put a copy of the first half of the chip on the second half. The ROM have this layout:

00000-07FFF BASIC-BIOS2
08000-0BFFF MSX2-SUBROM
0C000-0FFFF DISK-ROM

10000-17FFF BASIC-BIOS2
18000-1BFFF MSX2-SUBROM
1C000-1FFFF DISK-ROM

The sha1sum strategy give to us another easy find:

6acaf2eeb57f65f7408235d5e07b7563229de799  hb-f900_kanjifont.rom

This ROM is mapped at the last 128KB of one of those MB834000, which leaves 384KB missing. And more unknown 1024KB in the other two MB834000. I believe that the majority of those ROMs are Kanji-ROMs, so we begin another sha1sum comparison, this time, splitting the Kanji Font of HB-F1XDJ in smaller blocks. That gave a better view. First, the Kanji Font of HB-F900 is included and mapped in the first half of the HB-F1XDJ's Kanji ROM. Second, all data from HB-F1XDJ's Kanji ROM are inside XV-J777 ROMs, but split in two ICs:

1st KANJI-ROM
        00000-1FFFF
        20000-3FFFF
        40000-5FFFF
        60000-7FFFF JIS1 (HB-F900/F1XDJ/F1XV)
 

2nd KANJI-ROM
        00000-1FFFF
        20000-3FFFF
        40000-5FFFF
        60000-7FFFF JIS2 (HB-F1XDJ/XV)

My guess is that one of those chips have the JIS1 and the other one the JIS2 fonts, in different resolutions.

We still have another 512KB MaskROM to examine. While it doesn't have the same sha1sums, the contents of this last ROM looks a lot like the second half of the firmware ROM from HB-F1XDJ, as you can see from this sample:

XV-J777 MSX-JE ROM
00000000  |±       ±²Ù×ÝÄÞ |
00000010  |±·º     ±¹Þ±ÌÞ× |
00000020  |±¼Þ±    ±Ã      |
00000030  |±Í޶ܠ  ±×²ÊÞ   |
00000040  |±ÜÃÌÀÒ  ²¯·Æ    |
00000050  |²²¸ÙÒ   ²·µ²    |
00000060  |²º³     ²½ÞÐÀÞ  |
00000070  |²Á¼ÞÏ   ²Äº     |
00000080  |²ÎÞ¸    ²ÚÁÞ´   |
00000090  |²ÝÁ·    ³¶ÍÞ    |

HB-F1XDJ MSX-JE ROM
00080000  |±       ±²Ù×ÝÄÞ |
00080010  |±·º     ±¹Þ±ÌÞ× |
00080020  |±¼Þ±    ±Ã      |
00080030  |±Í޶ܠ  ±×²ÊÞ   |
00080040  |±ÜÃÌÀÒ  ²¯·Æ    |
00080050  |²²¸ÙÒ   ²·µ²    |
00080060  |²º³     ²½ÞÐÀÞ  |
00080070  |²Á¼ÞÏ   ²Äº     |
00080080  |²ÎÞ¸    ²ÚÁÞ´   |
00080090  |²ÝÁ·    ³¶ÍÞ    |

With this last one, we can say that all MB834000 chips are related to handle the input and display of Japanese language.

Now we only have two ROM ICs to check, each one with 128KB. After search for "SONY" inside one of the ROM dumps this is what we found:
00012000  |SONY JFEP2  Ver |
00012030  |SONY Corporarion|

I remember that JFEP string... maybe from one of those latest examined ROMs? Yes! In HB-F1XDJ's MSX-JE ROM!
00000010  |SONY  JFEP  TINY|
00002000  |SONY JFEP2  Ver |

JFEP is a acronym that for "Japanese Front End Processor", and with that we have all the HB-F1XDJ MSX-JE inplemented in XV-J777. It's only a newer version:

HB-F1XDJ MSX-JE ROM
00000010  |SONY  JFEP  TINY|
00000020  | DUMMY  Version |
00000030  |1.0  May  7 1987|
00000040  |  Copyright (C) |
--
00002000  |SONY JFEP2  Ver |
00002010  |1.00  May 31 198|
00002020  |8  Copyright(C) |
00002030  |SONY Corporarion|


XV-J777 MSX-JE ROM
00012000  |SONY JFEP2  Ver |
00012010  |1.06  Mar 14 198|
00012020  |9  Copyright(C) |
00012030  |SONY Corporarion|

That explains why, although very similiar, the sha1sums of those ROMs doesn't match: XV-J777 have a newer version of F1XDJ (and F1XV) firmware. This firmware is mapped to the higher 64KB of a 831000 ROM. We still need take a look at lower 64KB.

The first 32KB looks like some kind of filesystem:

00000000  ffffffffffffffff ffffffffffffffff
          |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ|
00000010  ffffffffffffffff ffffffffffffffff
          |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ|
00000020  4549535531303136 2020464e54000000
          |EISU1016  FNT...|
00000030  00200000580d0000 0000000000000000
          |. ..X...........|
00000040  4549535531303234 2020464e54000000
          |EISU1024  FNT...|
00000050  00400000a01a0000 0000000000000000
          |.@.. ...........|
00000060  4549535532303136 2020464e54000000
          |EISU2016  FNT...|
00000070  00300000580d0000 0000000000000000
          |.0..X...........|
00000080  4549535532303234 2020464e54000000
          |EISU2024  FNT...|
00000090  00600000a01a0000 0000000000000000
          |.`.. ...........|

By the name of those files, say that they are fonts with 16 and 24 points is a good bet, but why have more fonts? We already have 1024KB of fonts in the Kanji-ROM ICs. Things get a bit clearer after we know that "Eisu" (英数) means "Alphanumeric", so those are the fonts for latin alphabet, and those in the Kanji-ROM are... Kanji.

In this ROM we still have a last 32KB block to see. And it's very interesting. It begins with:

00008000  c3c0400056455231 2e300000000000ff
          |ÃÀ@.VER1.0.....ÿ|

Which is very uncommon for a block header. I searched for text strings within this dump and found the following messages:

rom test
Font rom pass
Dic rom  pass
Basic    pass 1/1 sum %04x
Kanji 1  pass
%s %d/4 sum %04x
Kanji 2  pass
%s %d/4 sum %04x
%s %d/4 sum %04x
Program  pass 1/2 sum %04x
Program  pass 2/2 sum %04x

It's a health check software!! And, by this list of ROMs to be tested, now we know that the chip that have the second half of X1XDJ's firmware is the Dictionary part of MSX-JE.

This self test software helps to solve another two questions. Take a look on these strings:

XV-T550 test program ver 1.0
XV-J777 test program ver 1.1

With that, we now know why XV-T550 have a internal slot: to connect a cartridge with the self test program and help the technician to repair it.  The other question that these strings solves is: why XV-J550 and XV-T550 are so different? In our post about those two titlers I wrote:

My guess: the XV-J550 was first released in Japan. Seeing that it's a good product and there is a broader home video market, Sony wanted to sell it in Europe, but had to make some revisions on the board for this release; this new board was meant to be shared by the two versions of the titler (XV-J550 and XV-T550), but for some reason the XV-J550 with the new PCB did not reached the market (or we didn't yet found any XV-J550 with this new board). I believe that, instead release the same old product with a new internal organisation, Sony did launched new video titlers, like the XV-J770.

The test program shared by XV-T550 and XV-J777 seems to confirm my guess, while the western markets got the XV-T550 the Japanese market got XV-J770 and XV-J777.

And, with that last 32KB, the memory map of this ROM is:

00000-07FFF EISU 16/24 Fonts
08000-0FFFF Test Program
10000-1FFFF JFEP2 VER1.06 Mar 14 1989

There is now only one ROM that we don't examined yet and we already know what is there. We found the MSX BIOS, Kanji-ROM, MSX-JE and even a Test Program, but what is missing in this Video Titler? The Video Titler Software! And yes, as expected, the last 831000 is the Video Titler Software.

It's a 128KB ROM, divided in 16 blocks of 8KB, some of them are clearly labelled:

00006000  |BANK3 ÃË Ã[ Ãw¨Ã|
00008000  |BANK4 ÃF¢..å..å.|
0000a000  |BANK5 Ãf§ÃȦÃѦÃ|
0000c000  |BANK6 Ã7«Ã3«ÃM«Ã|
0000e000  |BANK7 Ã΢ÃN£Ãò¢Ã|
00010000  |BANK10Ã. 2.Ø:.Ø·|
00012000  |BANK11ÃÓ¡¬.s.K..|
00014000  |BANK12ÃA°Ãå®Ã.¿"|
00016000  |BANK13Ã7 ...*­Aë|
00018000  |BANK14Ã. 2.Ø:.Ø·|
0001a000  |BANK15Ã. +}¤<ÈÃ.|
0001c000  |BANK16ÃW¤ÃM Ãå°"|

Banks 1, 2, 8 and 9 aren't labelled. But they are there:

00000000  |AB.B............|
00002000  |Ýåá....ÍÉe¯íyíy>|
00004000  |·(+Í.}åÍy})å*ÏÃ.|
0001e000  |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ|

The first bank have the program header and the video titler software starts here. The second and third bank seems to have some program parts and the last block looks like a empty filler, the 0001db7c address is the last byte which isn't FF recorded in this ROM.

The last interesting data from those ROMs are some dates:

00000000  |AB.B............|
00000010  |VER2.07 89/3/24 |
--
0000e070  |...[.(C)1987 by |
0000e080  |Sony Corporation|

This is the version 2.07 of the Sony Video Titler software, built in 1989. There is a copyright notice from 1987, maybe from the first release?

We still have more Video Titlers from Sony to examine. But, by now, Sony's the recycling queen! Panasonic did put their old font ROMs in the VW-KT300, but Sony reuses everything: all the Video Titlers uses a very similar build, the same HB-F1XD ROMs, same Kanji-ROMs and, except the Titler Software itself, all the other stuff are small updates from other ROMs released in other MSXs.

Even the Titler Software, while not coming from their MSX computers, looks to be reused between it's Titlers (to check this we need to dump more ROMs to compare).

They really know how to reuse their know-how and previous designs.

If you want examine the ROMs, I put the dump files inside this tarball with a text describing their contents and what I know about them now. Good Luck!

No comments:

Post a Comment