Welcome, Guest. Please login or register.


Author Topic: CPC (Read 246501 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #60 on: 2006.June.02. 00:23:24 »
No elindult a játék :-)
Mindezt úgy, hogy az eredeti programon sehol nem változtatunk! Csak pár ROM rutin lett megvalósítva...
Egyetlen pici módosítás volt csak a 004-es fájlban: a pálya adatait 40H-tól kezdte volna eltárolni, amivel jól aláásná az EXOS jó közérzetét :-) ez lett átírva 80H-ra.
Pici magyarázat: úgy tünik ez már egy feltört program, így elöször a crackerek betöltöje jön be. A száguldó csillagok megszakításból üzemelnek, ott lenne még zene is közvetlen port bizgatással... na ez még a jövõ zenéje :-) Szintén hiányzik innen még a karakter kiíró ROM rutin, így az örökéletre vonatkozó francia? nyelvû felírat sem látszik :-) 1-2-3 valamelyikével lehet tovább jutni.
Ezután jön az eredeti menü, itt lehet a játékosok lehet kiválasztani, ill. a pályaszerkesztõt. (kiválasztás ENTER-rel)
Pályaszerkesztõben még nincs sok öröm, amikor ESC-vel átlépünk a menübe, jól lefagy :-)
Játszani viszont már lehet, bár hang nélkül még nem az igazi...
Maga a program ROM rutinnal zenélne...
Tessék nézegetni a betöltõ forrásszövegét, ez a kupac már elkészített rutin jól jöhet másik programnál is :-)
Bõvebb magyarázkodás az átírás eddigi élményeirõl majd alvás után, ha lesz rá igény :-)

Offline MrPrise

  • Administrator
  • EP addict
  • *
  • Posts: 2465
  • Country: hu
    • View Profile
    • Enterprise Forever
Re: CPC
« Reply #61 on: 2006.June.02. 00:26:33 »
Quote from: "Zozosoft"
No elindult a játék :-)
Mindezt úgy, hogy az eredeti programon sehol nem változtatunk!

Gratulálok!

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: CPC
« Reply #62 on: 2006.June.02. 00:26:40 »
Már hogyne lenne igény! :D
Enterprise Forever

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #63 on: 2006.June.02. 09:46:25 »
Quote from: "gafz"
Már hogyne lenne igény! :D

Na jó :-)

Kezdjük az elején: elöször is ki kell szedni a program fájlokat a disk image-ból.
Geco ajánlása alapján erre a CPCXFS a legalkalmasabb.
Ezt csomagoljuk ki egy könyvtárba, és ebbe a könyvtárba tegyük a .DSK fájlokat is.
Indítás után OPEN fájlnév paranccsal tudjuk megnyitni a .DSK fájlt.
Ezután DIR-el kilistázható a tartalom. GET fájlnév paranccsal szedhetõk ki a fájlok, a CPCXFS könyvtárába kerülnek.
Sajnos a *-ot nem ismeri a GET, így a GET *.* helyett minden fájlt egyenként kell kiszedni...
Kilépés EXIT-tel.
A fájlok 128 bájtos fejléccel kezdõdnek, amelynek itt található a leírása.
De a számunkra fontos adatokat már a CPCXFS-ben megszerezhetjük DIR -A paranccsal.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #64 on: 2006.June.02. 11:03:14 »
Ezután azt a módszert választottam, hogy elindítom a programot az elsõ belépési pontjától kezdve, aztán meglátjuk mi lesz :-)
Ehhez kelleni fog egy betöltõ program, ami legfoglalja a szükséges memóriát, felépíti a CPC képernyõnek megfelelõ LPT-t, betölti a megfelelõ helyre az elsõ fájlt és átadja a vezérlést.
A korábban már bemutatott Spectrum átíratos betöltömet alakítottam át erre a célra, hiszen egy csomó minden (szegmensigénylés,stb) felhasználható belõle, minek újra megírni :-)
 Lássuk részletesen, mit is csinál a betöltõ:
A forrásszöveg HEASS-ban van, PC-n is meg lehet nézni Haluska Laci Epdoc.exe progijával.
Rögtön egy ugrással kezdõdik, ehhez egy kis magyarázat:
 Spectrum progi esetén sokkal egyszerübb dolgunk volt, hiszen ott az alsó 16K a ROM helye, tehát ezt nem használhatják a játékok, így átirás esetén a szükséges EP programunk biztonságban terpeszkedhet el itt.
CPC esetén nem így van, ott az EP-hez hasonlóan lapozható a memória, így az alsó 16K-ban is RAM látható alapértelmezésben. Amit nyugodtan használhatnak is a programok... ezért az egyes CPC funkciókat utánzó rutinjainkat olyan helyen kell eldugni amit az adott játék nem használ.
Ehhez kell tanulmányozni a CPCXFS-ben a DIR -A-val kapott adatokat, abbol nagyjából megsaccolható a program memória térképe, azért csak nagyjából mert késöbb még jöhetnek olyan meglepetések, hogy nem oda lesz töltve egy fájl, mint ahova a fejléc alapján kéne :) meg persze az is elõfordulhat, hogy változókat, egyéb adatokat, vagy akár komplett programrészeket másolnak ki más helyre.
 Konkrétan a POPUP esetén van olyan programrész amit 452H-tól kezdve lesz betöltve, így a szükséges rutinjainknak 100H-451H részben kell elférni Ha majd ezt túllépjük (hangrutinok...), akkor a maradéknak kell keresni valami más szabad helyet, ahova majd indulás elött át kell helyezni a rutinok egy részét. Ha valaki olyan programba fut bele ami pl már 100H-tól kezdve használja a RAM-ot, akkor eleve egy ilyen akcióval kell kezdeni.
 Ahhoz, hogy az "értékes" 100H feletti területbe majd minél több szükséges rutin beférjen, a csak indulásnál, egyszer lefutó programrészek át lettek telepítve a program végére, ezért indul a program ugrással, a CONT cimkénél indul valójában a program. Ezelött látható a PRINTX direktíva, ami arra szolgál, hogy a fordítás közben kiirja, hogy hol a vége a rutinjainknak, azt összevetve a szabad terület végével (jelen esetben 451H), tudhatjuk, mennyit lehet még garázdálkodni :-)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #65 on: 2006.June.02. 11:52:02 »
Nézzük sorban a betöltõ program indulását:
Elsõként beállítjuk a veremmutatót a program alá, ha ez a lépés elmarad, akkor az elsõ EXOS hívásnál elszáll a program :-)
Következõ lépése a melegindítás címet a HIBA nevü rutinra, így biztosítva melegindítás esetén a kilépést a programból.
Párszor már emlegettem, hogy roppantul utáltam azokat a programokat, ahol kilépni csak hidegindítással lehetett, ez különösen gyorsteszt nélkül, pláne memóriabõvítéses gépen élvezetes... ennél jobban már csak azokat utáltam, ahol csak a tápkábel kihúzásával lehetett kilépni :-)
Ez a HIBA rutin a forrásszöveg elején található, mint a legelsõ fontos rutin, nem véletlenül, hiszen a rendszer épségének megõrzése elsõdleges szempont.
Beállítja a veremmutatót a nullás lap végére, a rendszerszegmensben újból beállítja a melegindítási címet, így kontaktos reset gomb vagy gyors kezû  felhasználó esetén is csak nagyon csekély esélye marad a teljes hidegindításnak.
Ezután elkezd rendet rakni a program után, visszaállítja az EXOS LPT címet a NICK-ben (hopp ezt rendszerszegmensbõl kéne venni, és akkor EXOS 2.0-val is kompatibilis lesz :) na mindjárt át is írom :) )
Visszaállítja a megszakítási rutin kezdetét az eredetire, visszaadja a lefoglalt szegmenseket, majd az EXOS lapozó rutinján keresztül meghívja az 1-es szegmens belépési pontját, 6-os akciókóddal, ami az EP logóhoz ugrást jelenti. Ennek a megoldásnak az a elönye az EXOS 26-os kilépéssel szemben, hogy nem kell foglalkozni azzal, hogy milyen rendszerbõvítõ van a gépen, (ha nincs EPDOS, akkor hívjuk a BASIC-et, ha az sincs akkor WP-t címû történet), az EP logotól mindenki oda fog jutni ahova egyébként is szokott (vagy ha le van tiltva az adott gépen a logo, akkor egybõl). Természetesen mivel nem volt hidegindítás (és mert szépen EXOS-tól kértük a szegmenseket :) ), RAMDISK, betöltött rendszerbõvítõk, különbözõ EXOS változó beállítások,stb mind megmaradnak.

Külön már nem fogom emlegetni, de ezen a HIBA eljáráson keresztül lép ki a program, ha nem tud megfelelõ szegmenseket lefoglalni, vagy ha hiba történik a fájlmûveletek közben.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #66 on: 2006.June.02. 12:26:33 »
A kis kitérõ után, folytassuk a betöltõ indulását:
191-es porton keresztül letiltjuk az összes várakozást memóriahozzáférésnél, használata opcionális, de ajánlott :) az átírás során gyakran elõfordul, hogy egy-egy egyszerû eredetiben 1-2 utasításos dolgot csak egy hosszabb rutinnal lehet megvalósítani EP-n, amitõl lelassulhat a játék, így minden kis plusz teljesítményre szükség lehet, ezért ez a beállítás. (Ha valaki nem tudná, az EXOS alapértelmezésben minden utasítás esetén 1 órajel várakozást állít be, ez valószínûleg a legelsõ EP-kbe szerelt förtelmesen lassú memória IC-khez való alkalmazkodás miatt van)
Ezután következik a BIAS beállítása, a POPUP esetén nincs szerepe, mert ez 4 szín módban fut (nem véletlenül néztem ki pont ezt a progit gyakorlásnak :-) ), így itt még valami Spectrumos érték látható. Természetesen majd egy 16 színû program esetén ki kell okoskodni ide egy megfelelõ értéket.
A BIAS rendesen EXOS váltózon keresztül van beállítva, ennek az a elõnye, a közvetlen NICK port írással szemben, hogy megmarad a belsõ hangszóró állapota is, aminek pl tigrian nagyon örül :-) én is nagyon örültem volna, ha anno minden programban ezt a módszert alkalmazzák, de mivel elég ritka, így hw kapcsolót szereltem a belsõ hangszóró drótjára :-)
BIAS beállítása után jön a szükséges szegmensek lefoglalása. Elöször szükség lesz egy teljes videószegmensre ami majd a képernyõ memória lesz a játék számára, ez nem lehet megosztott.
Másodszor kell egy videószegmens az LPT számára, mivel ezt nem használjuk ki teljesen, így ez lehet megosztott is, ha van benne elég hely.
Mind a két szegmens számából kiszámoljuk, hogy az milyen NICK címen is kezdõdik, és ezeket a videó címeket letároljuk az LPT készítõ rutin számára, így bármelyik két videószegmenst sikerült megszerezni, helyesen fog mûködni a program.
Ezután még két szegmenst foglalunk le, itt már nem muszály videószegmens, az elsõ két szabad pont jó lesz.
Léteznek a POPUP-nál bonyolultabb programok is :) itt szükség lehet több memória, vagy akár még egy képernyõ memória lefoglalására is, azokat is hasonlóan lehet lefoglalni.

CPC-n a képernyõ memória alpértelmezésben a 3. lapon (azaz C000H-tól) helyezkedik el. Így a  két sima memória szegmens az 1-es és a2-es lapra kerül, a 3-ra pedig az LPT-nek szánt szegmens.
És indul az LPT készítés...

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #67 on: 2006.June.02. 14:06:44 »
Itt kezdõdnek az izgalmak :-) ahhoz, hogy LPT-t készítsünk, meg kell ismerni a CPC képernyõ kezelését.
Angolul tudóknak itt a leírás.

Azt tudjuk, hogy 27 színbõl lehet válogatni, ezt a témát pár napja már kielemeztem :-) , az ott látható programmal sikeresen le lettek gyártva a CPC színeknek megfelelõ EP színek, ez meg is található a programban COLORS néven futó táblázatban.
Szerencsére a CPC a NICK-hez hasonló módokat ismer (csak kevesebbet :) ) , 0-ás módban 16 szín, 1-es módban 4 szín, 2-es módban 2 szín lehetséges. A színek számának növelésével a felbontás csökken, akárcsak a NICK esetén. Konkrétan 160x200, 320x200, 640x200 az egyes módokban. Ezt megvalósítani a NICK-kel gyerekjáték :-) kell egy 200 pixel sor magas  40 karakter széles nagyfelbontású grafikus sort definiálni az LPT-ben a megfelelõ színmódban és kész :-)
Sajnos nem ilyen egyszerû a dolog, mert a videómemória valami elmebeteg módon van szervezve CPC-n :-)
Fel van osztva 8 db 2048 bájtos blokkra: C000H-C7FFH, C800H-CFFFH, stb
A képernyõt 25 db karakter sorra lehet osztani, amelyek egyenként 8 sorosak. Egy sor 80 bájt hosszú.
Ezek úgy helyezkednek el, hogy az elsõ karakter sor elsõ sora az elsõ blokk elsõ sora, a második sor a második blokk elsõ sora, stb, tehát: C000H, C800H, D000H, D800H, stb
A második karakter sor elsõ sora az elsõ blokk második sora, a második sora a második blokk második sora, stb, tehát:
C050H, C850H, D050H, D850H, stb
És így tovább a 25. sorig.
Könnyen ki lehet számolni, hogy egy-egy blokkban 25 sor van, 25x80=2000! tehát blokkonként az utolsó 48 bájt pocsékba megy...

Ezekután már könnyen érthetõ az LPT generáló program felépítése, 25x8 sor-t generálunk, az elõre elkészített sor másolásával, az elsõdleges videócím helyére pedig a megfelelõ NICK cím kerül. Spectrum-os LPT generálásnál itt jóval egyszerübb a program, mivel nem kell az attribútum címek kiszámításával veszõdni.
A LINE címen található sor a CPC-n alapértelmezett 4 szín módban van, a 8 paletta szín pedig szintén a CPC-n alapértelmezetként beállított elsõ 8 szín.
A 200 grafikus sor legenerálása után a befejezõ rész egyben kerül másolásra. Ebben a részben még van egy szabvány 40 karakteres EP sor, ami a státusz sorra mutat. Ezt azért szoktam betenni az átírataimba, hogy magnóról töltés közben lehessen látni, hogy mi történik (SEARCHING, LOADING, PAUSE, stb), anno egy idõben sokat töltöttem be nem távvezérelhetõ magnóval, ekkor idegesített az olyan betöltõ program amiben nem látszik a státusz sor, hiszen így a magnó leállásával se lehetett észrevenni, ha már kész a betöltés, vagy netán hiba miatt leállt (mert persze az EXOS 6 utáni hibaellenõrzéssel se foglalkoztak...)

Miután kész az LPT, a képernyõ memóriaként használandó szegmens kerül a 3. lapra, ezután kinullázzuk ezt a 3 szegmenst, nehogy valami benne maradt szeméttõl megkergüljön majd a program. (van pl pár Spectrum átírat is ami meghülyül, ha nem kinullázott memóriával indul, pl volt egy RAMDISK, ami már meg lett szüntetve, és ez után lett betöltve a játék. Az eredeti gépen fel se merülhetett az, hogy már használt memóriába kerül a program, így abból indulnak ki a programozók, hogy csupa 0 van mindenütt)
CPC-n B900H-tól helyezkedik el a ROM rutinok belépési táblázat, ezért ezt a tarületet csupa RET-tel töltjük fel, így bármit hív a program, nem fog elszállni, csak éppen nem csinál semmit :-)
Ezután betöltjük az elsõ fájlt a megfelelõ helyre. Errõl a fájlról már leszedtem a a CPC fejlécet, így pont oda töltjük, mint amit megtudtunk a CPCXFS-ben töltési címnek.
Eztán átállítjuk a NICK-et az új LPT-re. DAVE piszkálása a Spectrum betöltõ korszakból maradt, jelenleg felesleges :-)
Ezután jön az ugrásipontok elhelyezése, amikor neki kezdtem, még csak kettõ volt: a megszakítási rutin (38H), ill. RST 0 (ami CPC-n a RESET rutin), többirõl majd késöbb :-)
DAVE-ben engedélyezzük a videómegszakításokat, veremmutató pedig a CPC rendszerveremnek megfelelõen beállítva.
Ezután nagy levegõ, és ráugrunk a program elsõ utasítására, lesz ami lesz :-)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #68 on: 2006.June.02. 14:55:03 »
Idáig eljutva, és elindítva a programot, jött az elsõ sikerélmény, már megjelent valami kép a monitoron, persze nem színhelyesen, meg nem is csinált semmi mást a program :-)
Innentõl kezdve lehet törni a fejünket azon, hogy mit is csinál a program CPC-n, és azt hogyan lehet EP-n megvalósítani.
Erre kiválóan alkalmas, ha elkezdjük az EP32 debugerében követni a program végrehajtását (breakpoint-ot rakni a belépési pontra, és onnan lépésenként.), hagyományos módszer hívei nézegethetik FENAS disassemblerében is megfelelõ fájlt betöltve :-)
Meg persze célszerû CPC emulátoron is megnézni az eredetit, hogy minek is kéne történni :-)
A POPUP esetén ez az elsõ programfájl annyit csinál hogy kirak egy képet, alá pár sorban az örökéletre vonatkozó kérdést, és vár az 1-2-3 billentyûk valamelyikére, közben zenél, meg rohangálnak a csillagok :-)
Ebbõl eddig a képkirakás az ami végre is hajtódott az elsõ EP-n futattásnál.
Debuggolva a programot, az látszott, hogy csinál rengeteg ROM hívást, majd eljut egy végtelen ciklusba, ami gyanúsan billentyû figyelésnek tünt :-)
Kijegyzeteltem milyen ROM hívások vannak, majd sorban nekiláttam, hogy mit lehet ezekkel kezdeni. Aminek kész a rutinja, annak a címe belekerül a megfelelõ helyre a CPC ROM rutin ugrótáblázatban, így ez a funkció mindig mûködni fog, ha ROM hívással van végrehajtva, a program további részeiben már nem is kell külön foglalkozni vele.
Amikor egy újabb programfájl elindíítása jön, akkor megint debugban követés, de már csak az új, eddig ismeretlen ROM hívásokat kell kigyûjteni.
Egy újabb program átírásának nekivágva, már sokkal kevesebb meló lesz, mivel egy csomó rutin már kész :-)

Itt lehet angolul olvasgatni a CPC ROM rutinokról

Elsõnek a videómód, paletta színek, és a keret szín beálllítás rutinjai készültek el: SCRSETMODE, SCRSETINK, SCRSETBORDER
A videómód beállításnál elöször egy táblázatból (MODES) vesszük a a megadott módnak megfelelõ típusbájtot, amit aztán az LPT mind a 200 sorában beírunk a megfelelõ helyre.
A színbeállítás is hasonló, itt is egy táblázatból (COLORS) vesszük elõ a megfelelõ EP színt, és végigírjuk az LPT 200 sorában a megfelelõ paletta helyre. Mivel EP-n csak az elsõ 8 szín választható szabadon, ezért 7-esnél nagyobb paletta érték esetén nem csinálunk semmit, a 16 színû játékokról majd Geco tanár úr tart elõadást :-)
Keretszín beállítás szimpla ügy, táblázatból elõ a megfelelõ színkód, és ki a NICK-nek.
 
Ezután már színhelyesen jelent meg a POPUP kezdõképe :-)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #69 on: 2006.June.02. 15:16:06 »
...de még sehol sincsenek a rohangáló csillagok...
Találtam egy nagyon elvont nevû (KL NEW FRAME FLY) ROM hívást, amirõl némi tünõdés után kiderült, hogy egy olyan felhasználói megszakitási rutin beláncolására szolgál, aminek 50Hz-es videó megszakítás esetén kell lefutni.
Hoppá, ilyen megszakítási rutinunk már van! :-) Igaz egyelõre még nem csinált semmi mást, mint újra engedélyezte DAVE-ben a videó megszakítást.
Elkészült a SETIRQ meg a RESIRQ rutin, ezzekkel lehet be ill. kiláncolni a megadott rutint, oly módon, hogy a megszakítási rutin utolsó pár bájtját átírjuk.
Ezután már a csillagok is elõkerültek :-) végig nézve a program megszakítási rutinját, kiderült, hogy ez zenélne is, közvetlen port birizgálással... na ezt egyelõre hagyjuk :-)
Következett még egy ROM hívás, karakter kiírása, ez ciklusban van hívogatva, így kerülne ki a három sor szöveg. Ráadásul a szöveg betûin kívül van egy csomó vezérlõ karakter is. Ehhez kéne egy CPC karakterkészlet is... egyelõre hagytam ezt is a fenébe, mivel úgy tünik máshol nincs is ez használva, így szerintem egyszerübb lesz a státusz sorba kiírni az örökélet kérdést :-)
Végül pedig van egy billentyû lekérdezés, oly módon, hogy egy ASCII kódot vár a program. Ezt esetleg meg lehetne csinálni egy KEYBOARD csatornával, de ha meg akarjuk valósítani a zenélgetést, akkor az EXOS megszakításokat nem lehet mûködtetni. Így ez kiesik. Mivel csak az 1,2,3 billentyûkre kiváncsi itt a program, ezért csak egy egyszerûsített csak ezt a három gombot figyelõ rutin készült, KEY123 néven. (Tigrian féle tasztillesztõ jelenlegi változatával való kompatibilitás miatt van benne egy felesleges OUT/IN :) )
Innentõl kezdve gombnyomásra tovább tudunk lépni a következõ program fájl betöltésére.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #70 on: 2006.June.02. 15:45:44 »
Itt egy fontos részhez érkeztünk, a fájlkezeléshez. Úgy tünik a CPC programok jó része eleve lemezesre lett tervezve, mivel elég sokat töltögetnek, összevissza válogatva a fájlokból :-)
A fájlkezelés elve némileg hasonlít az EXOS félére, bár jóval primitivebb.
Elöször meg kell nyítni a fájlt, erre készült a FILEOPEN rutin, ez megadott CPC fájlnévbõl kialakítja az EP-set (erre nyilván programonként eltérõ módszert kell kitalálni, attól függõen, hogy milyen nevek voltak eredetileg, és milyen neveket szeretnénk.)
Nyomkövetési célzattal most ki is írja a kész nevet a státusz sorba.
Megnyitja a nullás csatornán a fájlt, majd beolvassa a 128 bájtnyi CPC fejlécet egy pufferbe (puffernek az a terület van használva, amit az AMSDOS leírásban találtam, hogy ott tárol fejlécet), a fejlécbõl a megfelelõ értékeket visszaadja a kimeneti regiszterekben.
Úgy látom a leírásból, hogy blokk olvasás nincs CPC-n, van olyan, hogy az egész fájl beolvasása, és van karakter olvasás.
Az elsõre a FILEREAD szolgál, a másodikra a CHARREAD, és természetesen van még egy FILECLOSE is, ezek azt hiszem értelemszerüek.

Van még egy fontos rutinunk: KMTESTKEY, ennek az a feladata, hogy a megadott kódú billentyûrõl visszaadja, hogy le van-e nyomva?
Ehhez kellett tegnap a billentyû táblázat :-)
A meg valósítás úgy néz ki, hogy egy táblázatban benne van az összes CPC billentyûhöz meg van adva, hogy az EP-n melyik sorban melyik bitet kell lekérdezni. Aminek nincs EP-n megfelelõje azt szét szórtam a szabad EP billentyûkre :-)
Majd még ezt a rutint ki kell egészíteni a külsõ joystickok kezelésével is.

Ezzel eljutottunk a jelenleg látható eredményhez, hogy már megy a játék, persze van még meló bõven pl a hang :-)
Hang rutinokból csak annyi lett csinálva, hogy a BCAAH címen hívott rutin visszaküld egy OK-t (SCF), mert különben végtelen ciklusba került a program, míg várt az OK-ra :-)

Na most már abbafejezem a szófosást, majd aki ráér csinálhat belõle akár cikket is :-)

Offline geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
    • View Profile
Re: CPC
« Reply #71 on: 2006.June.02. 16:02:46 »
Quote from: "Zozosoft"

Ezután DIR-el kilistázható a tartalom. GET fájlnév paranccsal szedhetõk ki a fájlok, a CPCXFS könyvtárába kerülnek.
Sajnos a *-ot nem ismeri a GET, így a GET *.* helyett minden fájlt egyenként kell kiszedni...
Kilépés EXIT-tel.


Viszont az MGET *.* mûködik. :)

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: CPC
« Reply #72 on: 2006.June.02. 16:04:09 »
Most nem érek rá, de este nagy valószínûséggel lesz belõle cikk :)
Enterprise Forever

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13081
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: CPC
« Reply #73 on: 2006.June.02. 16:59:45 »
Quote from: "geco"
Viszont az MGET *.* mûködik. :)

Ezt elöbb is mondhattad volna :-) mondjuk így nem értem, minek kellett két GET-et írni, elég lett volna egy, az okosabbaik :-)

Offline geco

  • EP addict
  • *
  • Posts: 5088
  • Country: hu
    • View Profile
Re: CPC
« Reply #74 on: 2006.June.02. 17:01:36 »
Én sem értem, de FTP-nél is így van.