A Commodore 128 (más néven: C128, C-128, C= 128, vagy ritkábban: CBM 128) volt az utolsó 8 bites mikroszámítógép, amit a Commodore Business Machines gyártott. 1985-ben a Las Vegas-i CES-en jelent meg 3 évvel a Commodore 64 (C64) után.
Az új típus jelentős fejlesztéseket tartalmazott az elődjével, a C64-gyel való közel teljes kompatibilitás megtartása mellett. Két 64 KByte-os bankba szervezett 128 KB memóriával és 80 oszlopos megjelenítéssel rendelkezett. A beépített Zilog Z80 processzor lehetővé tette a CP/M – akkoriban szabványosnak tekinthető – operációs rendszer futtatását a ROM-ba épített BASIC interpreter helyett. Ezzel a maga idejében a Commodore 128 volt az egyik legtöbb szoftver futtatására alkalmas számítógép.
A gép elsődleges hardvertervezője Bil Herd volt, aki a Commodore Plus/4-es is dolgozott. A projekt további fontos hardvertervező mérnöke volt még Dave Haynie és Frank Palaia is, míg az integrált áramköri tervet Dave DiOrio végezte. A rendszerszoftvert Fred Bowen és Terry Ryan, míg a CP/M alrendszert Von Ertwine fejlesztette.
Áttekintés A C128 billentyűzetén már található négy nyílbillentyű, egy Alt gomb, egy Help gomb, Esc gomb, Tab gomb és numerikus billentyűzet. Ezek egyike sem volt jelen a C64-esben, különösen a nyílbillentyűk hiánya volt zavaró, a balra és felfelé való mozgáshoz a Shift billentyűt kellett először lenyomni. Valamennyi gomb felhasználói kérésre került be, különösen a CP/M használatát könnyítették meg. Ezen gombok túlnyomó többsége az IBM PC-ken is megtalálható volt, így a C128 vonzó alternatíva lehetett. 80 soros módja kétszerese volt a C64-ének, a színek pedig további 1 KB extra RAM-ot kaptak, melyet tovább is lehetett bővíteni. A tápegység is megbízhatóbbá vált: kapott megfelelő hűtést, és kábele is cserélhető lett. Indításkor a gép immár nem végez RAM tesztet. A C128-as az elődjével ellentétben kétprocesszoros: elsődleges processzora a MOS Technology 8502-ese 2 MHz-es órajellel, a másodlagos processzor, a Zilog Z80 pedig a CP/M futtatásáért felelős. A két processzor nem tud egyszerre működni, így a C128-as nem tekinthető valódi többprocesszoros rendszernek.
Komplex architektúrájához négy különböző memória tartozik: 128 KB RAM, 16–64 KB VDC video RAM, 2k Nibbles VIC-II Color RAM, 2 KB floppy drive RAM) valamint két videochip (VIC-IIe és VDC).
A korai típusok túlmelegedésből adódó instabilitástól szenvedtek, amelynek oka a nyomtatott áramköröket fedő árnyékoló lemez volt. Az árnyékolás egyben azt a célt is szolgálta, hogy a chipek tetejére egy kis érintkezővel felfeküdve hűtőborda is legyen. Erre a célra azonban anyagát tekintve is csak korlátozottan volt alkalmas (vékony lemezből készült), ráadásul a chipek és az árnyékolás nem simultak egymásra tökéletesen. A megoldás végül az árnyékoló lemez eltávolítása volt.
A gép három üzemmóddal rendelkezett. Az alap C128-as mód a 8502-es CPU-val működött, 40 vagy 80 soros szöveges üzemmódban. A CP/M mód a Z80 processzort használta, és ugyanúgy működött 40 és 80 soros üzemmódban is. A C64 üzemmód pedig szinte 100 százalékos kompatibilitást biztosított a korábbi géppel. A gép a Z80 processzor segítségével automatikusan tudott váltani az üzemmódok között, indításkor ellenőrizve, hogy van-e CP/M kompatibilis cartridge a gépben, vagy C64/128-kompatibilis egyéb eszköz. Az üzemmódok közti váltásra a Commodore gomb lenyomásával is sort lehetett keríteni indításkor.
C128 mód Egy évvel a C128 debütálása előtt jelent meg a Plus/4. Noha a gépet eredetileg olcsóbb árfekvésű, üzleti célokra szolgáló komputerként tervezték meg, a Commodore már úgy reklámozta, mint a gép, amelyik leváltja a C64-est. Csakhogy az elődmodellel ellentétben a Plus/4 képi megjelenítése és a hanglejátszási képességei is gyengébbek voltak. Már ebben az időben is javasolták a vezetőségnek, hogy érdemes lenne a C64 feljavított változatát kiadni, 128 KB RAM-mal, és az üzleti számítógépek között általánosnak mondható 80 soros megjelenítéssel. Emellett újabb, könnyebben programozható BASIC-et és modernebb lemezmeghajtókat is javasoltak, a kompatibilitás megtartása mellett.
A tervezés során ezeket az elvárásokat sikerült teljesíteni. Egy új chip, a VDC chip (MOS Technology 8563) képes volt CGA-színmegjelenítésre 80 oszlopos üzemmódban, a 8502-es processzor teljes körű kompatibilitást biztosított visszafelé, az új, 7.0-s verziójú BASIC pedig sokkal kényelmesebb programozhatóságot tett lehetővé. sprite-szerkesztő és gépikód-figyelő is a rendszer része lett. Az operációs rendszer "magja", a Kernal már kezelni tudta az "insert" módot karakterek beírásakor, több billentyűkombinációt is ismert, rendelkezett egy kezdetleges ablakos üzemmóddal, és külön ROM-ba került. A 80 soros mód képes volt villogó és aláhúzott szöveg megjelenítésére, illetve korrekt kisbetűs megjelenítésre. A 40 és 80 soros üzemmód egymástól független volt, így egy időben is aktiválhatóak voltak. A sokak által hiányolt Reset gomb is felkerült a gépházra, melynek billentyűzetkiosztása annak ellenére maradt az ADM-3A típusú, hogy az iparágban eddigre már az IBM Selectric terjedt el kvázi szabványként.
A VDC chip gyakorlatilag alkalmatlan volt járékra, mert nem tudta kezelni se a sprite-okat, se a rasztermegszakításokat. Az NTSC-szabványú C128-asok bármilyen monitorral együtt tudtak működni, a PAL szabvány szerintiek azonban nem, mivel utóbbiak csak 50 Hz-es képfrissítésre voltak képesek. A videokimenet csatlakozójának egyik tűje (a 7-es), amit normál esetben nem használnak a CGA-monitorok, egy fekete-fehér NTSC/PAL jelet volt képes leadni, de olyan kábel, ami ezt hivatalosan is támogatta volna, végül sosem készült – kizárólag házilag barkácsolt módon lehetett működésre bírni. bélyegkép|A BASIC 7.0, 40 soros üzemmódban Két új lemezmeghajtót is bemutattak az eszközzel: az első a rövid életű egyoldalas 1570-es, a másik pedig a kétoldalas 1571-es. Bejelentették a kétlemezes 1572-es meghajtót is, ami viszont sosem került sorozatgyártásba. A későbbiekben a 3,5''-os kis floppylemezek kezelésére szolgáló 1581-es meghajtót is piacra dobták. Valamennyi új készülék megbízhatóbb volt, mint az előd 1541-es, és gyorsabb is a speciális "burst mode"-nak köszönhetően. A 1581-es megnövelt belső memóriájának hála sokkal több fájlt is meg tudott nyitni egyszerre. A C128-as volt az első Commodore-gép a sorozatban, amelyik képes volt bootolni egy behelyezett lemezről – ezt az azóta már általánossá vált képességet korábban mellőzték. A 1571-es meghajtó esetében szükséges volt egy átkapcsolás a 1541-est használó C64-gyel való visszafelé kompatibilitás érdekében, ha a felhasználó olyan programot futtatott.
A C128-as, köszönhetően annak, hogy dupla annyi memóriája volt, mint elődjének, képes volt komplexebb programok futtatására. A BASIC 7.0 is több lehetőséget biztosított, de a programozható karakterek képessége még mindig hiányzott belőle, és lassabb is volt valamivel, mint a 2.0-s verzió.
CP/M mód bélyegkép|A CP/M mód aktiválásához szükséges lemez, melyet a géphez adtak, azonban az alapmodellhez nem járt lemezmeghajtó A C128-as másik processzora a Zilog Z80-as volt, ami lehetővé tette a CP/M operációs rendszer futtatását. Már a C64-es esetében is tervezték ennek lehetőségét, ám a hardveres korlátok állította nehézségek miatt mindössze az első sorozatú készülékekhez készült egy, az újabb gyártásúakkal inkompatibilis bővítő, ami nem is működött tökéletesen. Így a C128 fejlesztésekor fontos szempont volt, hogy a Z80-as beépítésével futtathatóvá tegyék azt.http://www.commodore.ca/gallery/magazines/cpm/cp_m_compute_april85_d.jpg Mivel azonban a processzor a gépben csak 2 MHz-es órajelen üzemelt, ezért a CP/M láthatóan lassabb volt rajta, mint a rivális gépekben. Ennek az volt az oka, hogy a gyengébb MOS 6502-eshez tervezett adatátviteli buszt kapta meg, amely processzorok sajátosságai miatt például egész másként kezelte az adatokat és címezte meg a memóriát. Ezen limitáció miatt a CP/M módot igazán nem is tudták a felhasználók kihasználni.
Bekapcsoláskor először mindig a Z80-as processzor aktiválódott, és ellenőrizte, hogy van-e a gépben CP/M kompatibilis lemez. Ha nem volt ilyen, akkor átadta a 8502-es processzornak az irányítást, és a C128-as natív módja töltődőtt be. A CP/M mód használatához mindenképpen a 1570-es vagy 1571-es lemezmeghajtó használata volt javallott, mert az elődmodell 1541-essel csak korlátozottan volt kompatibilis (főként az eltérő fájlrendszer okán), és sokkal lassabb is volt. Ugyancsak szükséges volt a 80 soros üzemmód használata. A hagyományos parancsok mellett újabbakat is ki lehetett adni, többek között meg lehetett változtatni a háttér és a betűk színét is. Egy beépített védelem megakadályozta, hogy a kettőt azonos színűre állítsa a felhasználó, aminek az lett volna az eredménye, hogy a betűk láthatatlanokká váltak volna – jobban mondva ilyen esetben automatilusan átkapcsolt az alapértelmezett szürke háttér-barna betű kombinációra.
CP/M módban elvileg lehetséges volt a Microsoft BASIC-et is futtatni, ami a beépített BASIC 7.0-hoz képest korlátozottabb funkciókkal bírt, viszont bonyolultabb matematikai műveletekkel is megbirkózott. Ez azonban tényleg csak elméleti lehetőség volt, mert a fentebb említett lassú működés miatt nem lehetett rendesen használni. De más CP/M programok, mint a Wordstar vagy a Supercalc is egyértelműen lassabbak voltak, mint a C128-as módban elérhető alternatíváik.
Összességében elmondható, hogy a Commodore-felhasználók nem igazán kedvelték meg a lassú, és a megszokotthoz képest teljesen másként kezelendő üzemmódot. A CP/M mód nem volt beépítve a gépbe és nem volt a BASIC-en keresztül hozzáférhető, hanem indításkor egy boot lemezről töltődött be, és rengeteg olyan parancs volt benne, amiket az ősrégi mikroszámítógépek világából hozott be és a felhasználók számára ismeretlen volt. Ily módon nem volt felhasználóbarát sem. Ráadásul a nyolcvanas évek közepére már régen túl volt a fénypontján. Mindezekre tekintettel nem csoda, hogy igen ritkán került használatba ez az üzemmód.
C64 mód A C128-as gyakorlatilag száz százalékos visszafelé kompatibilitással rendelkezett a C64-essel mely az indításkor történő gomblenyomással, parancs bevitele útján, vagy C64-es cartridge csatlakoztatásával volt aktiválható.
Commodore 128D balra|bélyegkép|A Commodore 128D 1985-ben a Commodore az európai piacra dobott egy újabb változatot, amely külsőre az Amiga 1000-eshez hasonlított. Ez a C128D egy műanyag házba került, melynek oldalára a könnyebb hordozhatóság érdekében egy fület rögzítettek, továbbá a házba építettek egy 1571-es lemezmeghajtót, a billentyűzetet külön csatlakoztatható eszközzé tették, és beépítettek egy hűtőventilátort is. A billentyűzet két kihajtható lábat is kapott a könnyebb használat érdekében. Az év végén Észak-Amerikában is bemutatták.
1986-ban egy újabb, C128DCR névre hallgató altípus jelent meg, amely műanyag helyett már préselt acéllemez-házba került, hordozófül nélkül, és kapcsolóüzemű tápegységgel látták el. Költségcsökkentési célból az alaplapot is átalakították, és a ventilárort is kiszerelték (habár a gépházban a rögzítésének a helye megmaradt). Ami fontosabb változtatás volt, az a grafikus VDC chip újabb specifikációjúra (8568) cserélése. A technikailag fejlettebb, és a maximális, 64 KiB RAM-hoz hozzáférő chip lehetővé tette egy használható többablakos üzemmód kezelését, nagyobb felbontású grafikák készítését, és rugalmasabb színpalettát biztosított. Ezeket az új képességeket azonban csak kevés hivatalosan megjelent program használta ki, ráadásul a BASIC 7.0 is maradt ugyanaz, ezért a teljes körű kiaknázásukhoz alternatív lehetőségeket kellett keresni). Új ROM került a gépbe, kijavítva az előd bosszantó hibáit.
Specifikáció
Processzor: MOS Technology 8502 @ 2 MHz (1 MHz a C64 kompatibilis vagy a C128's 40 soros módban) Zilog Z80 @ 4 MHz (de effektíve csak 2 MHz-en a VIC-II chip rendszerbuszhoz hozzáférése miatt) MOS Technology 6502 (csak a 128D-nél a beépített lemezmeghajtónak)