Monday, February 8, 2016

Sony Video Titlers XV-T550 and XV-J550


Last post we talk about MSX being used in video production, and that made sense to MSX manufacturers reuse their knowledge to build MSX-based appliances to this job.

From Sony

And yes, this idea made a lot of sense. So much sense that we have many video production MSX appliances from at least three manufacturers. Sony is, by a large margin, the most productive manufacturer in this area: I have now four MSX based video appliances from Sony, and the knowledge about other three.

Even with these good news for MSX researchers is always good to remember: not all Sony video appliances are MSXs, a bit worst, most Sony video appliances aren't MSXs. And even some machines with great possibilities are totally unrelated with MSX hardware. We will see more about that on next posts, by now, we will see the XV-J550, the first one cited in the Wikipedia article.

XV-T550/XV-J550

Some of those machines already have some information on the internet. Others are pretty obscure. One that I didn't have but is very well known is the Sony XV-T550; it's a video titler aimed to Western markets, the Japanese version, XV-J550, although almost the same, have less information available. Of course, being a lucky guy, I have the japanese version.

Sony Kanji Video Titler XV-J550, the keyboard and mouse connectors

XV-J550 comes with a very familiar mouse (Sony MOS-1)

And an unfamiliar keyboard

Both machines are, by this blog definition, MSX computers. Being more specific, they are MSX2 computers. They have MSX BIOS, MSX BASIC, and can run unmodified MSX software without any hardware modification.  There is a cartridge slot between the two PCBs, with the machine opened you can connect any cartridge and it will be started when the titler were powered on.

You need to keep XV-J550 opened to use the cartridge slot.
Remember that the cartridge needs to be connected with the label front facing.

There are only two issues: the video output is off, by default, and the PSG sound output goes to a speaker in the controller keyboard. If you have the keyboard connected, you will be with a black monitor and a singing keyboard. If you don't have the keyboard, you will think that nothing is happening and something broked. (Three issues, if you count the fact that the XV-J550/XV-T550 needs to be kept opened, there is no space for a cartridge when closed)

Having the keyboard, the sound is lame, but, at least, some sound will be played. Find a way to turn on the video output is the last item on our "to do" list to allow us to play MSX2 games on those video titlers. Problem solved by NYYRIKKI, who discovered a lot of things about this hadware and provides two modified Disk-ROMs, one for MultiFlashROMSCC+SD and other one for Nowind interfaces, and . Using this modified DIsk-ROMs you can run any disk based software on your XV-T550. Sadly, for me, these Disk-ROMs didn't work in XV-J550.

NYYRIKKI researched the software of XV-T550 (you can get a copy of this ROM and the XV-T550's Service Manual in Hans Otten's page) and found that to turn on the video output, you need to write specific values in address &H4FFF, and fetch a instruction from the ROM on slot 3.1. He did this with this code (comments by me):

; ...
; Here we have some code to detect the XV-T550
; ROM. I removed it all as I didn't know if the
; same bytes were at the same places in XV-J550
; so the code below will run in any MSX.
;
; Which gives some funny effects when I tested if
; the modified Disk-ROM works in a Sony HB-T7
; that have the modem software at SLOT 3.1
; ...
;
; Change the output to PAL/50Hz
;
di                      ; Disable interruptions
ld a,000010          ; Set bit 2
out (099h),a            ;
ld (0ffe8h),a           ; Update the mirror copy
                        ; in RAM
ld a,%10001001          ; of VDP register 9
out (099h),a            ;
;
; Enable SRAM and Video
;
ld hl,4FFFh             ; Switch address
ld e,%10000001          ; Bit 7:   SRAM and Video
                        ; Bit 0-1: map BANK1 on address
                        ;          4000h to 5FFFh
ld a,%10000111          ; Select slot 3.1
call 0014h              ; WRSLT
;
; Fetch a instruction from SLOT3.1
;
rst 30h                 ; Interslot call
db %10000111            ; Select slot 3.1
dw 5270h                ; Address to be called
                        ; it's a RET in XV-T550 ROM
;
; Turn off the SRAM
; (the video continues enabled)
;
ld hl,4FFFh
ld e,000001
ld a,%10000111
jp 0014h

This code needs to have a RET instruction at address &H5270 of the BANK1 in the software ROM at slot 3.1. If the RET is not there, the execution doesn't go back from the CALLF and the machine runs the next instructions from Slot 3.1 with unpredictable results.

While the XV-T550 have the RET instruction in the right place, this not the case of the software on XV-J550 and we got exactly the "unpredictable results" when we test the NYYRIKKI's ROMs on XV-J550. If we want to use these modified Disk-ROMs we need a dump of XV-J550's software and to find a suitable address to be called, one address that have a RET instruction. With that address in hands, we swap &H5270 with it.

To make the things a bit harder, the ROM chips aren't placed in sockets, but they are directly soldered in circuit board. So, to read them in a EPROM reader,  we need first to de-solder the ROM from PCB. And my skills with the solder iron are very bad, great chances to burn something. Better to wait for a friend with good solder iron skills.

Next post, let's see the XV-J550 internals.

EDIT (2016/07/20): Fixed some grammar errors and added some links to other posts and tags.

2 comments:

  1. If you remove the RST (or replace with 4x NOP) the computer will boot up fine. Only the display will be off... This means that you can run any standard MSX ROM dump tools on it to make a copy and find a nice address for enabling video.

    ReplyDelete
    Replies
    1. Thanks NYYRIKKI!

      Now my XV-J550 is boxed (with a lot of other things), but soon I will try to do the ROM dump with your idea.

      And that's why I did this blog. Public information brings new ideas :)

      Delete