DOS programok emulálása, CPU lassítás és valós RS232 port vezérlés, célhardver programozáshoz

Szép napot mindenkinek!

Megpróbálom érthetően, lényegretörően és sallangmentesen leírni a problémámat, hogy mibenkellene a TI segítségetek.

A FELADAT:

Adott két típusú célhardver: az egyik egy régebbi típusú riasztórendszer-család a másik pedig egy speciális, rádiós adatátviteli berendezés. Ezek a tervezésük napjaiban még a 286/386/486 gépeken üzemeltek. A programozásukra használt DOS alapú PC program stabil működéséhez feltétlen szükséges a valós 16bites kezelésű RS232 soros port adatátviteli mód illetve a 40 MHz-nél nem gyorsabb CPU. A COM port kezelésnek IS és a CPU sebességnek IS passzolnia kell a megfelelő működéshez.

A PROBLÉMA:

Mára szinte kihaltak a 286/386/486 gépek. 486-nál gyorsabb gépen a program vagy nem indul el, vagy nem hajlandó kommunikálni az eszközzel. Legrosszabb esetben tönkrevágja az eszköz belső Flash memóriáját. Emulálni sem sikerült sem a DOSBox, sem a MoSlo sem a SlowDown sem a VirtualPC sem a VMWare programokkal.

A CÉL:

Gyors P3, P4, DualCore stb. gépeken futtathatóvá tenni a DOS alapú programokat.

Leginkább ebbe a fórumba valónak ítéltem a felvetésemet, a többi valahogy nagyon idegen topic volt. Nagyon szépen megkérdem az unatkozókat, hogy a "vegyél új rendszert és dobd ki a régi sz@rt" felkiáltásaiktól kíméljenek meg. Valós, hathatós problémamegoldásra lenne szükségem.

És még egy fontos info: szinte teljesen hülye vagyok a Unix / Linux világához :)

Emailem: cserebere@stornophone.hu

Előre is köszönök minden segítséget!

Hozzászólások

És a vedd meg a régi sz@rt? Tehát mindenképpen új gépen akarsz régi programot futtatni vagy jó lenne ha lenne régi vas hozzá.

pcbonto.hu-n kirohogtek? Nem hiszem.

Egyebkent szerintem erdemes laptopot (is) keresni, en szoktam latni retro laptopokat pl. a hardverapro.hu-n, a vateran, de akar az ebay.co.uk/.de-n is nezelodhetsz. Csak egy kis turelem kell hozza.

Ide nezz, mit talaltam neked:
http://szamitastechnika.vatera.hu/laptop_notebook_netbook/toshiba/egyeb…

"The T4600's 33 MHz Intel 486SL and large memory means it can handle the most demanding software."
:-)

Hup-on keressél akkor. Nekem mondjuk "csak" egy 98-as K6-300-am van elfekvőben (ez neked szerintem már túl gyors), de másoknak simán lehet egy-egy rég kidobásra ítélt gépe, amit két sörért hozzád vág, és akkor nem neki kell elcipelnie a veszélyes hulladék begyűjtőhelyre.

Teljesen pontos szimulacios program nincs ingyenes, ami pedig van az vagon penzbe kerul (busz szintu orajel pontos) es bonyolult.

Talan a qemuban tudod a legtobb dolgot beallitani, igy en azzal probalkoznek. De ne felejtsd el, hogy ehhez azert kell erteni hozza! Ha valakit erre felkersz az boven dragabban csinalja meg mintha uj 386os hardvereket vennel:
www.ewayco.com/20-low-cost-embedded-epia-mini-itx-etc-boards/mx-pc104-m…
www.embeddedsys.com/subpages/products/singleboardcomputer.shtml

Az RS232 ha nem hardverből megy (DOS alatt nem tudom, volt-e), akkor 5%-os órajel eltérés esetén is borulhat a kommunikáció.

A mikrokontrollerek ezért használnak külső kvarcot a belső rc oszcillátor helyett.

Az rc oszcillátor finomhangolása sem segít, mert hőmérséklet függő és -10 fokon meg 50 fokon tök más az rc érték, szemben a kvarccal.

Az RS232 nagyon érzékeny a precíz sebességre.

Az RS232 termeszetesen HW-bol ment meg XT-n is, meg AT-n, stb.. legalabbis a "soros" resze (RX/TX). A kolleganak az a problemaja, hogy nehany erdekes hardware az egyeb (ring, flow control, stb.) vezetekeket hasznalja atvitelre, es ha ezeket ugy hasznaljak, hogy szamit az idozites, akkor egy modern multitaskos OS-en beluli emulacio/virtualizacio soha az eletben nem lesz kepes ugyanugy visszaadni a valodi vasat.

--
Yesterday I set my wifi's name to "Hack this if you can".
When I checked it today, it was called "Challenge accepted".

486-nál gyorsabb gépen a program vagy nem indul el, vagy nem hajlandó kommunikálni az eszközzel. Legrosszabb esetben tönkrevágja az eszköz belső Flash memóriáját.
Ezek alapján az RS232 jelek vezérlik a FLASH írást. Talán az is járható út lenne, ha a PC és a kütyü közé kerülne valamilyen mikrokontroller ami megoldaná az időzítési problémákat. Mondjuk nem kevés munka lenne visszafejteni a kommunikációt.
Ha esetleg rögzíteni tudnád valamilyen módon a jó és a hibás kommunikációt, el lehetne dönteni érdemes e ebbe az irányba próbálkozni.

Ha nagyon kell még 8088 XT is akad a raktáramban. De akad '286 AT és 486SX (brand), akad IBM notebook 486DX100 stb.
Egyébként próbáltad a DOSEMU -t? USB sorost sikerült beizzítani Norton Commanderrel!
Ha sebességbeli probléma van akkor DOS -ra léteznek lassító programok (ha a program eredetileg pollozott).

* Én egy indián vagyok. Minden indián hazudik.

Van egy HT 3080C-vel vezérelt bizgentyűbuznyákoló berendezés, amihez a pécés Z80-emuláció a speciális hardver miatt nem használható. Tud valaki új (használt nem érdekel) gépet, amivel működne?
Továbbá van egy 128 portos soros terminálszerver, ami egy MCA buszos kártya egy rakat külső dobozzal. Ezt is szeretném használni, ergo új MCA-buszos RS6K vasra van szükségem hozzá, de minimum 5.3-as AIX-ot is tudjon futtatni.

Vannak dolgok, amiket tudomásul érdemes enni: ezek a dos- és extrémen hw-függő berendezéseknek az életciklusa bőven lejárt. Most még talán tudsz kukaszökevény ócskavasat szerezni hozzá (vagy valami beágyazott speckó cumót, relative drágán), de mindenképp el kell gondolkodni a kezelt berendezés kiváltásán. Szerintem...

Laikusként:
FreeDOS nem járható út, underclockolt procival?

OMG, egy pár posztot kicsit megkönnyeztem. Sajnos régebben én is csak úgy tudtam upgradelni, hogy eladtam a régi cuccot. Ajj de bánom...

--
GPLv3-as hozzászólás.

Gondolom a program forrása már nincsen meg, vagy nem is volt? Mert ha igen, lehet, hogy gyorsabb modern hardverre portolni a cuccot.

Ha ez így van akkor:
1. Nem a sebesség a gond, hanem az illesztés. Én is terveztem kiviteleztem olyat, ahol kispóroltuk az RS-232 -es meghajtókat, ha ezzel számolsz, tökéletesen működik, bármiről (USB -s cuccról is).
2. Az aszinkron soros kommunikáció kezelés nem egy ördöngösség, könnyen hackelhető, kódolható, egyszerű vezérlésekre ideális.
Ha ennyire kell, akkor érdemes újragondolni a mai kommersz hardware -kel.

* Én egy indián vagyok. Minden indián hazudik.