Problem jest następujący.

1) Pakuję dane do pierwszego banku ext mem (>d301 E3) pod DOS II/D. Jest git.
2) Odpalam swój program który nie rusza ext mem
3) Robię zimny start (Shift+F5), odpalam DOS II/D
4) Mapuję bank do base ramu pod DOS/II D (>d301 E3)

Co się okazuje pod monitorem (F8) ? Pierwszych 128 bajtów jest ok, reszta to śmieci.

Wydawało mi się, że po zimnym starcie dane pamięci rozszerzonej nie są zmieniane (pod QMegiem tak jest na bank). Mylę się?

2

Zimny start (przynajmniej pod standardowym OS-em) czyście tylko pamięć $0000-$BFFF, a więc nie powinien zamazać rozszerzonej pamięci, ani pamięci "pod ROM-em".

3

macgyver napisał/a:

Zimny start (przynajmniej pod standardowym OS-em) czyście tylko pamięć $0000-$BFFF, a więc nie powinien zamazać rozszerzonej pamięci, ani pamięci "pod ROM-em".

Jadę na std OS'ie. Pamięć nie jest wyczyszczona, ale wygląda na to, że są tam dane z podstawowej pamięci, za wyjątkiem pierwszych 128 bajtów.

4

Shift+F5 to nie jest zimny start w sensie skoku pod procedurę zimnego startu $E477. Ta kombinacja symuluje wyłączenie i ponowne włączenie komputera - zimny start w innym znaczeniu.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

5

Krótki napisał/a:

Shift+F5 to nie jest zimny start w sensie skoku pod procedurę zimnego startu $E477. Ta kombinacja symuluje wyłączenie i ponowne włączenie komputera - zimny start w innym znaczeniu.

Czyli opis tej opcji w emulatorze jest nieprawidłowy - Reset->Cold (Shift F5)... Pozostaje pytanie: czy istnieje jakiś sposób, aby ta kombinacja nie robiła misz-masz z pamięcią rozszerzoną?

6

Dobra, przepraszam za wprowadzenie w błąd. Zajrzałem do źródeł Atari800 - faktycznie Shift+F5 powoduje zimny start w sensie wysłania przerwania RESET do procesora, a nie tak jak wcześniej napisałem.

W każdym razie potestowałem w emu Atari800 w BASICu jak się sprawa ma. Ustawiłem wielkość pamięci na 128KB, wpisałem

POKE 54017,225:POKE 32700,1
POKE 54017,229:POKE 32700,2
POKE 54017,233:POKE 32700,3
POKE 54017,237:POKE 32700,4

i nacisnąłem Shift+F5. Wartości we wszystkich bankach zostały zachowane. Więc moja rada - sprawdź, czy Ci działa w czystym Atari800.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

7 Ostatnio edytowany przez Marek Konopka (2009-01-10 20:52:41)

Sprawdziłem tylko pierwszy bank ($e3 do $d301) w Atari800. Jest tak samo - zawartość pamięci rozszerzonej została zmieniona po zimnym starcie. Czy zatem mamy do czynienia z błędem w emulacji?

Edit:
Chyba wiem co jest tego powodem - Dos II/D zapewne... :> Właśnie sobie przypomniałem, że pakuje się do ramdysku..

Edit:
Potwierdzone. Wydawało mi się, że ta funkcjonalność była dostępna wyłącznie w przypadku współpracy z Qmegiem. Najwyraźniej się myliłem.