Potrzebujesz pomocy przy przydzielaniu dalekiego wskaźnika na Borland C ++ 3.0
Piszę strukturę gry DOS, aby lepiej nauczyć się C i ogólne zainteresowanie programowaniem na starym sprzęcie (zwłaszcza w systemie, w którym dorastałem).
Usiłuję zaimplementować system podwójnego bufora, ale mam problem z przydzieleniem dalekiego wskaźnika do tablicy 320 * 200.
Początkowo próbowałem użyć malloc, ale dowiedziałem się, że może przydzielić tylko poniżej 64kb. Przeczytałem, że musisz użyć farmalloc (malloc zwraca NULL) i został poprawnie przydzielony. Jednak gdy uruchomiony jest _fmemset lub _fmemcpy .... cały system zawiesza się.
backBuffer = (unsigned char far*) farmalloc(64000);
kiedy nadejdzie czas wymiany buforów, których używam
_fmemcpy(VGA, backBuffer, 64000);
Program używa modelu małej pamięci.