@arturB,
post #1
Na początek widzę, że do tablicy lineReadPal o rozmiarze 8 kB próbujesz wczytać 64 kB danych... Ja wiem, że Fgets() się zatrzyma na końcu linii, ale jaką masz gwarancję, że ten koniec linii nastąpi? Ten sam błąd powtarzasz przy lineRead niżej (tablica 2 kB, czytasz 16 kB).
Hexmage ma całkowitą rację, robisz duże tablice na stosie (jako zmienne lokalne) i stos Ci się przepełnia. Programując na Amidze zawsze trzeba mieć z tyłu głowy, że po pierwsze stos jest zazwyczaj niewielki (np. domyślnie pod OS 3.0 tylko 4 kB), po drugie nie ma żadnej kontroli jego przepełnienia.
Trochę mnie to dziwi, że takie drobiazgi jak struct timerequest alokujesz dynamicznie, a kloce w stylu tablica 3000 floatów albo 8192 bajtów rzucasz beztrosko na stos...
Przy okazji struct BitMap nie musi (a nawet nie powinna, jeżeli jest taka możliwość) być w chip-RAM. Tylko bitplany muszą. W ogóle zamiast dziergać się ręcznie z AllocRaster() użyłbym AllocBitMap(), która odwala masę nudnej roboty i alokuje wszystko gdzie trzeba.
To tyle co mi się rzuciło w oczy przy pobieżnym przeglądzie kodu.