Lehidalok - ahol a (retro) PC és az Amiga találkozik

Az talán ma már vitán felül álló történelmi tény, hogy az Amiga a nyolcvanas évek közepének legfejlettebb "mikroszámítógép" architektúrája volt. A hardver nagyszerűségét sokan, sokféleképpen megénekelték, az operációs rendszeréről szinte mindenki tudja, hogy multitaszkos volt abban a korban, amikor ez még jobbára a nagygépek vagy munkaállomások kiváltsága volt. De ahhoz, hogy komolyabb sikereket tudjon elérni az akkoriban éppen felfutó IBM PC klónok piacán, hiányzott egy alapvető dolog - pontosan ez, az IBM PC kompatibilitás.

Ezzel a gépet és a fejlesztőcsapatot megvásárló Commodore is tisztában volt. Már az első Amiga 1000 híres-hirhedt bemutatóján demózták a szoftveres PC emulátort, amit később egy "Sidecar" becenevű hardveres kiegészítő követett, amely gyakorlatilag egy IBM XT kompatibilis PC volt, amely az Amigával kommunikálva megosztott egy rakás erőforrást, portokat, billentyűzetet, valamint MDA és CGA emulációt biztosított a classic Amiga chipseten keresztül.


Amiga 1000 és a csatlakoztatott Sidecar. A képernyőn a PC boot folyamata látható, egy Amiga ablakban. (forrás)

Később a dobozos gépek (Amiga 2000/3000/4000) alaplapján megjelentek a Zorro mellett a (passzív) ISA slotok is, amelyeket igény esetén egy utólagos PC kártya hozzáadásával "aktiválhatott" az ezt igénylő felhasználó. A kártya áthidalta az ISA és a Zorro slotok közötti különbséget ugyanúgy mint ahogy összekötötte az Amiga és a PC világot - innen kapták a nevüket is: "Bridgeboard". Maga a Commodore 8088-tól a 386sx-ig (utólagos upgrade-del 486slc-ig) többféle kártyát gyártott, ill. 3rd party gyártók is készítettek ilyeneket.


A csúcsmodell: Commodore A2386sx Bridgeboard, 25Mhz-s 386sx processzorral. (forrás)

Ezek a kártyák rengeteg olyan technikai megoldást tartalmaztak már a nyolcvanas évek végén, amit az általános IT emlékezet csak jóval később elterjedt megoldásként emleget. Például a PC kártya virtualizált egyes portokat, így a megfelelő Amiga oldali szoftvertámogatással képes volt elérni az Amiga floppy meghajtóját, vagy a képes volt az Amigára kötött nyomtatóra nyomtatni, sőt, az Amiga merevlemezén található merevlemez képfájlból bootolni, stb.

Mindezek ellenére, a koncepció nem volt sikeres még az Amiga sikerességéhez mérten sem. Túl drága volt és túl sok limitációt tartalmazott ahhoz képest, mintha valaki egy Amigát és egy PC-t is használt volna egyszerre, ráadásul a Commodore maga sem volt túl elkötelezett a koncepcióval kapcsolatban (még annyira sem amennyire a Tramiel utáni Commodore bármivel kapcsolatban elkötelezett volt), végül 1991-ben az egészet dobták, nem készült több ilyen kártya és nem készült több szoftverfrissítés sem.

Bár a rákövetkező év(tized)ekben ezek a kártyák maximum néhány - a normál esetben PC-gyűlölő Amiga-fanatikusokon belül is külön kasztot képező - különc játékszerei voltak, néhány 3rd party szoftvert ami hozzájuk készült azért érdemes megemlíteni. Például készült egy Etherbridge nevű szoftver, amellyel egy olcsó ISA-s hálózati kártya DOS-os packet driverének szolgáltatásait tette elérhetőve egy Amiga oldali driver formájában, hogy az amigás TCP/IP stackek és más hálózati szoftverek használhassák, így az ilyen kártyák tulajdonosai megspórolták egy egy Zorro slotos hálózati kártya ma is, és korábban is elég horribilis költségeit.

Sokáig relatív fillérekért lehetett ilyen kártyához jutni, hiszen keveseket érdekelt. Viszont ennyi évtized után, a korai IBM PC várlatlanul cool lett, miután ilyen (meg ilyen) demók születnek rá, valamint a "csúcskártya" 386sx-eket elkezdte megzabálni a megfolyó hordó-CMOS-aksi, ami miatt polcon pihenő "kinekkellaz" darabokból hirtelen ritka és kívánatos gyűjtői tárgyak lettek, és elképesztő energiákat ölnek a gyűjtők egy-egy még menthető darab restaurálásába.. A használati értéküket azonban erősen limitálta a jobbára továbbra is 1991-es szinten lévő drivercsomag, ezen belül is a fenti Amiga 1000-n látható "PCWindow" alkalmazás egyes problémái, amely különösen az erősen bővített, grafikus kártyás amigák tulajdonosait sújtotta. Például, hogy grafikus kártyával és ablakban csak MDA (mono) módban működik - és még így is bugosan, az ablakot teleszemetelve, ráadásul "inverzen", szürke alapon feketében -, a CGA mód pedig csak teljes képernyőn, valamint csak az alaplapi Amiga chipsetet használva elérhető. Persze lehet külső ISA VGA kártyát is használni, de akkor hol a fun, hogy a PC fut Amiga ablakban? És persze akkor még ott az az apróság, hogy időnként elhal a PC a billentyűzetkezelése, amit súlyos esetben csak reboottal lehet orvosolni...


PCWindow ablakban. Mono üzemmód, és jól látszik az ablak alján a kurzor által hagyott "bitszemét"...


PCWindow teljes képernyőn. Nem sok árulkodik róla hogy ez igazából egy Amiga, a rondakék About ablakon kívül...

És akkor most végre ennek a blogpostnak a tárgyára térhetünk, bár aki követ Twitteren annak sok újdonság nem lesz: hála Ratman kollégának, jelenleg az én birtokomban is van (néhány...) ilyen kártya. Nem túl meglepő ez, hiszen nekem előbb volt PC-m mint Amigám, ami miatt rám is aggatták a "divatamigás" jelzőt. Most azonban a korabeli PC-kről szerzett ismereteimet végre valami amigás dolog javára fordíthattam. Így hát amikor a PC kártyával játszadozva az aznapi negyvenharmadik "na megin' megdöglött a keyboard, akkó' reboot.." miatt elkapott a harci ideg, arra adtam a fejem, hogy egy új PCWindow szoftver írok, amely rendesen működik grafikus kártyával és bővített procis Amigával is, és lehetőleg nem fekszik hanyatt átlag tízpercenként.

A feladat nagyából egyszerű - meg kell tanulni hogy kell a PC kártyát programozni, majd jó eséllyel egy CGA és MDA emulátort kell hozzá írni. A kártyán ugyanis egy virtuális CGA/MDA kártya található, és a hardver interruptokat tud küldözgetni, ha a PC oldalon valami beleírt a videó szegmensbe vagy a CRTC regiszterekbe. Egy alkalmazásnak nincs is más dolga, mint ezekre reagálni és egy laza CGA emulációt megvalósítani kirajzoláskor. Hát nem lehet olyan bonyolult, nem? :) Amúgy, tényleg nem. Szerencsére a CGA és az MDA jóval egyszerűbb (úgy is mondhatjuk, primitívebb) mint utódjaik az EGA és a VGA kártyák.

Mivel őrült és értelmetlen ötletek kivitelezésében verhetetlen vagyok, néhány nap hackolás után sikerült is valami működő állapotot elérnem, és elkészült a "Viaduct" névre hallgató PCWindow-helyettesítő cucc egy pont nullás verziója. Működik grafikus kártyával rendesen és sikerült egy nagyjából megbízható, bár felettébb undorító workaroundot találni a - mint később kiderült vagy az Amiga oldali driverben, vagy a PC kártya keyboard BIOS-ában lévő - "nem reagál többet a billentyűzet" bugra. Ezen felül pedig képes az alapból kisfelbontású CGA grafikát látható méretűre és megfelelő képarányúra nagyítani, szóval nem kell a CGA játékokat bélyegmoziban élvezni. A további pofázás helyett pedig beszéljenek a képek és videók:


A DOS Navigator 1.51 Tetrise a PicassoIV grafikus kártyán futó Viaduct ablakban, szinesben


Egy jó kör Prince of Persia, brilliáns CGA színekben, valaki?

A működéséről egy (korai) videó itt, egy másik videó itt (feat. Sim City).

Letölthető itt: Viaduct honlap

(Ps: Igen, Free Pascalban írtam. Haters gonna hate.)

Hozzászólások

itt jartam

--
Vortex Rikers NC114-85EKLS

Ma is tanultunk valamit.

_______Peter
I am a stone. I do not move.

2003 óta ugyanaz a háttérképed? :)

"Mivel őrült és értelmetlen ötletek kivitelezésében verhetetlen vagyok..."

Nicely done.
Kovetkezo challenge: CGA kompozit mod tamogatas, hogy 16 szinu legyen a kimenet... :)
(Peldaul regi Sierra jatekok - Kings Quest es hasonlok - tamogattak ezt a modot, asszem a PoP pont nem.)

ui. mi a baj a FreePascal-lal?

Ezzel már basztatnak, de egyelőre "nahaggyámá'" kategóriás a dolog. :P Az a baj, hogy a következő körben jönnek az impossible CGA raszterhekkek, meg a 160x100-as mód, meg a 256 és 1024 színű composite hackek a demókba, meg a miegymás... Azt sem tudom a mindenféle extra széjjelhekkelendő CGA regiszterekből mennyit támogat a kártya. Én meg csak azt akartam h. ne kelljen fullscreenbe tologatni a pumpát PC-t, de a júzerekek a világ se elég. :P

(Ps: a Free Pascallal semmi, lévén én írtam az Amiga portot és a 68k kódgenerátort. Mindig meg is kapom érte a hátulgombolós jelzőt...)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Nem tudom mi extra kell a Tandy/PCjr módokhoz, az nekem teljesen kimaradt. Most így hirtelen beleolvastam és egész komplexnek tűnik, kérdés hogy ebből mi csak egzotikus corner case, mennyi a szükséges és mennyi az a három feature amit valahogy bele lehetne gusztustalanul hakkolni és ettől hirtelen egy csomó játék elkezdene működni 16 színben. Azt látom h. pl. BIOS support van a Tandy módokba való felváltáshoz, jó eséllyel ezek hiányoznak a kártyán, de ez talán valami minimál TSR-rel pótolható lenne. Sőt, mivel az Amiga felől lehet kódot injektálni a PC-be, még az is lehet h. ezt a Viaduct magától is meg tudná csinálni... :P (Spekuláció.) Azt is meg kéne nézni, mi van akkor, ha nem implementált regiszterekbe írok a PC oldalon, kapok-e valahogy arról értesítést az Amiga felől. Vannak kétségeim, de minden lehetséges...

Na majd egyszer, talán. Először a további CGA dolgok menjenek rendesen, már ami... :)

Szerk: Aha, szóval a Tandy/PCjr extra videó regisztereihez ugyanúgy egy (másik) index/data I/O cím páros kell mint az MDA CRTC regisztereihez pl. A probléma csak annyi, hogy ez utóbbihoz spéci support van a hardverben, ami az Amiga oldalnak lineárisan kiterítve olvashatóvá teszi a regisztereket. Szóval nem hiszem hogy ezt szoftverből körbetákolva menni fog. De majd írok egy öt soros tesztprogit a PC oldahoz és megnézem.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Na koszonom szepen, sikerult megfertoznod, reggeli helyett a dosbox forrast bongesztem a cga/tandy/pcjr modokat tanulmanyozva.

Szerintem a CGA kompozithoz nem kell semmi extra, csak azt a gyonyoru algoritmust kopipesztelni a vga_other.cpp-bol, ami a palettat szamolja ki mernoki precizitassal. A Tandy/PCJr-hez mar tenyleg kellenek a plusz portok ;(

A megfertőzést szívesen. :P

Még nem néztem bele abba a kódba, de tartok tőle hogy elég CPU igényes és/vagy truecolor-t feltételez. Ne felejtsük el, hogy én egy 30 éves gép 20+ éves 50Mhz-s bővítésén futok, ahol 30MB/sec RAM és kb. 4MB/sec videó sávszélesség van, ráadásul a végeredménynek egy 256 színű képernyőn is kéne futnia, és jelenleg mindent megoldhatok 16 előre definiált palettaszínnel. Szóval minden bonyolult... :P De megnézem majd.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Na most belenéztem. Jáááj... Tartottam én ettől, hogy gyakorlatilag le kell szimuláni a composite szinkron interferenciát az RGB komponensekkel egyenként, ráadásul mindezt 64bit lebegőpontosan, ha jól látom...

Szóval ezt inkább talán akkor hagyjuk is. :P Ez sose futna a gépen emberi sebességgel, ráadásul igen, truecolor kell hozzá, legalábbis ahhoz az algoritmushoz amit a DOSBox implementál. Kérdés persze, hogy mennyit lehetne belőle mondjuk feltáblázatosítani, vagy fixpontosítani, de ennél egyszerűbben elérhető célok is vannak jelenleg, amiket még bele kéne fejleszteni a cuccba.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Chain-Q:
Nem tudom elégszer mondani, de Te egy átkozott zseni vagy! :D

"sikerült egy nagyjából megbízható, bár felettébb undorító workaroundot találni a - mint később kiderült vagy az Amiga oldali driverben, vagy a PC kártya keyboard BIOS-ában lévő - "nem reagál többet a billentyűzet" bugra"

Szerintem nem én vagyok az egyetlen aki kíváncsi a szaftos részletekre. ;)

Az úgy néz ki, hogy a drájvernek van egy felülete, amin keresztül fel lehet iratkozni különböző üzenetekre, amit a kártya küld, pl. "valami beleírt a CRTC regiszterekbe", "valami beleírt a grafikus memóriába", "jaj, üres a keyboard buffer, küldjél keyeventet", stb. Ez utóbbit úgy csinálod, hogy beleírsz egy megadott keyboard regiszterbe egy XT vagy AT keyboard scancode-ot majd egy külön interrupt trigger regiszterben keyboard megszakítást triggerelsz. Egyszer csak, teljesen random módon (vagy annak tűnően, általában akkor ha nagyon nagy sebességgel küldök code-okat), nem jön több "küldjél keyeventet" üzenet, legalábbis az elküldött keycodeot úgy tűnik feldolgozza a PC, de aztán üzenet nem jön, hogy küldjek még. Szerintem valami race van, mert általában akkor történik ilyesmi, ha mellé heveny egyéb I/O is zajlik, pl. keyboard refresh, vagy file I/O az Amiga felől.

A workaround annyi, hogy szerencsére van egy "interrupt pending" regiszter a PC oldalán, ahol a "keyboard interrupt pending" bit kikapcsol, ha a PC feldolgozta a triggerelt billentyűzet megszakítást. Így normál esetben a notification után küldök további keycode-ot, illetve figyelem ezt az interrupt pending regisztert, és ha már "elég sok idő eltelt" mióta a PC nem válaszolt, akkor egyszerűen küldök egy további keycode-ot - ez pedig általában kirúgja a kártyát a billentyűzet-kezelési "deadlockból" és utána újra jönnek üzenetek. Elég vicces.

További védelemként - mivel a PC általában jóval lassabb mint egy bővített Amiga - az Amiga oldali keyqueue-ba nem írok végtelen számú ismétlést, és ha azonos a scancode az előzővel amit beleírnék és a PC még nem dolgozta fel az előzőt, akkor skippelem és nem küldöm el neki. Ez valamekkora védelmet ad, hogy ne legyen az, hogy felengedsz egy gombot amit folyamatosan nyomvatartottál, és még 5mp-ig írja befele a karaktereket a PC. Viszont mivel a felengedés scancode-ja eltérő, ezért a lenyomás-felengedés párost mindig megkapja a PC.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

> Az talán ma már vitán felül álló történelmi tény, hogy az Amiga a nyolcvanas évek közepének legfejlettebb "mikroszámítógép" architektúrája volt.

Miert annyira vitan feluli?
Egyaltalan mit jelent az, h legfejlettebb?

Bar nyeretlen, irc-zos egyetemista koromban sem ertettem se a MacOS, se az Amigasokat. Mindig azt allitottak, h az ovek a jobbabb, kozben a PC szepen mukodott is. Azert vmi oka csak volt, nem?:)
Nem lehet, h legalabbis vita targyat kepezheti?

No flame, az azontuli ervek erdekelnek.

TRIGGERED! :P

Nem lehet, h legalabbis vita targyat kepezheti?

Őszintén, sokmindenről lehet vitázni, de erről legalábbis értelmetlen. Nem a kilencvenes évek végén a késői die-hard IRC-ző Amigások gépeiről beszélünk, hanem a nyolcvanas évekről, amikor a DOS-os PC arról szólt hogy fekete képernyőn villog egy fehér kurzor és örülnek, hogy ez csak néha fagy le. Najó, már volt Tandy PCjr, 16 színben, amire játékok is voltak...

A 68k CPU maga (32bit ISA már a kezdetektől), az hogy a rendszer hardveres grafikus gyorsítót és grafikus koprocesszort, meg sztereo digi hangot tartalmazott, a bővítókártyákhoz tartozó AutoConfig (jumperless szoftveres konfig), az OS flexibilitása és programozhatósága, pre-emptív multitaszk, dinamikus library-k, event és message driven device driver API, OOP GUI és egyáltalán, egér alapból a géphez, stb... De most tényleg. Az egész internet tele van vele, Google. Én szerettem a DOS-os PC-t, egyrészt mert nekem is a volt, így nosztalgikus, másrészt azt a keveset amit tudott valóban elég jól csinálta, de összehasonlítani olyan mint egy korabeli nyugati autót, mondjuk Mercedest egy Trabanttal. Végül is a Trabit is lehet imádni, meg elvitt A-ból B-be, de attól még na. :)

Egyébként a korabeli Mac is egy teljes katasztrófa volt architektúrálisan. A korai (nyolcvanas évek) Mac OS-t olyan ügyesen írták meg, hogy az amúgy szegmentálás nélküli 68k procin sikerült szoftveres szegmenseket előidézni. Emellett pointertagginget használtak, vagyis mivel a CPU címbusza csak 24 bites volt, a felső 8 bitet elkezdték mindenféle flagekre használni. Ez remek ötletnek tűnik, egész addig amig nem akartak 16MB-nál több RAM-ot és-vagy 68020 vagy újabb procit a Macekbe rakni, amikor az egész zseniális kártyavár atomjaira hullott. Emellett ugye a classic MacOS-be, soha, még a PowerPC-re váltás után sem sikerült rendes pre-emptív multitaskot rakni, a (NextStep alapú) OS X volt az első ami pre-emptív multitaskot tudott.

És akkor még az Atari ST-t nem is feszegettük, talán jobb is... :P (Arra is írtam fordítót, torzsalkodhatunk, csak minek. Azt hajlandó vagyok elismerni, hogy a korai Mac-eknél jobb volt... :P)

Szóval nem, ez nem igazán vita tárgya, hogy az Amiga messze vert mindent 85-ben. Az, hogy kinek mi áll közel a szívéhez, az meg egy másik dolog.

A végkifejlet szempontjából pedig egésznek igazából csak annyi üzenete van, hogy a technológiai nagyszerűség nem jár feltétlenül együtt üzleti sikerekkel.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Erről a pre-emptivitásról többféle infó van neten, több cikket találtam, amiben hangsúlyozzák, hogy pre-emptív, de találtam egy levelezést, valami levlistán, ahol egy korabeli manuált idéznek, ami meg azt mondja, hogy nem pre-emptív az ütemező algoritmus. Én hajlanék arra, hogy nem volt benne. Egyébként vicces, ez mert az egyik probléma a korai Amigával az volt, hogy a szoftverkészítők nem nagyon tudták, hogy mit is kezdjenek ezzel az egész preemptív dologgal, meg a fejlett OS-sel. Ami ma elengedhetetlen funkciónak gondolunk, az akkoriban szoftverfejlesztés közben sokszor csak kényelmetlenség volt, és pl. főleg játékok kapásból lelőtték a rendszert és átvették a hardver teljes kontrollját...

Memóriavédelem valóban volt benne úgy tűnik, valamiféle custom MMU-val, hiszen a 68k alapból nem tartalmaz ilyet. Teljesen mindegy is, mert a Lisa még ugyanúgy fekete-fehér volt mint az első Mac-ek, és rettenetesen drága is. (Az OS-e egyébként Pascalban volt írva, ha jól rémlik valamelyik Computer Museumból elérhető.)

Amúgy ha a fentiekből nem jön át, és erre akarok itt utalni - az Amiga kevés dologban volt ténylegesen az első abban a felsorolásban amit fent leírtam. Szinte minden ötletnek volt előfutára már külön-külön (sokszor magukban a korábbi gépekben, amiket az Amiga készítői az Amiga előtt fejlesztettek, pl. a hardver sokmindenben erősen hajaz a 8 bites Atari gépekre, csak persze brutálisan kibővítve, lévén maga Jay Miner "az Amiga atyja" is ezeken a gépeken dolgozott korábban). De így ezt a csomagot egyben, hát nem tudom mi más tudta akkor. Nekem hirtelen nem jut eszembe semmi.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Én mint kívülálló ezekről hallottam:
Sokat késlekedett, kevés komoly szoftver jött rá az is későn és bugosan (drága játékszer volt nélkülük az Amiga), a komondor üzleti vezetői elcseszték, nem volt rendes fejlesztési koncepció mögötte (váltogatták az egymással részben inkompatibilis chipkészleteket A500+ A600). Parasztnak (és zenészeknek) meg jó volt az Atari is, még parasztabbnak a PC, DTP vonalon meg az Apple nyert.

Ez az "inkompatibilis chipkészlet" ez vicces téma, és többnyire nem igaz, sőt FUD, (bár én is emlékszem annó a korabeli magazinokban a többoldalas listákra, hogy melyik játék melyik Amigán megy) a szoftverek voltak szarul megírva. Ezen kívül az Kickstart 1.x-ról 2.x-ra váltás (ami az 500+-t és a 600-ast érintette főleg) is eltört egy rakás dolgot, hasonló okból.

Kétségünk ne legyen, ezek 99.999%-ban az eltört szoftver és a "jobban tudom mint az OS", vagy a "works for me" attitűd hibái. Ez az amit fent említettem, hogy a fő probléma az volt, hogy a programozók nem igazán értették hogy kéne egy ilyen korát megelőző rendszert megcélozni úgy, hogy amit írnak holnapután is működjön, amin a gép bonyolultsága és vicces módon a hardver jól dokumentáltsága csak súlyosbított. (Egyébként a "modern" Amigákhoz ott a WHDLoad projekt, amelyik erre szakosodik, hogy a különböző változatos módon szarul működő szoftvereket bármilyen procis, Kickstartos és chipsetes gépen működővé teszi, a csak floppyról működő programokat HDD-ről is betölthetővé teszi, stb.)

Az viszont tény, hogy a C= vezetői nem igazán tudták hogy mit kéne kezdeni az Amigával. Két dolgot akartak, egy budget business PC-t és egy C64 helyettesítőt. Az Amiga egyik sem volt, a high-end kategória fejlesztését hosszű távon elhanyagolták (évekig nem volt sem OS, sem chipset frissítés, ami aztán csak súlyosbította a fent részletezett problémákat amikor végre volt), az 1990-ben már kész AGA chipsetet visszatartották két évig (mire 92-ben megjelenhetett, már kvázi elavult), a fejlettebb Zorro III buszrendszer egyetlen mérnök kvázi hétvégi projektje volt, amiért majdnem kirúgták, mert "költségnövelő" volt, valamint a többnyire amerikai management egyáltalán nem értette az európai piacot ahol a gép jóval erősebb volt, és a saját - sikertelen - piacokat erőltette, és mindenféle vadhajtásokat fejlesztetett az eredeti gép technológiájával (pl. CDTV, A600, és egy rakás kifejleszett de soha meg nem jelent modell, pl. A2200). Így nem lehet platformot építeni, bármilyen brilliáns is a technológia.

Ehhez hozzájárult, hogy a kilencvenes évek elejére a Commodore saját fejőstehene a C64 is erősen lelassult és az (IBM kompatibilis) PC gyártás is egyre nagyobb veszteségeket termelt. Mindezek mellett, az európai Amiga üzletág gyakorlatilag végig nyereséges volt, és azt igazából senki sem érti, hogy miért számolták fel és darabolták fel a céget 94-ben, amikor voltak befektetők és vevők akik egyben is vitték volna.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Nagyon sok esetben ha olcsobban tudsz eleget, az jobb, mint ha tularazottan kicsit tobbet. Elobbi esetben lesz eleg beveteled a tovabbi fejlesztesre, es lesz eleg felhasznalod, akik ezeket a tovabbfejlesztett eszkozoket meg tudjak venni. Ma mar nem kerdes, hogy az Amiga vagy a mostani PC a jobb, egyszeruen nem egy kategoria.
Egyebkent ugyanez a jelenseg van az x86-ARM vonalon is: okostelefonbol kb. 100x annyit eladnak evente, mint x86-bol, emiatt sokkal gyorsabban fejlodik, es lassan beeri (bizonyos felhasznalasok eseten mar be is erte). Onnantol meg lesz egy kis fogyasztasu nagyon sok magos geped. Az Intel meg gondolom veri a fejet a falba az xscale/strongarm miatt.

A software-es tulbonyolitas sem segit. Hiaba van a konkurencianal erosebb geped, ha nem lehet normalisan programozni. A playstation is visszaallt sima x86-ra, az intel meg leallitotta az itaniumot. Hiaba volt bennuk hardware-esen tobb, mint a kortarsaikban, ha nem irnak a gepedre programokat, nem fogjak megvenni a felhasznalok.

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Alapvetően egyetértek és igazad van, de azt azért lássuk, hogy minden ilyen fejlődés valami olyasmiből jött, ami valamivel többet nyújtott valamiben mint az előzőek, és vagy olyan üzleti modellje volt, ami miatt sokan hirtelen érdekeltek lettek benne, könnyű volt ráugrani a lehetőségekre a platformban, vagy lehetett bízni a befektetésedben. Az x86 és a PC - és az ARM mint smartphone platform - is azért terjedt el, mert könnyű volt hasonlót, konkurens terméket gyártani egy felfutó piacon. Hiszen pl. annó a PC-ben is, az IBM szinte mindent licencelt külső beszállítóktól, ezért gyakorlatilag bárki építhetett egy PC-t és építettek is. Hasonló ez a telefonokkal és az Androiddal is.

Ennek ellenére, mint az Apple mutatja, fennt lehet tartani egy zárt ökoszisztémát is, de itt a legfontosabb a tűéles fókusz a platformodban, és a bizalom a felhasználóidtól, amit megszerezhetsz. A PC esetén senki sem bízott az IBM-ben, de odamehettél egy rakás másik céghez kompatibilis gépet venni. Senki nem bízott az Intelben (még az IBM sem), de ott volt az AMD, akitől lehetett kompatibilis processzort venni.

Az Itanium semmiben nem nyújtott többet mint a hasonló már létező (és vicces módon nagyjából szintén csökkenő tendenciát mutató) RISC szerverplatformok, ráadásul a 64bit mainstream előnyének ígéretét ugye az AMD elhalászta az Intel elől, miközben kompatibilis maradt. A PS3 Cellje pedig egy célszerszám volt egy célhardverben, és egy MIPS-et cserélt le, de valóban ott is csak az volt, hogy a korábbi "mainstream" x86 felnőtt a feladathoz hogy egy ilyen erősen célzott hardvert lecseréljenek vele.

Visszatérve az Apple-re, imádom a Steve Jobs visszatérése utáni első Keynote-ot. Ahol kiáll a színpadra, és a die hard Mac-hívők fújolása közepette bejelenti az Internet Explorert, és a Microsoft partnerséget. Viszont sokkal fontosabb enné, hogy elhangzik: "A korábbi híresztelések ellenére, a Mac OS a cég legfontosabb értéke, és nem fogjuk kidobni, hanem mindent erőnkkel a fejlesztésén leszünk.". Mindezt úgy, hogy ő is pontosan tudta, a régi Mac OS kukaérett, és az Apple 3 éven belül ki is dobta, hogy lecserélje a Next alapú OS X-re. Miért mondta ezt mégis Jobs? Mert visszaállította a bizalmat. Megtartotta a Mac OS-re irányuló fejlesztéseket. Csak úgy tudsz zárt ökoszisztémát fenntartani és fejleszteni, ha azok, akik rá vannak utalva, bíznak benne. Ez a kulcs. Tűéles fókuszra van szükség az adott piacon és az Apple ebben zseniális, más cégekhez képest még ma is, pedig ma már elég összevisszaság van a Jobs korszakhoz képest.

Ellenpélda a Blackberry, ahol a CEO kiállt és közölte: "Tudjuk hogy a Blackberry OS elavult, ezért jövő ilyenkorra lecseréljük." Abban a pillanatban dobták a fontosabb cégek a Blackberry mobil fejlesztéseiket. Tudom mert a mi projektünk is lelőtték nagyon hamar, én is BB fejlesztő voltam. Végül az új hiper Blackberry OS éveket késett, és hiába volt egy csomó technológiai szempontból jobb mint az Android vagy akár az iOS, ez már senkit sem érdekelt.

És persze ellenpélda a Commodore, ami rettenetesen szar volt bármilyen hosszútávú stratégiában, és minden CEO-t csak a következő nagy siker vagy bukta érdekelte. Ez pedig megölte az Amigában rejlő technológiai lehetőségeket, és nem is olyan sokkal később magát a céget is.

Szerk: De ettól még az Amiga mint technológia gyönyörű, és olyan mennyiségű mérnöki zsenialitással, jövőbelátással és főleg szívvel-lélekkel készült, amivel kevés dolog az informatika rövid történelmében. Emiatt még a hibáit is megbocsájtjuk neki. (Lásd a háttérképem teljes verzióját. Hát ezért. :) )

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Velemeny kovetkezik:

Az Amiga hardver jo volt, az OS jo volt, es a hardver+OS eleg egyszeru volt ahhoz, hogy az emberek assemblyben programozzak.

Ahogy Chain-Q irta, jatekok (es demok) ugy inditottak, hogy az OS-t leallitom, es aztan minden hardvert kezzel piszkalok.

Ez segitett kihasznalni a rendszer lehetosegeit, de ugyanakkor egy oriasi fuggest okozott.
Ha barmi hardver valtozott, voltak programok, amik nem mukodtek, mas programok csak nem hasznaltak ki az uj lehetosegeket.

Persze akkoriban a PC-s jatekok is ugy keszultek, hogy OS-t figyelmen kivul hagyva a hardvert kozvetlenul piszkaljuk, csak az volt a nagy kulonbseg, hogy az PC eleinte nagyon gyenge video es hang kartyait nagyon konnyen lehetett frissiteni. Egy jateknak mondjuk tamogatnia kellett 2-3-4 videokartya szabvanyt, es kesz. Ezzel le volt fedve mennyi? 10 evnyi fejlodes? Evente vagy gyakrabban ujabb, gyorsabb, szebb, nagyobb felbontasu, stb. kartyakkal. Novekedett a video savszelesseg, a felbontas, a szinek, stb.
Amiga eseteben meg a rendszerbe tervezett, beforrasztott video hardver evekig nem valtozott, kozben a PC beerte es lehagyta.
Voltak Amigak bovitoportokkal, de a legelterjedtebb Amiga 500, utana meg az Amiga 1200 felhasznaloi tipikusan nem hasznaltak ilyesmit, tehat a programozok se tamogattak ilyesmit.

Emellett ugye a PC-t sok cegnel hasznaltak mindenfele nem jatek feladatokra, a nagy mennyisegu gyartas es a nagy verseny lenyomta az arakat. A kiegeszito hardver gyartok is sokat forgalmaztak, a profitbol futott a fejlesztesre, es a verseny miatt kellett is fejleszteni.
Az Amiga eseten meg ez nem volt. Se nagy forgalom, se igazi verseny, se haladas.

Nagy elonnyel kezdett, par evig birta, aztan a PC behozta es messze lehagyta. Egy ido utan Amiga platformon is es PC platformon is elkezdtek az emberek OS-t hasznalo jatekokat irni, onnantol meg mar a kozvetlen hardver hozzaferes elonye sem volt meg. A windows drivereken meg a DirectX API-n es hasonlokon keresztul mindenfele gyors hardvereket lehetett jol hasznalni.

Amikor mar a PC is jo volt jatekokra (sot, jobb), akkor mar az Amigas jatekosok se vettek uj Amigakat, szoval a sztorinak vege lett, az Amiga maradt egy szuk rajongoi tabor gepe.

Szerintem egyszeru: az Amiga koporsojaba a Doom verte be a legnagyobb es legutolso szoget.

A Doom ugyanis egy lepukkant 386SX-en is elfogadhatoan kepes volt futni, ehhez kepest az Amiga meg erre tokeletesen alkalmatlan volt. Mar persze a "lepukkant 386SX" az kb. a 90-es evek kozepere lett lepukkant, de nagyjabol 91-92 kornyeken huzott el vegleg a PC, amikor az atlagembernek is megfizetheto lett a 386 (minimum 25Mhz vs Motorola 7Mhz...), a VGA meg a 4MB memoria.

Ezen lehet vitatkozni, hogy mi volt a végső szög, nyilván jó sok jel arra mutatott, hogy a stratégia amit a C= folytat fenntarthatatlan, de a csőd közvetlen oka az volt, hogy a CD32 konzol (nagyjából egy A1200 konzol dobozban + CD meghajtó) eladását letiltották az USA-ban a 93-as karácsonyi szezonon, mert egy Patent troll 10 millió dollárt nyert a cégtől a bíróságon, a C= nem fizetett, a Patent troll pedig elérte hogy megtiltsák a C=-nek a termékek eladását az USA-ban, amíg a helyzet fennáll. Így eladások híján a C= nem tudta kifizetni a konzolok legyártását a gyártónak, amik így, amik a Fülöp szigeteken maradtak.

Végül százezer darabot sikerült eladni Európában belőlük, de ezt a végső csapást a cég már nem élte túl.

Egyébként vicces módon, aki ismerte a C= jövőbeni terveit az Amigával, az kb. még örülhet is, hogy a cég bedőlt. A 68k proci vonal továbbfejlesztését ugye dobta a Motorola az AIM és a PowerPC kedvéért, viszont a HP-vel már létező gyümölcsöző együttműködés miatt a C= a PA RISC-et preferálta. OS fejlesztési erőforrás a C=-n belül meg sohasem igazán volt, pláne nem olyan, miven a 90-s években versenyezni lehetett volna az ipar nagyágyúival. Szóval a jövő "Hombre" chipsetre épülő Amigája az víziók szerint egy PA RISC-et és custom C= grafikus hardvert futtató, Windows NT munkaállomás és konzol lett volna, bár ígértek AmigaOS kompatibilitást is, 68k emulációval. Sosem készült el. Szerencsére, mondom én. Jobb ez így. Így is elég különbő inkompatibilis "next-gen" gép és vonal van, és az Amiga legalább végleg megmaradt annak aminek 85-ben Jay Miner és a többiek megálmodták.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Miután a 68K fejlesztése leállt, valamerre célszerű lett volna elindulni; a tervek - így olvasva - annyira nem lettek volna rosszak azért. Persze az AMIGAOS-t egy eNTére lecserélni nem hangzik túl jól. :| Viszont a PA-RISC-kel mi a helyzet? Azt leszámítva, hogy most már az sincs sehol, '93 környékén lehetett volna az még , nem? (Magát az architektúrát nem ismerem. Kár? :) )

Én sem nagyon ismerem, és nem is vagyok akkora RISC fan úgy általában, de "ha a nagymamának kereke lett volna, ő lett volna az omnibusz" alapon ezt már sosem fogjuk megtudni. Őszintén, nem hiszem, hogy a PA RISC jó döntés lett volna, attől függetlenül hogy jó vagy rossz maga az ISA vagy az architektúra. A 68k a nyolcvanas években kb. egyértelmű választás volt, azzal hogy annak vége lett, kb. csak rossz választások maradtak vagy technológiai/mérnöki szempontból (x86) vagy különböző ízű RISC szarok, amikből egyértelmű gazdasági szempontok miatt egyik sem lett igazán átlag-user mainstream, talán a PowerPC-t és jóval később az ARM térnyerését leszámítva. És 93 helyett inkább 95-96-ról beszélgetünk, hiszen amikor 94/Q2-ben a C= csődbe ment, ez a rendszer még sehol sem volt közel a készhez, és ugye 95 végén jött a Windows 95, ami amúgy is letarolt mindent, még a relatív stabil lábakon (a C=-hez képest mindenképpen) álló Apple-t is a csőd szélére lökve.

Szóval nem, én sok jövőt nem jósoltam volna a kilencvenes években egy ilyen komoly gyökerek nélküli, a mainstreamtól relatív távol álló CPU-ra és custom videó hardverre épülő rendszernek. Konzolnak lehet hogy jó lehetett volna, mint a PS1 konkurenciája, vagy mittudomén. De azon túl, nem hiszem...

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

császár és király

----
„Kb. egy hónapja elkezdtem írni egy Coelho-emulátort, ami kattintásra generál random Coelho-kompatibilis tartalmat.”

Respect.

Bar sosem fogom hasznalni, de biztos vannak paran a vilagon, akiknek oromet okoz majd.

Nem semmi egy projekt! :) Lassan elő kell szednem az A3000-et, abban is van egy - sajnos csak - 8088-as kártya. (Valamerre van amúgy egy 8087-em is, azt ide szántam, bár arról sincs infóm, hogy mennyire lehet működőképes. Az mondjuk tuti, hogy sok FPU-s XT kártya nem rohangálhat a nagyvilágba. :) ) Eddig talán kétszer láttam működés közben, de azért nagy lelkesedés nem fogott el tőle; csak a kártyára kötött külső floppy-ról bírtam DOS-t bútolni. Vajon ott volt-e lehetőség a fent emlegetett AMIGA-s HDD-n image-ből indításra? :) Lévén az eredeti XT alapból nem kezelt HDD-t, de itt csak-csak valami saját BIOS van a kártyán.

A projekted az tulajdonképpen AMIGA oldali kód csak, vagy kellett matekolni a PC oldalán is?

Szerintem minden PC kártya tud az Amiga oldalról bootolni, az XT kártyák is. Sőt, szerintem már a Sidecar is, pont azért mert az egész Janus I/O infrastruktúra csak egy "bővítőkártya" BIOS-ként látszik a PC oldalon. (Nagyjából. Nem pont, de fogjuk rá.) Ami csak akkor van jelen, ha a Janus rendben betöltődött, ami viszont azonos az összes kártyához. Persze megfelelően kell setupolni az egész műveletet és ott is vannak buktatók, pl. a gyári MakeAB lemezkép gyártó cucc maximum 32MB-s image-eket tud gyártani, ami nem túl sok. Erre vannak workaroundok, de legegyszerűbb az lesz, ha csinálok egy custom lemezkép gyártót, amivel max. 2GB-s image-t is lehet majd. Legalább is ez van tervben.

Ehhez a projekthez egyelőre csak Amiga oldali kódot kellett írni. Van olyan további ötletem, amihez mindkettő kelleni fog, de egyelőre nem spoilerezném el. :)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-