Napsal jsem emulátor ZX Spectra v Javě... po chvilkách, tak ob den, celkem asi za 6 měsíců. Z toho asi 3 měsíce jsem jen implementoval těch asi 700 různých instrukcí procesoru Z80. Za dva týdny napsat emulátor 486 - něco takového myslím nejde stihnout - ani kdyby to jen opisoval.
Ja myslim, ze to jde. Kdysi davno jsem psal nekolik ruznych disassembleru. Netrvalo to moc dlouho a to jsem se musel ucit celou instrukcni sadu, a veci s tim spojene.
Pred nekolika mesici jsem psal interpretr 6502, protoze jsem potreboval udelat reverse engineering nejakeho crypto kodu (napsaneho pro tento mcu ;-) , ktery mi nesel jen z disassemblovaneho listingu prepsat do C. Trvalo mi to den, implementovana byla vetsina instrukci.
Nyni budu psat interpretr jisteho p-kodu, ke kteremu jsem mel jen prekladac (neco na zpusob C do assembleru a z assembleru do toho p-kodu), je tam celkem 200 instrukci + menici se operandy, ktere vyznamne meni smysl instrukci (napr. jedna instrukce presouva byte,short, int, ale i string nebo dela substring-to-string copy, pripadne umi i string-to-byte :-) ). Udelat popis toho p-kodu a overit spravnost trvalo presne jednu probdelou noc.
Tim nechci nijak snizovat Bellardovu praci ani praci nekoho jineho. Ale zvladnutelne to je. Na zaver doplnuji, ze moje kratke snazeni nikdy nevedlo k plne imlementaci daneho procesoru, ale jen vyreseni urciteho ukolu.