Problem z pamięcią

0

Mam problem z programem, który piszę w TP 7. Mianowicie program uruchamia także inne programy (Exec). Problem w tym że brakuje dla nich pamięci konwencjonalnej. Jeden z zewnętrznych programów wymaga minimum 570 kB, a mój program zajmuje w pamięci ponad 130 kB. Myślałem o umieszczeniu programu w pamięci xms, lec nie za bardzo wiem jak to zrobić. Proszę o pomoc. Z góry dzięki!

0

z tego co pamiętam (ale mogę się mylić) to coś się wpisywało w CONFIG.SYS tylko nie pamiętam co to było a leciało to jakoś tak:
DEVICE=C:.........ścieżka do pliku+\XMS.COM............
tylko nie wiem jak teraz pod windowsem to zadziała :|

0

Nie slyszalem o czyms takim - tryb rzeczywisty to tryb rzeczywisty i nie ma wyzszych adresow niz 1MB. Mozna podniesc próg 640 kb wykorzystujac pamiec uper ale to bedzie gora 120kb wiecej. Wiem ze jest mozliwosc wykorzystania do 16MB pamięci "extended". Mam gdzies nawet kod do tego ale to dziala na zasadzie jakby dysku , to znaczy program nie bedzie tam ladowal zmiennych tylko sam musisz sobie tam kopiowac i stamtad "znosic" do pamieci ponizej 640 KB, jak w przypadku pliku tyle ze szybciej(choc nieporownwalnie wolniej niz dostep bezposredni do pamieci)

No i jeszcze jedno wyjscie - uzyj borland pascala w trybie chronionym jelsi masz taka mozliwosc.

0

tak czy inaczej w trybie rzeczywistym nie ma możliwości wykonania kodu znajdującego się ponad adresem $FFFF:FFFF, czyli jesteś i tak ograniczony przez 1MB + 64kB - pamięć zajmowana przez dos - karta graficzna (96kB) - wszelakie sterowniki.
tyle pamięci wygospodarujesz odpalając z config.sys następujące polecenia:
device=C:\WINDOWS\himem.sys
device=C:\WINDOWS\emm386.exe RAM I=B000-B7FF
i usuwając co tylko się da jeśli chodzi o inne sterowniki (polecenie mem powie Ci, co jest uruchomione i zżera pamięć, szczególnie mem /d i mem /c).

0

Skoro programujesz w TP7 to kompilacje uruchom nie z edtora TURBO.EXE tylko TPX.EXE raczej pomoze.


Pozdrawiam czy jak tam...

0

Dzięki za wszystką pomoc :). Na pewno wypróbuję wszystkie sposoby. BP7 w protected próbowałem ale nie działa. Wyskakuje błąd RE 206 - "General protection fault". Z pewnością spowodowane jest to tym, że w programie znajduje się odniesienie Mem[...]
Dzięki za pomoc. Pozdro!

0

Jeśli uzywasz bp7+PM, to poprzez tablicę mem mozesz się odwoływać tylko do segmentów które maja zdefiniowane deskryptory. Albo sam takowe tworzysz (nie mam zielonego pojęcia jak), albo korzystasz ze zdefiniowanych - seg... (np. sega000)

0

Jeszcze jedno małe pytanko: gdzie mógłbym pobrać plik TPX.exe?

0

Fajnie to rozwiązywał Norton Commander.

Składał się z dwóch plików NC.EXE i NCMAIN.EXE.
Po uruchiomieniu NC.EXE uruchamiał NCMAIN.EXE (cały interfejs itd.), nastepnie kiedy chciało się uruchomić program, NCMAIN zapisywał jaki program z jakimi parametrami (chyba do pliku) i kończył działanie z odpowiednim ExitCode, a nastepnie NC.EXE uruchiamiał zlecony program, a po jego zakończeniu z powrotem NCMAIN.EXE

0

Nie masz pliku tpx.exe w Katalogu bin ??? Dziwne ... ja mam... Jak chcesz to wyslij mi maila to Ci go podeślę... W zamian [browar] ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1