Fórum témák

» Több friss téma
Fórum » Nintendo
 
Témaindító: mcload, idő: Márc 3, 2007
Témakörök:
Lapozás: OK   4 / 5
(#) don_peter válasza Ktulu hozzászólására (») Jan 28, 2017 /
 
Egyelőre még nem teljesen értem a működést.
Ha bekötök mindent, akkor hogy kell módosítanom a ROM tartamát felötlés előtt?
Így bekötve menne a HiROM és LoROM is?
(#) Ktulu válasza don_peter hozzászólására (») Jan 28, 2017 /
 
Veszed a ROM tartalmát és minden 32KB-ot egymás után kétszer írsz be a Flashbe.
ROM kép $0000-$7FFF --> Flash $0000-$7FFF és $8000-$FFFF
ROM kép $8000-$FFFF --> Flash $10000-$17FFF és $18000-$1FFFF
stb..
Így egy 1MB-os kép 2MB-ot foglal.
(#) Ktulu válasza Ktulu hozzászólására (») Jan 28, 2017 /
 
Elméletileg kellene működjön. Ha nem túl nagy meló neked átdrótozni, egy próbát megérne.
Másképp vagy egy jó marék ICre lenne szükség, vagy CPLDre.
(#) Ktulu válasza Ktulu hozzászólására (») Jan 28, 2017 /
 
(#) don_peter válasza Ktulu hozzászólására (») Jan 28, 2017 /
 
Tehát, ha jól értem, akkor a LoROM típus az 32Kbyte-os blokkban, még a HiROM típus 64Kbyte-os blokkokkal dolgozik.
Az egyetlen gond, csak az, hogy ha duplázom a 32kByte-os blokkokat, LoROM tartamúaknál, akkor duplázódik a memória terület és a feltöltési idő is.
Ez még kivitelezhető lenne, de hogyan állapítom meg, hogy egy ROM tartalom LoROM vagy HiROM tartalom?
Természetesen ezt programból kell megállapítani, automatizálni, hogy a HiROM-os tartamúakat ne duplázza.
Kár, hogy nem előbb találtál meg, akkor mehetett volna az elejétől a fejlesztés..
De még mondjuk így is, mehetne egy közös SNES projekt
(#) Ktulu válasza don_peter hozzászólására (») Jan 28, 2017 /
 
Van egy úgynevezett header. Ez a nulladik bank legvégén van, 64 bájt hosszú. LoROM-nál ez ugye $7FC0 tól $7FFF-ig, HiROMnál pedig $FFC0-tól $FFFF-ig.
Mindkettőt megvizsgálod. Ahol értelmes ASCII címet találsz, plusz a header többi része is stimmel, ott az $xFD5 címről megállapítható a ROM típusa.
Ezt olvasd át: Bővebben: Link
(#) Ktulu válasza don_peter hozzászólására (») Jan 28, 2017 /
 
Idézet:
„Tehát, ha jól értem, akkor a LoROM típus az 32Kbyte-os blokkban, még a HiROM típus 64Kbyte-os blokkokkal dolgozik.
Az egyetlen gond, csak az, hogy ha duplázom a 32kByte-os blokkokat, LoROM tartamúaknál, akkor duplázódik a memória terület és a feltöltési idő is.”

Pontosan. De mint írtam általában a LoROM játékok kicsik...
(egyelőre hex editorral kellene egy LoROM játékot átvariálj és kipróbáld az átkötözött hardverben, vagy írj egy kis programot, ami ezt elvégzi)
(#) don_peter válasza Ktulu hozzászólására (») Jan 28, 2017 /
 
Mivel itt úgy is nagyobb tartalomról lesz szó, a 64/128Mbit-es kártyámat kellene megoldjam, hogy egyáltalán fusson rajta a LoROM típusú játék.
Egyelőre ez nem akar össze jönni.

Ha ez megvan, utána átkötök egy adaptert és mehet a szoftveres mókolás..

Egyelőre gondban vagyok a 0. címmel byte módban.
De lehet hagyom is a fenébe és a HiROM típusra kellene koncentrálnom, akkor nem kell bántanom a hardver illetve a memória D15-A0-ás lábát.

Amúgy a link nem jó szerintem..
(#) Ktulu válasza don_peter hozzászólására (») Jan 28, 2017 /
 
Idézet:
„Amúgy a link nem jó szerintem..”

Bővebben: Link
(#) don_peter válasza Ktulu hozzászólására (») Jan 28, 2017 /
 
Köszi, majd átnézem... Még nem jöttem rá miért nem indul a nagyobbik kártyámon.
Valszeg a szintillesztéssel lesz valami gubanc..
(#) don_peter válasza Ktulu hozzászólására (») Jan 29, 2017 /
 
Megnéztem a leírást, bár nem teljesen értem.
Csatoltam egy képet.

A képen látható, hogy a Super Bomberman 2 ami HiROM-os tartalom az $xFD5 címen 0x31, míg az Ms.-Pac-Man LoROM-os tartalomban a $xFD5 címen 0x30-van.

Jól értelmezem, hogy ebből az adatból lehet kideríteni, hogy Hi vagy LoROM-mal van dolgom?

snes_hex.JPG
    
(#) Ktulu válasza don_peter hozzászólására (») Jan 29, 2017 /
 
Igen. A legalsó bit dönti el. Ráadásul a a bankon belül is máshol vannak. LoROM 32KB határon, HiROM 64KB-oson. (első bank utolsó lapja. $7 vagy $F)
Ami viszont tovább bonyolíthatja a dolgot az a SMC header.
A doksi szerint némely kártya másoló eszközök betehetnek a ROM leg elejére egy ilyent. Ezt kell először ellenőrizni, majd csak utána a többit.
A hozzászólás módosítva: Jan 29, 2017
(#) don_peter válasza Ktulu hozzászólására (») Jan 29, 2017 /
 
Én arra gondolok, hogy valahogy ellenőriznem kell, hogy a $7FC0-án van e értelmes ASCII karakter, esetleg egymás után több is.
Ha igen, akkor vizsgálnám meg $7FD5 címen található adatot.
Ha adat&0x01==0, akkor ez egy LoROM.
Ha a $7FC0 címen nincs értelmes ASCII karakter vagy karakter lánc, akkor tovább is ugranék $FFC0-ra, majd megint megvizsgálnám, hogy van e értelmes ASCII karakter, vagy karakter lánc, majd ha itt van, akkor mennék $FFD5-re és vizsgálnám meg, ha adat&0x01==1, akkor HiROM lesz..
Jó a gondolat menetem?

Diszkrét alkatrészekkel ezt megoldani bonyolultabb, persze nem lehetetlen, ezt Viktor már meg is csinálta (amit linkeltél srác), de nem túl segítőkész, így ezt nem is kultiválom.
Bár ha van rá valami séma szívesen tanulmányoznám..
Mindentől független a 32kbyte-os tartomány kihagyás jobban és könnyebben kivitelezhető.
A hozzászólás módosítva: Jan 29, 2017
(#) Ktulu válasza don_peter hozzászólására (») Jan 29, 2017 /
 
Van rajz is azon az oldalon, ami alapján el lehet indulni. Pl. kivágtam a címzés részt a jobb érthetőségért.
Egy gond van, ha a szoftveres útat választod. Mégpedig ha majd áttérsz SD kártyára, akkor minden játékot meg kell "patcheljél" mielőtt rámásolod... (igazából csak a LoROMosokat, de attól még el kell dönteni, hogy melyik az) Igaz ez inkább csak kis kényelmi szempont, mint akkora gond.
(#) don_peter válasza Ktulu hozzászólására (») Jan 29, 2017 /
 
Ahogyan elnézem, ez nem csinál mást mint amiről beszéltünk.
Megvizsgálja, hogy Hi vagy Lo és ennek megfelelően engedélyezni a A15:A22 (HiROM) vagy A16:A23 (LoROM).
Tehát ezzel eldönti, hogy a címzést hogy variálja, de betöltésnél szerintem pont emiatt pont úgy csinálja ahogyan én is.
Ha LoROM akkor a memóriát byte módban kihagyás nélkül tölti fel de a címzésnél kihagyja A15-öt.
Ha nem így van akkor pedig eltolja 32kbyte-okkal az adatot.
Szerintem itt nem szimplán diszkrét alkatrészekkel oldotta meg a dolgot.

Te hogy látod?
(#) Ktulu válasza don_peter hozzászólására (») Jan 29, 2017 /
 
Nem. Mindent hardverből old meg. Kiválasztod, hogy melyik játékod szeretnéd. Majd ezt egy az egyben rátölti a flashre. Ezután megvizsgálja, hogy lo vagy hirom és ennek függvényében a /LOROM és /HIGHROM vezeték párossal a hardvert úgy állítja be. HiROM esetében egyenesen köti az összes címet. LoROM esetében A15 kiesik, (U9:B) és a bank címek leesnek egyel. (U8:B, U7:A)
(#) don_peter válasza Ktulu hozzászólására (») Jan 29, 2017 /
 
Ja értem már..
Ez azt jelenti, hogy 5db 8bit-es 74HCT244 kellene + felhasználnom, de ez még hagyján is lenne egy 5v-os hardver esetében, de itt, ügye már 3v-ról beszélünk, tehát a szintillesztők mellé még + 5db cím illesztés
Sok lenne már..

Lehet a szoftveres megoldás, szimpatikusabb, bár jó, hogy ezt átbeszéltük mert így világos a téma..
(#) don_peter válasza don_peter hozzászólására (») Jan 30, 2017 /
 
Közben agyaltam 2 dolgon is.
Az egyik, hogy nekem nem muszáj 74HCT244-et használnom a lényeg, hogy leválasztható legyen.
Persze minden más tulajdonság kell, mint pl. 8bit, leválasztható és nem kell logika..

A másik pedig az, hogy elég lesz 2 IC is.
Az egyik kezelné A16:A23-ig a felső címeket a másik pedig A15:A22-ig.
Lényegében csak az utolsó felső cím szakaszt kellene vezérelni attól függően, hogy a ROM tartalom Hi vagy Lo, és ezt is csak a SNES oldalon, hogy miképpen férjen hozzá a memória tartalmához.
Minden esetre itt az a lényeg, hogy addig resetben kell tartani a SNES-t, ameddig a betöltött ROM-ot megvizsgálja majd engedélyezi a szükséges címtartományt.
Még hardveresen is megoldható a dolog, egészen egyszerűen..
(#) Ktulu válasza don_peter hozzászólására (») Jan 30, 2017 /
 
Igen, a hardver nagy része neked már adott. Tulajdon képpen ott állsz, hogy a játék be van töltve a flashbe, és a flash rá van ültetve a buszra. A0-14 mehet direktbe, többihez kell a logika ahogy írtad.
Valahogy a Sega kártyád tudatára kell adni, hogy Snes vagy Sega játékot kell kezeljen.
Ez megoldható a letöltő programból, vagy hardveresen, amikor rádugod az átalakító panelt.
Sega kártya élén megmarad csomó üres láb amikor Snesként üzemel gondolom.
Az átalakító panelen ezek közül felhasználod valamelyiket erre a célra. Amikor bedugod az átalakító panelt, akkor mondjuk alacsonyra húzza egyiket. Sega kártya ezt vizsgálja bekapcsoláskor feltéve hogy hozzá fér a PIC?, (azért lenne jó, mert így nem kellene módosítani a már meglévő Sega kártyán) és átvált Snes módba, vezérli a HiROM, LoROM részt stb.
(#) don_peter válasza Ktulu hozzászólására (») Jan 30, 2017 /
 
Nem, sajnos ez nem így működik, de nem jelent(ett) gondot a program módosítása.
SEGA 16bit-es adatbuszt használ, a SNES 8bit-est.
A memória byte illetve word módját így állítani kell, ezért a hardver programját felkészítettem a váltásra, erre a feltöltő programot is átírtam, hogy ki lehessen választani a konzol típusát.
Csatoltam képet.
Eddig csak a 8Mbit-es kártyánál működik a váltás a 64/128Mbit-es kártya kicsit komplexebb mert 3v-os, ezért a szintillesztések megbonyolítják a dolgot, jelenleg nem akar működni..
Még futnom kell pár kört a nagyobbik kártyámmal, de csak rájövök miért nem akar működni..

Te nem csináltál még ilyen kártyát?
Fura, hogy ennyire átlátod és nem használtad még fel..
Vagy csak titkolod
A hozzászólás módosítva: Jan 30, 2017
(#) Ktulu válasza don_peter hozzászólására (») Jan 31, 2017 /
 
Melyik utat választod végülis? Szoftveres verziót kipróbáltad?
Idézet:
„Te nem csináltál még ilyen kártyát?”

Kicsit mindig elmegy a kedvem, amikor olyanokat látok mint az SD2SNES.
(#) don_peter válasza Ktulu hozzászólására (») Jan 31, 2017 /
 
De ezzel ne foglalkozz..
Nem üzletre, pénzkeresetből épít az ember ilyesmit, hanem szórakozásból, a tanulás és kihívás miatt. És ha még is, sikerül egy párat a közvetlen környezetedben eladni az meg tök jó érzés, hogy alkottál valamit amiből egy kis pénzed vissza jött és persze, ha tényleg jön be egy kis pénz az fedezi a belerakott anyagi költségeket. (1-2db mindig elmegy, ez tapasztalat)
Hidd el tök jó kiállni és írni egy cikket vagy leírást amelyben leírod honnét hová jutottál el.
Üzenet az utókornak..

Elsőnek ki fogom próbálni a szoftveres verziót, majd a memória szűke miatt, diszkrét alkatrészekből oldom meg, mert a SEGA projektben már elkészült a ROM váltás, így SNES-re is át akarom ezt ültetni..

Ha kell segítség a SNES projektben akkor szóljál...

DSP IC-vel kapcsolatban van ötleted, hogy lehetne az leprogramozni vagy kiváltani?
(#) Ktulu válasza don_peter hozzászólására (») Jan 31, 2017 /
 
DSP ICk kemény dió...
Teljes mentések vannak róluk, de emulálni hardverben FPGA kell.
Bővebben: Link
Ezt még az EverDrive is eredeti ICvel oldja meg, (DSP-1) amit működő kártyról bont akinek kell.
SD2SNES azért is olyan méreg drága, mert külön FPGA van rajta csak a speckó ICk emulálására.
(#) Ktulu válasza Ktulu hozzászólására (») Jan 31, 2017 /
 
Röviden, hogy melyik mit csinál: Bővebben: Link
(#) don_peter válasza Ktulu hozzászólására (») Jan 31, 2017 /
 
Igen ezt a videót már megnéztem párszor
No ez az egyetlen gond a SNES-el, sok a custom IC amit használtak.
Néztem az SD2SNES-t, de FPGA-ba már nem folynék bele..

Akkor marad a Hi és LoROM támogatás, a többi meg kuksi, vagy max kiképezni a helyét, hátha valaki Mario kartozni akar..
Bár a baj még azzal az, hogy ehhez tönkre kell tenni egy kazettát, azt meg nem kultiválom, akkor inkább nem kell DSP..
(#) don_peter válasza Ktulu hozzászólására (») Feb 12, 2017 /
 
Teljesen leakadtam.. Az istenért nem jövök rá, hogy miért nem akar menni a 64/128Mbit-es kártyám SNES konzolban.
A 8Mbit simán működik, de az új..., az nem akar.
A különbség pedig csak a szintillesztésben rejlik..
(#) Ktulu válasza don_peter hozzászólására (») Feb 12, 2017 /
 
Annyi biztos, hgy a "nagyok" ALVC164245 -öt használnak szintillesztésre.
(#) don_peter válasza Ktulu hozzászólására (») Feb 12, 2017 /
 
Mint ahogyan én is..
SEGA megy is tökéletesen, de valamiért a SNES nem akarja az igazságot.
Pedig minden a helyén van..

Amíg nincs meg miért nem működik, nem tudok tovább lépni.. Kell a nagy kapacitás miatt a 64/128Mbit. Ha ez megvan utána jöhetne a Hi és LoROM kialakítása..
A hozzászólás módosítva: Feb 12, 2017
(#) Ktulu válasza don_peter hozzászólására (») Feb 12, 2017 /
 
Jó lenne kideríteni, hogy a szintillesztés vagy a flash kavar be. A régi 8Mb IC esetleg nem megy 3.3V-on is? Mert akkor ráköthetnéd a szintillesztőkre egy próba erejéig.
(#) don_peter válasza Ktulu hozzászólására (») Feb 12, 2017 /
 
29F800 van a 8Mbit-es rendszeren, 5v-os.
Elvileg mennie kellene 3v-os memóriával is, fura lenne, ha nem.
Amúgy én is a szintillesztőre gyanakszom.. Mi más lehet még a gond..
Amúgy már arra is gondoltam, hogy feláldozok egy kazit és szintillesztés nélkül neki küldöm az 5v-ot.

Mondjuk elsőnek a CE és OE lábakat kötöm be fixre, hátha csak ezekkel vacakol valamiért.
Az OE láb ugyan is nekem egyben a szintillesztő adat portját is vezérli.. (SEGA-nál ez kellett, enélkül nem indult)
A hozzászólás módosítva: Feb 12, 2017
Következő: »»   4 / 5
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem