اولش بازیها بودند که مرا جذب کردند. بعد فهمیدم چند خط کدی که خودم تایپ میکنم میتواند به بالنی تبدیل شود که روی صفحه حرکت میکند.
خود دستگاه
هفت هشت سالم بود که پدرم کومودور ۶۴ را برایم خرید. یک کامپیوتر خانگی از اوایل دهه ۱۹۸۰ بود. کامپیوتر و صفحهکلید یکی بودند و همهچیز داخل بدنه صفحهکلید قرار داشت. برنامهها و دادهها با یک دستگاه نوار جداگانه روی نوار کاست معمولی ذخیره میشدند؛ کند بود، ولی ارزان.
تنظیم دستگاه نوار
گاهی بازی از روی نوار بالا نمیآمد. دستگاه نوار، کاست را با قطعهای به نام هد نوار (Tape Head)هد نوار (Tape Head)قطعهای از دستگاه نوار که اطلاعات ضبطشده روی کاست را میخواند.دیدن در واژهنامه میخواند. این هد باید دقیقاً با زاویه درست قرار میگرفت، و بازیای که روی دستگاه دیگری ضبط شده بود ممکن بود زاویه کمی متفاوتی بخواهد.
برای همین با دست تنظیمش میکردیم. نوار را میگذاشتیم و یک کارتریج (Cartridge)کارتریج (Cartridge)قطعه کوچکی که به کامپیوتر وصل میشود. برنامهای که با آن دستگاه نوار را تنظیم میکردیم روی همین قطعه بود.دیدن در واژهنامه به کامپیوتر وصل میکردیم؛ قطعه کوچکی که برنامه تنظیم رویش بود. بعد یک پیچگوشتی کوچک را در سوراخی روی دستگاه نوار فرو میکردیم. روی صفحه خطهایی از بالا پایین میآمدند و پیچ را آنقدر میچرخاندیم تا خطها به هم نزدیک و صاف شوند. آن وقت دستگاه برای همان بازی تنظیم بود. ممکن بود بازی بعدی با همان تنظیم بالا نیاید و باید دوباره تنظیمش میکردیم.
یاد گرفتن از دفترچه توی جعبه
با همان دفترچهای (در زبانه تازه باز میشود) که توی جعبه بود، بیسیک (BASIC)بیسیک (BASIC)یک زبان برنامهنویسی ساده که در بسیاری از کامپیوترهای خانگی دهه ۱۹۸۰ از قبل نصب بود. خطهای شمارهدار دستور را تایپ میکنی و کامپیوتر آنها را به ترتیب اجرا میکند.دیدن در واژهنامه یاد گرفتم. بیسیک زبان برنامهنویسی خود کومودور بود. دستگاه را که روشن میکردی، صفحهای آبی با کلمه READY ظاهر میشد و میشد همان لحظه شروع به نوشتن برنامه کرد.
برنامههای دفترچه را خط به خط تایپ میکردم و بعد RUN را میزدم تا ببینم چه میشود. برایم خیلی جذاب بود که چند خطی که خودم تایپ کرده بودم به تصویری روی صفحه تبدیل میشد.
بالن
یکی از برنامههای فصل اسپرایتها (Sprite)اسپرایت (Sprite)تصویر کوچکی که تراشه گرافیکی جدا از پسزمینه رسم میکند و برنامه با تغییر مختصاتش آن را جابهجا میکند. در کومودور ۶۴ هر اسپرایت ۲۴ نقطه پهنا و ۲۱ نقطه ارتفاع دارد و شکلش ۶۳ بایت جا میگیرد.دیدن در واژهنامه در دفترچه «UP, UP, AND AWAY» نام دارد. این برنامه یک بالن هوای گرم میکشد و آن را از گوشه بالا و چپ صفحه بهصورت مورب پایین میبرد. کمی پیش از رسیدن به پایین صفحه ناپدید میشود، دوباره در همان گوشه پیدا میشود و از نو راه میافتد، مثل یک محافظ صفحه.
چند صفحه بعد، دفترچه یک خط به برنامه اضافه میکند که بالن را دو برابر پهنتر و دو برابر بلندتر میکند. من نسخهای را تایپ کردم که بالن بزرگتری میکشید. از بین برنامههای دفترچه، همین یکی بیشتر از همه یادم مانده. وقتی بالن راه افتاد، خیلی ذوق کردم.
برنامه را دوباره روی یک کامپیوتر امروزی در VICE (در زبانه تازه باز میشود) اجرا کردم. VICE یک شبیهساز (Emulator)شبیهساز (Emulator)برنامهای که یک کامپیوتر قدیمی را روی کامپیوتر جدید تقلید میکند تا نرمافزارهایش همانطور اجرا شوند که روی دستگاه اصلی اجرا میشدند.دیدن در واژهنامه است که مثل کومودور ۶۴ رفتار میکند. این ویدیو همان اجراست.
خود برنامه
این برنامه همانطور است که در دفترچه چاپ شده، همراه با خطی از صفحه ۷۴ که اندازه بالن را دو برابر میکند:
1 REM UP, UP, AND AWAY!
5 PRINT "{CLR/HOME}"
10 V= 53248 : REM START OF DISPLAY CHIP
11 POKE V+21,4 : REM ENABLE SPRITE 2
12 POKE 2042,13 : REM SPRITE 2 DATA FROM 13TH BLK
20 FOR N = 0 TO 62: READ Q : POKE 832+N,Q: NEXT
25 POKE V+23,4 : POKE V+29,4: REM EXPAND
30 FOR X = 0 TO 200
40 POKE V+4,X: REM UPDATE X COORDINATES
50 POKE V+5,X: REM UPDATE Y COORDINATES
60 NEXT X
70 GOTO 30
200 DATA 0,127,0,1,255,192,3,255,224,3,231,224
210 DATA 7,217,240,7,223,240,7,217,240,3,231,224
220 DATA 3,255,224,3,255,224,2,255,160,1,127,64
230 DATA 1,62,64,0,156,128,0,156,128,0,73,0,0,73,0
240 DATA 0,62,0,0,62,0,0,62,0,0,28,0اگر برنامه را خودتان تایپ میکنید، برای پاک کردن صفحه میتوانید خط ۵ را به شکل 5 PRINT CHR$(147) بنویسید.
متن برنامه از Commodore 64 User’s Guide (در زبانه تازه باز میشود) (شرکت Commodore Business Machines، ۱۹۸۲)، فصل ۶، صفحه ۷۱؛ خط ۲۵ از صفحه ۷۴ است.
این برنامه به زبان ساده اینطور کار میکند:
- بالن یک اسپرایت است، یعنی تصویر کوچکی که تراشه گرافیکی کامپیوتر جدا از پسزمینه رسم میکند. برنامه با تغییر جای این تصویر روی صفحه، بالن را حرکت میدهد.
- خط ۱۰ به نشانی شروع تراشه گرافیکی یک نام میدهد. هر دستور POKEPOKEدستوری در بیسیک که یک عدد را در یک نشانی حافظه مینویسد. در کومودور ۶۴ راه معمول کنترل گرافیک و صدا از داخل بیسیک همین دستور است.دیدن در واژهنامه یک عدد را در یک نشانی حافظه مینویسد و بیسیک از همین راه با تراشه حرف میزند.
- خط ۲۰ شصتوسه عدد خطهای DATA را میخواند و در حافظه میگذارد. این عددها شکل بالناند: شبکهای به پهنای ۲۴ و ارتفاع ۲۱ نقطه که هر عدد هشت نقطه از آن را روشن یا خاموش میکند.
- خط ۲۵ دو ثبات (Register)ثبات (Register)جای کوچکی در یک تراشه که یک عدد را نگه میدارد. نوشتن عدد در ثباتهای تراشه گرافیکی چیزی را که میکشد تغییر میدهد، مثل مکان یا اندازه یک اسپرایت.دیدن در واژهنامه تراشه را تنظیم میکند: ثبات ۲۳ ارتفاع بالن را دو برابر میکند و ثبات ۲۹ پهنایش را.
- خطهای ۳۰ تا ۶۰ از صفر تا ۲۰۰ میشمارند. برنامه هر بار یکی به هر دو مختصات اضافه میکند، برای همین بالن به سمت پایین و راست میرود. خط ۷۰ آن را به اول برمیگرداند.
Kikstart II
از میان بازیها، Kikstart II (در زبانه تازه باز میشود) را از همه بیشتر دوست داشتم؛ یک بازی موتور تریل که Shaun Southern آن را ساخت و Mastertronic منتشرش کرد. نسخه کومودور ۶۴ آن در ۱۹۸۷ منتشر شد (در زبانه تازه باز میشود).
موتور تقریباً سفیدش را یادم هست که از سمت چپ صفحه وارد میشد. موتورسوار را از بغل میدیدی که میپرید و میچرخید تا از روی مانعها رد شود.


قانونهای پدرم
پدرم برای بازی کردنم وقت تعیین کرده بود. برای همین بیشتر وقتی بازی میکردم که خانه نبود و خیالم راحت بود. همیشه هم میگفت دو جور بازی را نه بگیرم و نه بازی کنم: بازیهای خیلی خشن و بازیهای ترسناک. من بازیهای ترسناک را خیلی دوست داشتم.
بعد از کومودور
کامپیوتر بعدیام یک ۴۸۶ بود و رویش اماسداس (MS-DOS)اماسداس (MS-DOS)سیستمعامل متنی مایکروسافت که بیشتر کامپیوترهای شخصی پیش از ویندوز داشتند. برای اجرای برنامهها و کار با فایلها، دستورها را جلوی یک خط فرمان تایپ میکردی.دیدن در واژهنامه نصب بود. آن زمان به کامپیوترهایی که پردازندهای از خانواده ۴۸۶ داشتند، «۴۸۶» میگفتند. اینتل نسل بعدی پردازندههایش را با نام پنتیوم (Pentium) عرضه کرد (در زبانه تازه باز میشود). با همان کامپیوتر شروع کردم به کار کردن، برنامه نوشتن و بازی کردن.
روی همان کامپیوتر بازیای بود به اسم Alone in the Dark. شبها صبر میکردم تا پدرم بخوابد، بعد توی اتاقم مینشستم و بازی میکردم. یک هدست روی سرم میگذاشتم تا صدای بازی را بشنوم ولی صدایش بیرون نرود. میترسیدم با چراغ خاموش بازی کنم، برای همین چند تکه لباس زیر در میگذاشتم تا نور از زیر در بیرون نزند. وگرنه ممکن بود پدرم از بیرون ببیند ساعت دو صبح چراغ اتاقم روشن است و بفهمد هنوز بیدارم.
کلاس 3D Max هم میرفتم تا انیمیشن سهبعدی یاد بگیرم؛ آن موقع نسخه ۳٫۵ بود. اولین مدرک رسمی کامپیوترم، مدرک اماسداس پیشرفته بود.
آنچه برایم ماند
از همانجا به دنیای کامپیوتر علاقهمند شدم. بچه که بودم آرزو داشتم بزرگ که شدم همین رشته را بخوانم، و همین هم شد: در دانشگاه کامپیوتر خواندم و چه در دانشگاه و چه بیرون از آن، همیشه در حال یاد گرفتن بودهام. کامپیوتر مدام تغییر میکند و من همیشه این را دوست داشتهام، هرچند گاهی سرعت این تغییرها سخت و خستهکننده بود. بیشتر از همه برایم جذاب بود که با بخشهای مختلفش آشنا شوم، از نرمافزار گرفته تا سختافزار.
یادش بخیر.
واژهنامه
- هد نوار (Tape Head)
- قطعهای از دستگاه نوار که اطلاعات ضبطشده روی کاست را میخواند.
- کارتریج (Cartridge)
- قطعه کوچکی که به کامپیوتر وصل میشود. برنامهای که با آن دستگاه نوار را تنظیم میکردیم روی همین قطعه بود.
- بیسیک (BASIC)
- یک زبان برنامهنویسی ساده که در بسیاری از کامپیوترهای خانگی دهه ۱۹۸۰ از قبل نصب بود. خطهای شمارهدار دستور را تایپ میکنی و کامپیوتر آنها را به ترتیب اجرا میکند.
- اسپرایت (Sprite)
- تصویر کوچکی که تراشه گرافیکی جدا از پسزمینه رسم میکند و برنامه با تغییر مختصاتش آن را جابهجا میکند. در کومودور ۶۴ هر اسپرایت ۲۴ نقطه پهنا و ۲۱ نقطه ارتفاع دارد و شکلش ۶۳ بایت جا میگیرد.
- شبیهساز (Emulator)
- برنامهای که یک کامپیوتر قدیمی را روی کامپیوتر جدید تقلید میکند تا نرمافزارهایش همانطور اجرا شوند که روی دستگاه اصلی اجرا میشدند.
- POKE
- دستوری در بیسیک که یک عدد را در یک نشانی حافظه مینویسد. در کومودور ۶۴ راه معمول کنترل گرافیک و صدا از داخل بیسیک همین دستور است.
- ثبات (Register)
- جای کوچکی در یک تراشه که یک عدد را نگه میدارد. نوشتن عدد در ثباتهای تراشه گرافیکی چیزی را که میکشد تغییر میدهد، مثل مکان یا اندازه یک اسپرایت.
- اماسداس (MS-DOS)
- سیستمعامل متنی مایکروسافت که بیشتر کامپیوترهای شخصی پیش از ویندوز داشتند. برای اجرای برنامهها و کار با فایلها، دستورها را جلوی یک خط فرمان تایپ میکردی.
