کمودور ۱۲۸

**کمودور ۱۲۸**   یا CBM 128 آخرین رایانه خانگی ۸-بیتی تولید شده توسط شرکت کمودور بود. این رایانه در ژانویه ۱۹۸۵ در نمایشگاه بین‌المللی سی‌ئی‌اس لاس وگاس معرفی گردید و سه سال پس از رایانه کمودور ۶۴ که پرفروشترین رایانه خانگی آن زمان بود، به بازار آمد.

مدل کمودور ۱۲۸ یک دستگاه گسترش یافته نسبت به کمودور ۶۴ بود که سازگاری بسیار زیادی نیز با آن داشت. این مدل جدید دارای ۱۲۸ کیلوبایت حافظه رم (به صورت دو بانک ۶۴ کیلوبایتی) و یک خروجی ویدئویی رنگی ۸۰ ستونی بود. بدنه و صفحه کلید این مدل نیز طراحی مجدد گشته بود. کمودور ۱۲۸ همچنین شامل یک تراشه زیلاگ زد۸۰ بودکه به این سیستم توانایی اجرای سیستم عامل سی‌پی/ام را به عنوان یک محیط جایگزین کمودور بیسیک، به کاربر می‌داد. وجود تراشه زد۸۰ و کتابخانه نرم‌افزاری سیستم عامل سی پی/ام به همراه آرشیو نرم‌افزارهای بسیار زیاد کمودور ۶۴، باعث شده بود کمودور ۱۲۸ تبدیل به غنی‌ترین آرشیو در بین رایانه‌های رقیب و هم سطح خود باشد.

طراح اصلی سخت‌افزار کمودور ۱۲۸، «بیل هرد» بود که بر روی سخت‌افزار رایانه کمودور پلاس/۴ نیز کار کرده بود. از دیگر مهندسان سخت‌افزاری که بر روی این مدل فعالیت داشتند می‌توان به «دیو هاینی»، «فرانک پالایا» و «دیو دی اوریو» (طراح آی سی) اشاره کرد. نرم‌افزار اصلی سیستم توسط «فرد بوئن» و «تری ریان» و نرم‌افزار جانبی سی پی/ام نیز به وسیله «وان ارت وین» توسعه یافته بود.

## مرور فنی کمودور ۱۲۸
صفحه کلید رایانه C128 دارای چهار کلید مکان نما، یک کلید Alt، کلید Help، کلید Esc، کلید Tab و یک صفحه کلید عددی است. این کلیدها در صفحه کلید کمودور ۶۴ وجود نداشتند. مدل‌های قبلی کمودور فقط دارای دو کلید مکان نما بودند و کاربر مجبور بود برای استفاده از مکان نمای بالا و چپ، کلید shift را نیز بفشارد. عدم وجود کلیدهای Alt، Esc و صفحه کلید عددی در کمودور ۶۴ باعث ایجاد مشکل برای کاربران هنگام استفاده از بسیاری برنامه‌های CP/M شده بود که از کارتریج Z-80 بر روی کمودور ۶۴ خود استفاده می‌کردند. همچنین بسیاری از برنامه نویسان و کاربران که زمان زیادی را صرف کار با نرم‌افزارهای زبان ماشین آن سیستم می‌نمودند، از عدم وجود صفحه کلید عددی بسیار ناراحت بودند. بسیاری از کلیدهای اضافه شده مشابه نمونه موجود بر روی صفحه کلید رایانه‌های آی بی ام بود و همین باعث جذابیت بیشتر این مدل جهت تولید نرم‌افزارهای تجاری می‌شد. منبع تأمین نیروی کمودور ۱۲۸ نسبت به منبع تغذیه نامطمئن مدل ۶۴ بهبود پیدا کرده و بزرگتر شده بود، همچنین خروجی‌های هوای بیشتر و یک فیوز قابل تعویض نیز در آن استفاده شده بود. به جای استفاده از تک پردازنده ۶۵۱۰ در مدل C64، کمودور ۱۲۸ برای استفاده از دو CPU پیکربندی شده بود. سی پی یو اصلی تراشه ۸۵۰۲ بود که مقدار اندکی نسبت به ۶۵۱۰ بهینه شده و توانایی کار در سرعت ۲ مگاهرتز را نیز داشت. سی پی یو دوم نیز یک تراشه زیلاگ زد۸۰ بود که برای اجرای نرم‌افزارهای CP/M از آن استفاده می‌شد (سیستم عامل CP/M در هنگام بوت شدن دستگاه قابل انتخاب بود). این دو تراشه به‌طور هم‌زمان نمی‌توانستند با هم فعالیت داشته باشند و این به دلیل آن بود که رایانه کمودور ۱۲۸ قابلیت دستگاه چندپردازشی را نداشت.

ساختار پیچیده کمودور ۱۲۸ دارای چهار نوع مختلف از دستیابی به حافظه رم بود (۱۲۸ کیلوبایت حافظه رم اصلی، ۱۶ الی ۶۴ کیلوبایت حافظه ویدئویی، ۲ کیلوبایت حافظه رنگ، ۲ کیلوبایت حافظه جهت گرداننده فلاپی دیسک در مدل کمودور 128D و ۱۲۸ یا ۵۱۲ کیلوبایت برای واحد گسترش حافظه سیستم). این دستگاه شامل دو یا سه سی پی یو (اصلی: ۸۵۰۲، تراشه زد۸۰ برای اجرای CP/M، و در مدل 128D نیز تراشه ۶۵۰۲ در گرداننده دیسک) و دو تراشه ویدئویی (VIC-IIe و VDC) جهت اجرای حالت‌های مختلف ویدئویی، بود.

مدل‌های اولیه C128 دارای یک پوشش حفاظتی الکترومغناطیسی بود که اطراف مادربورد را احاطه کرده بود، این پوشش بر روی سی پی یو دارای منافذی بود که ظاهراً نقش یک هیت سینک را ایفا می‌کرد. متأسفانه عدم کارایی این پوشش حفاظتی جهت دفع گرما و محدودیت‌های دفع حرارتی توسط تراشه‌ها، در برخی موارد منجر به بروز دمای بالا درون سیستم می‌گردید. تراشه صوتی کمودور (با نام SID) در این مورد گاهی اوقات گرفتار گرمای بسیار زیاد می‌شد. راه حل عمومی این مشکل، برداشتن پوشش حفاظتی داخل سیستم بود.

کمودور ۱۲۸ دارای سه حالت کارکرد بود:
* حالت C128: (حالت اصلی) که با سی پی یو ۸۵۰۲ و در سرعت ۱ یا ۲ مگاهرتز و حالت متن ۴۰ و ۸۰ ستونی فعالیت می‌کند.
* حالت سی پی/ام: که از هر دو سی پی یو Z80 و ۸۵۰۲ می‌تواند استفاده کند و فقط یکی از حالت‌های متن ۴۰ یا ۸۰ ستونی را در اختیار کاربر قرار می‌دهد.
* حالت C64: که در حدود ۱۰۰ درصد با کمودور ۶۴ سازگاری دارد.

این تغییر حالت‌ها توسط تراشه زیلاگ زد۸۰ کنترل می‌شود، این تراشه گذرگاه اصلی بوت سیستم را کنترل می‌کند و اگر دیسک CP/M در گرداننده وجود داشته باشد به حالت CP/M وارد و در صورت وجود هرگونه کارتریج C64/C128 وارد حالت موزد نظر می‌شود، ضمن اینکه فشردن کلید کمودور در هنگام بوت سیستم نیز باعث ورود به حالت C64 می‌شود.

### حالت ۱۲۸
بندانگشتی|چپ|مادربورد کمودور ۱۲۸
بندانگشتی|چپ|مکان‌نمای بیسیک برای کمودور ۱۲۸، در حال اجرای بیسیک ۷٫۰
در ۱۹۸۴ و یکسال قبل از عرضه کمودور ۱۲۸، شرکت کمودور سیستم «پلاس/۴» را عرضه کرد. این سیستم بازار رایانه‌های سطح پایین تجاری را هدف گرفته بود (بازار سیستم‌های سطح بالای تجاری در اختیار رایانه‌های سازگار با آی‌بی‌ام بود)، کمودور اعلام نموده بود که امیدوار است این سیستم بتواند راه موفقیت‌آمیز کمودور ۶۴ را ادامه دهد. با وجود گرافیک و صوت تحسین‌برانگیز کمودور ۶۴، بازخورد به سیستم جدید (Plus/4) ناامیدکننده بود. بعد از مدتی کمودور در کنفرانس خبری دستگاه جدید این شرکت با نام C-128 را معرفی کرد که دارای حافظه بیشتر، یک صفحه نمایش ۸۰ ستونی (استاندارد کامپیوترهای تجاری آن زمان)، یک زبان برنامه‌نویسی بیسیک جدید که کار دستیابی به صوت و گرافیک رایانه را برای برنامه نویسان، بدون استفاده از دستورهای سخت PEEK و POKE آسان کرده بود و یک گرداننده دیسک جدید و بهبود یافته نسبت به مدل ۱۵۴۱ که به‌طور کامل با کمودور ۶۴ سازگاری داشت.

طراحان کمودور ۱۲۸ با موفقیت اقدام به آدرس دهی خصوصیات ذکر شده کردند، یک تراشه جدید ویدئویی (۸۵۶۳) کمودور ۱۲۸ را قادر به تولید صفحه متن ۸۰ ستونی رنگی می‌کرد که با صفحه نمایش CGA سازگاری داشت (این صفحه با نام RGBI هم شناخته می‌شد). ریزتراشه ۸۵۰۲ نیز به‌طور کامل قابلیت پشتیبانی و سازگاری با تراشه ۶۵۱۰ کمودور ۶۴ را داشت. بیسیک ۲٫۰ کمودور ۶۴ نیز با بیسیک ۷٫۰ جایگزین شده بود، بیسیک ۷٫۰ دارای دستورهای برنامه‌نویسی ساخت‌یافته بود که از بیسیک ۳٫۵ رایانه «کمودور پلاس/۴» و با بهینه‌سازی‌های لازم وارد این نسخه از بیسیک شده بود. یک ویرایشگر اسپرایت و ویرایشگر زبان ماشین نیز به این سیستم افزوده شده بود. تراشه VIC-II وظیفه کنترل صفحه متن ۴۰ ستونی را بر عهده داشت که فقط در سرعت ۱ مگاهرتز کار می‌کرد و به همین دلیل صفحه ۴۰ ستونی در حالت `FAST` به هم ریخته می‌شد. در حالت ۸۰ ستونی، سیستم از توانائی‌های تراشه جدید ویدئویی جهت ایجاد حالت چشمک زن و فونت‌های زیرخط دار استفاده می‌گردید. حالت ۸۰ ستونی C128 قابلیت نمایش کاراکترها به صورت حروف کوچک و بر اساس استاندارد جدول فونت‌های سیستم‌های کمودور در آن زمان (PETSCII) را دارا بود؛ حالت ۴۰ ستونی نیز توانایی نمایش هم‌زمان حروف کوچک و بزرگ یا حروف بزرگ به اضافه کاراکترهای گرافیکی استفاده شده در مدل‌های قبلی کمودور را داشت. هر دو حالت ۴۰ و ۸۰ ستونی جدا از هم یا هم‌زمان می‌توانستند فعال شوند. یک دکمه ریست سخت‌افزاری نیز برای دستگاه در نظر گرفته شده بود.

تراشه جدید ویدئویی (VDC)، به‌طور کامل در بازی‌های ویدئویی بی استفاده بود، زیرا قابلیت تولید اسپرایت‌های مورد نیاز بازی را نداشت. حالت NTSC کمودور ۱۲۸ با همه نمایشگرهای CGA موجود (از جمله مدل IBM 5153) کار می‌کرد. با این حال در حالت پال، کمودور ۱۲۸ به دلیل فعالیت در حالت ویدئویی ۵۰ هرتز قادر به استفاده از اکثر نمایشگرهای CGA نبود. (نمایشگرهای CGA در حالت ۶۰ هرتز کار می‌کردند). خروجی این تراشه جدید ویدئویی به صورت ۷ پین (و ناسازگار با ورودی نمایشگرهای CGA) بود که سیگنال مونوکروم در حالت NTSC/PAL تولید می‌کرد، اما هیچ کابل اتصالی برای آن ساخته نشد و کاربران علاقه‌مند شخصاً باید اقدام به ساخت این کابل می‌کردند.

دو گرداننده فلاپی دیسک با کمودور ۱۲۸ معرفی شدند، مدل ۱۵۷۰ که عمر کوتاهی داشت و گرداننده دو-طرفه ۱۵۷۱. یک مدل دیگر هم با عنوان ۱۵۷۲ معرفی شد ولی هرگز به تولید نرسید. بعد از گذشت مدتی یک مدل جدید از گرداننده ۳٫۵ اینچ با نام ۱۵۸۱ نیز معرفی و تولید گردید. تمام این مدل‌ها نسبت به گرداننده قدیمی مدل ۱۵۴۱ برتری محسوسی داشتند و بسیار قابل اطمینان تر بودند. گرداننده ۱۵۸۱ دارای حافظه رم بیشتری نسبت به بقیه مدل‌ها بود و به همین دلیل قابلیت باز کردن هم‌زمان فایل‌های بیشتری را داشت. بیسیک ۷٫۰ این رایانه دارای دو دستور جدید DLOAD و DSAVE بود که امکان بارگذاری و ذخیره مستقیم اطلاعات بر روی دیسک را بدون نیاز به وارد کردن پارامتر "۸," به کاربر می‌داد. یکی دیگر از قابلیت‌های این رایانه توانایی شناسایی خودکار دیسک در هنگام بوت شدن سیستم است که یک استاندارد برای رایانه‌های شخصی به حساب می‌آمد و البته در دستگاه‌های ساخت کمودور وجود نداشت. این قابلیت کاربر را از وارد کردن دستور LOAD"*",۸٬۱ جهت بارگذاری دیسک، بی‌نیاز می‌کرد.

گرداننده ۱۵۷۱ در حالت C128 به‌طور معمولی و هنگام بالا آمدن سیستم فعال می‌شد. اگر کاربر با وارد کردن دستور GO 64 وارد حالت C64 شود، گرداننده ۱۵۷۱ همچنان فعال باقی می‌ماند، اما اگر کاربر با نگه داشتن دکمه کمودور در هنگام بالا آمدن سیستم وارد حالت C64 شود، گرداننده ۱۵۷۱ وارد حالت ۱۵۴۱ می‌شود. (حالت ۱۵۴۱ برای برنامه‌هایی است که نیاز به سطح دسترسی پایینی از دیسک دارند)

مدل C128 دوبرابر کمودور ۶۴ حافظه رم دارد و به همین دلیل ظرفیت بسیار بیشتری برای برنامه‌نویسی بیسک در آن وجود دارد. واحد مدیریت حافظه جدید این دستگاه به کدهای برنامه بیسیک اجازه می‌دهد تا در نقاط مختلف حافظه ذخیره شوند و به راحتی از عهده ساماندهی برنامه‌های حجیم برآید. قابلیت دیگر، توانایی متوقف کردن یک برنامه در حال اجرا توسط کاربر، ویرایش کدهای برنامه و اجرای مجدد آن برنامه از جایی که متوقف شده‌است با استفاده از دستور `GOTO` توسط کاربر می‌باشد.

حافظه رام کمودور ۱۲۸ دارای یک easter egg مخفی است، با وارد کردن دستور "SYS 32800,123,45,6" در حالت C128 یک لیست از تولیدکنندگان اصلی سیستم ظاهر می‌شود. همچنین با وارد کردن دو دستور QUIT یا OFF پیغامی با این مضمون ظاهر می‌شود: "?UNIMPLEMENTED COMMAND ERROR" این دو دستور باقی‌مانده طرح ناتمامی است که قرار بود منجر به تولید یک رایانه قابل حمل همراه با نمایشگر ال سی دی باشد ولی هرگز به سرانجام نرسید.

سخت‌افزار بهتر C128 به همراه حافظه بیشتر، رزولوشن بالاتر تصویر و گذرگاه سریال سریع‌تر، این توانایی را به کمودور ۱۲۸ می‌داد که بتواند سیستم عامل گرافیکی «» را بسیار بهتر از کمودور ۶۴ اجرا کند.

### حالت سی پی/ام
بندانگشتی|چپ|استفاده از حالت CP/M احتیاج به دیسکت بوت‌کننده داشت. در حالی که سیستم دارای گرداننده فلاپی دیسک نبود، این دیسکت همراه کمودور ۱۲۸ فروخته می‌شد.
دومین سی پی یو رایانه کمودور ۱۲۸، یک تراشه زیلاگ زد۸۰ بود که به این دستگاه توانایی اجرای سیستم عامل سی پی/ام را می‌داد. C128 همراه با سی پی/ام نسخه ۳ و شبیه‌ساز ترمینال ADM31/3A عرضه شد. یک کارتریج سی پی/ام نیز برای رایانه کمودور ۶۴ تولید شده بود، اما این کارتریج قیمت بالایی داشت و از طرفی محدودیت‌های گرداننده دیسک ۱۵۴۱ در خواندن فرمت MFM هم از مشکلات این کارتریج برای کمودور ۶۴ بود، یکی دیگر از مشکلات این کارتریج‌ها این بود که فقط با مدل‌های اولیه C64 کار می‌کردند و با مدل‌های تولید شده بعدی ناسازگار بودند. به دلیل اینکه این کارتریج‌ها بر روی کمودور ۱۲۸ هم کار نمی‌کردند، تیم طراحی تصمیم گرفت برای پشتیبانی از سی پی/ام اقدام به قراردادن تراشه زد۸۰ بر روی مادربورد سیستم نماید.

کمودور ۱۲۸ سیستم عامل سی پی/ام را بسیار آهسته‌تر از دیگر رایانه‌های اجراکننده این سیستم عامل، اجرا می‌کرد. این سرعت آهسته به این دلیل بود که تراشه زد۸۰ به کار رفته در C128 به جای سرعت معمولی خود (۴ مگاهرتز)، با نصف سرعت (۲ مگاهرتز) کار می‌کرد. با بررسی کدهای اصلی C128، این موضوع مشخص می‌گردد که مهندسان در ابتدا قصد داشتند تا سی پی/ام در حالت «سریع» اجرا گردد (با غیرفعال کردن خروجی حالت متن ۴۰ ستونی، تراشه زد۸۰ در سرعت ۴ مگاهرتز کار کند)، اما این طرح بر روی رایانه‌های کمودور ۱۲۸ اولیه به درستی اجرا نگردید و لغو شد.

یکی از موارد عجیب کمودور ۱۲۸ در حالت CP/M، اجرای سرویس‌های سطح-پایین بایوس توسط تراشه ۸۵۰۲ به جای زد۸۰ بود. دلیل این امر هم این بود که تیم توسعه دهنده کمودور ۱۲۸، اقدام به بازنویسی روتین‌های کرنل برای دو پردازنده مجزا نکرده بودند.

حالت CP/M برای بسیاری از کاربران کمودور با محیط‌های مشابه تفاوت داشت. در حالی که سیستم عامل کمودور () درون حافظه رام گرداننده دیسک کمودور قرار داشت و از طریق برنامه بیسیک برای کاربران قابل دسترس بود، CP/M احتیاج به یک دیسک بوت‌کننده و وارد کردن دستورهای این سیستم عامل از پلتفرم‌های دیگر بود. برنامه‌های مبتنی بر CP/M از عدم کاربرپسند بودن رنج می‌بردند (برعکس اکثر برنامه‌های کاربرپسند سیستم عامل کمودور). باوجود اینکه این سیستم عامل به دلیل داشتن کتابخانه بزرگی از نرم‌افزارهای تجاری برای کمودور ۱۲۸ در نظر گرفته شده بود، اما به ندرت توسط کاربران C128 مورد استفاده قرار گرفت.

### حالت ۶۴
بندانگشتی|چپ|تصویری از دهه ۸۰ که یک دستگاه C128 معمولی همراه با دو گرداننده دیسک و دو نمایشگر که به‌طور مجزا صفحه ۸۰ و ۴۰ ستونی را نمایش می‌دهند. بسیاری از کاربران از گرداننده دیسک ۱۵۴۱ کمودور ۶۴ خود، به عنوان گرداننده دوم در C128 استفاده می‌کردند.
با یکپارچه کردن بیسیک اورجینال کمودور ۶۴ و کرنل‌های حافظه رام (۱۶ کیلوبایت در مجموع)، کمودور ۱۲۸ به‌طور ۱۰۰ درصد با کمودور ۶۴ سازگار بود. حالت C64 به سه روش در کمودور ۱۲۸ قابل دسترسی بود:
* پایین نگه داشتن دکمه لوگوی کمودور بر روی صفحه کلید در هنگام روشن شدن سیستم
* وارد کردن دستور `GO64` در بیسیک ۷
* بوت نمودن دستگاه با استفاده از یک کارتریج ۶۴

با متصل نمودن یک کارتریج برنامه کمودور ۶۴ به درگاه گسترش پشت دستگاه، کمودور ۱۲۸ به‌طور خودکار وارد حالت C64 می‌شود. این ویژگی در واقع تقلیدی از رفتار کمودور ۶۴ می‌باشد مانند زمانی که یک کارتریج ۶۴ (به‌طور مثال ) به دستگاه وصل شود. حالت C64 در کمودور ۱۲۸ دقیقاً دوبرابر قابلیت‌های یک رایانه کمودور ۶۴ را ارائه می‌کرد. بسیاری از قابلیت‌های کمودور ۱۲۸ در حالت C64 غیرفعال می‌شدند. از جمله می‌توان به حالت نمایش ۸۰ ستونی، حالت سریع، قابلیت مدیریت حافظه و بیسیک ۷ اشاره نمود. کلیدهای چهارگانه مکان نمای بالای صفحه کلید نیز غیرفعال می‌شوند و کاربر مجبور به استفاده هم‌زمان از کلید shift برای حرکت مکان نما می‌باشد (درست مانند کمودور ۶۴ واقعی). همچنین صفحه کلید عددی کمودور ۱۲۸ و تعدادی از دکمه‌های کاربردی ردیف بالا در حالت ۶۴ غیرقابل استفاده می‌شوند. (در کمودور ۶۴ دکمه‌های کاربردی فقط f1-f8 هستند)

کمودور ۱۲۸های آمریکای شمالی، هنگامی که در حالت ۶۴ قرار می‌گیرند، حافظه رام فونت‌های آن مقداری تغییر می‌کند. نمونه‌های اولیه تولید شده کمودور ۱۲۸ فقط یک رام داشتند که مقدار کمی فونت‌های آن نسبت به کمودور ۶۴ بهبود یافته بود. اما تعدادی از برنامه‌های کمودور ۶۴ حافظه رام کاراکتر (فونت) را به صورت اطلاعات دیتا می‌خوانند که در نتیجه باعث عدم اجرای این برنامه‌ها بر روی کمودور ۱۲۸ می‌شد. کمودور ۱۲۸ دارای حافظه رام کاراکتر دو برابر (از نظر اندازه) می‌باشد که کاراکتر (فونت)های کمودور ۱۲۸ در حالت C128 و فونت‌های C64 را در حالت ۶۴ ارائه می‌دهد. این در حالیست که مدل‌های بین الملی کمودور ۱۲۸ از فونت اورجینال کمودور ۶۴ در هر دو حالت استفاده می‌کردند و در عوض قسمت دوم حافظه رام کاراکتر آن‌ها به فونت‌های بین‌المللی اختصاص داشت (برای مثال اوملاوت آلمانی)

بعضی از برنامه‌های کمودور ۶۴ هنگامی که کلید `[[کلید قفل تبدیل|CAPS LOCK]]` کمودور ۱۲۸ پایین نگه داشته شود، به درستی نمی‌توانند اجرا شوند. دلیل این امر هم ساختار بزرگتر درگاه ورودی/خروجی داخل سی پی یو کمودور ۱۲۸ است. یک روش ساده برای مشاهده تفاوت‌های سخت‌افزاری کمودور ۶۴ واقعی و حالت C64 در کمودور ۱۲۸ این است که آدرس `$D02F` یا(۵۳۲۹۵) حافظه را با متغیری بیش از $FF پر کنیم. در کمودور ۶۴ واقعی، این محل از حافظه فارغ از اینکه چه متغیری بر روی آن نوشته‌ایم، همیشه دارای متغیر `$FF` یا(۲۵۵) است در حالی که در حالت C64 بر روی کمودور ۱۲۸، محتوای این آدرس حافظه می‌تواند مقدار متفاوتی باشد؛ بنابراین با امتحان نمودن این بخش از حافظه بعد از نوشتن بر روی آن، می‌توان به سخت‌افزار در حال استفاده پی برد.

## کمودور ۱۲۸دی
[بندانگشتی|165px|چپ|کمودور 128D در موزه Musée Bolo در [مؤسسه پلی‌تکنیک فدرال لوزان|EPFL]]
[بندانگشتی|165px|چپ|[منبع تغذیه سوئیچینگ کمودور 128DCR به همراه یک فن خنک‌کننده ۴۰ میلی‌متری]]
در اواخر سال ۱۹۸۵ شرکت کمودور اقدام به عرضه مدل جدیدی از کمودور ۱۲۸ با طراحی بدنه مشابه آمیگا ۱۰۰۰ در بازار اروپا نمود که **کمودور ۱۲۸دی** نام گرفت. این مدل جدید دارای یک بدنه پلاستیکی بود که در یک سمت آن دسته‌ای برای حمل و نقل کیس رایانه، یک گرداننده فلاپی دیسک ۱۵۷۱ در داخل بدنه و یک فن خنک‌کننده قرار داشت. همچنین صفحه کلید این مدل از حالت توکار و متصل به سیستم، به صورت جدا تغییر پیدا کرده بود و دارای دوپایه در زیر صفحه کلید بود که باعث تنظیم زاویه صفحه کلید می‌شد.

بر اساس گفته‌های «بیل هرد» (سرپرست تیم سخت‌افزاری)، مدل C128D هم‌زمان با مدل معمولی کمودور ۱۲۸ آماده عرضه به بازار بود. اما عرضه دو مدل در یک زمان ریسک بالایی جهت عدم موفقیت یکی از دو مدل را به همراه داشت. در اواخر سال ۱۹۸۶، شرکت کمودور اقدام به عرضه مدل جدیدی با نام C128DCR در آمریکای شمالی و بخشی از اروپا نمود. (CR اشاره به کاهش هزینه‌های تولید این مدل داشت) این مدل برخلاف C128D دارای یک بدنه فلزی بود که دسته حمل و نقل بر روی آن وجود نداشت. تعدادی از قطعات روی مادربورد در این مدل یکپارچه گردیده بودند که همین امر باعث کاهش هزینه تولید شده بود، ضمن اینکه یکی دیگر از عوامل کاهش قیمت، حذف فن ۴۰ میلی‌متری جاسازی شده در جعبه نیروی مدل C128D، در این سیستم بود.

یکی از مهمترین پیشرفت‌های مدل C128DCR نسبت به C128D جایگزینی کنترلر صفحه نمایش ۸۵۶۳ با نسخه پیشرفته تر ۸۵۶۸ بود؛ که با ۶۴ کیلوبایت حافظه رم ویدئویی تجهیز شده بود. مدل C128DCR دارای یک حافظه رام جدید به نام "1986 ROM" بود که نام خود را از تاریخ نمایش داده شده بر روی صفحه نمایش گرفته بود. این رام جدید نیز مانند رام اورجینال دارای خطاهای آدرس دهی بود. از جمله می‌توان به خطای معروفی اشاره کرد که حرف Q با وجود روشن بودن کلید CAPS LOCK همچنان به صورت کوچک (q) نوشته می‌شد. اجرای بعضی از نرم‌افزارها نیز بر روی مدل C128DCR بستگی به قابلیت‌های سخت‌افزاری سیستم و حافظه رام اصلاح شده داشت.

با وجود بهبود قابلیت‌های ویدئویی آرجی‌بی مدل DCR، کمودور اقدام به بهبود و توسعه بیسیک ۷٫۰ ننمود. استفاده از این قابلیت‌ها همچنان در گرو استفاده از کدهای زبان ماشین یا معادل‌های زبان اسمبلی بود. البته بعضی از شرکت‌های «طرف-سوم» (مانند Free Spirit Software) اقدام به عرضه نسخه‌ای از زبان برنامه‌نویسی با عنوان «بیسیک ۸٫۰» نمودند که دارای دستورهای گرافیکی جهت استفاده از قابلیت‌های جدید رزولوشن بالای سیستم بود.

## عملکرد بازار
ماهنامه کامپیوت! در سال ۱۹۸۹ در مورد رایانه کمودور ۱۲۸ این‌گونه نوشت: «اگر شما کمودور ۱۲۸ را به خاطر استفاده از نرم‌افزارهای اختصاصی ۱۲۸ بخرید به احتمال زیاد نا امید خواهید شد. یکی از نقاط مثبت فروش ۱۲۸ سازگاری این مدل با کمودور ۶۴ است. در واقع حالت ۶۴ این رایانه نسبت به حالت ۱۲۸ آن بسیار بیشتر برای کاربران مفید و مثمرثمر خواهد بود.» به دلیل اینکه کمودور ۱۲۸ قادر به اجرای تمام نرم‌افزارهای ۶۴ به صورت مجازی بود و همچنین به دلیل شروع نسل جدید رایانه‌های خانگی (کمودور آمیگا و آتاری اس تی که رایانه‌های ۱۶/۳۲ بیتی بودند) و کمبود شدید نرم‌افزارهای اختصاصی برای رایانه کمودور ۱۲۸، تعدادی از خریداران از خرید این مدل منصرف و آن را مرجوع نمودند. در حالی که از کمودور ۱۲۸ طی سال‌های ۱۹۸۵ الی ۱۹۸۹ تعداد ۴ میلیون دستگاه به فروش رسید، با این حال فروش این مدل، با فروش بالای سیستم قبلی خود (کمودور ۶۴) مقایسه می‌شود. یک توضیح برای این اختلاف فروش در این است که اکثر خریداران کمودور ۶۴ علاقه‌مندان به بازی‌های ویدئویی بودند، در حالی که دستگاه گران‌قیمت کمودور ۱۲۸ بهبود قابل توجهی برای این قشر از کاربران به ارمغان نیاورده بود.

بعضی از نرم‌افزارهای ۶۴ مانند «» و «» با استفاده از بوت اتوماتیک و قابلیت دسترسی سریع گرداننده فلاپی دیسک ۱۵۷۱، بر روی کمودور ۱۲۸ اجرا می‌شدند. بعضی از بازی‌های ماجرایی شرکت  (که بر پایه متن استوار بودند)، در کمودور ۱۲۸ از صفحه متن ۸۰ ستونی و ظرفیت بیشتر حافظه این رایانه استفاده می‌کردند. تعدادی از بازی‌های کمودور ۶۴ نیز برای حالت ۱۲۸ پورت گردیدند. مانند «» و  از شرکت «» که دارای نسخه ۱۲۸ جداگانه‌ای بودند. همچنین بازی «» از شرکت «» اگر بر روی کمودور ۱۲۸ اجرا می‌شد، از حافظه اضافی سیستم جهت اجرای موزیک استفاده می‌کرد.

بسیاری از نرم‌افزارهای کمودور ۶۴ مانند PaperClip و سری Paperback Writer برای کمودور ۱۲۸ پورت گردیدند. این نرم‌افزارها از قابلیت‌های ۱۲۸ مانند: حافظه بیشتر، متن ۸۰ ستونی، صفحه کلید بهبود یافته و فضای بیشتر ذخیره‌سازی فلاپی دیسک، جهت ارائه خدمات بهتر به کاربران تجاری خود استفاده می‌کردند. با وجود برنامه بیسیک پیشرفته، قابلیت سازگاری بالای سیستم عامل CP/M و بسته‌های نرم‌افزاری کاربر پسند، شرکت کمودور قصد داشت رایانه کمودور ۱۲۸ را به عنوان یک سیستم سطح-پایین تجاری در بازار معرفی کند (دقیقاً مشابه استراتژی اعمال شده در مورد رایانه کمودور پلاس/۴) و برای این منظور حتی در هنگام معرفی کمودور ۱۲۸ (و برچسب روی بدنه) از اصطلاح «رایانه شخصی» به جای «رایانه خانگی» استفاده نمود. کمودور ۱۲۸ اولین رایانه شرکت کمودور بود که به‌طور رسمی اعلام شد از مایکروسافت بیسیک استفاده می‌نماید.

کمودور ۱۲۸ یک دستگاه تجاری بسیار بهتری از کمودور ۶۴ بود، اما از نظر بازی‌های رایانه‌ای هیچ برتری نسبت به کمودور ۶۴ نداشت و کاربرانی که قصد خرید یک رایانه برای امور تجاری را داشتند، اقدام به خرید رایانه سازگار با آی‌بی‌ام می‌کردند. رایانه‌های سازگار با آی‌بی‌ام ارزان قیمت مانند Edge Model D و «» در آن زمان در بازار موجود بودند. برنامه‌های حرفه‌ای «طراحی به کمک رایانه» و طراحی داخل خانه از شرکت BRiWALL در آن زمان برای رایانه‌های شخصی در بازار وجود داشت. شاید تنها دلیل برای اندک فروش مناسب کمودور ۱۲۸، برنامه نویسان غیرحرفه‌ای بود که به‌طور تفریحی و تنها برای علاقه شخصی خود اقدام به برنامه‌نویسی بر روی کمودور ۶۴ می‌کردند.

کمودور ۱۲۸ توانایی رقابت با رایانه‌های نسل جدید خانگی ۱۶/۳۲ بیت (آمیگا و آتاری اس تی) را نداشت. در سال ۱۹۸۹ و زمانی که خط تولید تمام مدل‌های کمودور ۱۲۸ متوقف شد، گزارشی منتشر شد که نشان می‌داد قیمت تولید این رایانه تقریباً برابر قیمت تولید آمیگا ۵۰۰ بوده، در حالی که کمودور ۱۲۸ برای حفظ موقعیت آمیگا ۵۰۰ در بازار، با چند صد دلار کمتر برای فروش عرضه می‌شده است.

«بیل هرد» توضیح داده بود که در ابتدا هدف طراحی کمودور ۱۲۸، سازگاری ۱۰۰٪ با کمودور ۶۴ نبوده است. یکی از دلایل اصلی که این قابلیت به کمودور ۱۲۸ اضافه شد، مربوط به زمانی می‌باشد که بیل هرد متوجه شد یک زن برنامه‌نویس، نرم‌افزار آموزشی برای کمودور پلاس/۴ و کمودور ۶۴ طراحی کرده که بر روی مدل جدید قابل اجرا نمی‌باشد. اما هنگامی که "بخش بازاریابی شرکت کمودور" این موضوع را متوجه شد، به‌طور کاملاً مستقل و بدون هماهنگی اعلام کردند کمودور ۱۲۸ کاملاً با ۶۴ سازگاری دارد. بیل هرد دلیل اصلی قرار دادن تراشه "زد-۸۰" را اطمینان از سازگاری ۱۰۰٪ دستگاه عنوان می‌کند تا این سیستم قابلیت اجرای کارتریج‌های زد-۸۰ کمودور ۶۴ را داشته باشد. او همچنین توضیح داد که تراشه زد-۸۰ و کنترلر جدید گرافیکی (VDC)، منبع بسیاری از مشکلات در طراحی کمودور ۱۲۸ بودند. بیل هرد در مورد انتظارش از کمودور ۱۲۸ می‌گوید: "من انتظار داشتم کمودور ۱۲۸ فقط حدود یک سال به فروش رود. فروش چند میلیون از این دستگاه از نظر ما بسیار خوب بود، ضمن اینکه این مدل تأثیری بر روی بازار آمیگا ۵۰۰ و حتی کمودور ۶۴ نیز نداشت." بعد از معرفی مدل «کمودور ۶۴سی» در سال ۱۹۸۶، برای اولین بار قیمت کمودور ۶۴ توسط شرکت افزایش یافت و طبق گزارش‌های منتشر شده، فروش مدل جدید کمودور ۶۴ بسیار بهتر از کمودور ۱۲۸ در بازار بود.

## مشخصات فنی
* سی پی یو:
** تراشه  در سرعت ۲ مگاهرتز (قابلیت انتخاب ۱ مگاهرتز برای سازگاری با کمودور ۶۴)
** تراشه زیلاگ زد-۸۰ در سرعت ۴ مگاهرتز (در واقع با سرعت ۲ مگاهرتز فعالیت می‌کرد)
** تراشهام‌اواس تکنولوژی ۶۵۰۲ (فقط در مدل C128D و C128DCR) برای کنترلر فلاپی دیسک
* واحد مدیریت حافظه (MMU): تراشه ام‌اواس تکنولوژی ۸۷۲۲ جهت کنترل مدیریت حافظه
* حافظه رم: ۱۲۸ کیلوبایت حافظه رم سیستم، ۲ کیلوبایت حافظه رم رنگی ۴-بیت، ۱۶ یا ۶۴ کیلوبایت حافظه رم ویدئویی (برای VDC) قابل ارتقا به ۵۱۲ کیلوبایت از طریق درگاه گسترش رم
* حافظه رام: ۷۲ کیلوبایت
** ۲۸ کیلوبایت بیسیک ۷٫۰
** ۴ کیلوبایت MLM (ویرایشگر زبان ماشین)
** ۸ کیلوبایت کرنال کمودور ۱۲۸
** ۴ کیلوبایت ویرایشگر صفحه
** ۴ کیلوبایت بایوس زد-۸۰
** ۱۶ کیلوبایت رام C64: حدود ۹ کیلوبایت بیسیک ۲٫۰ در حالت C64 + حدود ۷ کیلوبایت کرنال C64
** ۴ کیلوبایت تولیدکننده فونت C64
** ۴ کیلوبایت تولیدکننده فونت C128
** ۳۲ کیلوبایت رام عملیاتی داخلی (اختیاری جهت قرارگیری در سوکت مادربورد)
** ۳۲ کیلوبایت رام عملیاتی خارجی (اختیاری جهت قرارگیری در سوکت REU)
* ویدئو
** ام‌اواس تکنولوژی 8564/8566 VIC-II E (ان تی اس سی/پال) برای ویدئوی کامپوزیت ۴۰ ستونی
*** حالت متن: ۲۵×۴۰, ۱۶ رنگ
*** حالت‌های گرافیکی: ۲۰۰×۱۶۰، ۲۰۰×۳۲۰
*** ۸ اسپرایت سخت‌افزاری
*** ۲ کیلوبایت حافظه رم ۴-بیت رنگی مستقیم، در غیر اینصورت از حافظه اصلی سیستم به عنوان حافظه رم ویدئویی استفاده می‌شود.
** ام‌اواس تکنولوژی 8563 VDC (یا تراشه ۸۵۶۸ در مدل C128DCR) جهت خروجی ویدئوی ۸۰-ستونی کامپوننت دیجیتال آر جی بی و سازگار با نمایشگرهای CGA رایانه‌های شخصی آی بی ام، امکان پخش تصاویر سیاه و سفید بر روی نمایشگرهای کامپوزیت، امکان استفاده از ست تلویزیون فقط در صورتی که ست تلویزیون دارای سوکت اسکارت باشد
*** دسترسی غیرمستقیم به رجیستر
*** حالت متن: کاملاً قابل برنامه‌نویسی، در حالت اصلی ۲۵×۸۰ یا ۵۰×۸۰، آر جی بی ۱۶ رنگ (البته مشابه پلت ۱۶ رنگ VIC-II نمی‌باشد)
*** حالت‌های گرافیکی: کاملاً قابل برنامه‌نویسی، حالت‌های اصلی ۲۰۰×۳۲۰، ۲۰۰×۶۴۰ و ۴۰۰×۶۴۰
*** ۱۶ کیلوبایت حافظه رم ویدئویی اختصاصی (۶۴ کیلوبایت به صورت استاندارد در مدل C128DCR، در مدل‌های C128/C128D به ۶۴ کیلوبایت قابل ارتقا می‌باشد)
* صوت:
** تراشه سینتی سایزر ام‌اواس 6581 SID (یا 8580 SID در مدل C128DCR)
*** سه کانال، قابلیت کنترل سینتی سایزر
*** امواج صوتی استاندارد SID
*** فیلتر صوتی چند حالته
* درگاه‌های ورودی/خروجی:
** تمامی درگاه‌های کمودور ۶۴ با قابلیت سازگاری ۱۰۰٪، به اضافه موارد زیر:
** حالت سرعت بالا بر روی درگاه سریال
** قابلیت برنامه‌نویسی بهتر درگاه گسترش
** خروجی ویدئوی آر جی بی (کانکتور DE9)، مشابه کانکتور نمایشگر CGA رایانه‌های سازگار با آی بی ام، اما یک سیگنال سیاه و سفید نیز به آن اضافه شده‌است. این سیگنال اضافه شده باعث مقدار ناچیزی عدم سازگاری با نمایشگرهای CGA آی بی ام می‌شود.
** ورودی صفحه کلید مجزا (کانکتور DB25) (فقط در مدل C128D یا C128DCR)

## پانویس و منابع

* Greenley, Larry, et al. (1986). *Commodore 128 Programmer's Reference Guide*. Bantam Computer Books/Commodore Publications. .
* Gerits, K. ; Schieb, J. ; Thrun, F. (1986). *Commodore 128 Internals*. 2nd ed. Grand Rapids, Michigan: Abacus Software, Inc. . Original German edition (1985), Düsseldorf, West Germany: DATA BECKER GmbH & Co. KG.

* 

## پیوند به بیرون

* Commodore 128 Systems Guide
* RUN Magazine Issue 18 June 1985

رده:کمودور ۱۲۸
رده:خانواده کمودور ۸-بیت
رده:رایانه‌های خانگی
رده:معرفی‌شده‌های مرتبط با رایانه در ۱۹۸۵ (میلادی)