Dyskusja:Programowanie: Jak wyłączyć ROM systemu
From Atariki
Wersja z dnia 20:37, 13 wrz 2008 Macgyver (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 13:39, 9 mar 2013 Xxl (Dyskusja | wkład) Next diff → |
||
Linia 7: | Linia 7: | ||
poza tym specyfika systemu atari wymaga wyłączenia przerwań na czas włączenia w obszarze c000-cfff i d800-ffff RAM-u, i komórki fff9-ffff i tak są widoczne jako zwykła pamięc, zatem argumentacja, że "zastosowanie jest bardzo wąskie" i dlatego należy podawać adres końca fff9, a nie ffff według mnie wprowadza dużo zbędnego zamieszania. Pamięć jest w pełni mapowalna i dostępna dla CPU (Antica zresztą też), zatem nie używajmy oznaczenia fff9 tylko ffff --[[Użytkownik:Macgyver|Macgyver]] 22:37, 13 wrz 2008 (CEST) | poza tym specyfika systemu atari wymaga wyłączenia przerwań na czas włączenia w obszarze c000-cfff i d800-ffff RAM-u, i komórki fff9-ffff i tak są widoczne jako zwykła pamięc, zatem argumentacja, że "zastosowanie jest bardzo wąskie" i dlatego należy podawać adres końca fff9, a nie ffff według mnie wprowadza dużo zbędnego zamieszania. Pamięć jest w pełni mapowalna i dostępna dla CPU (Antica zresztą też), zatem nie używajmy oznaczenia fff9 tylko ffff --[[Użytkownik:Macgyver|Macgyver]] 22:37, 13 wrz 2008 (CEST) | ||
+ | |||
+ | |||
+ | zapis do NMIRES (_no sta $d40f) w procedurze rozpoznawania przerwania jest zbędny.[[Użytkownik:Xxl|Xxl]] 14:39, 9 mar 2013 (CET) |
Wersja z dnia 13:39, 9 mar 2013
(obszary: $c000-$cfff oraz $d800-$fff9) - do $fff9-$ffff też mamy dostęp. Xxl 08:44, 11 wrz 2008 (CEST)
fakt, jednakze zastosowanie tych 6-ciu bajtow jest bardzo waskie. Bob_er 13:25, 13 wrz 2008 (CEST)
sądzę, że z formalnego punktu widzenia lepiej posługiwać się ostatnim adresem $ffff, a nie $fff9 - po pierwsze dlatego, że rozmawiamy o specyficznej architekturze Atari, a więc skupiamy się na sterowaniu dostępem do pamięci w Atari a nie znaczeniem tych komórek dla 6502, po drugie - tu również mamy do czynienia ze specyfiką Atari: ignorując przerwania IRQ możemy dowolnie korzystać z komórki od jego wektora - przerwań NMI nie zignorujemy, ale w Atari możemy zablokować ich źródło, zatem komórki są do naszego wykorzystania, pozostaje wektor RESET, którego wartość w RAM-ie i tam może być dowolna i ze względu na specyfikę konstrukcji Atari 6502 nigdy nie korzysta z komórek RAM-u "pod ROM" dla wektora RESET - bowiem podczas sprzętowego RESET-a przywracane są domyślne ustawienia układu PIA, który ustawia bity PORTB ($d301) tak, że ZAWSZE po resecie w tym obszarze będzie ROM i obsługa "reseta" nastąpi poprzez skok poprzez wartości umieszczone w ROM-ie. --Macgyver 16:55, 13 wrz 2008 (CEST)
poza tym specyfika systemu atari wymaga wyłączenia przerwań na czas włączenia w obszarze c000-cfff i d800-ffff RAM-u, i komórki fff9-ffff i tak są widoczne jako zwykła pamięc, zatem argumentacja, że "zastosowanie jest bardzo wąskie" i dlatego należy podawać adres końca fff9, a nie ffff według mnie wprowadza dużo zbędnego zamieszania. Pamięć jest w pełni mapowalna i dostępna dla CPU (Antica zresztą też), zatem nie używajmy oznaczenia fff9 tylko ffff --Macgyver 22:37, 13 wrz 2008 (CEST)
zapis do NMIRES (_no sta $d40f) w procedurze rozpoznawania przerwania jest zbędny.Xxl 14:39, 9 mar 2013 (CET)