logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zwiększyć pamięć konwencjonalną w Windows 98 dla programu DOS?

karina 18 Sie 2010 20:02 3316 12
REKLAMA
  • #1 8412616
    karina
    Poziom 25  
    Posty: 1003
    Pomógł: 21
    Ocena: 40
    Witam !
    Program do obsługi sprzedaży dos pokazuje błąd w trakcie pracy :
    GET(0) Unrecoverable error 5302: Conventional memory exhaused.
    Domyślam się że chodzi o brak pamięci konwencjonalnej,
    Sprawdziłem dostępność pamięci i pokazuje mi że ilość dla największego programu wynosi 568k.
    Poniżej zamieszczam wpisy z autexec i config,sys z prośbą o pomoc co ewentualnie zmienić / poprawić... Z góry dziękuję za porady.

    Config.sys:

    DEVICE=C:\WINDOWS\HIMEM.SYS
    DOS=HIGH,UMB
    rem DEVICE=C:\WINDOWS\EMM386.EXE HIGHSCAN FRAME=E000 NOVCPI NOEMS
    FILES=150
    BUFFERS=30
    REM LASTDRIVE=Z
    rem DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS

    DEVICEHIGH=C:\CDROM\GSCDROM.SYS /D:MSCD000 /v
    device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
    Country=048,852,C:\WINDOWS\COMMAND\country.sys

    Autoexec:

    @Echo. Off
    SET ATI_NOEE_M64=C:\MACH64\EEDATA.EE_
    rem C:\MACH64\CUSTOM.COM q
    set NAZ_ST=ST1,H
    REM C:\DOS\SMARTDRV.EXE 2048 128
    PROMPT $p$g
    PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\NWCLIENT;C:\DOS;C:\MACH64;C:\NC;C:\PL
    SET TEMP=C:\DOS
    SET CLIPPER=F150
    CALL PL M
    rem CALL C:\NWCLIENT\STARTNET.BAT
    cls
    rem - By Windows Setup - LH C:\WINDOWS\COMMAND\MSCDEX /D:MSCD000
    rem keyb pl,,C:\WINDOWS\COMMAND\keybrd4.sys

    mode con codepage prepare=((852) C:\WINDOWS\COMMAND\ega.cpi)
    mode con codepage select=852
    keyb pl,,C:\WINDOWS\COMMAND\keybrd4.sys
  • REKLAMA
  • REKLAMA
  • #3 8412783
    karina
    Poziom 25  
    Posty: 1003
    Pomógł: 21
    Ocena: 40
    Jak usunę rem w lini gdzie jest
    rem DEVICE=C:\WINDOWS\EMM386.EXE HIGHSCAN FRAME=E000 NOVCPI NOEMS
    to komputer nie włącza się tzn: stoi na ekranie windows 98 i pasek przewija się w nieskończoność.
  • REKLAMA
  • #4 8412905
    WojtasJD
    Poziom 43  
    Posty: 13768
    Pomógł: 2911
    Ocena: 1576
    Z linii z EMM386 wywal parametr HIGHSCAN i przesuń linię pod wpis z HiMem.sys
    wywal:
    DEVICEHIGH=C:\CDROM\GSCDROM.SYS /D:MSCD000 /v

    Jak potrzebny jest DOS + Win98 to najlepiej zrobić menu startowe
  • #5 8413013
    karina
    Poziom 25  
    Posty: 1003
    Pomógł: 21
    Ocena: 40
    zzrobiłem tak jak kolega napisał i pamięć zwiąkszyła się z 568k na 600k. Komputer ładuje emm386 i uruchamia się normalnie.
    Może kolega mi naopisać co robi parametr higscan ?
  • #7 8413068
    WojtasJD
    Poziom 43  
    Posty: 13768
    Pomógł: 2911
    Ocena: 1576
    Może kolega mi naopisać co robi parametr higscan ?

    HIGHSCAN -> Specifies that EMM386 use an additional check to determine the availablity of upper memory for use as UMBs or EMS windows. On some computers, specifying this switch may have no effect or cause EMM386 to identify upper memory areas as available when they are not. As a result, your computer might stop responding.
  • #8 8413106
    karina
    Poziom 25  
    Posty: 1003
    Pomógł: 21
    Ocena: 40
    czy usuniecie tego parametru nie spowoduje problemów z działaniem programu i czy powinien ustąpić problem z tym komunikatem : "GET(0) Unrecoverable error 5302: Conventional memory exhaused. " - dodam że komunikat występował sporadycznie...
  • REKLAMA
  • #9 8413190
    phanick
    Poziom 28  
    Posty: 2949
    Pomógł: 65
    Ocena: 2833
    Proponuję w biosie wyłączyć mirroring romu karty graficznej, a do linijki devicehigh=emm386.exe dodać parametr /i=b000-b800
    Spowoduję to użycie wyżej wymienionego obszaru pamięci jako dodatkowego wolnego bloku pamięci górnej. A w autoexec.bat proponuję wszystkie wpisy poprzedzić poleceniem lh (loadhigh).

    Dodatkowo ważna jest kolejność ładowania programów do pamięci górnej i konwencjonalnej. Wynika to z faktu, iż wolna pamięć wcale nie występuję w obszarze ciągłym, lecz jest pofragmentowana na bloki i gdy zmienimy kolejność ładowania programów, to zmieszczą się one w bloku.

    Kiedyś bawiłem się w bicie rekordu - próbę uruchomienia komputera z największa możliwą ilością wolnej pamięci konwencjonalnej. Wyszło coś koło 630KB.

    Proponuję jeszcze ściągnąć jakiś alternatywny sterownik do CD-ROMU pod DOS-a oraz program, który zastąpi MSCDEX (kiedyś dopadłem takie, które zajmowały strzanie mało pamięci. Niestety wyleciały mi z głowy).

    Dodatkowo powiem, że ilość całkowitej pamięci górnej zależy od bardzo wielu czynników. Np gdy w moim archaicznym komputerze miałem kartę graficzną S3 ViRGE 2MB, to pamięci górnej było 150KB, a gdy kartę zamieniłem na Rivę TNT2 to pamięć zmniejszyła się jakoś o połowę.
    Wynika to zapewne z faktu, że BIOS rezerwuję pewne obszary pierwszego megabajta pamięci na jakieś ROM mirroring karty graficznej, jakieś bufory czy tego typu rzeczy.
  • #10 8414122
    karina
    Poziom 25  
    Posty: 1003
    Pomógł: 21
    Ocena: 40
    Program działa dobrze - już ten błąd nie występuje ale mam jeszcze jeden problem z wydrukiem. Schemat jest taki że program najpierw drukuje fakturę - po wydruku faktury drukowany jest dokument HDI (Handlowy dokument informacyjny), a w tym dokumencie wszędzie tam gdzie powinno być pusto (gdzie dopiero pracownik wpisuje dane) są szlaczki , wykrzykniki, strzałki etc.
    Próbowałem zmieniać tryb pracy drukarki ale to nie to :( Drukarka drukuje to co dostaje - a widać to przed wydrukiem. Nie wiem gdzie szukać usterki.
    Czy jakiś wpis w autoexec/config.sys - zawiera jakąś informację o wydruku ?
  • #11 8414767
    phanick
    Poziom 28  
    Posty: 2949
    Pomógł: 65
    Ocena: 2833
    Zasadnicze pytanie - czy na ekranie też są te szlaczki?
    Jak to wygląda na pełnym ekranie i jak w trybie okienkowym?
    Czy gdy w tym programie wprowadzisz polskie znaki, to zostaną one wydrukowane poprawnie?
  • #12 8414849
    karina
    Poziom 25  
    Posty: 1003
    Pomógł: 21
    Ocena: 40
    Tak na ekranie są te krzaki. Program startuje domyślnie na pełnym ekranie - w okienku - nie wiem - nie potrafię teraz podać - nie mam dostępu do komputera.
    O co mi chodzi - otóż to całe HDI to formularz który otwiera się po wydruku faktury - jest tam kilkanaście pozycji - obok są pola w które można wprowadzać dane - kilka jest wypełnionych - program pobiera do HDI takie dane jak nr faktury czy dane wystawiającego.
    Ale pola gdzie operator komputera wprowadza dane (bądź i nie wpisuje nic - zostawiając pole puste) wypełnione są tymi szlaczkami - jak je wykasuje drukuje OK - kwestia jest taka że program sam je wypełnia na dzień dobry losowymi szlaczkami.
    Nie wiem czy ma to jakieś znaczenie - w komputerze tym wymieniałem płytę gł. - po tym zabiegu komputer miał problem uruchomieniem - reinstalowałem windows - (j/w musiałem usunąć wpis highscan z configa) i teraz działa ok tylko tyle że wkleja sobie te krzaczki - wcześniej tego nie robił...
  • #13 8414862
    phanick
    Poziom 28  
    Posty: 2949
    Pomógł: 65
    Ocena: 2833
    Być może program używa jakichś znaków semigraficznych (specjalnych znaków) do narysowania miejsca, gdzie wypełnia się te dane ręcznie, a znaki te nie występują w aktualnej stronie kodowej.
    Spróbuj zrobić taki myk, że w pliku autoexec.bat przed linijką z keybrd4 wpisać REM.

Podsumowanie tematu

✨ Użytkownik zgłosił problem z brakiem pamięci konwencjonalnej w systemie Windows 98 podczas uruchamiania programu DOS, co skutkowało błędem "GET(0) Unrecoverable error 5302: Conventional memory exhausted". W odpowiedzi na pytania, uczestnicy dyskusji sugerowali m.in. dodanie sterownika EMM386 do pliku config.sys oraz usunięcie parametru HIGHSCAN, co pozwoliło na zwiększenie dostępnej pamięci z 568k do 600k. Dodatkowo, zalecano modyfikację ustawień BIOS oraz kolejności ładowania programów w celu optymalizacji pamięci. Po wprowadzeniu zmian, problem z pamięcią został rozwiązany, jednak użytkownik napotkał nowy problem związany z drukowaniem, gdzie w polach do wprowadzania danych pojawiały się niepożądane znaki. Sugerowano, że może to być związane z używaniem znaków semigraficznych, które nie są obsługiwane w aktualnej stronie kodowej.
Wygenerowane przez model językowy.
REKLAMA