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
Elite - port z BBC Micro na Atari XL/XE Wczesna beta portu kultowego Elite z BBC Micro na 8-bitowe Atari.
sAIOnara v3.0 Zaawansowany układ wideo Pancia, sAIOnara v3.0, bazujący na chipie CXA2075, jest już dostępny.
Altirra 4.40 test 20 Nowa wersja rozwojowa popularnego emulatora Altirra zawiera szereg usprawnień i poprawek błędów.
SprEd 1.3.8 Wersja 1.3.8 wprowadza tryb bez nakładania się pikseli i nową funkcję usuwania nakładających się pikseli.
Generator kopert na dyskietki Lexx stworzył kolejny generator, tym razem do kopert na dyskietki 5,25" dla 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.006 sekund, wykonano 72 zapytań