játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5444
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2188
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Akybron - Törzstag | 456 hsz       Online status #202247   2014.03.29 08:53 GMT+1 óra  
A port utasítások 8/16 bitesek 386 alatt. OUT IN OUTS INS utasítások.
386-ban adták hozzá az INSD-t meg az OUTSD-t, ami már 32 bites adatokkal is elvan, de ezen kívül más nem is létezik.
A port címtartomány mindegyiknél 16 bites. Valószínűleg emiatt váltogat, a jó ég tudja.
(Nem programoztam x86 assemblyben, max pár soros asm betéteket, ha nagyon muszáj volt)
   
Geri - Törzstag | 2188 hsz       Online status #202241   2014.03.29 00:00 GMT+1 óra  
hé, ezen beszartok

a linux kernel prefixxel 16 bites módba billenti a procit minden port műveletnél

legyetek üdvözölve 1979ben

a projektben már 1 hónap csúszás van, holott nem is terveztem ilyen hosszúra.
de, oh well, a pszeudókód már majdnem kész, és még kb 1 hét, mire megkezdődhet a C-re alakítás.

Ezt a hozzászólást Geri módosította (2014.03.29 00:59 GMT+1 óra, ---)

   
Geri - Törzstag | 2188 hsz       Online status #201994   2014.03.13 13:09 GMT+1 óra  
most az fpu-t faragom hozzá. kb fél úton járok a processzor implementálásában. amúgy az utasításkészlet sima 686 utasításkészlet lesz, a ritkább utasításokat egyelőre kihagyom, majd ha valaminek kell mégis, akkor implementálom bele.

a processzor pedig szerintem első körben 6x86L PR-90+ cpuidvel azonosítja majd önmagát.

   
Geri - Törzstag | 2188 hsz       Online status #201962   2014.03.12 03:15 GMT+1 óra  
most 22ezer sor

   
Geri - Törzstag | 2188 hsz       Online status #201947   2014.03.11 03:37 GMT+1 óra  
a cpu monolit 30%-ban kész

   
Geri - Törzstag | 2188 hsz       Online status #201928   2014.03.10 14:53 GMT+1 óra  
Idézet
MaNiAc :
Ha már itt tartunk, valaki magyarázza el nekem, földi halandónak, hogy egy olyan emulátorhoz, ami jó eséllyel max egy doom2-t tud majd futtatni


na, hát azt éppenséggel valószínűleg pont hogy nem fogja tudni, mert ebben a 16 bites valós mód annyiban merül ki, amennyi okvetlenül kell a modern operációs rendszerek elindításához és legacy drivereihez.

Idézet
MaNiAc :
(mert software-es emulátor az istenadta, nem pedig hardware-ből megtámogatott vm!), minek ilyen cucc, hogy "long double", etc? Mármint hogy Matlabon meg hasonlókon kívül nem sok minden jut eszembe, ahol ilyen elmebeteg precizitás kellene...


már leírtam: időkezelés!

Idézet
MaNiAc :
Na mindegy, my 2 cents...
SZERK: Mielőtt besértődnél Geri a doom2-n, csak hasraütésszerűen mondtam valamit, kiindulva abból, hogy emulátor a cuccos, ráadásul egy tök más architektúrán megy... Az utolsó emulátor amit utoljára néztem, az egy C64 emu volt PC-re, de az is úgy nézett ki, hogy Pentium II kellett neki, kvázi többszörös erőforrásigénye volt a rendes C64-hez képest... A kérdésem a nagy precizitásról viszont továbbra is áll.


amúgy hozzátenném, hogy az x86 fpuja 80 bites, és csak akkor alakítja át a számokat, amikor kiveszed/beteszed a floating point stackre. és akkor ezen kívül tud több fajta belső precizitással is működni, amit állítgatni lehet.

   
Geri - Törzstag | 2188 hsz       Online status #201927   2014.03.10 14:49 GMT+1 óra  
Idézet
glezmen :
uj vagy errefele?
Geri az, aki (sajat allitasa szerint, termeszetesen minden szigoruan titkos, soha, senkinek semmit nem mutat, csak veri a mellet hogy 'marpedig de, es kesz' ) 300 sorban megirta a komplett SDL2-t, 30 soros scripttel elharitja a DDOS tamadast, meg meg rengeteg hasonlo vilagmegvalto csodat tett


ez mind így is van, gondolom azért nem vagy tisztában ezzel, mert új vagy itt.

Idézet
glezmen :
Az, hogy most ir egy (termeszetesen szinten titkos, soha senkinek meg nem mutatos) emulatort, ami majd sokkal-sokkal gyorsabb lesz mint eddig barmi, teljesen jol illik a sorba


így van, és te sosem fogod megtudni, hogy miért, mert én nem mondom el neked, te pedig nem vagy hozzá elég okos, hogy rájöjj. ezért írom én ezt az emulátort, és nem te. a böngészőt a jobb felső sarokban tudod bezárni.

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201925   2014.03.10 14:00 GMT+1 óra  
Ha már itt tartunk, valaki magyarázza el nekem, földi halandónak, hogy egy olyan emulátorhoz, ami jó eséllyel max egy doom2-t tud majd futtatni (mert software-es emulátor az istenadta, nem pedig hardware-ből megtámogatott vm!), minek ilyen cucc, hogy "long double", etc? Mármint hogy Matlabon meg hasonlókon kívül nem sok minden jut eszembe, ahol ilyen elmebeteg precizitás kellene...

Na mindegy, my 2 cents...

SZERK: Mielőtt besértődnél Geri a doom2-n, csak hasraütésszerűen mondtam valamit, kiindulva abból, hogy emulátor a cuccos, ráadásul egy tök más architektúrán megy... Az utolsó emulátor amit utoljára néztem, az egy C64 emu volt PC-re, de az is úgy nézett ki, hogy Pentium II kellett neki, kvázi többszörös erőforrásigénye volt a rendes C64-hez képest... A kérdésem a nagy precizitásról viszont továbbra is áll.
Dare to imagine!
http://www.insaneidea.hu
   
glezmen - Törzstag | 381 hsz       Online status #201918   2014.03.10 10:41 GMT+1 óra  
Idézet
Calmarius :
Nem ismerlek, nem tudom, hogy mennyire vagy otthon a témában, de ez nem egy hétvégés project.



uj vagy errefele?
Geri az, aki (sajat allitasa szerint, termeszetesen minden szigoruan titkos, soha, senkinek semmit nem mutat, csak veri a mellet hogy 'marpedig de, es kesz' ) 300 sorban megirta a komplett SDL2-t, 30 soros scripttel elharitja a DDOS tamadast, meg meg rengeteg hasonlo vilagmegvalto csodat tett
Az, hogy most ir egy (termeszetesen szinten titkos, soha senkinek meg nem mutatos) emulatort, ami majd sokkal-sokkal gyorsabb lesz mint eddig barmi, teljesen jol illik a sorba
   
Geri - Törzstag | 2188 hsz       Online status #201916   2014.03.10 04:27 GMT+1 óra  
Geri - Törzstag | 2188 hsz       Online status #201895   2014.03.09 15:51 GMT+1 óra  
Idézet
Calmarius :
akkor az minimum egy goto-zós state machine, űberronda kóddal. Felejtsd el a szép rendezett kódot, mert ha sok branch mispredictiont csinálsz, akkor máris 20-szor lassabb vagy. (Remélem nem egy ciklusban futó switch-et álmodtál meg).



bocsi, de ez a része, mint már említettem, titkos.

   
Calmarius - Tag | 8 hsz       Online status #201893   2014.03.09 14:46 GMT+1 óra  
Idézet
Geri :
igen, elkezdtem írni egy ilyet, és ide fogom blogolni.

kezdjük máris a háborgást:

x86-on a floppy típusát a bios időmérőjéből kell kiolvasni



Nem ismerlek, nem tudom, hogy mennyire vagy otthon a témában, de ez nem egy hétvégés project.

Ha gyors emulátort akarsz (ami gyorsabb mint az általad lassúnak bélyegzett QEMU), akkor az minimum egy goto-zós state machine, űberronda kóddal. Felejtsd el a szép rendezett kódot, mert ha sok branch mispredictiont csinálsz, akkor máris 20-szor lassabb vagy. (Remélem nem egy ciklusban futó switch-et álmodtál meg).
   
Geri - Törzstag | 2188 hsz       Online status #201889   2014.03.09 04:16 GMT+1 óra  
a probléma az, hogy x86on kívül nem nagyon tud semmi sem 80 bites lebegőpontos számokat, tehát mindenképp máshogy kell implementálni. az most, hogy belül mi történik, az mindegy is, a többi emulátorban a problémát egyszerűen teljesen szoftveresen (software floating point!) szokták lezongorázni, amitől tud az emulátoruk izomból kb 2 megaflopsot, ami hát kissé csekélyke

a baj ott kezdődik, amikor egyes szoftverek nekiállnak, és mondjuk elkezdik az időt long doubleként reprezentálni (például többek között az én saját szoftvereim régebbi verziói is ilyenek).

mondjuk ezt lehetne szűrni a precizitás alapján, merthogy az fpu tud olyat is, hogy precizitás, amit állítani lehet, csak a precizitáskontroll implementációja részemről egyelőre egy ; karakterben kimerül.

de most az fpuról ennyit, minimálimplementáció, ami a linux kernel bebootolásához kell, az megvan, a többi perpill nem érdekel, jön a cpu ,,monolit'' megalkotása, a projekt utolsó mérföldköve a pszeudókód -> c99 átalakítás előtt. a jövő hét végére már c kódot akarok magam előtt látni, nem akarok túl sok időt beleölni a projekt első szakaszába.

amit a floating pointtal kezdeni fogok:

-azokra az architektúrákra lefordítva, amelyek tudnak 64 bites floating pointot - például mips - ott az fpuban 64 bites floating pointot fogok használni, később pedig ha a precizitáskontrollt megírom, szoftveresen implementálom nagyon nagyon optimálisan a 80 bites precizitást.

-armokon az fpu annyira lassú, hogy nem is tudom hogy lenne -e értelme egyáltalán vfp3mat használni, hanem 64 vagy 128 bites fixpontot kéne használnom precizitástól függően.

-mindenesetre az első build egyszerű 64 bites doublet fog használni, ami fut, fut, ami nem, nem, megy, ahogy megy, és kész.

valószínűleg végső soron 4 féle képpen kell implementálnom az FPU-t:

-csak simán double, lásd: most

-float / double/long double-vel, ha x86on szeretné futtatni valaki (ami addig, amíg nincs 64 bit, úgy sem fog bekövetkezni, mert nem nagyon fogja senki sem x86on használni az emulátort, hisz oda hatékonyabb lenne egy virtuális gép)

-float / double / 128 bit integerrel azokon az architektúrákon, ahol max 64 bites fpu van (mips, akármi)

-long long / 128 bites integer azokon az architektúrákon, ahol nincs fpu (arm)


és akkor még az SSE/SSE2-ről nem is szóltunk, mivel az egy full külön történet, és persze ott van még az MMX is, amit még életemben nem láttam, de azt már látom, hogy ocsmány egy jószág

Ezt a hozzászólást Geri módosította (2014.03.09 04:25 GMT+1 óra, ---)

   
Akybron - Törzstag | 456 hsz       Online status #201887   2014.03.08 22:35 GMT+1 óra  
Ha úgy csinálod meg, hogy 80 bites hozzáférés működik, akkor nem (attól eltekintve, hogy a pontosság nem lesz 80 bites).
A sokak által lenézett Delphi támogatja a 80 bites típusokkal való számításokat, ne csináljon egy ilyen progi hülyeségeket.
   
Geri - Törzstag | 2188 hsz       Online status #201886   2014.03.08 20:19 GMT+1 óra  
egyelőre az FPU 64 biten fog működni a specifikált 80 bit helyett. bízom benne, hogy ez nem fog gondot okozni.

   
Marcsello - Tag | 228 hsz       Online status #201885   2014.03.08 20:00 GMT+1 óra  
pff... az meg minek, hisz minden magától értetődő
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201881   2014.03.08 15:15 GMT+1 óra  
...nincs dokumentálva rendesen, de ezt megszokhattuk.

   
Geri - Törzstag | 2188 hsz       Online status #201866   2014.03.07 20:12 GMT+1 óra  
ide kész, most az fpu következik majd.

   
Geri - Törzstag | 2188 hsz       Online status #201811   2014.03.05 22:26 GMT+1 óra  
hát szóval x86on el lehet érni a portokat 8, 16, 32 és 64 biten. 16 biten egyszerre elérsz 2 db egymás mellett lévő 8 bites portot, 32 biten 4-et, 64 biten 8at, csakhogy ugyanazon portok mindig máshogy viselkednek, ergó, lehet, hogy a két-4-8 db port, ami egymás mellett van, ugyanarra mutat mindig, lehet, hogy az alsó byte egy adott dologra mutat, a következő meg már más dolgot állít ugyanazon az eszközön, az is lehet, hogy csak az egyik működik, a többi nem, és az is lehet, hogy az adott porton kiadva/beolvasva az adatot mégsem egymás melletti portokat címzel, hanem kizárólag pontosan azt, és csak is azt a portot. persze nincs általános konvenció, ezt még az adott eszközön belül is változik, pl ami eszköznek 10 portja van, az összes port működése tetszőleges szélességekkel, tetszőleges biten eltér az eszköz összes többi portjának az adott működésétől

csodálatos dolog ez az ájbíem ikszté

   
Geri - Törzstag | 2188 hsz       Online status #201804   2014.03.04 23:50 GMT+1 óra  
100as bogomips.

   
Marcsello - Tag | 228 hsz       Online status #201803   2014.03.04 23:47 GMT+1 óra  
ezt így miből ?
--
Mondjuk így már értem, hogy miért megy viszonylag "gyorsan" a 98, egyedül a képfrissítése borzasztó, de azt az SDL-nek tudom be
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201802   2014.03.04 23:38 GMT+1 óra  
50 mhz

   
Marcsello - Tag | 228 hsz       Online status #201801   2014.03.04 23:31 GMT+1 óra  
Egy kommentel előtted jártam csak sokáig tartott rájönnöm, hogy ahelyett, hogy bepötyögöm, le is screenshot-olhatom

Nyah, DSL négy pingvinnel:





Érdekes, hogy a bongomips az egyre szarabb, mondjuk szerintem ez a négy mag miatt van, fogalmam sincs miért ennyire nyomtam, eleinte, 2-őt akartam, nem tudom hogy lett belőle 4...
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201800   2014.03.04 23:15 GMT+1 óra  
ha egy linuxot elindítassz, és beírod, hogy cat /proc/cpuinfo , és idemásolod
akkor megmondom, mit tud

   
Marcsello - Tag | 228 hsz       Online status #201799   2014.03.04 23:13 GMT+1 óra  
Most leteszteltem gyorsan, a Win98 bebootol 2 perc alatt, és csak 5 hibát dob fel, de rendes használatra nem alkalmas, viszont amire kíváncsi voltam, azt nem tudtam meg, se a jelentéskezelő sem semmi más nem tudja megállapítani a processzor sebességét Mhz-ben, úgyhogy majd benchmark-al fogom letesztelni a sebességét és azt viszonyítom a másik rendes pure 98-at futtató 233mhz csodával, de előtte majd még teszek egy próbát DSL-el hátha az kiírja...
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201798   2014.03.04 23:08 GMT+1 óra  
természetesen, ha másra nem lesz igény, akkor alapvetően csak armos binárisok lesznek elérhetőek. egy az fpu nélküli armokra, meg egy az fpu-s változatra. ezek linuxos binárisok lesznek, és X11 kell majd nekik. elvileg androidon is használni lehet őket, majd csinálok nekik virtuális billentyűzetet szerintem.

   
Marcsello - Tag | 228 hsz       Online status #201797   2014.03.04 22:59 GMT+1 óra  
És várható lesz arm-re is ?
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201796   2014.03.04 22:57 GMT+1 óra  
marcsello_ pontosan, a jelenlegi emulátorok kb 1-2 mhz-t tudnak, a windows 98nak meg alapvetően 66 mhz kéne, én elvileg találtam módot, hogy ezt lehetővé tegyem, viszot azt nem tudom, hogy be fogom -e tudni bootolni a windowst a nagyon összetett IO igénye miatt.

   
ddbwo - Tag | 1625 hsz       Online status #201795   2014.03.04 22:53 GMT+1 óra  
Geri

Túl rövid lett és nem összeszedett.

A sebességet nem a sorok száma dönti el programozásban. A gyors gyakran a legegyszerűbb.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Marcsello - Tag | 228 hsz       Online status #201794   2014.03.04 22:49 GMT+1 óra  
Akkor azért tart nekem 30 percbe, míg bebootol a windows 98, igaz ez csak egy mezei 2x1.6-os arm, tehát többet nem is várok tőle, csak qemu-n kívül, másról nem tudok, hogy futna rendesen arm-en
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201793   2014.03.04 22:46 GMT+1 óra  
röviden és tömören: van 16, 32, 64, 32 bites kompatibilitási, védett, valós, virtuális 8086 mód, lapozással, lapozás nélkül, valós módú és user módú lapozással, szegmensregiszterekkel, tlb-vel, laphibával, kontrolregiszterekkel, flagekkel, pae-vel, továbbfejlesztett pae-vel <- na az itt leírtak tetszőleges kombinációja lényegében mind mind különböző számítógépes környezetet jelent abból a szempontból, hogy az opkódok mit jelentenek, ezen kívül változó hosszúságú utasításokkal, amik tetszőleges módon (minden utasítás esetében egyéni módon) felülírják az utasítás jelentését, memóriacímzését, vagy az utánuk következő utasítás jelentését, miközben kvázi minden utasítás tetszőlegesen végezhet műveletet a regiszterekkel, memóriával, memóriába mappelt regiszterekkel, speciális kivételekkel itt-ott. normális implementálása 100ezer sor alsó hangon, a minimálimplementáció természetesen néhány ezer (vagy mégkevesebb) sorból is kihozható, ha valakinek erre van zsánere, persze a sebesség feláldozása érdekében. én olyan 30 ezer sorral meg fogok elégedni, hardverkezeléssel együtt. ezen kívül van fpu, legacy bios hívások, pci, interruptok, bármilyen utasítás triggerelhet interruptot, időzítők, portok, dma, és kb 1000 utasítás, és mindezek egymásba hackelve.

az x86 hatékonyságáról annyit, hogy a tranzisztorterület 95%-a arra megy el, hogy értelmezze az utasítást

   
ddbwo - Tag | 1625 hsz       Online status #201792   2014.03.04 22:13 GMT+1 óra  
Igazából ez egy hosszú és unalmas elfoglaltság, szóval nem nekem való. De nincs egy összeszedett, rövid rátekintés sehol?
---
1000 c file-t nem igazán lapoznék végig.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
ddbwo - Tag | 1625 hsz       Online status #201791   2014.03.04 22:04 GMT+1 óra  
"quadruple-precision floating-point format" ... Nagyon jó! ...
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Geri - Törzstag | 2188 hsz       Online status #201790   2014.03.04 21:55 GMT+1 óra  
ja, meg még volt egy nagyon hatékony emulátor, amit az intel fejlesztett, IA32-EL névre hallgatott, a windowsba épülő emulátor volt itaniumhoz (user-mode only). ez olyan 40%-os hatásfokot tudott leadni állítólag.

   
Geri - Törzstag | 2188 hsz       Online status #201789   2014.03.04 21:51 GMT+1 óra  
a qemu nagyon lassú.

(fontos megjegyezni, hogy x86on a qemu, és a dosemu, és hasonló cuccok sem emulációt használnak, hanem egyszerűen on the fly próbálják futtatni a kódot, meg a tlb-vel variálnak, sőt, újabban meg már a hardveres virtualizációs utasításkészleteket használják. )

nekem kb fél mhz-t tudott a 333 mhz-s armomon produkálni tavaj, amikor néztem. de lehet, hogy az a dosbox volt, a fene emlékszik rá.

   
Marcsello - Tag | 228 hsz       Online status #201788   2014.03.04 21:48 GMT+1 óra  
És a qemu, összesítésben ? csak hogy tudjam, hol állhatok nagyjából
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201786   2014.03.04 21:45 GMT+1 óra  
Idézet
ddbwo :
Á dehogy. Már van elég.



összesen két megfelelő sebességű x86 emulátor létezik a világpiacon.

-az a kínai államé, és hardveres rásegítést használ, nem igazi emulátor, csak plugin egy létezőhöz...

-a másik transmeta vállalat néven futott egy hardveres vliw chipben. felvásárolta az izraeli állam egyik befektetővállalata 2x annyi pénzért, mint amennyibe a paksi reaktorok kerülnek. magával rántotta az egész izraeli tech szektort a csődje, kb 20 évet vesztettek.

   
Geri - Törzstag | 2188 hsz       Online status #201785   2014.03.04 21:39 GMT+1 óra  
ddbwo: sehol. javaslom a többi emulátor forráskódját. persze nagyrészt elég érthetetlenek. én ezen a projekten amúgy immáron kb 4 éve rajta vagyok, ez már a 4. nekifutásom.

   
ddbwo - Tag | 1625 hsz       Online status #201784   2014.03.04 21:35 GMT+1 óra  
Á dehogy. Már van elég.
Csak az alapjai érdekelnének. Az asm-be is bele néztem már a demoscene témánál valamennyire.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Marcsello - Tag | 228 hsz       Online status #201783   2014.03.04 21:32 GMT+1 óra  
Konkurenciát akarsz Gerinek ?
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
ddbwo - Tag | 1625 hsz       Online status #201782   2014.03.04 20:57 GMT+1 óra  
Ha akarok írni egy x86 emulátort, hol találok hozzá dokumentációt, segítségnek? Valamivel el kell kezdeni.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Geri - Törzstag | 2188 hsz       Online status #201781   2014.03.04 19:55 GMT+1 óra  
fogalmam sincs, hogy mennyire lesz gyors, nem akarom elkiabálni. ha párszor gyorsabbra tudom megírni, mint amit a jelenlegi emulátorok produkálni tudnak (ez szerintem nem lesz nehéz), akkor eladható.

   
Marcsello - Tag | 228 hsz       Online status #201780   2014.03.04 19:52 GMT+1 óra  
Akkor nem lenne üzlet, ha a piacon kapható leggyorsabb emulátorról mindenki tudná hogyan működik
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201778   2014.03.04 19:42 GMT+1 óra  
bocsi, a cpu emuláció titkos.

   
versio - Tag | 659 hsz       Online status #201770   2014.03.04 18:26 GMT+1 óra  
JIT-es lesz az emulator? mert ha nem neki se allj
   
Geri - Törzstag | 2188 hsz       Online status #201768   2014.03.04 17:55 GMT+1 óra  
64 bites windows 7-et, és linuxot szeretnék majd futtatni rajta. erre első körben azonban nem fog sor kerülni, mert annak előfeltétele az mmx, a pae, az sse, és az sse2, 64 és 80 bit precizitásra képes fpu, illetve maguk a 64 bites utasítások. egyelőre eléggé ezoterikus sejtéseim vannak arra vonatkozóan, hogy ezeket hogy lehetne egyáltalán megírni.

   
Marcsello - Tag | 228 hsz       Online status #201766   2014.03.04 17:29 GMT+1 óra  
És elsősorban mit fogsz futtatni rajta ? (avagy a célközönség)
Az élet szép, csak tele van Bugokkal
http://marcsello.com/
   
Geri - Törzstag | 2188 hsz       Online status #201764   2014.03.04 03:34 GMT+1 óra  
egér és billentyűzet kész. 32 elemű fifot implementáltam hozzájuk, remélem, annyi elég lesz. egérgörgőt majd később...

   
Geri - Törzstag | 2188 hsz       Online status #201762   2014.03.03 21:42 GMT+1 óra  
ami hátra van most:

-soros és párhuzamos portok
-egér
-billentyűzet
-svga
-cpu + fpu
-ide

aztán lefordítani, összekínlódni, hogy legalább a boot loaderig eljusson

amit majd később:
-fpu precizitási módjai
-hangkártya
-ethernet
-pae
-mmx
-sse
-sse2
-64 bit

   
Geri - Törzstag | 2188 hsz       Online status #201756   2014.03.03 12:52 GMT+1 óra  
Idézet
Akybron :
Szőrszálhasogatás:
x86 emulációhoz nem kell floppy.
PC (amiben x86-os proci van) emulációjánál már más a helyzet.


hát nyilván perszonális kompjutáló, nem scak a proci.


Idézet
Akybron :
6510 processzorhoz (Commodore 64) írtam anno emulációt Turbo pascalban. később Delphiben készült órajel szintű változat is (pl. üres for ciklus jellegű időzítések helyesen futnak le), mellé a C64 hangchipje és egyéb hardware elemek részlegesen elkészültek. Így már képes voltam C64 SID zenék (amik tulajdonképpen C64-en futtatható exe-k) lejátszására.
Az első JF verseny nevezésemben (MiniGame Retro, Blue Tetris) ez a rendszer adta a zenét.
Úgyhogy van egy sejtésem arról mekkora fába vágtad a fejszédet, sok sikert hozzá.



kösz. hozzátenném, hogy létező emulátorok alapján írom, azokat reverse engineerelve, mert amúgy full hülye vagyok hozzá (a forráskódjukat természetesen nem használom fel). annyira nem vészes, de hogy az mmx-et, sse-t, sse2-t, pae-t, és a 64 bitet hogy fogom hozzá megírni, az már egy másik kérdés (de valószínűleg ebben a sorrendben). igazából az a lényeg, hogy kitaláltam egy emulációt, amivel a jelenlegi emulátorokhoz képest elvileg brutális sebességnövekedést érhetek el, ha sikerül megvalósítanom.