1

witam,

zupelnie wylaczajac os mamy do dyspozycji:

$0000- $cfff
$d500 - $fff9

?

http://atari.pl/hsc/ad.php?i=1.

2

Tak, ale z zastrzezeniem, ze nie uzywasz tzw. "new devices", ktore moga sie lokowac od $d500 do $d7ff.

3

pierwsze dobrze a w drugim: $d800-$ffff

(o widzę, że lewiS był też na podorędziu ;) )

I Ty zostaniesz big endianem...

4

No i jak calkowicie nie wylaczysz przerwan, albo stosujesz jakies JSRy w programie, to zawsze cos Ci wpadnie w okolice $01ff :)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

5

$d000-$d7ff jest wyłączone z mapowania w RAM-ie.

6

ok. jesli wylaczymy przerwania to dostajemy tez $fffa-$ffff

dzieki, jeszcze jedno male pytanie:

czy w obrzarze $d000-$d7ff znajduje sie ram tylko nie jest podlaczany? czy mozna dokonac takiej modyfikacji 'lutownica' ;-) zeby ta pamiec jednak byla widoczna w obszarze $5000-$57ff uruchamiana bitem 7 portb - tak jak sie to dzieje z selftestem?

http://atari.pl/hsc/ad.php?i=1.

7

Mozna dokonac takiej modyfikacji, wiekszosc Freezerow to robila.
Freezer w moim komputerze (nie pamietam jaki chyba Turbo Freezer, ale inne freezery dzialaja praktycznie tak samo) byl tak skonstruowany ze zapisy do rejstrow sprzetowych wykonywaly sie takze do tego RAMu, a po wcisnieciu guzika byl on przemapowany w inne miejsce, tak by procedury freezera mogly odczytac to co bylo zapisywane do rejestrow z ktorych czytanie daje inny wynik.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

8

Owszem, rasowe Freezery... ba, nawet półfreezer zwany Cobra Hacker w jednej z wersji stosował ten ficzer, jednak pamięć ta i tak nie jest swobodnie dostępna do odczytu bezpośredniego a tym bardziej nie da się jej wykorzystać jako np. bufor danych dla programu.

9

dlaczego? byla by dokladnie tak samo dostepna jak kazde rozszerzenie pamieci tylko ze pod adresem $5000.

ciekawi mnie co sie dzieje gdy np przelaczamy bank a130 $4000 i przy okazji bank $5000. a juz totalny odlot to zrobic w tych adresach jakas pamiec zapisywalna nieulotna i traktowac ja jak pamiec konsol na hiscory dla roznych gier ;-) ustawienia konfiguracji komputera :D

http://atari.pl/hsc/ad.php?i=1.

10

xxl: ja piszę o $d000-$d7ff :P

11

zaraz bo czegos nie kumam. pamiec fizycznie znajdujaca sie pod adresem od $d000 po przelaczeniu bitu 7 w portb bedzie widziana od adresu $5000? standardowo rom z selftestem? mi chodzi o to czy mozna ta pamiec zamienic na ram tak jak wylaczajac rom z os i pojawia sie ram.

http://atari.pl/hsc/ad.php?i=1.

12

XXL skąd Ci ten pomysł przyszedł do głowy?

po wyłączeniu przez PORTB ROM-u, zyskujesz obszar $C000..$CFFF, $D800..$FFFF (uwaga na wektory przerwań)

KONIEC DYSKUSJI

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

13

Nie będzie widoczna - tak naprawdę to nie jest tak, że selftest siedzi w obszarze $d000-$d7ff - self test siedzi fizycznie w pamięci OS ROM 16kB, a to atarowskie MMU, które posiada wejścia z linii PB0,PB1 i PB7 oraz linii adresowych A11-A15 ma poczynione założenia warunkowe, że jeżeli PB7 nakazuje mu odpalenie self testu a na liniach adresowych jest wystawiony adres z przedziału $5000-$57ff to daje OS ROM-owi dostęp do magistrali danych, natomiast, gdy PB0 ma ustawienie wymuszające aktywność OS ROM-u a na magistrali adresowej pojawia się adres z przedziału $c000-$ffff to także udostępnia OS - ROM magistrali danych - jest tylko wyjątek, gdyby pojawił się adres z zakresu $d000-$d7ff - wtedy nie udostępnia OS ROM-u magistrali a uaktywnia układ 74138, który w zależności od linii adresowych A8-A10 "wybiera" układy np. GTIA, POKEY i PIA.

Więc stwierdzenie, że fizycznie self test siedzi między $d000-$d7ff nie jest poprawne, bowiem selftest fizycznie siedzi w OS ROM-ie od $1000 do $17ff - a logicznie jak już jest widoczny przez 6502 w przedziale $5000-$57ff.

Ktoś może napisać, że czepiam się szczegółów, ale właśnie zrozumienie tego mechanizmu uzmysławia dlaczego 2kB pamięci RAM nie są bezpośrednio dostępne w przestrzenie adresowej 6502.

14 Ostatnio edytowany przez xxl (2007-09-19 08:51:12)

tak self test siedzi w romie od $1000 ale rom siedzi od adresu $c000 czyli $c000 + $1000 = $d000 - pod $d000 lezy selftest. kosc ramu zastepujaca rom tez ma adresy od $1000 (lub jak ktos woli $d000) mnie interesuje czy mozna zrobic tak zeby to nie 2kb romu bylo widoczne od $5000 tylko ram znajdujacy sie w tej kostce mapujacej caly rom wiec i to 2 kilowe okienko tez. wiem ze pewnie programowo tego wlaczyc sie nie da ale czy mozna to zrobic za pomoca lutownicy - odzalowalbym brak dostepu do romu z selftestem.

---
http://atariki.krap.pl/index.php/Mapa_pami%C4%99ci - tu jest ze selftest jest w adresach od $d000

http://atari.pl/hsc/ad.php?i=1.

15

To jest pewne uproszczenie, bowiem nigdy selftestu nigdy nie ma w obszarze $d000-$d7ff, ani logicznie, ani fizycznie.

Hardwareowo oczywiście, że się da, ale trzeba było robić dodatkowy sterownik pamięci bardzo podobny w działaniu do sterownika dodatkowej pamięci   oraz modyfikacji (cięć na płycie) w okolicach MMU.

16

xxl napisał/a:

http://atariki.krap.pl/index.php/Mapa_pami%C4%99ci - tu jest ze selftest jest w adresach od $d000

To tylko schemat. W rzeczywistości obecność Self Testu w tym miejscu jest niestwierdzalna, wiadomo tylko, że gdyby ten kawałek ROM-u był normalnie widoczny, wypadałby właśnie tam.

KMK
? HEX$(6670358)

17

Właśnie to poprawiłem.

18

to byl kiepski pomysl, trzeba bylo rozszerzyc opis ale nie kasowac wpisu self testu.
naglowek kolumny to rom i tam faktycznie znajduje sie selftest.
gdyby tak ktos chcial podmienic rom z umieszczonym programem zamiast selftestu to gdzie go wgra? w miejsce przez Ciebie wykasowane.

http://atari.pl/hsc/ad.php?i=1.

19 Ostatnio edytowany przez macgyver (2007-09-19 11:46:22)

To jest "Mapa pamięci" czyli to, co jest logiczne adresowane z punktu widzenia CPU a nie struktura organizacji w pamięci ROM.

A odnośnie organizacji w obrębie samej pamięci ROM zaraz naniosę poprawki do tego tematu.

20

MMU dekoduje adresy pojawiające się na magistrali adresowej. W przypadku odwołania do selftestu ustawia _CASINH (pin16) w stan niski  blokując dostęp do RAM i ustawia _OS (pin15) w stan niski aktywując OS ROM. Aby uzyskać dostęp do RAM pod seftestem trzeba przeprogramować MMU, ale wtedy nie będzie już tego pięknego testu.

21

jer: przeprogramować, albo zastosować dodatkowy sterownik + przełącznik, tak aby dysponować obydwoma trybami ;)

22

Pewnie, tylko atarynka już wygląda jak jeż z dźwigienkami przełączników zamiast igieł. Marzy mi się setup jak w piecu. Ale aby wszystko obsłużyć trzeba ustawiać/kasować przynajmniej 24 bity. Ale to już OT.

23 Ostatnio edytowany przez xxl (2008-10-27 22:07:05)

jak dostac sie do 2kb pamieci ram pod $d000-$d7ff (w ram od $5000):

> MMU dekoduje adresy pojawiające się na magistrali adresowej. W przypadku odwołania do selftestu ustawia _CASINH (pin16) w stan niski  blokując dostęp do RAM i ustawia _OS (pin15) w stan niski aktywując OS ROM. Aby uzyskać dostęp do RAM pod seftestem trzeba przeprogramować MMU, ale wtedy nie będzie już tego pięknego testu.

> jer: przeprogramować, albo zastosować dodatkowy sterownik + przełącznik, tak aby dysponować obydwoma trybami wink

moze ktos zajal by sie taka modyfikacja? najlepiej zeby to byla pamiec 'ramcart na baterie' lub jakis sram.

http://atari.pl/hsc/ad.php?i=1.

24

ale bredzisz XXL, kup sobie C64 będziesz miał więcej pamięci

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

25

Interesuje mnie sens takiego rozwiązania. Lepszym rozwiązaniem jest RAM-cart, który realizuje podobne zadanie BEZINWAZYJNIE i oferuje więcej przestrzeni (min. 8kB), a jak już musimy (przepraszam za wyrażenie) "rżnąć atarkę", to czemu nie skrzystać z dodatkowego RAM-u w standardzie RAMBO/COMPY SHOP (ktoś nawet posiadał 320kB RAM na statykach z podtrzymaniem bateryjnym).