1 TV TV,, TV TV? TV OSDC (On Screen Display Controller) OSDC TV TV, TV TV 6845 CRTCTI9938 VDP, CRTCVDP OSDC IC TV, OSDC OSDC TV, OSDC, 1
,,,, ASCII / ( ) ( ) ON/OFF, PC, 2432(PC 1616) CG ROM(FONT ROM) 4096, ASCII,, FONT ROM TV / 18,000(20 ) 1 OSDC, OSDC 1 2
RGB MB88313 32 MB88303 MB88321 MB88322 MB88328 MB88323A MB88324A MB88326 MB88327 MB88325 MB90072 ROM RAM ROM RAM 28 116 64 920 127 1224 57 57 88 2432 2416 MB90070 64 1024 88 MB90071 MB90077 MB90076A ROM 128 1224 1218 ROM 4096 1224 2424 2432 PD6140 32 26 MOP PD6141 48 212 PD6142 64 PD6150 PD6152 PD6143 PD6144 PD6145 ROM RAM 128 112 16 1224 216 616 1224 PD6160 64 616 PD6151 128 PD6153 ROM RAM 240 16 PD6154 ROM 256 PD6155 ROM RAM 240 16 57 1228 TC9020 32 18 TC9029 128 632 CXP80420/424 421 CXP85112/116 CXP85228/232 CXD1050 816 HD49770 ROM 128 1024 1218 ROHM BU2901S ROM 128 1024 1228 M50455 M50552 M50554 M50555 256 M50556 64 M50558 128 LC74711 ROM 128 1224 1218 ST6398 ROM RAM 128 4 1126 1224 KS5512 ROM 128 1024 1224 1 OSDC 3
OSDC(On Screen Display Controller) OSDC MB90076B FONT ROM Zoom Up PC 2424 FONT, 2432 FONT MB90076B OSDC 16 28 DIP 64 2412 ( 288 ) 2432, 2424 FONT ROM 4096 ( 000H FFFH) ( ),,,, 4, ( ) : 8 : 8, 8 ( ) : 8, 8 Y/C 4
VOC( ), VOB( + ), RGB ( ) NTSC, PAL, 8 ( : CS, : SCLK, : SIN) ( ) MB90076B ( ), 9 8, ( ) NTSC/PAL NTSC PAL, (VRAM) (VRAM)241219, (12 ), (3 ), (3 ), (1 ) BUFFER ROM,, TSC 3 STATE / FONT ROM, 5
4FSC 4FSC 1, 2 CS, SCLK SIN, LSB( ) SIN ( 1 ),, PC I/O, PC CS SCLK SIN b0 b1 b2 b3 b4 b5 b6 b7 b0 b1 n2 b3 b4 1 MB90076B + 1 2, 16 9 1 OSDC 1 2 6
2, 1 2 / No 76543 2 1 0 7 6 5 4 3 2 1 0 0 10000 FL A8 A7 0 A6 A5 A4 A3 A2 A1 A0 1 10001 MA MB AT 0 C2 C2 C0 0 B2 B1 B0 2 10010 M9 M8 M7 0 M6 M5 M4 M3 M2 M1 M0 3 10011 0 0 0 0 0 0 0 0 0 0 0 ( ) 4 10100 IE IN 0 0 E0 0 ZM NP P2 P1 P0 5 10101 0 0 0 0 0 0 0 W3 W2 W1 W0 6 10110 G2 G1 G0 0 0 VD DG N3 N2 N1 N0 7 10111 EC 0 0 0 0 Y5 Y4 Y3 Y2 Y1 Y0 8 11000 SC 0 0 0 0 X5 X4 X3 X2 X1 X0 9 11001 0 0 0 0 0 0 0 0 0 0 0 ( ) 10 11010 0 0 RB 0 BK CC BC UC U2 U1 U0 11 11011 0 0 0 0 0 0 0 0 0 0 0 12 11100 0 0 0 0 0 0 0 0 0 0 0 13 11101 0 0 0 0 0 0 0 0 0 0 0 ( ) 14 11110 0 0 0 0 0 0 0 0 0 0 0 15 11111 0 0 0 0 0 0 0 0 0 0 0 2 ( 0) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 0 0 0 FL A8 A7 0 A6 A5 A4 A3 A2 A1 A0 [ ] ( ) (VRAM ) [ ] 2 FL : VRAM FILL +--- FL=0: VRAM FILL +--- FL=1: VRAM FILL 7
VRAM ( 2 VRAM FILL ) A8 A0: VRAM A8 A7 A6 A5 A4 A3 A2 A1 A0 +---------------+ +-------------------+ ADDR(12) ADDR(24) ( 1) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 0 0 1 MA MB AT 0 C2 C1 C0 0 B2 B1 B0 [ ] [ ] BLINK, ( 2 VRAM ) MA, MB: ) (MBM0) 12, 10 (M9M0) 2 AT: ATRIBUTE +-- AT=0: BLINK +-- AT=1: BLINK ) AT=1 10RB BK BLINK C2C0: B2B0: ) / 10CC BC ( 2) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 0 1 0 M9 M8 M7 0 M6 M5 M4 M3 M2 M1 M0 [ ] VRAM 8
[ ], 0 VRAM ( 1) MBM012, ROM $000$FFF( 4096 ), C2 C1 C0 B2 B1 B0 G R B G R B 0 0 0 L L L LEVEL0(0 0 0 L L L LEVEL0( 0 0 1 L L H LEVEL1 0 0 1 L L H LEVEL1 0 1 0 L H L LEVEL2 0 1 0 L H L LEVEL2 0 1 1 L H H LEVEL3 0 1 1 L H H LEVEL3 1 0 0 H L L LEVEL4 1 0 0 H L L LEVEL4 1 0 1 H L H LEVEL5 1 0 1 H L H LEVEL5 1 1 0 H H L LEVEL6 1 1 0 H H L LEVEL6 1 1 1 H H H LEVLE7(1 1 1 H H H LEVLE7( ( 4) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 1 0 0 IE IN 0 0 E0 0 ZM NP P2 P0 DC [ ] [ ] IE: / +--IE=0; - (8) (8 ) - +- IE=1: - (8 ) - ) ( 10 )CC BC 0 0, OSDC 9
IN: INTERLACE +---IN=0: INTERLACE SCAN +---IN=1: NONINTERLACE SCAN ) EO:FIELD +---EO=0: +---EO=1: EVEN FIELDODD FIELD ), / ZM: ZOOM UP SET32 24, 2 ( G0G2 ) NP: +---NP=0: NTSC +---NP=1: PAL P2: +---P2=0: 1( 1 ) +---P2=1: 2( 2 ) PO: +---PO=0: P2 +---PO=1: ROM IMAGE,, AT=1, RB=1, DC: +---DC=0:, +---DC=1: ( 5) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 1 0 1 0 0 0 0 0 0 0 W3 W2 W1 W0 [ ] [ ] 10
W3W0: W3W0 015 ), ZOOM UP MODE 2, 1 1 ( ) ( 6) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 1 1 0 G2 G1 G0 0 0 VD DG N3 N2 N1 N0 [ ], [ ] G2: +----G2=0: 2 4 +----G2=1: 2 1 2 4 (G2=0 ) 2 1 (G2=1 ) G1 G0 G1 G0 0 0 0 0 0 1 2 0 1 2 1 0 2 1 0 2 1 1 1 1 2 4 2 1 ) G2 G1,G0: ) 24 21 VD: +----VD=0: +----VD=1: DG: DIGITAL +----DG=0: (VOC, VOB, R,G,B ) 11
+----DG=1: N3 N2: N3 N2 VRAM A8 A5 ( 7) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 1 1 1 EC 0 0 0 0 Y5 Y4 Y3 Y2 Y1 Y0 [ ] [ ] EC: +----EC=0: HSYNC, VSYNC +----EC=1: HSYNC, VSYNC Y5Y0: $00$3F(063 RAST R) VSYNC( ) LEVEL HSYNC( ) ( 8) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 1 0 0 0 SC 0 0 0 0 X5 X4 X3 X2 X1 X0 [ ] (EDGE RISING) 8 [ ] SC: +----SC=0: EXHSYNC, EXVSYNC 12
+----SC=1: EXHSYNC, EXVSYNC X5X0:, $00$3F(8 504 ) HSYNC( ) U2 U1 U0 G R B 0 0 0 L L L LEVEL0( 0 0 1 L L H LEVEL1 0 1 0 L H L LEVEL2 0 1 1 L H H LEVEL3 1 0 0 H L L LEVEL4 1 0 1 H L H LEVEL5 1 1 0 H H L LEVEL6 1 1 1 H H H LEVLE7( 1 ( 10) 1 2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 1 0 1 0 0 0 RB 0 BK CC BC UC U2 U1 U0 [ ] [ ] RB: 1 AT(Atribute )=1, +-----RB=0: +-----RB=1: BK: BLINK 1 AT(Atribute )=1, BLINK +-----BK=0: ( BLINK ) +-----BK=1: ( BLINK ) CC: 13
+-----CC=0: +-----CC=1: BC: +-----BC=0: +-----BC=1: UC: +-----UC=0: +-----UC=1: ) CC, BC, UC 0 U2U0: ( ) 2 (1) 3 (2) 14
2 15
NS LM1881, 1 IC, ( ) TV 3 4 16
PC PC ( ) C OSDC, Borland C Turbo C v20, (outportb() ) MSC #include <stdioh> #include <dosh> #define AP 0x378 // LPT1 Data #define RST 0x00 // PORT CLEAR #define CS 0x01 // Pin A0 #define CLK 0x02 // Pin A1 #define SIN 0x04 // Pin A2 // Mass(x, y, ); void Mass(unsigned, unsigned, char *, unsigned, unsigned); // s_put(x, y,, ); void s_put(unsigned, unsigned, unsigned, unsigned, unsigned, unsigned); // osdout( / ); void osdout(int); // in_ext(0; / 1; ); void in_ext(int); void out_dat(int); void zoom(void); void color(void); void osd_clr(void); void s_init(void); void main(void) { s_init(); osd_clr(); in_ext(0); Mass(1,0," OSD Test ",7,0); Mass(1,1," ",7,0); Mass(1,2," 2350 ASCII256 ",7,0); Mass(1,3," ",7,0); Mass(1,4," ",7,0); Mass(1,5," ",7,0); Mass(1,6,", ",7,0); 17
getch(); osd_clr(); in_ext(0); Mass(1,0," ",7,0); Mass(1,1," ",7,0); Mass(1,2," ",7,0); Mass(1,3,", ",7,0); Mass(1,4," ",7,0); Mass(1,5,", ",7,0); getch(); osd_clr(); in_ext(1); color(); getch(); osd_clr(); in_ext(0); Mass(1,0," OSD ",7,0); Mass(1,1," ",7,0); Mass(1,2," ",7,0); Mass(1,3,", ",7,0); getch(); osd_clr(); zoom(); getch(); osd_clr(); in_ext(0); Mass(1,0,"? OSD ",7,0); Mass(1,1," ",7,0); Mass(1,2," ",7,0); Mass(1,3," ",7,0); Mass(1,4," ",7,0); getch(); in_ext(0); osd_clr(); void s_init(void) { int a; int LHC[10]={0x88,0x50,0xA8,0x02,0xB8,0x1B,0xC0,0x0C,0xD0,0x78; for(a=0;a<5;a++) { out_dat(!cs); // Power OnCS out_dat(cs); // 4 for(a=0;a<10;a++) osdout(lhc[a]); void s_put(unsigned x,unsigned y,unsigned car,unsigned num,unsigned fd,unsigned bk) { int a; for(a=0;a<num;a++,car++,x++) { osdout(0x80+(y/4)); osdout((y%4)*0x20+x); osdout(0x88+(car/1024)*2); 18
osdout(fd*0x10+bk); osdout(0x90+((car%1024)>>7)); osdout(car&0x7f); void osdout(int con) { int a,data; out_dat(cs); for(a=0;a<8;a++) { if((0x01 & (con >> a)) ==0x01) data=sin; else data=0; out_dat(data); out_dat(data CLK); out_dat(data & 0xbf); out_dat(cs); // CS low // Data 1bit out // Clock high // Clock low // CS high void out_dat(int dat) { int b; outportb(ap,dat); for(b=0;b<100;b++); // CS high void osd_clr(void) { int a; int CLR_TB[8]={0x84,0x00,0x88,0x50,0x90,0x00,0xd0,0x78; for(a=0;a<12;a++) { osdout(0xb0); osdout(0x30+a); for(a=0;a<8;a++) osdout(clr_tb[a]); void in_ext(int bg) { if(bg==0) osdout(0xa4); else osdout(0xa0); osdout(0x05); void Mass(unsigned x,unsigned y,char *DATA,unsigned fd,unsigned bk) { unsigned w=0,m=0; for(w=0;w<(strlen(data));w++) { if(data[w] & 0x80) // { m=((data[w]&0xff)-0xb0)*0x5e; // Font m+=(data[w+1]&0xff)+0x5f; // w++; // 2Byte else m=data[w] & 0xff; // Font if(x>23) // X { y++; // Y 19
x=0; m+=1024; s_put(x,y,m,1,fd,bk); x++; // X0 // DataFontoffset // 1 // X void zoom(void) { int a; char MESS[4][256]={"1x1", "1x2", "2x2", "4x2"; for(a=0;a<4;a++) { osdout(0xb0+a); osdout(0x30+a); Mass(0,a, MESS[a],7,0); void color(void) { char COL[8][8]={" ",""," "," ",""," "," "; int a,b; for(a=0;a<8;a++) { for(b=0;b<8;b++) Mass(b*3,a,COL[b],a,b); 1 20
FONT ROM FONT FONT ROM FONT HEX, BIN, FONT FONT C HFEDEXE FONT EDITOR( 2 ) CONVEXE DATA BIN2HEXEXE BIN -> HEX HEX2BINEXE BIN <- HEX PED7576EXE FONT EDITOR( MOTOROLA HEX ) GDM_VGACOM VGA * FNT FONT EDITOR * BIN DATA FONT2 * HEX FONT EDITOR 2 FONT ROM FONT FONT - FONT FED FONT * FNT CONVEXE FONT 2 OSDBIN CONV OSD FNT OSD BIN - ROM 512K0, 1M 1, 2M 4M 2, 3 ROM 21
ROM OSD BIN ROM - FONTROM 4M, 0x00 (ROM 0xFF ) OSDBINBIN2HEXEXE OSDHEX BIN2HEX : OSDBIN : OSDHEX : MOTOROLA HEX(S2) : 0X00000 - BIN HEX, 512K MOTOROLA HEX(S2) FONT OSDHEX HEX2BINEXEOSDBIN HEX2BIN : OSDHEX : OSDBIN : MOTOROLA : 0XFFFFFF - HEX BIN, 512K 22
0XFFFFFF CONVEXEOSDBIN FONT OSDFNT CONV OSDBIN OSDFNT - FONT ROM4M (27C040), FONT ROMA18 A19 MA, MB A19, A18 (10 ) 0000 1023 FONT 1024 1279 3629 ASCII FONT FONT 256 2350 4095 EEPROM FONT 3 FONT ROM 256 23
PC, (SPP,, EPPECP ), CD-ROM SPP 1 STROBE 2 PD0 0 3 PD1 1 4 PD2 2 5 PD3 3 6 PD4 4 7 PD5 5 8 PD6 6 9 PD7 7 10 -ACK PC 11 BUSY 12 PE 13 SLCT 14 -AUTOFD 15 -ERROR 16 -INIT (RESET / INITALIZE) 17 -SLCTIN PC 18 25 GND 4 PCI/O I/O, LPT1 0x378 0x37A 25 (Female), 5 12, 8 24
SPP 5 ( ), 1 4 (1 ) 1, PCSPP 23PC ( - Low ), 1~2MBps 2m, I/O LPT1 I/O 0x378, 0x378 I/O 0x378 I/O 0xFF PD0 PD7 High, Low 0x3780x00 0x378 PD0 PD7 0x379 -ACK, BUSY, PE, SLCT, -ERROR 0x37A -STROBE, -AUTOFD, -INIT, -SLCTIN 5 25
7 6 5 4 -INT 0 : 1 : -ACK IRQ7 3 -SLCTIN 1 2 -INIT 0 : 1 : 1 -AUTOFD 0 : 1 : 0 -STROBE 0 : 1 : 6 0x37A 7 BUSY 0 : 1 : 6 ACK 0 : 1 : 5 PAPER 0 : 1 : 4 SELECT 0 : ON-LINE 1 : ON-LINE 3 ERROR 0 : 1 : 2 1 0 7 0x379 26
OSDCMB90076B, EPROM 27Cxxx xxx, ASCII 27C256(256 ), EPROM Jump EPROM Jump U1 LM7805 +5V R1 10 1/4W ( 1/8W ) U2 LM1881N R2 10K " U3 MB90076B R3 680K " U4 27C040 4Mbit EPROM R4 1M " Q1 C1815 NPN TR R5 620 " Q2 C1815 R6 300 " Q3 C1815 R7 1K " D1 ZD 82V R8 1K " D2 IN1004 R9 620 " D3 IN1004 R10 120 " C1 220uF 16V R11 51 " C2 220uF R12 150 " C3 47uF R13 12K " C4 47uF R14 12K " C5 10uF R15 100 " C6 100uF R16 100 " C7 01uF R17 100 " C8 01uF L 47uH C9 15pF X-TAL 14318MHz SUNNY C10 51pF CON1 VIDEO RCA Jack C11 01uF CON2 VIDEO " C12 510pF 500pF CON3 POWER 5mm C13 01uF CON4 DB25 male C14 27pF JMP1 3 C15 22pF JMP2 C16 01uF C17 01uF 8 27
OSDC DIP, DIP, 12V DC RCA, 23, PADS PCB PCB, 1 34,, 28
OSDC, Gen- Lock,, fsc IC(JRCNJM2240 ) PLL IC(74HC4046) 4fscOSDC, TV,, PC, TV,, 29