C=64 emu / java
2010-11-22T15:40:20+01:00
2010-11-23T18:58:12+01:00
2022-06-29T17:31:12+02:00
  • Egy "fél" c64 emulátorom van Delphiben kreálva.
    6510: A "rendes" utasítások mennek, az "undocumented"-ek nincsenek implementálva.
    SID: működik, az analóg szűrő nincs implementálva
    CIA: timerek vannak meg
    VIC: csak a raszter sor számláló van meg.

    Mindez azért, hogy SID zenéket játszhassak le.

    A 6510-et eredetileg turbo pascalban csináltam, hogy egy 6510 processzorral működő piros ledes szöveges kijelzőnek SW-t fejlesszek, és ne legyen szükség a valós HW-re a teszteléshez.

    Szóval sok sikert, jó pár heted rá fog menni.
    Mutasd a teljes hozzászólást!
  • köszi mindkettőtöknek! guglival már megtaláltam a c-64es oldalakat, s onnan már összegyűjtöttem egy jó adag leírást, szal lassan jöhet a piszkos munka :) van már egy jac64 emu is, szóval az is egy adag segítség... de mindenképp nagy meló lesz, ha lesz.
    Mekkelek - neked sem lehetett könnyű :D
    Mutasd a teljes hozzászólást!
  • Sok szerencsét hozzá!

    Ha jól tudom van már legalább egy jávás C64 emulátor. Persze ettől még te is nekiállhatsz egynek. Amivel találkoztam ez weboldalon futott (böngészőben), te is ilyet akarsz, vagy esetleg mobiltelefonra?

    Elég sok leírás van a géphez, és ha te is használtál régen C64-et, esetleg programoztad, akkor sokmindent te is tudhatsz.

    Jó feladat. Mondjuk a C64 hardvere elég bonyolult (hang és video chip), így "tökéletes" emulátort nagy feladat írni. De nem kell annak mindent rögtön tudnia.

    Elkészíted a processzor emulációját (rabszolga munka), a 64K memória möge/mellé berakod a ROM-ot,(+megírod a memóriakezelést), meg írsz egy egyszerű eljárást ami a szöveges képernyő tartalmát megjeleníti.
    Ha indítod a rom-ot akkor elméletileg megjelenik az üdvözlő képernyő. Ha nem akkor lehet nyomonkövetni, hogy mi fut, mit csinál, hol akad el. Vannak jó leírások, hogy bekapcsolás után mit tesztel a gép, mit csinál.

    Esetleg még egy megszakítás kell, hogy villogjon a kurzor.
    Ha már itt vagy elméletileg a BASIC értelmező is működik, futnak a BASIC programok. Ezen a szinten már használható az emulátor, de lehet tovább bővíteni.

    Első lépésben a legfontosabb, hogy a processzor utasításait hiba nélkül emuláld.

    Én eddig egy Videoton TVC emulátort készítettem (az sem lett teljesen kész, de azért vagy 100 program jól fut rajta). Az én munkamódszerem az volt, hogy a processzor semmit nem tudott. Betöltöttem a ROM-ot, megírtam a memóriakezelést/lapozást. Ezután a megfelelő ponton elindítottam a ROM-ot. Ha a processzor nem ismerte az aktuális utasítást, akkor megírtam azt. Kis idő múlva egyre ritkábban jött olyan utasítás amit nem ismer. Közben pedig figyeltem, hogy mit csinál a ROM, "értelmes" dolgokat csinál e. Ha nem akkor már valami hiba van valahol.
    Jó pár napig így tákoltam az emulátort, mire végre eljutott oda a gép, hogy kiírt valamit a képernyőre. Mivel nem úgy nézett ki mint az eredeti gépen, így megkerestem és javítottam a hibát. Pár nap múlva már "hibátlanul" bejelentkezett a gép és a villogó kurzor is megjelent, és sok BASIC utasítás is működött jól, és az "erővel" betöltött játékok között is volt ami már tökéletesen jól futott.

    Ha már kiír valamit a képernyőre, vagy fut a BASIC értelmező, akkor már "könnyű" megtalálni az esetleges hibákat, bár lehet neked nem lesz ennyi gondod, mert a C64-es procija (6510) nem ismer olyan sok utasítást, mint a Z80-as proci.
    Érdemes a ROM/memória tartalmáról jó leírást keresni/készíteni, hogy ha valahová ugrik a gép akkor tudd, hogy épp mit akar ott csinálni. (Erre később is szükség lehet, ha mondjuk a programok betöltését/mentését akarod megvalósítani.)
    Mutasd a teljes hozzászólást!
  • http://jac64.com/

    Illetve azt hiszem, a Welcome to Project 64 -on van egy nagy adag dokumentáció.
    Mutasd a teljes hozzászólást!
  • Sziasztok,
    érdekelne egy C=64 emulátor fejlesztése jávában. Ha valaki szeretne benne segíteni (Szfvár, Budapest elsősorban), vagy netán tényleg ismeri a C=64 felépítését és működését (szoftverileg, hardverileg), küldjön egy mailt. Köszönöm előre is :)
    zolafoto@citromail.hu
    Mutasd a teljes hozzászólást!
Címkék
abcd