76

jell: ale pelna dokumentacja jest zarowno do vbxe 1.1 1.2 jak i 2, wiec coz ci trzeba? tak naprawde wystarczy troche checi i mnostwo cierpliwosci

przechodze na tumiwisizm

77 Ostatnio edytowany przez xxl (2009-12-11 00:04:03)

mam pytanie, rdzen fx1.2

podlaczymy pamiec vbxe widziana przez atari od $8000 do $ffff, od $8000 do $bfff widzimy ram vbxe pozniej rom atari, a teraz wlaczamy new device z pamiec od $d800... ktora pamiec atari zobaczy vbxe czy nowego urzadzenia?

---
jesli od $d800 atari widzi rom nowego urzadzenia to czy w od $8000 w tym czasie nadal jest pamiec vbxe czy cos sie zmieni?

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

78 Ostatnio edytowany przez Pin (2009-12-11 00:23:09)

no to mamy panie - ostry fehler, coś mi się wydaje :)

...choć z czego pamiętam to KMK/IDE'a jest "czuła" na pakowanie danych w obszar FP w czasie I/O - przed i po nie powinno mieć to znaczenia :) Najlepiej, niechaj do tematu wniesie coś Draco, bo nie wiem czy przy okazji nowej rewizji SDX nie powstała jakaś alternatywna koncepcja "omijania" problemu.

Kontakt: pin@usdk.pl

79

xxl: nowego urzadzenia
od 8000 jest dalej pamiec vbxe
xxl, zle  podchodzisz do sprawy
na szynie adresowej nie moze byc na raz 8000 i d800, a pamiec nowego urzadznia pojawi sie tylko jak bedzie cpu chcialo z niej kozystac
tak samo jak i pamiec vbxe
mozliwym jest sytuacja w ktorej co drugi bajt z zakresu ktory podales zajmuje pamiec vbxe i dowolnego innego cosia - to bez znaczenia

przechodze na tumiwisizm

80 Ostatnio edytowany przez xxl (2009-12-11 08:08:40)

> xxl: nowego urzadzenia

ok.

> od 8000 jest dalej pamiec vbxe

ok.

> xxl, zle  podchodzisz do sprawy

w ktorym miejscu

> na szynie adresowej nie moze byc na raz 8000 i d800, a pamiec nowego urzadznia pojawi sie tylko jak bedzie cpu chcialo z niej kozystac
tak samo jak i pamiec vbxe

rozumiem, ale jesli mamy wlasnie podpiety rom nowego urzadzenia w $d800 i program tam zapisany chce cos odczytac/zapisac w $8000 to zobaczy rozumiem pamiec vbxe?

>mozliwym jest sytuacja w ktorej co drugi bajt z zakresu ktory podales zajmuje pamiec vbxe i dowolnego innego cosia - to bez znaczenia

no ma znaczenie, mozesz to jasniej wytlumaczyc?

---
moje pytanie wzielo sie stad, ze sprawdzalismy z Pinem ladowanie z roznych urzadzen przy podlaczonej pamieci vbxe, no i z KMK nie dalo sie tego zrobic...

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

81

KMK od D800 umieszcza swój kod

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

82 Ostatnio edytowany przez xxl (2009-12-11 09:05:19)

tak a VBXE jest tak skonstruowana ze rom ma zawsze wyzszy priorytet nad pamiecia karty wiec wszystko powinno swietnie dzialac a nie dziala.

---
chyba ze kmk zajmuje tez pamiec od $580...

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

83

eh
xxl
jeszcz raz
co cie interesuje pamiec od d800 skoro zapisujesz w danym momencie pod 8000?
pamiec pod d800 dla ciebie nie istnieje
pamiec pod 7fff tez nie istnieje
nawet pod 8001 pamiec nie istnieje
istnieje dla ciebie tylko pamiec pod 8000 bo wlasnie ta pamiec zostala przywolana do magistrali danych
nie jest prawda ze rom ma zawsze wyzszy priorytet
jest prawda ze jesli zostanie wygenerowany casinh to wtedy rom ma wyzszy priorytet
z twojego punktu widzenia: kombinujesz, gdzie nie ma problemu

jak jeszcze idea byla u mnie to ladowalem rozne rzeczy spod sdx do vbxe i dzialalo, wiec nie jest problemem vbxe, tylko kod
jesli probojesz zapisac blok pamieci od 8000-ffff i po drodze jest new device, a w szczegolnosci idea/kmk to nie rom cie zaboli, tylko bufor kmk ktory jest od de00
i jako zywo mozesz go nadpisac i zrobic kaput transmisji

przechodze na tumiwisizm

84 Ostatnio edytowany przez xxl (2009-12-11 10:23:18)

pieknie, tylko niczego takiego nie robioe :-)

http://atari.pl/test.obx ten programik laduje sie pod $580, wlacza pamiec vbxe przykrywajac rom (caly czas rom wlaczony czyli nie widzimy ramy vbxe), laduje pod $8000 program lda random; sta colbak w petli (czyli do pamieci juz vbxe), wylacza rom (zapisuje swoje przerwania vbi) i skacze do $8000, dziala na wszystkim oprocz kmk... chyba ze Pin ma cos nie pokolei z atari :-)

---
ale tez. jesli nie ma zamontowanego kabel patcha fx1.2 ;-) do vbxe to moze nastapic sytuacja ze to co kmk zapisuje do bufora jak mowisz $de00 wyladuje rowniez w pamieci karty vbxe (w adresach zaleznych od ustawienia banku pamieci vbxe) i dupa blada.

jest wiec kilka mozliwosci.

z czym mamy do czynienia.

---
latwo wykryc taka sytuacje, potrzebny jest ktos z monitorem pamieci i kmk

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

85

xxl: kmk/jz czy idea nie kozystaja z casinh tylko extsel do mapowania swojej pamieci, co tez jest wykrywane przez vbxe i nie moze cos zapisac na raz do pamieci vbxe i swojej, albo jak sugerujesz do pamieci vbxe zamiast do swojej
moze zamiast obx pokaz zrodlo?

przechodze na tumiwisizm

86 Ostatnio edytowany przez drac030 (2009-12-11 11:02:54)

True. "ROM włączony" nie oznacza, że urządzenie PBI nie podepnie swojego RAM-u w obszar $d800-$dfff. Aczkolwiek na naszym interfejsie próba bezpośredniego I/O pod ten adres powinna dać w tym momencie error 139. Ale tak poza tym to kwestia loadera, powinien taki zapis czy odczyt zbuforować.

KMK
? HEX$(6670358)

87 Ostatnio edytowany przez xxl (2009-12-11 11:58:34)

nie sugeruje ze zapisuje do pamieci vbxe ZAMIAST do swojej tylko pisze wprost ze bez kabla zapisuje ROWNOCZESNIE do pamieci swojej i vbxe przy czym gdzie do pamieci vbxe decyduje ustawienie banku vbxe.

ale i tak to sa wszystko domysly, moze byc 20 innych przyczyn (lacznie z uszkodzonym kompem Pina), moze zacznijmy eliminowac podejrzanych. sprawdz czy ten test dziala u Ciebie na konfigu z kabelpatchem/bez z kmk/bez(*) inaczej bedziemy watek ciagnac przez nastepne 100 stron bez celu :-)

dobrze by bylo, zebys rowniez podal konfig na ktorym dziala a nie tylko ten na ktorym nie dziala.

* rozumiem ze masz dostep do sporej ilosci roznych konfiguracji

---
drac030, nie ma prob bezposredniego I/O pod ten adres...

---
moglbys tez powiedziec gdzie dla sdx/kmk jest w miare bezpiecznie cos ulokowac podczas ladowania?
1. $100-$17f stos
2  $480-$4ff bufor basica
3. $580-$5ff bufor fp
4. $600-$67f
5. $680-6ff

---
dla jasnosci http://atari.pl/test.obx
powinien wygladac tak:
http://atari.pl/testobx.png

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

88

a ja ci wykladam, ze zapis rownoczesnie nie ma miejsca

przechodze na tumiwisizm

89

a ja ci wykladam ze bez kabel patcha ma miejsce

kolejne 2 nic nie wnoszace posty, przeczytaj moj poprzedni list. moze jednak cos zrobimy w kierunku wyjasnienia?

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

90

wyciagma reke...

wlaczyc atari bez dosa czy wczytywania czegokolwiek, goly basic, vbxe fx1.2
prosze wpisac:
1.pok.54878,252 - czyli pamiec vbxe (bank 0) dla atari widziany pod $f000 o wielkosci 4kb
2.pok.54879,128 - wlacz pamiec vbxe
pamiec vbxe caly czas powinna byc niewidoczna dla atari wiec zapis:
3.pok.61440,100 - $f000
nie zmieni zawartosci ramu vbxe

podejrzewam jednak ze bez kabel patcha nie dojdziecie nawet do 3 punktu

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

91

tak, bez kabelka osiągnięcie punktu 3 jest niemożliwe, następuje ZWIS w pkt 2

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

92

U mnie sekwencja przeszła cała bez problemu

Wartość 100 nie pojawiła się w pamięci VBXE (sprawdziłem po przeniesieniu banku pod $8000 : poke 54878,140)

Mam kabelek.

pomidor

93 Ostatnio edytowany przez xxl (2009-12-11 20:41:06)

wlasciwie juz wiem dlaczego nightshade u Candle nie dziala, sugeruje zeby ci, ktorzy jeszcze tego nie zrobili (lacznie z Candle) zastosowal sie do zalecen z instrukcji tworcy karty VBXE i przylutowal sobie kabelek.

zadumalem sie nad tymi slowami Candle:
"czy dolutujesz kabelek czy nie - nie ma to znaczenia dla sprawy"
...
"jak mowie to wiem jak dla mnie to moze sobie migac i udzielac nagan wzrokowych, a ja wciaz musiec nie bede..."

Candle montujesz ludziom VBXE, wielu z nich nie musi sie na tym znac ale polegaja na Twoim slowie, postaraj sie zeby Twoje slowo cos znaczylo(*).

kabel patch jest NIEZBEDNY DO PRAWIDLOWEGO DZIALANIA RDZENIA FX1.2, jesli ktos tego nie ma, nie moze zglaszac reklamacji ze cos mu nie dziala.

---
* w sensie mialo jakas wartosc wyrazona w innych jednostkach niz w kilobajtach zajmujacych miejsce w bazie danych

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

94

po poke z punktu drugiego masz zwis bez kabelka - ok, ale to nie zmienia faktu, ze  nie ma to nic wspolnego z wspolpraca lub tez nie z kmk, poniewaz kmk nie kozysta z mechanizmu casinh, tak jak rom systemu, ale z mechanizmu extsel - zmieniles warunki testu

kabelek to ja mam dolutowany, a nightshade wiesza sie tak czy inaczej przy ladowaniu z ape - przy sdx problem nie wystapil - byla o tym mowa w temacie

nie montuje ludziom VBXE, zdazylo mi sie to w 3? przypadkach, produkowalem vbxe2 ktore bylo tak samo moja jak i electrona konstrukcja

mowienie o tym ze moje slowo nic nie znaczy uwazam za krzywdzace, poniewaz nie ma tu nic, co by potwierdzalo twoja teze o konflikcie kmk/fx v1.20 bez kabelka

oczywiscie uznasz ten post za kolejne napychanie bazy danych, ale to juz twoj problem

przechodze na tumiwisizm

95

Candle napisał/a:

kabelek to ja mam dolutowany, a nightshade wiesza sie tak czy inaczej przy ladowaniu z ape - przy sdx problem nie wystapil - byla o tym mowa w temacie

dziwne, mi po SIO i pod SDX NS nie dziala :)

Kontakt: pin@usdk.pl

96

Namieszałem trochę XXL-owi, więc późno bo późno ale zabieram głos w dyskusji.

Odrobina technicznego bełkotu może pomóc zrozumieć jak działają mechanizmy MEMAC i obostrzenia z nimi związane.

-------------------------------------------------------------------------------------
Mechanizm kontroli linii CASINH

Próba dostępu przez CPU / ANTIC do adresów zajętych przez:

- OS ROM (gdy aktywny - sterowanie: PORTB)
- BASIC (gdy aktywny - sterowanie: PORTB)
- Cartridge (gdy aktywny - sterowanie liniami RD4 i RD5 na porcie CART)
- Rejestry sprzętowe ($d000-$d7ff, aktywne zawsze)

Spowoduje wystawienie przez MMU sygnału CASINH, który to sygnał odcina wewnętrzną
pamięć RAM Atari. Dodatkowo CASINH podłączony do VBXE informuje je, że nie należy nawet próbować podłączać VRAM do szyny.
To połączenie CASINH do VBXE to właśnie ten nieszczęsny nowy "kabelek". Jego brak spowoduje, że
w powyższych przypadkach nic nie ostrzeże VBXE i będzie tak:

przy odczycie: dane z VRAM "zderzą się" na szynie danych z danymi z ROM, CARTA lub rejestrów sprzętowych.
w efekcie bufory będą przeciążane (ale raczej nic się nie spali) i CPU / ANTIC odczyta jakieś bzdury
(wygra silniejszy scalak) - mamy tu p.2 z testu XXL-a - komp się wiesza ponieważ obszar romu $f000-$ffff jest
na bieżąco używany a już nie można nic normalnego z niego odczytać.

przy zapisie: dane zapisywane będą jednocześnie do VRAM i ROM (!) lub rejestrów sprzętowych ....
tutaj jest jeszcze jeden zonk który wynika z konstrukcji atari - mianowicie zapis do ROM
powoduje znowu zderzenie na szynie danych ponieważ w uproszczeniu ROM zakłada, że jeżeli coś od niego chcą
to jest to zawsze odczyt niezależnie od stanu linii R/W i wystawia dane na szynę.

Dodanie kabelka do VBXE powoduje, że nie wpycha się ono z pamięcią MEMAC A na siłę tam, gdzie i tak wepchnąć się nie może.

-------------------------------------------------------------------------------------
Mechanizm kontroli linii EXTSEL

New Device wystawia sygnał MPD, który powoduje odłączenie przez MMU ROMu w obszarze
$d800-$dfff. Po odłączeniu nie jest już wystawiany sygnał CASINH dla tego obszaru -
w tym miejscu może się więc pojawić okienko z normalnym RAM Atari. Aby Atari nie podłączyło ani ROM ani RAM
dodatkowo uaktywnia się linię EXTSEL, która niezależnie odłączy wewnętrzny RAM.
Pojawia się więc "dziura" $d800-$dfff w którą można podstawić ROM/RAM NewDevice (KMK).

Sygnał CASINH dla tego obszaru jest więc nieaktywny, jednak VBXE i w tym przypadku
"trzyma rękę na pulsie" monitorując dodatkowo stan linii EXTSEL (z której samo korzysta w celu zmiany normalnego RAM na obszar VRAM)
robi to następująco:

- gdy spełnione są warunki włączenia bufora memac a/b (CASINH nieaktywny, adres zgodny z memac, aktywacja memac)
wówczas sprawdzany jest jeszcze stan linii EXTSEL - jeżeli linia jest aktywna, wówczas VBXE zakłada, że
jakieś nieznane mu urządzenie (np. KMK) zażądało dostępu do szyny danych i "odpuszcza sobie" podłączenie VRAM w tym cyklu
- nieznane urządzenie ma priorytet nad VBXE.
Jeżeli linia EXTSEL jest nieaktywna, wówczas VBXE zakłada, że nic nieznanego mu nie "dobiera się" do szyny sam ją (linię EXTSEL) aktywuje - czyli w tym cyklu podłączany jest VRAM a odłączany RAM Atari.

pomidor

97

xxl napisał/a:

moglbys tez powiedziec gdzie dla sdx/kmk jest w miare bezpiecznie cos ulokowac podczas ladowania?
1. $100-$17f stos
2  $480-$4ff bufor basica
3. $580-$5ff bufor fp
4. $600-$67f
5. $680-6ff

Wszystkie te miejsca są "bezpieczne". BIOS dysku używa paru komórek na stronie zerowej, których przy pracy ze zwykłą stacją dysków używa SIO (adresy $30-$40). Poza tym korzysta tylko ze swojej wewnętrznej pamięci RAM, która, jak już to jest wyżej napisane, podczas transmisji pojawia się pod $DE00.

SDX podobnie. Poza tym bufor magnetofonu i spółka ($0400-$05FF) oraz stos ($0100-$017F) zostanie nadpisany przez formatter, kiedy wywołasz z programu XIO 254 i każesz sformatować dyskietkę, a bufor FP może być nadpisany przy wywołaniu niektórych funkcji specyficznych dla SDX (w rodzaju: otwarcie pliku z poszukiwaniem go wzdłuż ścieżki dostępu). Pobieranie parametrów z linii komend itp. może spowodować podpięcie kartridża na chwilę (pod $A000-$BFFF). To chyba wszystko.

KMK
? HEX$(6670358)