Скачать презентацию Matakuliah Tahun Versi T 0074 Grafika Скачать презентацию Matakuliah Tahun Versi T 0074 Grafika

702877d739b4c09bece47c04944dcbb3.ppt

  • Количество слайдов: 15

Matakuliah Tahun Versi : T 0074 / Grafika Komputer : 2005 : Versi 1 Matakuliah Tahun Versi : T 0074 / Grafika Komputer : 2005 : Versi 1 / Revisi 0 Pertemuan 4 Menggambar titik 1

Learning Outcomes Pada akhir pertemuan ini, diharapkan Mahasiswa akan mampu : • Menghasilkan program Learning Outcomes Pada akhir pertemuan ini, diharapkan Mahasiswa akan mampu : • Menghasilkan program grafik dengan IBM PC dalam grafik komputer. 2

Outline Materi • • Materi 1 : inisialisasi fungsi grafik Materi 2 : set Outline Materi • • Materi 1 : inisialisasi fungsi grafik Materi 2 : set modus video Materi 3 : fungsi primitive Materi 4 : Block Diagram CGA/VGA/SVGA 3

Pokok Bahasan(4) : Menggambar titik Oleh : Djunaidy Santoso M. Kom. 4 Pokok Bahasan(4) : Menggambar titik Oleh : Djunaidy Santoso M. Kom. 4

Pokok Bahasan(4) : Menggambar titik 5 Pokok Bahasan(4) : Menggambar titik 5

ROM BIOS (ide mata kuliah Pemrograman C, # 020) Konsep : ROM BIOS adalah ROM BIOS (ide mata kuliah Pemrograman C, # 020) Konsep : ROM BIOS adalah kumpulan program-rutin yang tersimpan secara permanen di dalam mesin. ROM BIOS terdiri dari program-rutin seperti : Penentuan modus video Pengaturan tampilan kursor Baca / tulis karakter pengelolaan disk drive, serial port, keyboard, printer Pemakaian interrupt Interrupt adalah kelompok program-rutin yang ada di dalam ROM BIOS untuk mengakses ROM BIOS. Contoh : Nomor Interrupt 10 adalah program-interrupt-rutin untuk mengatur video. Format pada Turbo C : int 86 (intno, &inreg, &outreg) intno integer nomor interrupt inreg union REGS nilai register yang dikirim ke ROM BIOS outreg union REGS nilai register yang dikembalikan oleh ROM BIOS 6

MENGGAMBAR TITIK PADA LAYAR Beberapa submodul berikut ini dapat Anda terapkan langsung di dalam MENGGAMBAR TITIK PADA LAYAR Beberapa submodul berikut ini dapat Anda terapkan langsung di dalam program Anda. Turbo Pascal 6. 0 Procedure Set. Mode(mode : byte): assembler; Asm mov ah, 0 mov al, Mode int 10 h end; Procedure Put. Pixel (x, y : word; Color : byte): assembler; Asm mov ah, 0 ch mov al, Color mov bh, 0 mov cx, x mov dx, y int 10 h end; 7

Function Get. Pixel (x, y : word): word; Var Clr : Word; Begin Asm Function Get. Pixel (x, y : word): word; Var Clr : Word; Begin Asm mov ah, 0 dh mov bh, 0 mov cx, x mov dx, y int 10 h and ax, 0 ffh mov Clr, ax end; Get. Pixel : =Clr end; 8

Turbo Pascal 5. X. Microsoft Quick Pascal Harus ada : uses Dos; pada awal Turbo Pascal 5. X. Microsoft Quick Pascal Harus ada : uses Dos; pada awal program Procedure Set. Mode(Mode : byte); Var r : register; Begin r, ah : = 0; r, al : = Mode; intr($10, r) end; Procedure Put. Pixel(x, y : word; Color : byte); Var r : registers; Begin with r do begin ah : =$0 c; al : = Color; bh : = 0; cx : = x; dx : = y; end; intr($10, r) end; 9

Turbo C Harus ada : #include <dos. h> pada awal program setmode(int mode) { Turbo C Harus ada : #include pada awal program setmode(int mode) { union REGS r; r, h, sh : = 0; r, h, al : = mode; int 86 ( 0 x 10, &r); } putpixel(int x, y, color) { union REGS r; r, h, ah : = $0 c; r, h, al : = Color; r, h, bh : = 0; r, x, cx : = x; r, x, dx : = y; int 86(0 x 10, &r); } int getpixel (int x, y) { union REGS r; r, h, ah : = 0 x 0 d; r, h, bh : = 0; r, x, cx : = x; r, x, dx : =y; int 86 (0 x 10, &r); 10

Function Get. Pixel (x, y : word) : word; var r : register; Begin Function Get. Pixel (x, y : word) : word; var r : register; Begin with r do begin ah : =%0 d; bh : =0; cx : = x; dx : = y; intr($10, r); Get. Pixel : = ax and $ff end 11

Akses Memory Langsung Turbo Pascal, Microsoft Quick Pascal const x. Res = {kolom maksimum} Akses Memory Langsung Turbo Pascal, Microsoft Quick Pascal const x. Res = {kolom maksimum} y. Res = {baris maksimum} Var High. Res : boolean; Procedure Put. Pixel (x, y : word; Color : byte); Const Segment = $A 000; var Offset, Page : word; Begin if high. Res then begin Offset : = y*1024 + x; Page : = y div 64; Port[$3 CD] : = Page or 64 end else Offset : = y*320 + x; mem[Segment : Offset] : = Color End; 12

Turbo C #define XRES. . . /*kolom maksimum*/ #define YRES. . . /*baris maksimum*/ Turbo C #define XRES. . . /*kolom maksimum*/ #define YRES. . . /*baris maksimum*/ #defune Segment 0 xa 000 int highres; putpixel( unsigned int x, y, color) { unsigned int Offset Page; if ( !((x<0)||(y<0)||(x>=XRES) or (y>=YRES)))) { if(highres) { Offset = y*1024 + x; Page = y/64; outport (0 x 3 cd, Page | 64); } else Offset = y * 320 + x; pokeb (Segment, Offset, Color ); } } 13

ROM BIOS VIDEO SERVICES Telah kita pelajari penggunaan ROM BIOS dan akses memori langsung. ROM BIOS VIDEO SERVICES Telah kita pelajari penggunaan ROM BIOS dan akses memori langsung. Berikut ini akan kita pelajari bagaimana memanfaatkan ROM BIOS berdasarkan spesifikasi yang diberikan. Fasilitas dari ROM BIOS disebut video service. Semuanya ini dipanggil melalui interrupt 16 (10 h). Terdapat 16 video service untuk semua jenis video (CGA, EGA, VGA) dan 7 video service khusus untuk EGA dan VGA. Contoh spesifikasi : ROM BIOS Video Service 00 h Service 0 (00 h) : Set Video Mode INPUT TO BIOS OUTPUT FROM BIOS AH = 00 h no data returned AL = Video Mode CONTOH : lihat modul Set. Mode yang lalu 14

CLOSING • Mahasiswa mampu menghasilkan program grafik dengan IBM PC dalam grafika komputer. 15 CLOSING • Mahasiswa mampu menghasilkan program grafik dengan IBM PC dalam grafika komputer. 15