HOME > 상세정보

상세정보

(소스 코드로 배우는 C의 활용) C로 하드웨어 주무르기

(소스 코드로 배우는 C의 활용) C로 하드웨어 주무르기 (37회 대출)

자료유형
단행본
개인저자
김석주
서명 / 저자사항
(소스 코드로 배우는 C의 활용) C로 하드웨어 주무르기 / 김석주 저
발행사항
서울 :   가메출판사,   2001  
형태사항
959 p. : 삽화 ; 26 cm + 전자 디스크 1매
ISBN
8980780214
000 00000nam c2200205 c 4500
001 000000760394
005 20170605182257
007 ta
008 020312s2001 ulka 000c kor
020 ▼a 8980780214 ▼g 93560
040 ▼a 211009 ▼c 211009 ▼d 211009
049 1 ▼l 121061652 ▼f 과학 ▼l 121061653 ▼f 과학
082 0 4 ▼a 005.133 ▼2 21
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b 2001zzzq
100 1 ▼a 김석주
245 2 0 ▼a (소스 코드로 배우는 C의 활용) C로 하드웨어 주무르기 / ▼d 김석주 저
260 ▼a 서울 : ▼b 가메출판사, ▼c 2001
300 ▼a 959 p. : ▼b 삽화 ; ▼c 26 cm + ▼e 전자 디스크 1매

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/보존서고5(동양서)/ 청구기호 005.133 2001zzzq 등록번호 121061652 (22회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.133 2001zzzq 등록번호 151135639 (6회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M ?
No. 3 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.133 2001zzzq 등록번호 151135640 (3회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M ?
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/보존서고5(동양서)/ 청구기호 005.133 2001zzzq 등록번호 121061652 (22회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.133 2001zzzq 등록번호 151135639 (6회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M ?
No. 2 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.133 2001zzzq 등록번호 151135640 (3회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M ?

컨텐츠정보

저자소개

김석주(지은이)

<자바스크립트 정복>

정보제공 : Aladin

목차


목차
제0장 들어가기 = 29
 각 장의 요약 = 32
제1장 하드웨어를 주무르기 위한 기초 = 37
 1. 하드웨어의 기초 = 39
  1.1 하드웨어를 주무르는 프로그래밍이란? = 39
  1.2 PC의 구조 = 40
  1.3 프로세서의 역할 = 41
   1) 프로세서의 기본적인 기능= 41
   2) 프로세서의 구성요소 = 42
   3) 인터럽트 = 42
   4) 프로세서와 외부와의 통신 = 43
   5) 프로세서의 종류 = 43
    8086/8088 = 44
    80286 = 44
    80386 = 44
    80486 = 45
    펜티엄(Pentium) = 46
    P6 = 47
  1.4 스택(Stack)이란? = 47
  1.5 레지스터(Register)의 종류 및 원리 = 49
   1) 범용 레지스터 = 49
   2) 세그먼트(Segment) 레지스터 = 50
   3) 플래그(Flag) 레지스터 = 52
  1.6 포트(Port) = 53
  1.7 인터럽트(Interrupt)에 대해 = 55
   1) 인터럽트란? = 55
   2) 인터럽트 번호 = 55
   3) 인터럽트의 종류 = 56
   4) 인터럽트의 작동 원리 = 56
   5) 인터럽트 호출 = 58
   6) 인터럽트의 채널 = 58
  1.8 하드웨어에 접근하는 3가지 방법 = 60
   1) ROM-BIOS 인터럽트 = 61
   2) DOS 인터럽트 = 61
   3) 하드웨어에 접근하는 방법의 선택 = 61
 2. 하드웨어를 주무르는 C 함수 = 62
  2.1 프로그램시 사용하는 레지스터의 종류 = 62
  2.2 int86 함수 = 63
  2.3 int86x 함수 = 65
  2.4 outport, outportb 함수 = 67
  2.5 peek, peekb 함수 = 69
  2.6 FP_SEG, FP_OFF 매크로 = 71
  2.7 MK_FP 매크로 = 73
  2.8 enable, disable 함수 = 74
제2장 하드웨어 주무르기 = 75
 1. ROM 버전 확인하기 = 77
 2. 하드웨어 존재 유무 파악하기 = 81
 3. DOS 버전을 확인하자 = 86
 4. 비디오 어댑터 종류 판별하기 = 87
  1) VGA,MCGA = 88
  2) EGA = 88
  3) CGA = 89
  4) MDA, HGC = 89
 5. 플로피 디스크 드라이브 정보 얻기 = 91
 6. 하드 디스크 드라이브 정보 얻기 = 94
 7. 키보드 종류에 대한 정보 얻기 = 97
 8. 마우스를 분석하자 = 98
 9. 메모리 정보 얻기 = 101
 10. 익스팬디드 메모리(Expanded Memory)를 점검하자 = 103
  익스팬디드 메모리 드라이버 확인 = 103
  익스팬디드 메모리 드라이버의 버전 = 103
  익스팬디드 메모리의 크기 = 104
 11. 익스텐디드 메모리(Extended Memory)를 점검하자 = 106
 12. 버스(ISA, PS/2, EISA) 방식 판별하기 = 108
 13. CPU 종류 판별하기 = 110
  1) 8086 = 110
  2) 80286 = 110
  3) 80386 = 111
 14. 제2장에서 사용한 함수 정리 = 114
  1) 인스톨 여부를 물어 보는 함수 = 114
  2) 개수를 물어 보는 함수 = 114
  3) 하드웨어의 종류를 물어 보는 함수 = 114
  4) 하드웨어 정보를 물어 보는 함수 = 114
 실습문제 = 115
제3장 키보드 주무르기 = 117
 1. 들어가기 전에 = 119
  1.1 키보드의 종류 = 120
  1.2 키보드 입력에서 화면 출력까지 = 121
   1) 키보드에서 키를 누름 = 121
   2) 하드웨어 인터럽트 9H 발생 = 122
   3) 스캔 코드의 해석 = 122
   4) 키보드 버퍼에 저장 = 123
   5) 키보드 버퍼에서 가져오기 = 123
 2. 키보드를 주무르는 함수 만들기 = 130
  2.1 키보드 버퍼 청소하기 = 130
  2.2 키보드 버퍼에 키 코드가 있는지 확인하기 = 132
  2.3 키보드 버퍼에 키 코드를 넣기 = 134
  2.4 시프트키와 토글 키들의 상태를 체크하는 함수 = 136
  2.5 토글키 On/Off 시키기 = 142
  2.6 키보드로부터 스캔코드와 ASCII 코드 읽어내기 = 145
  2.7 반복 입력 기능 제어하기 = 147
 3. 각 컴파일러에서 제공하는 키보드 관련 함수들 = 149
  3.1 kbhit 함수 = 149
  3.2 getch, getche, getchar 함수 = 149
  3.3 scanf 와 gets 함수 = 152
 4. 키보드 테크닉 = 153
  4.1 Ctrl-Break 처리하기 = 153
   Ctrl-Break 인터럽트 핸들러의 수정 = 153
   Ctrl-Break 플래그의 세팅 = 155
  4.2 핫키 입력시 램 상주 프로그램 작동하기 = 159
   램 상주 프로그램이 동작할 수 있는지 체크 = 159
   램 상주 여부 체크 = 160
   키 입력 체크 = 161
  4.3 여러 개의 키를 동시에 받아들이는 방법 = 165
   키보드 인터럽트 9H 재정의 = 165
   키보드 포트를 사용한 입력 = 166
   정리 = 166
  4.4 입력된 코드 구별하기 = 168
  4.5 암호 처리하기 = 170
 5. 제3장에서 만든 함수 정리 = 171
  1) 키보드 버퍼에 관한 함수 = 171
  2) 토글키 상태에 관한 함수 = 171
  3) 시프트키 상태에 관한 함수 = 171
  4) 키 값을 읽는 함수 = 171
  5) 키입력 속도에 관한 함수 = 171
  6) Ctrl-Break 플래그에 관한 함수 = 171
 실습문제 = 172
 ROM-BIOS에서 제공하는 키보드 서비스 = 173
제4장 마우스 주무르기 = 175
 1. 들어가기 전에 = 177
  1.1 마우스란? = 177
  1.2 마우스의 종류 = 178
  1.3 마우스 디바이스 드라이버의 기능 = 179
 2. 마우스를 주무르는 함수 만들기 = 181
  2.1 마우스 설치 여부 알아내기 = 181
  2.2 마우스 On/Off 시키기 = 184
  2.3 마우스 위치와 상태 추적하기 = 186
  2.4 마우스 작동 정보 알아내기 = 190
  2.5 마우스 작동 범위 정하기 = 193
  2.6 마우스를 화면에서 안보이게 = 195
  2.7 마우스 감정 조절하기 = 196
  2.8 마우스가 움직인 거리 구하기 = 198
  2.9 마우스 커서의 모양 만들기(텍스트 모드에서) = 200
   하드웨어 마우스 커서 = 200
   소프트웨어 마우스 커서 = 201
  2.10 마우스 커서의 모양 만들기(그래픽 모드에서) = 204
  2.11 실행 중에도 마우스를 마음대로 = 210
  2.12 마우스 확장 이벤트 핸들러 함수 = 212
 3. 마우스 테크닉 = 214
  3.1 마우스 이벤트 핸들러 함수를 사용한 프로그램 = 214
  3.2 클릭, 더블 클릭, 드래그 구분하기 = 219
 4. 제4장에서 사용한 함수 정리 = 225
  1) 마우스 초기화에 관한 함수 = 225
  2) 마우스를 나타나게 하는 함수 = 225
  3) 마우스 위치와 버튼 상태에 관한 함수 = 225
  4) 마우스 존재 영역에 관한 함수 = 225
  5) 마우스 감도에 관한 함수 = 225
  6) 마우스 커서 모양에 관한 함수 = 225
  7) 마우스 이벤트 핸들러에 관한 함수 = 226
 실습문제 = 226
제5장 텍스트 모드 프로그래밍 = 227
 1. 들어가기 전에 = 229
  1.1 모니터와 비디오 카드 사이의 관계 = 229
  1.2 비디오 카드의 종류 = 230
   1) MDA(Monochrome Display Adapter) = 230
   2) CGA(Color Graphics Adapter) = 230
   3) HGC(Herculus Graphics Card) = 231
   4) EGA(Enhaced Graphics Adapter) = 231
   5) VGA(Video Graphics Array) = 231
   6) 슈퍼 VGA(Super VGA) = 231
  1.3 비디오 모드에 관하여 = 232
   텍스트 모드 = 232
   그래픽 모드 = 232
  1.4 비디오 메모리에 대하여 = 234
  1.5 비디오 페이지의 원리 = 235
  1.6 텍스트 모드의 원리 = 236
   1) 비디오 메모리 =236
    비디오 메모리를 직접 접근 = 236
    비디오 메모리의 구조 = 237
    비디오 메모리의 주소 계산 = 237
   2) 속성 정보 = 238
 2. 텍스트 모드 함수 만들기 = 241
  2.1 비디오 모드 정보 알아내기 = 241
  2.2 모니터상의 테두리색 만들기 = 243
  2.3 커서 모양 만들기 = 244
  2.4 커서 On/Off 시키기 = 247
  2.5 비디오 페이지 바꾸기 = 248
  2.6 비디오 메모리에 직접 출력하기 = 250
  2.7 화면 상하로 스크롤하기 = 254
  2.8 화면 좌우로 스크롤하기 = 257
  2.9 수평선과 수직선 긋기 = 260
  2.10 박스 그리기 = 262
  2.11 한글/영문 모드 체크하기 = 265
  2.12 한글/영문 모드 만들기 = 266
  2.13 특정 글자의 한글/영문 여부 판별하기 = 268
 3. 텍스트 모드 테크닉 = 271
  3.1 비디오 해상도 조절하기 = 271
  3.2 화면 좌우로 갈라지게 하기 = 273
  3.3 윈도우 띄우기 = 277
 4. 제5장에서 사용한 함수 정리 = 285
  1) 비디오 모드와 페이지에 관한 함수 = 285
  2) 모니터 테두리에 관한 함수 = 285
  3) 커서에 관한 함수 = 285
  4) 텍스트 출력에 관한 함수 = 285
  5) 스크롤에 관한 함수 = 285
  6) 선 그리는 함수 = 285
  7) 한글에 관한 함수 = 286
 실습문제 = 286
 ROM-BIOS에서 제공하는 텍스트 모드 서비스들 = 287
제6장 그래픽 모드 프로그래밍 = 297
 1. 허큘리스와 VGA 카드를 중심으로 = 299
  1.1 허큘리스, VGA, 슈퍼 VGA = 299
  1.2 그래픽 프로그램 만들기 = 300
 2. 볼랜드 C++에서 제공하는 그래픽 함수들 = 301
  2.1 그래픽 초기화 함수 = 302
  2.2 그래픽 화면 조절 함수 = 308
  2.3 칼라 조절 함수 = 313
  2.4 그림 그리는 함수 = 317
   1) 화면상의 위치에 관한 함수 = 317
   2) 픽셀 함수 = 318
   3) 선 함수 = 318
   4) 다각형 함수 = 320
   5) 원 함수 = 321
   6) 채우기 함수 = 323
   7) 이미지 함수 = 325
   8) 텍스트 출력 함수 = 326
   9) 그래픽 종횡비 함수 = 329
 3. 허큘리스 카드를 건드리는 함수 = 339
  3.1 허큘리스 카드의 구조 = 339
  3.2 픽셀 찍기/픽셀 읽기 = 341
  3.3 선 그리기 = 344
  3.4 원 그리기 = 348
 4. VGA 카드를 건드리는 함수 = 351
  4.1 VGA 카드의 구조 = 351
   1) VGA 카드의 메모리 구조 = 351
    래취 레지스터 = 352
   2) VGA 카드의 레지스터 = 352
    시퀀서의 레지스터 = 353
    그래픽 컨트롤러의 레지스터 = 354
   3) 칼라 만들기 = 357
   4) VGA의 읽기 모드와 쓰기 모드 = 358
    읽기 모드0 = 358
    읽기 모드1 = 358
    쓰기 모드0 = 360
    쓰기 모드1 = 361
    쓰기 모드2 = 361
   5) VGA의 비디오 메모리 주소의 계산 = 362
  4.2 픽셀 찍기 = 362
   1) 쓰기 모드0의 플레인 쓰기 방식 이용 = 363
   2) 쓰기 모드0의 셋/리셋 방식 이용 = 366
   3) 쓰기 모드2의 Packed Pixel 방식 이용 = 368
  4.3 픽셀 일기 = 372
  4.4 선 그리기 = 375
  4.5 원 그리기 = 380
 5. 그래픽 모드 테크닉 = 384
  5.1 애니메이션 만들기 = 384
  5.2 3차원 박스 만들기 = 388
 6. 슈퍼 VGA 카드를 중심으로 = 391
  6.1 슈퍼 VGA에 대하여 = 391
  6.2 슈퍼 VGA에서 지원하는 모드와 메모리 = 392
  6.3 슈퍼 VGA의 뱅크 = 393
 7. 각종 슈퍼 VGA 카드의 제어 방법 = 394
  7.1 Tseng ET3000/ET4000 = 395
   1) Tseng ET3000/ET4000에 대하여 = 395
   2) Tseng ET3000/T4000 카드를 식별하는 함수 = 396
   3) Tseng ET3000/ET4000 카드의 뱅크를 선택하는 함수 = 399
   4) Tseng ET3000/T4000 카드 256칼라에서 점찍는 함수 = 401
  7.2 ATI VGA Wonder = 407
   1) ATI VGA Wonder에 대하여 = 407
   2) ATI VGA Wonder 카드를 식별하는 함수 = 408
   3) ATI VGA Wonder 카드의 뱅크를 선택하는 함수 = 410
   4) ATI VGA Wonder 카드 256 칼라에서 점찍는 함수 = 411
  7.3 Trident TVGA = 415
   1) Trident TVGA에 대하여 = 415
   2) Trident TVGA 카드를 식별하는 함수 = 416
   3) Trident TVGA 카드의 뱅크를 선택하는 함수 = 417
 8. 제6장에서 사용한 함수 정리 = 418
  1) 점찍는 함수 = 418
  2) 선그리는 함수 = 419
  3) 원그리는 함수 = 419
  4) 3차원 박스를 그리는 함수 = 419
  5) Tseng ET3000/ET4000을 위한 함수 = 419
  6) ATI VGA Wonder를 위한 함수 = 419
  7) Trident TVGA를 위한 함수 = 419
제7장 메모리 주무르기 = 421
 1. 들어가기 전에 = 423
  1.1 메모리 구조와 원리 = 423
   1) 세그먼트 기법 = 423
   2) 286의 메모리 = 424
   3) 386과 486의 메모리 = 425
   4) 메모리 구조 = 425
   5) 상위 메모리와 하이 메모리 = 427
  1.2 익스팬디드 메모리의 원리 = 428
  1.3 익스팬디드 메모리의 원리 = 430
  1.4 볼랜드 C++의 메모리 모델 = 431
   1) Tiny 모델 = 432
   2) Small 모델 = 433
   3) Medium 모델 = 434
   4) Compact 모델 = 435
   5) Large 모델 = 436
   6) Huge 모델 = 437
 2. 익스펜디드 메모리를 주무르는 함수 만들기 = 438
  2.1 페이지 프레임의 어드레스 알아내기 = 438
  2.2 사용 가능한 페이지 수 구하기 = 440
  2.3 페이지 할당하기 = 443
  2.4 핸들 다루기 = 445
  2.5 페이지 매핑하기 = 448
   물리적 페이지와 논리적 페이지 = 448
   인터럽트 호출 = 449
  2.6 페이지 해제하기 = 451
 3. 익스텐디드 메모리를 주무르는 함수 만들기 = 453
  3.1 메모리 관리기(XMM)의 존재 확인하기 = 453
  3.2 XMM 함수의 어드레스 알아내기 = 454
  3.3 XMS의 버전 알아내기 = 455
  3.4 현재 사용 가능한 메모리 조사하기 = 457
  3.5 메모리 할당하기 = 459
  3.6 할당된 메모리 해제하기 = 460
  3.7 할당된 메모리 Lock 시키기 = 462
  3.8 할당된 메모리 Unlock 시키기 = 463
  3.9 할당된 메모리를 옮기기 = 464
 4. 메모리 테크닉 = 469
  4.1 익스팬디드 메모리를 이용한 프로그램 = 469
  4.2 익스텐디드 메모리 이용한 프로그램 = 474
 5. 제7장에서 사용한 함수 정리 = 479
  1) 익스팬디드 메모리에 관한 함수 = 479
  2) 익스텐디드 메모리에 관한 함수 = 479
 실습문제 = 480
 확장 메모리에서 사용할 수 있는 기능들 = 480
  1. 익스팬디드 메모리(Expanded Memory) = 481
  2. 익스텐디드 메모리(Extended Memory) = 494
제8장 디스크 드라이브 주무르기 = 499
 1. 들어가기 전에 = 501
  1.1 디스크의 물리적인 구조 = 501
   1) 면(side) = 501
   2) 트랙(track) = 501
   3) 섹터(sector) = 502
  1.2 DOS 에서의 본 디스크 구조 = 503
   1) 부트 레코드 = 503
   2) FAT(File Allocation Table) = 503
   3) 루트 디렉토리 = 505
   4) 데이터 영역 = 506
  1.3 하드 디스크의 분할 = 506
  1.4 디스크의 논리적 구조 = 507
 2. 디스크를 주무르기 위한 함수 만들기 = 508
  2.1 부팅 드라이브 알아내기 = 508
  2.2 디폴트 드라이브 알아내고 설정하기 = 512
  2.3 볼륨명 설정하기 = 512
   DTA(데이터 전송 영역) = 512
   FCB = 513
  2.4 디스크에 남아 있는 용량 알아내기 = 518
  2.5 시리얼 번호 알아내기 = 520
 3. 디렉토리와 파일을 주무르는 함수 만들기 = 522
  3.1 디렉토리 읽기 = 522
  3.2 디렉토리 변경하기 = 524
  3.3 시간과 날짜 설정하기 = 526
  3.4 디렉토리 처리하는 함수 정리 = 529
  3.5 파일 속성 설정하기 = 531
  3.6 파일 복사하기 = 534
   파일 읽기와 쓰기 함수-open, read, write, close = 537
  3.7 파일 삭제하기 = 538
  3.8 파일 이동하기 = 540
  3.9 파일 비교하기 = 541
   파일 읽기와 쓰기 함수-fopen, fgets, fclose = 544
  3.10 파일 내용 보기 = 546
 4. 디스크 드라이브 테크닉 = 551
  4.1 부트 레코드 정보 알아내기 = 551
  4.2 하드 디스크의 파티션 테이블 읽기 = 554
  4.3 논리적 섹터 번호 구하기 = 559
  4.4 디스크 포맷하기 = 561
   DOS 포맷 = 561
   Quick 포맷 = 562
 5. 제8장에서 사용한 함수 정리 = 573
  1) 부팅 디스크를 알아내는 함수 = 573
  2) 디폴트 드라이브에 관한 함수 = 573
  3) 디스크 볼륨에 관한 함수 = 573
  4) 디스크 용량에 관한 함수 = 573
  5) 디스크 시리얼 번호에 관한 함수 = 573
  6) 파일 속성에 관한 함수 = 573
  7) 파일 관리에 관한 함수 = 573
  8) 디스크 포맷에 관한 함수 = 573
 실습문제 = 574
 디스크 관련 인터럽트 서비스 = 574
  1. 디스크 관련 인터럽트 = 574
  2. 디렉토리 관련 인터럽트 = 576
  3. 파일 관련 인터럽트 = 578
제9장 타이머와 스피커 주무르기 = 587
 1. 들어가기 전에 = 589
  1.1 타이머(Timer)의 개념 = 589
   1) 실시간 시계(Real-time Clock) = 589
   2) 8253 타이머 칩 = 589
   3) 타이머 인터럽트 = 590
   4) 1일 시간 카운트 = 590
  1.2 타이머 칩의 구성 = 591
   1) 타이머 칩의 입출력 = 592
   2) 타이머 칩의 구조 = 594
  1.3 스피커의 원리 = 594
   1) 8255 주변장치 인터페이스 = 594
   2) 스피커에서 소리가 날 때까지 = 595
   3) 스피커를 구동하는 프로그램의 알고리즘 = 596
 2. 타이머와 스피커를 주무르는 함수 만들기 = 597
  2.1 시간 알아내기 = 597
  2.2 날짜 알아내기 = 599
  2.3 클럭 카운트 알아내기 = 602
  2.4 프로그램 실행을 잠시 중지시키기 = 604
  2.5 스피커 On/Off 하기 = 605
  2.6 주파수 조절하기 = 606
  2.7 소리 만들기 = 607
 3. 스피커 테크닉 = 610
  3.1 다양한 음향 효과 만들기 = 610
   1) 사이렌 소리 = 610
   2) 레이저 소리 = 610
   3) 잡음 소리 = 610
   4) 클릭 소리 = 611
  3.2 백그라운드 음향 만들기 = 614
  3.3 피아노 건반 프로그램 = 617
 4. 제9장에서 사용한 함수 정리 = 620
  1) 시간에 관한 함수 = 620
  2) 스피커에 관한 함수 = 620
제10장 사운드 카드 주무르기 = 621
 1. 들어가기 전에 = 623
  1.1. 사운드 카드의 탄생 = 623
  1.2 소리의 3대 요소 = 624
   1) 소리의 주파수⇒소리의 크기 = 624
   2) 소리의 진폭⇒소리의 세기 = 625
   3) 소리의 음색⇒소리의 구분 = 625
  1.3 주파수 변조에 관하여 = 626
   사운드 카드의 주파수 변조 = 626
   엔벨롭 = 627
  1.4 YM3812 칩에 접근하는 방법 = 628
  1.5 FM3812 칩의 레지스터 = 629
 2. 사운드 카드를 주무르는 함수 만들기 = 630
  2.1 사운드 카드에 직접 접근하는 함수 = 630
   1) FM3812의 레지스터에 값을 보내는 함수 = 630
   2) 파형 선택을 허용하는 함수 = 631
   3) FM3812의 타이머의 조절 = 632
   4) FM3812 칩의 모드 설정 = 633
   5) 음색을 결정하는 갖가지 변수를 설정하는 함수Ⅰ = 634
   6) 음색을 결정하는 갖가지 변수 설정하는 함수Ⅱ = 635
   7) 음색을 결정하는 갖가지 변수를 설정하는 함수Ⅲ = 636
   8) 음색을 결정하는 갖가지 변수를 설정하는 함수Ⅳ = 637
   9) 음향 효과의 깊이와 모드의 선택 = 638
   10) 피드백과 알고리즘의 선택을 선택사는 함수 = 639
   11) 파형 모양을 선택하는 함수 = 640
   12) 실제 소리를 나오도록 만드는 함수 = 641
  2.2 사운드 카드에 직접 접근하는 프로그램 = 642
   1) 사운드 카드의 설치 여부 체크하기 = 642
   2) 옥소리 카드의 설치 여부를 체크하는 프로그램 = 644
   3) 피아노 건반 프로그램 = 646
 3. 사운드 드라이버를 통해 사운드 카드 주무르기 = 656
  3.1 사운드 드라이버를 사용하는 방법 = 656
  3.2 사운드 드라이버가 제공하는 기능= 660
   1) 드라이버의 초기화(함수0) = 660
   2) 드라이버 인터럽트 해제(함수1) = 660
   3) 연주 시작 시간 설정(함수2) = 661
   4) 연주 상태 설정(함수3) = 661
   5) 연주 상태 알아내기(함수4) = 662
   6) 소리 끄기(함수5) = 662
   7) 동작 모드 설정(함수6) = 663
   8) 동작 모드 알아내기(함수7) = 663
   9) 볼륨 설정(함수8) = 663
   10) 템포 설정(함수9) = 664
   11) 조옮김값 설정(함수10) = 664
   12) 조옮김값 알아내기(함수11) = 665
   13) 보이스 설정(함수12) = 665
   14) 보이스 알아내기(함수13) = 666
   15) 음표, 쉼표 입력(함수14) = 666
   16) 음표 입력(함수15) = 667
   17) 음색 설정(함수16) = 667
   18) 음의 높이 설정(함수17) = 668
   19) TPB 설정(함수18) = 668
   20) 음표 연주 시작(함수19) = 669
   21) 음표 연주 끝(함수 20) = 669
   22) 직접 음색 설정(함수21) = 669
   23) 음의 높이 변화 영역 설정(함수22) = 670
   24) 파형 선택 여부 설정(함수23) = 670
 4. ROL 파일을 연주하는 프로그램 = 671
  4.1 뱅크 파일의 구조 = 671
   1) 뱅크 파일의 전체적인 구조 = 671
   2) 뱅크 파일 헤더의 구조 = 672
   3) 악기 이름 데이터의 구조 = 673
   4) 악기 음색 데이터의 구조 = 674
  4.2 ROL 파일의 구조 = 675
   1) ROL 파일의 전체적인 구조 = 675
    (1) ROL 파일의 헤더와 전역 데이터 = 676
    (2) 참조 데이터의 구조 = 677
    (3) 템포 데이터의 구조 = 677
    (4) 음악 데이터 = 678
     음표(Note) 정보 = 678
     악기(Timbre) 정보 = 679
    (5) 볼륨(Volume) 정보 = 680
    (6) 피치 정보 = 680
  4.3 ROL 파일을 연주하는 프로그램 = 681
   1) 사운드 드라이버 함수 호출의 일반화 = 681
   2) ROL 파일을 연주하는 프로그램 = 684
 6. 제10장에서 사용한 함수 정리 = 699
  1) 사운드 카드에 직접 접근하는 함수 = 699
  2) 사운드 드라이버를 통해 접근하는 함수 = 699
  3) ROL 파일을 연주를 위한 함수 = 700
제11장 CD-ROM 주무르기 = 701
 1. 들어가기 전에 = 703
  1.1 CD-ROM의 중요성 = 703
  1.2 CD-ROM의 역사 = 704
  1.3 CD-ROM의 구조 = 705
   액세스 타임(Access Time) = 705
   데이터 전송 속도 = 706
 2. CD-ROM 속으로 = 706
  2.1 CD-ROM의 물리적인 포맷 = 706
  2.2 CD-ROM의 논리적인 포맷 = 707
   1) 볼륨과 볼륨 셋트 = 707
   2) 논리적 섹터 = 708
   3) 논리적 블록 = 708
   4) 익스텐트 = 709
  2.3 CD-ROM에서의 파일과 디렉토리 = 709
   1) 파일과 디렉토리의 구조 = 709
   2) 파일과 디렉토리의 날짜와 시간 = 710
   3) 파일 플래그 = 711
   4) 확장 속성 레코드 = 711
  2.4 패스 테이블의 원리 = 712
  2.5 볼륨의 구조 = 713
   1) 시스템 영역 = 713
   2) 데이터 영역 = 713
    PVD(Primary Volume Descriptor) = 714
    VDST(Volume Descriptor Set Terminator) = 716
 3. MSCDEX에서 제공하는 기능 = 716
  3.1 MSCDEX의 역할 = 716
  3.2 MSCDEX에서 제공하는 기능 = 719
   1) CD-ROM 드라이브 수 알아내기 = 719
   2) CD-ROM 드라이버 정보 알아내기 = 721
   3) Copyright 파일 이름 알아내기 = 723
   4) Abstract 파일 이름 알아내기 = 725
   5) Bibliographic 파일 이름 알아내기 = 727
   6) 볼륨 디스크립터 읽기 = 729
   7) CD-ROM 직접 읽기 = 733
   8) CD-ROM 직접 쓰기 = 734
   9) CD-ROM 드라이브 검사 = 736
   10) MSCDEX 버전 알아내기 = 738
   11) CD-ROM 드라이버 이름 알아내기 = 739
   12) 볼륨 디스크립터의 선택 = 741
   13) 디렉토리 엔트리 가져오기 = 742
   14) 디바이스 드라이버의 기능 호출 = 745
 4. CD-ROM 디바이스 드라이버에서 제공하는 기능 = 746
  4.1 CD-ROM 디바이스 드라이버의 헤더 = 746
  4.2 CD-ROM 드라이버 기능을 호출하는 방법 = 747
  4.3 초기화 기능(INIT) = 751
  4.4 직접 읽기 기능(IOCTL INPUT) = 751
   1) 디바이스 헤더의 주소 알아내기(부함수0) = 752
   2) 헤드의 위치 알아내기(부함수1) = 753
   3) 에러 정보 알아내기(부함수3) = 754
   4) 오디오 채널 정보 알아내기(부함수4) = 754
   5) 드라이브 정보 알아내기(부함수5) = 755
   6) 드라이브 상태 정보 알아내기(부함수6) = 756
   7) 섹터 크기 알아내기(부함수7) = 757
   8) 볼륨 크기 알아내기(부함수8) = 758
   9) 디스크 교환 정보 알아내기(부함수9) = 759
   10) 오디오 디스크 정보 알아내기(부함수10) = 760
   11) 오디오 트랙 정보 알아내기(부함수11) = 760
   12) 오디오 Q 채널 정보 알아내기(부함수12) = 761
   13) 오디오 Sub 채널 정보 알아내기(부함수13) = 762
   14) UPC 알아내기(부함수14) = 763
   15) 오디오 상태 알아내기(부함수15) = 764
  4.5 입력 버퍼 지우기(INPUT FLUSH) = 768
  4.6 출력 버퍼 비우기(OUTPUT FLUSH) = 768
  4.7 직접 쓰기 기능(IOCTL OUTPUT) = 769
   1) 디스크 배출(부함수0) = 770
   2) 드라이브 문을 열고 잠그기(부함수1) = 770
   3) 드라이브 리셋(부함수2) = 771
   4) 오디오 채널 조절(부함수3) = 772
   5) 디바이스에 직접 쓰기(부함수4) = 773
   6) 드라이브 문 닫기(부함수5) = 773
  4.8 디바이스 열기(DEVICE OPEN) = 777
  4.9 디바이스 닫기(DEVICE CLOSE) = 777
  4.10 CD-ROM에서 섹터 읽기(READ LONG) = 778
  4.11 CD-ROM에서 미리 섹터 읽기(READ LONG PREFETCH) = 779
  4.12 섹터 검색(SEEK) = 780
  4.13 오디오 연주(PLAY AUDIO) = 780
  4.14 오디오 연주 중단(STOP AUDIO) = 781
  4.15 오디오 연주 재개(RESUME AUDIO) = 782
  4.16 CD-ROM 섹터에 쓰기(WRITE LONG) = 786
  4.17 CD-ROM 섹터에 검사하면서 쓰기(WRITE LONG VERIFY) = 787
 5. 제11장에서 사용한 함수 정리 = 788
  1) MSCDEX에서 제공하는 기능으로 만든 함수 = 788
  2) CD-ROM 디바이스 드라이버에서 제공하는 기능으로 만든 함수 = 788
 실습문제 = 789
제12장 모뎀 주무르기 = 791
 1. 들어가기 전에 = 793
  1.1 모뎀에 대하여 = 793
  1.2 직렬 포트 인터페이스 = 794
   1) 직렬 인터페이스와 병렬 인터페이스 = 794
   2) 직렬 인터페이스 규약-RS-232C = 794
    보드율(Baud Rate) = 795
    시작 비트와 정지 비트 = 795
    패리티 비트 = 795
  1.3 UART = 796
   1) 전송 대기 레지스터(THR) = 797
   2) 수신 버퍼 레지스터(RBR) = 798
   3) 인터럽트 허용 레지스터(IER) = 798
   4) 인터럽트 인식 레지스터(IIR) = 799
   5) 라인 제어 레지스터(LCR) = 800
   6) 모뎀 제어 레지스터(MCR) = 802
   7) 라인 상태 레지스터(LSR) = 803
   8) 모뎀 상태 레지스터(MSR) = 804
 2. ROM-BIOS 인터럽트를 이용한 모뎀 제어 = 805
  2.1 직렬 포트를 초기화하는 함수 = 805
  2.2 직렬 포트에 한 문자 보내기 = 809
  2.3 직렬 포트에서 한 문자 가져오기 = 810
  2.4 직렬 포트 상태 읽기 = 811
  2.5 간단한 통신 에뮬레이터 만들기 = 812
   1) 모뎀 초기화시 주의할 점 = 812
   2) 데이터 수신시 체크할 내용 = 813
   3) 데이터 전송시 체크할 내용 = 813
   4) ROM-BIOS로 통신 에뮬레이터를 만들었을 때의 문제점 = 814
 3. 모뎀을 주무르기 위한 함수 만들기 = 817
  3.1 모뎀 제어를 위해 필요한 지식 = 817
   1) 하드웨어 인터럽트에 대해 = 817
   2) 인터럽트 마스크 레지스터 = 819
   3) 인터럽트 핸들러에 대하여 = 819
  3.2 직렬 포트를 초기화하기 = 820
  3.3 모뎀을 사용하기 위한 초기화 = 823
   1) UART 레지스터 초기화 = 823
   2) 새로운 인터럽트 핸들러로 바꾸기 = 824
   3) 인터럽트 마스크 레지스터의 셋팅 = 824
  3.4 모뎀을 원상태로 복구하기 = 827
  3.5 모뎀과 데이터 주고받기 = 828
  3.6 간단한 통신 에뮬레이터 만들기 = 830
 4. 모뎀 명령어 정리 = 839
  4.1 모뎀 명령어란 무엇인가? = 839
  4.2 모뎀 명령어 = 840
   1) AT?(명령 반복 수행) = 840
   2) ATA(즉시 응답) = 840
   3) ATBn(통신 규격 선택) = 840
   4) AT&Cn(전송 캐리어(반송파) 제어) = 840
   5) ATDn(전화 걸기) = 841
   6) ATEn(에코 제어) = 841
   7) ATFn(온라인 에코 제어) = 841
   8) ATHn(전화 후크 제어) = 842
   9) ATIn(모뎀 체크) = 842
   10) ATKn(버퍼 제어) = 842
   11) ATLn(스피커 볼륨 제어) = 843
   12) ATMn(스피커 제어) = 843
   13) ATOn(온라인 명령) = 843
   14) ATQn(결과 코드 제어) = 844
   15) ATSn〓x(레지스터에 데이터 저장) = 844
   16) ATSn?(레지스터 값 읽기) = 844
   17) ATTn(모뎀 검사) = 844
   18) ATVn(결과 코드 형태 제어) = 845
   19) ATXn(확장 결과 코드 선택) = 845
   20) ATYn(긴 스페이스 신호 제어) = 846
   21) ATZn(모뎀의 초기화) = 846
   22) AT&F(공장 출하 상태로 복구) = 846
   23) AT&V0(프로파일 보이기) = 846
 5. 제12장에서 사용한 함수 정리 = 847
  1) ROM-BIOS를 이용한 함수 = 847
  2) 모뎀을 직접 제어하는 함수 = 847
제13장 프린터 주무르기 = 851
 1. 들어가기 전에 = 851
  1.1 프린터에 관하여 = 851
  1.2 병렬 포트에 관하여 = 851
   1) 데이터 출력 레지스터 = 852
   2) 상태 레지스터 = 853
   3) 제어 레지스터 = 853
  1.3 제어 코드에 관하여 = 854
 2. 앱슨 계열 프린터를 다루는 함수 만들기 = 855
  2.1 초기화시키기 = 855
   1) biosprint = 855
   2) _bios_printer = 856
  2.2 프린터 상태 조사하기 = 857
  2.3 프린터에 문자 출력하기 = 860
  2.4 프린터의 헤드 조절하기 = 862
  2.5 프린터의 폰트 조절하기 = 866
 3. 레이저젯 계열 프린터를 다루는 함수 만들기 = 872
  3.1 PCL에 대해 = 872
  3.2 레이저젯 계열 프린터를 여는 함수 = 873
  3.3 프린터 초기화시키기 = 875
  3.4 프린터의 페이지 제어하기 = 878
  3.5 프린터의 폰트 제어하기 = 881
  3.6 프린터에서 그래픽 처리하기 = 882
   1) 내장 그래픽 = 883
   2) 래스터 그래픽 = 887
 4. 한 걸음 더 = 889
  4.1 타자기 프로그램 만들기 = 889
  4.2 텍스트 화면 하드 카피(Hard copy) = 893
  4.3 그래픽 화면 하드 카피 = 899
 5. 제13장에서 사용한 함수 정리 = 910
  1) 엡슨 계열 프린터 초기화에 관한 함수 = 910
  2) 엡슨 계열 프린터 상태에 관한 함수 = 910
  3) 엡슨 계열 프린터 출력에 관한 함수 = 910
  4) 엡슨 계열 프린터 헤드 조정에 관한 함수 = 910
  5) 엡슨 계열 프린트되는 글자 속성에 관한 함수 = 910
  6) 레이저젯을 제어하기 위한 함수 = 910
 실습문제 = 911
제14장 실습문제 소스들 = 913
 1. 제2장 실습문제 = 915
 2. 제3장 실습문제 = 926
 3. 제4장 실습문제 = 930
 4. 제5장 실습문제 = 936
 5. 제7장 실습문제 = 944
 6. 제8장 실습문제 = 946
 7. 제11장 실습문제 = 948
 8. 제13장 실습문제 = 955


관련분야 신착자료

Harvard Business Review (2025)