Hmm...
Problem ktory tu zostal poruszony stwarza pozory trudnego, ale tak sie moze tylko wydawac. Instrukcja append (nigdy nie uzywalem) zdaje sie byc tylko uzyteczna w plikach rel albo seq, gdzie dane sa w postaci paczek (rekordow) i tam to ma sens - gdy wiadomo jakie porcje danych beda dodawane. Moze sie myle, ale tu nie ma co sie w nia zaglebiac - w zasadzie chodzi o dzialanie odwrotne do append.
Co do kodowania stacji, to nie chwalac sie udalo mi sie jakis loader nie dawno stworzyc - ktory z reszta uzywam w grze ktora robie.
Ogolnie rzecz ujmujac transmisja po szeregowym odbywa sie na zasadzie zsynchronizowania rejestrow wysylajacych/odbierajacych dane z jednego urzadzenia do drugiego (w c64 rejestr $DD00, a np. w stacji $1800) i potem ich obserwacji (transmisja bitow).
Niby proste, ale wlasnie przez to, ze tych rejestrow jest taka skromna ilosc, programowanie jest wrecz irytujace (tak jakby ktos chcial przeprowadzic dialog przez rure, ale mowiac gloskami/samogloskami jednoczesnie uwazajac zeby nie zagluszac przy tym tego co \"mowi\" odbiorca).
Co do uzywania komunikacji na poziomie wyzszym (gotowych procedur kernala, albo nawet interpretera basica) to wyglada to tak, ze otwierajac kanal mozemy odczytywac i zapisywac do puki go nie zamkniemy.
Wiec wyglada to w rzeczywistosci tak jakbysmy otwierali plik zarowno do zapisu jak i odczytu - i gdzie tu problem ?
Kisiel polecam znalezc kod do transmisji miedzy dwoma c64 (taki rodzaj chat-a) jest np. w ksiazce Frelka.
Inna sprawa, ze nie ma za bardzo uzytecznych funkcji jakie sa w innych jezykach dotyczacych plikow (zbiorow) typu seek, sizeof, eof itd.