Przejdź do treści forum
atari.area forum
Twoje polskie źródło informacji o Atari
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Aktywne tematy Tematy bez odpowiedzi
Aktualności ze świata Atari
Silly Venture 2k25 SE - już wkrótce! Tylko do 21 lipca możesz zamówić koszulkę z okazji SV 2k25 SE
Nowy firmware 1.5 dla SDrive-MAX Ulepszony tryb szybki i poprawki kaset w nowej wersji firmware
Ice-T 2.8.2 Nowa wersja Ice-T dla 8-bitowego Atari już dostępna - poprawki i nowe funkcje
Galactic Panic - nowa przygodówka na ST Darmowa gra point and click na Atari ST - ponad 100 ekranów przygody.
Nowa wersja ARIFE Tool od PVBest73 Uaktualniono uniwersalne narzędzie do analizy obrazów ROM i dysków Atari
Opcje wyszukiwania
Drac, chyba pisaliśmy w tym samym czasie :P
Dzięki za pomoc, problem się rozwiązał. Jak to zwykle bywa rozwiązanie było proste - emulator musi pamiętać obraz dyskietki gdzieś w pamięci i dopiero po jej odłączeniu bądź wyłączeniu emulca zapisuje dane do .ATR :D
Nie chodzi o to, że zapisuje się coś innego tylko o to, że nic się nie zapisuje. Tą procedurkę mam skompilowaną do pliku .XEX. Podłączam plik .ATR do emulatora jako stację D1: (alt+1) po czym wykonuję plik .XEX (alt+X). Podglądam plik .ATR i widzę zapisane dane. Po kolejnym wykonaniu pliku .XEX emulator tak samo pokazuje, że stacja pracuje, ale właśnie wtedy plik pozostaje niezmieniony. Nie chodzi o to, że dane są te same, bo w procedurze nic nie zmieniłem, ale o to, że dane już nie są zapisywane. Wiem to po dacie modyfikacji pliku, ale dla pewności pomiędzy 2 wykonaniami tego XEX'a podmieniłem plik .ATR na "czysty" i taki pozostał :-(. Dopiero restart emulatora pozwala znów zapisać te dane na dysk.
Czy ktoś może mi pomóc w zakodowaniu zapisu na dyskietkę? Korzystam z procedury JSIOINT pod $E459. Z odczytem jest wszystko OK pod warunkiem, że w emulatorze Atari800Win Plus 4.0 jest włączona opcja SIO patch. Kiedy emulacja stacji dysków pracuje z rzeczywistą prędkością mogę czekać w nieskończoność i nic się nie załaduje.
Większy problem jest z zapisem. Wykonuję program wg kodu:
lda #$31
sta $0300
lda #$01
sta $0301
lda #$50
sta $0302
lda #$80
sta $0303
lda <$4000 ;zapis obszaru od $4000
sta $0304
lda >$4000
sta $0305
lda #$08
sta $0306
lda <$100 ;długośc bloku 256 bajtów
sta $0308
lda >$100
sta $0309
lda <$ff ;zapis na sektor nr 255
sta $030a
lda >$ff
sta $030b
jsr $E459
Po skompilowaniu programu dane zapisują się tylko za pierwszym razem. Przy kolejnych próbach plik .atr się nie zmienia. Sprawdzałem datę modyfikacji i dane w miejscu tego sektora.
Dyskietkę stworzyłem programem MakeATR jako DD (720 sektorów po 256 bajtów)
Znalezione posty [ 4 ]
Forum oparte o: PunBB
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.
Wygenerowano w 0.008 sekund, wykonano 80 zapytań