@laborant: Dzięki! Czyli jest zgodnie z opisem - $83,$87,$8B,$8F włączają pamięć podstawową.
A czy mógłbyś jakimś XLF-em ustawić w komórce $D301 wartość $8F i zobaczyć co znajduje się w $4000 i w $5000?
SHIFT+CONTROL+4 włączasz wglądownicę,
<> przeskakujesz o stronę,
strzałkami przesuwasz kursor,
0-9 i A-F wpisujesz wartość do komórki.
Edit: Może jak interpretować wyniki tego MEMSCAN.OBX :)
Dwucyfrowe wartości reprezentują wartość wpisaną do PORTB. Wartości prezentowane są wierszami po 16 wartości. Czyli pierwszy wiersz to $00-$0F, drugi $10-$1F, i tak dalej aż do $F0-$FF.
Wpisywane są kolejno wszystkie wartości do PORTB i do komórki $4000 (bank włączany jest w obszarze $4000-$7FFF), jeśli więc kilka wartości włącza ten sam bank, to po przejściu całej tej procedury w każdym istniejącym banku dostaniemy ostatnią wartość która bank wybierała.
FF to bank pamięci podstawowej w obszarze $4000-$7FFF.
Dodatkowo w każdym banku pod adresem $4100 wpisywana jest taka dlista:
$C1 $00 $41 JVB+DLI $4100
a w pamięci podstawowej dla odmiany
co pozwala nam sprawdzić czy ANTIC czyta dlistę z banku podstawowego (DLI nie wystąpi nigdy), czy z dodatkowego (DLI wystąpi). Jeśli DLI wystąpiło, to dla danego banku malujemy pierwszą jego cyfrę w inwersie.
Dlista bez DLI jest w rzeczywistości umieszczana w pamięci podstawowej pod adresami $0100, $4100, $8100 i $C100, co pozwala jeszcze wytestować mapowanie pamięci podstawowej w obszarze okna $4000-$7FFF.
Jeśli więc w wierszu $0x i $1x, $4x, $5x, ... mamy DLI, a w $2x i $3x, $6x i $7x, ... nie mamy to znaczy, że mamy osobny dostęp ANTIC-a i CPU do pamięci dodatkowej (bit 5 to ANTIC, bit 4 to CPU).
A jeśli mamy DLI w $0x, $2x, $4x, ... a w $1x, $3x, $5x, ... nie mamy, to wtedy mamy wspólny dostęp CPU i ANTIC-a do pamięci dodatkowej (bit 4).
Jeśli na pozycji $xx mamy DLI i wartość $FF oznacza to że CPU widzi bank podstawowy, a ANTIC dodatkowy (bo jest DLI).
Jeśli na pozycji $xx jest wartość $xx i mamy DLI, to i CPU, i ANTIC widzi bank dodatkowy.
Jeśli na pozycji $xx jest wartość $xx i nie mamy DLI, to CPU i ANTIC widzą bank podstawowy.
Jeśli wartości się powtarzają n razy to bity niższe niż log(2,n) :D nie biorą udziału w wybieraniu banków.
Trochę to wygląda na skomplikowane, ale w gruncie rzeczy dość proste.
Post's attachmentsXL Friend 5.2 (v1).xex 7.12 kb, liczba pobrań: 3 (od 2024-12-15)
Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje