
هم زمان با انتشار سیستم عامل داس کتابخانه ای به C C++ اضافه شد با نام dos.h
چگونه مکث کنیم ؟
delay(a);
این کد یک int گرفته و واحد ان بر حسب هزارم ثانیه است
اما امروزه این تابع منسوخ شده و می توانید به جای ان از sleep استفاده کنید که دقیقا مثل همین است اما با این فرق که برحسب ثانیه است
چگونه یک صدا پخش کنیم ؟
sound(a);
در ان زمان فایل صوتی به ان شکل نبوده و برای پخش صدا پالسی را به کارت صدا ارسال می کردن
این تابع یک int گرفته و به کارت صدا ارسال می کند
اما اگر ببینید پالس دیگر متوفق نمی شود
برای توقف پالس باید از
nosound();
استفاده نمود
اما به بخش جذاب ( که بازم منسوخ شده چون مال dos است :) )
کار با سخت افزار سیستم !!!!
outportb(register, value);
به جای register کد سخت افزار را وارد می کنید ( می تونید از اینترنت و یا کتاب های مثل IBM technical reference پیداش کنی )
مثلا بوق سیستم 61h است
مثلا
#define PORT1 0x3F8 outportb(PORT1 + 1 , 0); outportb(PORT1 + 3 , 0x80); outportb(PORT1 + 1 , 0x00); outportb(PORT1 + 3 , 0x03); outportb(PORT1 + 2 , 0xC7); outportb(PORT1 + 4 , 0x0B);
در اینجا 0x3F8 پورت سریال COM0 است و داره مقدار های را داخل پین های ان می ریزه
مثلا در خط دوم در پین 1 پورت سریال 0 را میریزه
جالب نیست :)
به همين شکل outport() هم وجود دارم اما با تفاوت هایی
و برای خواند از سخت افزاری از inportb() و inport() استفاده میشود
و .....
به دلیل اینکه اکثرا منسوخ شدن بقیشو توضیح نمی دم :)
اگه علاقه دارید می تونید از این سایت بقیشو بخونید مثل getdate یا gettime یا setdate
اکنون windows.h نیز موجود است که شاید در اینده در موردیش با هم صحبت کنیم ;)