C64Power Forum

Software => Programowanie => Wątek zaczęty przez: Zbych w 23 Kwietnia 2016, 22:06

Tytuł: Nadpisywanie plików na dyskietce
Wiadomość wysłana przez: Zbych w 23 Kwietnia 2016, 22:06
Właśnie próbuję zrobić hi-score save. Wydawało mi się dobrym pomysłem wywołanie kernalowego "SAVE" ze wskazaniem bufora z wynikami. Zrobiłem, przetestowałem, pogooglałem... i dowiedziałem się że żeby nadpisać pliki trzeba to zrobić poprzez nadanie nazwy w formie "@0:nazwa" (źródło: http://www.lemon64.com/forum/viewtopic.php?t=8505&sid=02bd74ae1027334e6ab134670f7bc65f (http://www.lemon64.com/forum/viewtopic.php?t=8505&sid=02bd74ae1027334e6ab134670f7bc65f)). Niby wszystko ok, plik się nadpisał, ale doczytałem dalej ten wątek i okazuje się że technika z "@0:..." ma jakieś bugi. No więc teraz mam problem jak to zrobić. Zalecane jest najpierw usunięcie pliku a następnie zapisanie przez "normalne" wywołanie SAVE. Ale teraz kolejny problem jak usunąć plik bo w w/w poście jest napisane że można to zrobić przez:
OPEN1,8,15,"S:FILENAME":CLOSE1 , ale to ponoć też jest zbugowane.
No to teraz już sam nie wiem jak to zrobić (mam zrobić 3 wywołania kernala - 2x open i 1x save) ??
Jakieś sugestie? Czy metoda z "@.." jest bardzo "zła"?
Tytuł: Re: Nadpisywanie plików na dyskietce
Wiadomość wysłana przez: wegi w 23 Kwietnia 2016, 22:15
To zrób najpierw @S:nazwa, a potem save (@S = scratch) - plik nie może być zabezpieczony przed zapisem "<" i dyskietka też
Tytuł: Re: Nadpisywanie plików na dyskietce
Wiadomość wysłana przez: Zbych w 23 Kwietnia 2016, 22:31
To zrób najpierw @S:nazwa, a potem save (@S = scratch) - plik nie może być zabezpieczony przed zapisem "<" i dyskietka też

Mówisz że tak będzie najlepiej? Tak to ma być?
SETNAM "@S:NAZWA"
SETLFS A=1, X=8, Y=0
OPEN
CLOSE

SETNAM "NAZWA" czy SETNAM "@0:NAZWA" ??
SETLFS A=1, X=8, Y=0
SAVE

BTW: fajna wektorówka w intro w tych "Asteroidach", backface cooling...
Tytuł: Re: Nadpisywanie plików na dyskietce
Wiadomość wysłana przez: wegi w 24 Kwietnia 2016, 08:10
Szczerze to nie wiem bo z linii komend AR tylko wpisywałem. Znajdziesz gdzieś opis tej komendy w instrukcjach do driva. Z basica to ja ci nie powiem :)

Wektorki się spodobały ? 8) Miały się podobać :) Bryła jest wklęsła, więc czasami staje się półprzezroczysta gdzieniegdzie i widać rzeczy niemożliwe :)
Tytuł: Re: Nadpisywanie plików na dyskietce
Wiadomość wysłana przez: wegi w 24 Kwietnia 2016, 08:43
>OPEN1,8,15,"S:FILENAME":CLOSE1 , ale to ponoć też jest zbugowane.


Ty chyba właśnie tu robisz scratch - musisz po prostu podać poprawną nazwę zbioru - nie jestem pewien bo naprawdę mało mnie interesowały te rzeczy w Basicu.
Ale to jest samo scratch pamiętaj - po tym może być save dopiero.