Sony HBI-V1

Video Digitizer cartridge (MSX2+ (screen 10, 11 and 12) and MSX2 (Screen 8)

Sony HBI-V1 video capture module user manual in German
Sony HBI-V1 video capture module user manual
Sony HBI-V1 usser manual
Sony HBI-V1 service manual

IC’s inside the HBI-V1:
NTSC/PAL circuit Sony V7201
Oki MSM79V023 gate array

Short userguide, calls from MSX-Basic
From the japanese manual I have (long ago) interpreted and tested the calls for the HBI-V1 as follows:

HBI-V1 CALLs

Calls work in screen 8,10,11,12, function depends on screen setting

CALL AD(A,B,C,D,E,F,G) autodigitize

A block size X
0: 1/1	3: 1/4	6: 2/3
1: 1/2 4: 3/4	7: 2/4
2: 1/3	5: 2/2

B blocksize Y
0: 1/1	3: 1/4	6:2/3
1: 1/2 4: 3/4	7: 2/4
2: 1/3	5: 2/2

c startblock X
0

D startblock Y
0

E wait parameter (in frames, 60 per second, in Europe 50)
0 ~ 255 0 = nowait

F loop
0,1 (1 = loop)

G manual 
0,1,2

CALL DCLS Digitizer Clear Screen

CALL DCOPY (A.B) - (C,D) TO (E,F) call digitizer copy

0 <= A <=255
0 <= B <=211

A <= C <= 255

B <= D <= 211

0 <= E <=255
0 <= F <=211

CALL DG Call digitizer menu

CALL MD (A,B,C,D,E) call manual digitize, see autodigitize

A
0: 1/1	3: 1/4	6: 2/3
1: 1/2  4: 3/4	7: 2/4
2: 1/3	5: 2/2

B
0: 1/1	3: 1/4	6: 2/3
1: 1/2  4: 3/4	7: 2/4
2: 1/3	5: 2/2

c
0

D
0

E 
0,1,2

YJK (Y,J,K) RGB value to YJK?

-7 < Y < 7
-7 < J < 7
-7 < K < 7

CALL FMD (G,H,A,B,C,D)

FMD is like CALL AD, but with an interesting original second parameter:

H,  encoding type of image
0 YJK  
1 YJK + YAE  
2 RGB

Some insight how the capturing is done:
1. First the composite video signal is split into RGB (with a standard television IC) and sync (the well known LM1881).
2. The three RGB signals are send to three a/d converters (6 bit).
3. The digital data is then stored in a 64 K DRAM memory after being converted to YJK.

The whole logic of capture, convert and store in DRAM and the interface with the MSX is performed by a OKI/Sony IC labeled MSM79v023. It is a standard IC it seems, the datasheet is listed above.

The program is stored in a standard 27256 ROM.

Hardware modification to PAL, info by Mohai (credit also for the photos)

Recently, I bought an HBI-V1 complete with box, manual and software.
It has been imported and adapted to PAL by LASP (an old Spanish MSX importer).
I have been studying the mod and I found following parts were changed or modified:

X101: PAL = 4.4333619 NTSC = 3.579545
R106: PAL = 4700 ohm NTSC = 1000 ohm
R107: PAL = 100 ohm NTSC = 1000 ohm

IC101 (V7020): Cut pins 19,20,21

)

Programming from assembler (Info by NYYRIKKI et al

 

#7E00-#7EFF: Read buffer. Will return 256*256 picture. 
After one byte is read, next one will be returned.
(LDIR/OTIR is used to read multiple bytes at a time)


#7FFC R/W: %ABC***XX
A Read: Busy or something like that (Z=Idle, NZ=Busy) Usually you can skip with ESC key.
B Read: Sync something (Wait to be NZ and wait to be back Z)
C Read: Sync something else (Wait to be Z and wait to be back NZ) (Video refresh?)
XX Write: Command
		00 = Terminate
		01 = Digitize
		10 = Digitize with delay
		11 = ??
 
 
#7FFD R/W: %A**DXXYY
A Read: Even/Odd frame
D Read: Video signal detected (NZ = No video signal)
XX Write: Start block Y
YY Write: Start block X
 
#7FFE Write: %XXYYYZZZ
XX = Screen mode
	00 = SCREEN 12
	01 = SCREEN 10/11
	10 = SCREEN 8
	11 = Other / Clear memory
 
YYY = Block size Y
ZZZ = Block size X
 
#7FFF Write: 8bit data (???)
 
To reset, write 0 to #7FFF - #7FFC (=backwards)
 
 Some more info:



Write to #7FFF:

Delay for write command 2 (in frames)
 
 
BIOS Routines:
--------------
 
#4010 "SONY HBI-V1 V10",0
 
#4020 Digitize
 
	Input:
	C	0 = Copy to VDP
	B	0 = Don't loop
	E	Nuber of frames to wait (0 = No wait)
	HL	Pointer to 7 bytes parameter table
 
	Table pointed by HL:
 
	n	0-255
	n+1	0-3	Screen mode
	n+2	0-7 	Block size Y ???
	n+3	0-7	Block size X ???
	n+4	0-3	Start block Y ???
	n+5	0-3	Start block X ???
	n+6	0-3	Command
 
#4023 DCOPY or something like that
 
	Input:
	HL	Pointer to parameter table 
 
	Table pointed by HL:
	Lucky guess: x,y,x,y,x,y
 
#4026 YJK color adjust (Similar to CALL YJK)
	Input:
 
	Color table pointed by HL
 
#4029 DCLS
	Input:
 
	None
 
	Explanation:
	Calls digitize routine (#4020) with following values:
 
	BC=1
	E=0
	Table pointed by HL: 0,3,0,0,0,0,1
 
#402C Start digitize software
	Input:
 
	None
 
	Explanation:
	Same as CALL DG in BASIC. Loads the BASIC program from ROM.
 
#402F Send command to hardware
	Input:
	HL	Pointer to 7 bytes parameter table
 
	Table pointed by HL:
	Same as in Digitize routine.
 
#4032 Copy Digitizer RAM to VRAM.
	Input:
 
	None