676 Ostatnio edytowany przez ravenollo (2023-06-26 16:52:22)

perinoid napisał/a:

Na XE? I kolor zniknął na Composite? Nie wywaliłeś przy tym może modulatorów? Jeśli nie, to pokręć potencjometrem od kolorów, może wtedy kolor ci wskoczy.

1. Atari 800XL
2. Modulator jest wylutowany.
3. Krecilem już potencjometrem. Nic sie nie zmienia.
4. Ten sam problem testowalem na 2-ch plytach i jest to samo. Kiedy wkladam oryginalne GTIA kolor jest. Po wlozeniu Sophia 2 koloru na composite nie ma.

677

ravenollo napisał/a:
perinoid napisał/a:

Na XE? I kolor zniknął na Composite? Nie wywaliłeś przy tym może modulatorów? Jeśli nie, to pokręć potencjometrem od kolorów, może wtedy kolor ci wskoczy.

1. Atari 800XL
2. Modulator jest wylutowany.
3. Krecilem już potencjometrem. Nic sie nie zmienia.
4. Ten sam problem testowalem na 2-ch plytach i jest to samo. Kiedy wkladam oryginalne GTIA kolor jest. Po wlozeniu Sophia 2 koloru na composite nie ma.

----------------------------------------------------------------------------------------

Ok sprawa chyba wyjasniona. Udalo mi sie skontaktowac z Simiusem i okazuje sie ze moze byc uszkodzony PLL. Odsylam do naprawy. :)

Dziekuje Wszystkim za odpowiedzi.

678

Jakby ktoś kiedyś szukał/pytał... w moim XE też nie ma modulatora i z zośką, po s-video jest kolor ;)

Atari 65XE, U1MB, Sophia2, AVG Cart, SIO2SD

679

Modulator nie ma nic do S-Video, jedynie do Composite i tylko w XE.

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

680 Ostatnio edytowany przez TMK (2023-06-30 08:06:48)

Pytałeś kolegę o to czy wywalał modulator, tym się zasugerowałem ;)

Atari 65XE, U1MB, Sophia2, AVG Cart, SIO2SD

681

Tak, bo przed moim pytaniem nie napisał o jakiej wersji kompa jest mowa (XL czy XE). Dlatego zapytałem o model i dla kompresji od razu o modulator.

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

682

24. Lampionik - 2 szt (DVI)
25. thar97 - 1 szt (DVI)
27. Spider1975 - 1 szt (DVI)
28. Arko - 1 szt (DVI)
29. Grasol
31. jet - weź pan, każdy bierze (1 szt.)
32. Lexx ( 1szt. DVI )
33. W1k - 1 szt.
34. j4zon3k - 1 szt.
35. pawelkrak - 1 szt.
36. AS - 1 szt. dvi z kablem - potwierdzam 2022-12-08
37. kazdego.szkoda - poproszę 1 szt.  (DVI)

683

24. Lampionik - 2 szt (DVI)
25. thar97 - 1 szt (DVI)
27. Spider1975 - 1 szt (DVI)
28. Arko - 1 szt (DVI)
29. Grasol
31. jet - weź pan, każdy bierze (1 szt.)
32. Lexx ( 1szt. DVI )
33. W1k - 1 szt.
34. j4zon3k - 1 szt.
35. pawelkrak - 1 szt.
36. AS - 1 szt. dvi z kablem - potwierdzam 2022-12-08
37. kazdego.szkoda - poproszę 1 szt.  (DVI)

684 Ostatnio edytowany przez Inmark (2023-07-20 09:30:49)

24. Lampionik - 2 szt (DVI)
25. thar97 - 1 szt (DVI)
27. Spider1975 - 1 szt (DVI)
28. Arko - 1 szt (DVI)
29. Grasol
31. jet - weź pan, każdy bierze (1 szt.)
32. Lexx ( 1szt. DVI )
33. W1k - 1 szt.
34. j4zon3k - 1 szt.
35. pawelkrak - 1 szt.
36. AS - 1 szt. dvi z kablem - potwierdzam 2022-12-08
37. kazdego.szkoda - poproszę 1 szt.  (DVI)
38. Inmark - płytka DVI niezlutowana, komponenty luzem - idzie na płytkę XE Remake

Atari 130XE, Ultimate 1MB, Sophia2
FujiNet Basic by Zaxon, TOMS720 by Zaxon, SIO2SD, 8bitDo
XE Remake - in progress

685 Ostatnio edytowany przez mono (2023-08-18 10:56:12)

@Simius: Dwa pytanka:

1. Dokumentacja mówi, że po uaktywnieniu banku rejestrów Sofii licznik palety jest zerowany.
Mówi też, że ostatnie 768 bajtów jest nieużywane.
Mówi też że system domyślnie (rozumiem że po resecie układu) uaktywnia paletę 0.
Czy to oznacza, że licznik 0 wskazuje na paletę 1? Palety są ułożone w kolejności rosnącej w pamięci?
Rejestr PALDATA ($D01F) jest write-only - nie mógłbyś go zrobić do odczytu? Ja rozumiem że tam są dane dla YPbPr, ale w ten sposób można byłoby zrobić przynajmniej jakiś zrzut palety i/lub ominąć paletę i zaprogramować tylko tą, którą chcę. A potem sobie ją aktywować tylko.

2. Czy da się rozpoznać tę pierwszą partię która ma 24-bitowe wpisy w palecie? REV=0 czy co?

Edit: Albo wybranie palety w PRIOR mogło by ustawiać wskaźnik na jej początek.

Edit 2: A może nie są w YPbPr bo przecież jest też tryb RGB (czyli konwersja odbywałaby się w locie przy wybraniu YPbPr). To tym bardziej poprosiłbym o możliwość odczytu.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

686

Dwa spostrzeżenia po testach które wykonywaliśmy dzięki uprzejmości AtariFana.

Sophia2 rev.3

1. Przy uaktywnionym bicie LUM0EN 8-bitowe są rejestry kolorów COLPF1 i COLPF2, a reszta nadaj jest 7-bitowa.
2. Przy uaktywnionym bicie HIRESBC i włączonym trybie HiRes (2,3,F ANTIC-a) w pełni odseparowane faktycznie są kolory piksela zapalonego COLPF1 i piksela zgaszonego COLPF2. Natomiast kiedy kładziemy sprajta (co powoduje zmianę koloru piksela zgaszonego), wtedy starą modą podkolorowywany jest również piksel zapalony - czyli kolor brany jest ze sprajta, a luminancja z COLPF1. Wydaje mi się, że byłoby logiczne że kolor i luminancja piksela zapalonego brana byłaby z COLPF1 tak, jak w przypadku zwykłej grafiki niepodkolorowanej sprajtem. Dotyczy to i playerów, i missilli, i włączonego multicoloru sprajtów, i missili połączonych w piątego playera, i priorytetu 0.

Wydaje mi się, że to są błędy i prosiłbym o poprawki.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

687

mono napisał/a:

@Simius: Dwa pytanka:

1. Dokumentacja mówi, że po uaktywnieniu banku rejestrów Sofii licznik palety jest zerowany.
Mówi też, że ostatnie 768 bajtów jest nieużywane.
Mówi też że system domyślnie (rozumiem że po resecie układu) uaktywnia paletę 0.
Czy to oznacza, że licznik 0 wskazuje na paletę 1? Palety są ułożone w kolejności rosnącej w pamięci?

Palety programowane ułożone są w pamięci w kolejności rosnącej. Paleta 0 (default) nie rezyduje w pamięci. Jest tworzona przez logikę i stan rejestrów PAL3..0 = "0000" podłącza ją zamiast pamięci. Ponieważ jednak pamięć palet jest ładowana od adresu 0, a pierwsza ładowalna paleta ma nr 1, po drodze między rejestrem PAL3..0 a pamięcią, jest sumator, który dodaje $0F do zawartości rejestru, przez co paleta nr 1 wypada w pamięci od adresu 0. W ten sposób ostatnia paleta, o numerze 15, kończy się pod adresem $2CFF i obszar $2D00...$2FFF pozostaje nieużywany. Choć oczywiście można tam coś wpisać i licznik przekręci się po przekroczeniu $2FFF. Lepiej tak, niż wysyłać na początku na pusto 768 bajtów.

Rejestr PALDATA ($D01F) jest write-only - nie mógłbyś go zrobić do odczytu? Ja rozumiem że tam są dane dla YPbPr, ale w ten sposób można byłoby zrobić przynajmniej jakiś zrzut palety i/lub ominąć paletę i zaprogramować tylko tą, którą chcę. A potem sobie ją aktywować tylko.

Nie przyszło mi nawet do głowy, że ktoś chciałby zrobić coś takiego. Zresztą prawdopodobnie i tak by się nie udało z powodu braku zasobów. I tak trzeba było dociskać kolanem, żeby zmieściło się to, co jest. Zamierzenie było takie, żeby użytkownik ładował sobie na początku wszystkie potrzebne palety i potem już tylko sobie wybierał według bieżącej potrzeby. 16 palet po 256 kolorów to razem 4096. Za mało?

2. Czy da się rozpoznać tę pierwszą partię która ma 24-bitowe wpisy w palecie? REV=0 czy co?

Da się. Mają niebieską soldermaskę, a nie zieloną i układ 10M04 a nie 10M02, jak pozostałe.

Edit: Albo wybranie palety w PRIOR mogło by ustawiać wskaźnik na jej początek.

Mogłoby, ale to bardziej skomplikowane układowo niż ustawienie jednego bitu, a celowość wątpliwa. W każdej chwili możesz sobie przecież kłapnąć tym bitem i wyzerować licznik.

Edit 2: A może nie są w YPbPr bo przecież jest też tryb RGB (czyli konwersja odbywałaby się w locie przy wybraniu YPbPr). To tym bardziej poprosiłbym o możliwość odczytu.

Nie ma oddzielnych palet YPbPr. Konwersja RGB do YPbPr jest wykonywana arytmetycznie. Jak pisałem wyżej, raczej bym na to nie liczył.

Reszta później.

Ceterum censeo Germaniam esse delendam.

688

mono napisał/a:

Dwa spostrzeżenia po testach które wykonywaliśmy dzięki uprzejmości AtariFana.

Sophia2 rev.3

1. Przy uaktywnionym bicie LUM0EN 8-bitowe są rejestry kolorów COLPF1 i COLPF2, a reszta nadaj jest 7-bitowa.

W pierwszym odruchu chciałem na to odpowiedzieć, jak łyżka - niemożliwe. Wszystkie rejestry koloru w Sophii są fizycznie 8-bitowe, a tylko dla zachowania kompatybilności, bit0 wejść wszystkich rejestrów podłączony jest do magistrali danych przez bramkę AND, której drugie wejście jest sterowane bitem LUM0EN. Zbyt proste, żeby nie działało, albo działało odmiennie na różne rejestry. Pomyślałem sobie jednak, że "jeśli dwie osoby mówią ci, że jesteś pijany... itd." Najprostszy test, który wykonałem w BASIC - cztery pasy w kolejnych kolorach, w grafice 7, wyłączenie NMI i zapis rejestrów koloru sąsiednimi wartościami nieparzystymi i parzystymi - wykazał, że 8 bitowy kolor jest dostępny także przynajmniej dla rejestrów COLPF0 i COLBAK. Jak wyglądały Wasze testy?

2. Przy uaktywnionym bicie HIRESBC i włączonym trybie HiRes (2,3,F ANTIC-a) w pełni odseparowane faktycznie są kolory piksela zapalonego COLPF1 i piksela zgaszonego COLPF2. Natomiast kiedy kładziemy sprajta (co powoduje zmianę koloru piksela zgaszonego), wtedy starą modą podkolorowywany jest również piksel zapalony - czyli kolor brany jest ze sprajta, a luminancja z COLPF1. Wydaje mi się, że byłoby logiczne że kolor i luminancja piksela zapalonego brana byłaby z COLPF1 tak, jak w przypadku zwykłej grafiki niepodkolorowanej sprajtem. Dotyczy to i playerów, i missilli, i włączonego multicoloru sprajtów, i missili połączonych w piątego playera, i priorytetu 0.

Może tak być. Logika priorytetów, ze wszystkimi łatkami, z odtwarzaniem zachowań nieudokumentowanych, jest już tak zagmatwana, że ją teraz nie do końca ogarniam. :) Musiałbym dużo czasu poświęcić na opracowanie łatki, a jeszcze więcej na sprawdzenie, czy czegoś innego przy okazji nie zepsułem. A czasu mam coraz mniej, musiałbym inne rzeczy odstawić. I co dalej? Ogłoszenie akcji serwisowej? Nie bądźmy Volkswagenami. Sprawa zbyt mało istotna moim zdaniem.

Ceterum censeo Germaniam esse delendam.

689 Ostatnio edytowany przez mono (2023-08-21 11:13:58)

Simius napisał/a:

Najprostszy test, który wykonałem w BASIC - cztery pasy w kolejnych kolorach, w grafice 7, wyłączenie NMI i zapis rejestrów koloru sąsiednimi wartościami nieparzystymi i parzystymi - wykazał, że 8 bitowy kolor jest dostępny także przynajmniej dla rejestrów COLPF0 i COLBAK. Jak wyglądały Wasze testy?

Najprostszego testu nie zrobiliśmy, a może od tego należało wyjść.

Za to mam taki programik do testowania przeróżnych kombinacji i układów sprajtów i trybów multicolor/hires (anticgtiatest.obx w załączniku). Przy aktywacji Sophii (S) ustawiane są naraz bity HIRESBC i LUM0EN, a przy deaktywacji zerowane.
Sposób obsługi:
A - zmiana trybu ANTIC2 (hires GR.0) / ANTIC4 (multicolor GR.12)
XC - ustawienie CHACTL
G - zmiana trybu GTIA: %00 (GR.0/GR.12), %01-GR.9, %10-GR.10, %11-GR.11
01248 - "legalny" priorytet PMG
OP - dowolny priorytet PMG
M - PMG multicolor
5 - PMG 5 player
TAB - zmiana wzajemnej konfiguracji sprajtów i missili
INVERSE - inverse pamięci ekranu
strzałki prawo/lewo - poruszanie kursorem po rejestrach kolorów COLPM0..3 COLPF0..3 COLBAK
strzałki góra/dół modyfikują luminancję wybranego rejestru
CONTROL+strzałki góra/dół modyfikują chrominancję wybranego rejestru
S - włącza w konfiguracji Sophii LUM0EN i HIRESBC
V - włącza w konfiguracji VBXE XCOLOR
Poziome pasy 0,1..F to są wiersze wypełnione takimi wartościami $00, $11, $22, itd.
Pionowe pasy 0P1 2P3 to częściowo nałożone na siebie playery (0 to pas playera 0, 1 to player 1, P to player 0 nałożony na 1) a 0M1 2M3 (analogicznie ale missile) - TAB modyfikuje położenie tych pasów.

Test jaki wykonaliśmy to:
ANTIC2
GTIA %10 (GR.10)
Sophia włączona
i modyfikowaliśmy rejestry kolorów.

Edit: Co zaś się tyczy skomplikowanej logiki to rzecz jest prosta - logika niech sobie zostanie jak jest. Po prostu piksel zapalony idzie zawsze z COLPF1, piksel zgaszony z logiki. Oczywiście pozostaje problem updatu ale tego uniknąć się nie da.

Post's attachments

anticgtiatest.obx 3.66 kb, liczba pobrań: 2 (od 2023-08-19) 

atari010.png 2.37 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

690

Wyjaśnienie jest dość proste - przerwanie VBLKI, zanim przepisze zawartości rejestrów-cieni koloru, ustawia w rejestrze maski ($4E) wartość $FE, po czym, przepisując, robi AND z maską, zerując najmłodszy bit. Trzeba albo wyłączyć NMI i ustawiać kolory bezpośrednio w rejestrach sprzętowych, albo przepisać procedurę przerwania w inne miejsce i usunąć z niej maskowanie.

Ceterum censeo Germaniam esse delendam.

691 Ostatnio edytowany przez mono (2023-08-19 21:11:27)

Rzeczywiście!

1280 NSC LDX #$08
1290     STX CONSOL
1300 COL CLI
1310     LDA COLPM0S,X
1320     EOR COLRSH
1330     AND ATRMSK
1340     STA COLPM0,X
1350     DEX
1360     BPL COL 

Dziesiątki razy patrzyłem na tą procedurę i nie widziałem, że tam jest maskowanie.
Stokrotne dzięki Simius!

Edit: A COLPF1 i COLPF2 działały poprawnie bo przepisuję je sam bez maskowania na DLI.

Post's attachments

anticgtiatest.obx 3.78 kb, liczba pobrań: 2 (od 2023-08-19) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

692

Nie zwraca się na to uwagi, ponieważ w zwykłej maszynie, w normalnym trybie, niczemu nie służy. Gdyby nie tryb przyciągania uwagi, rejestr byłby kompletnie bezużyteczny.

Ceterum censeo Germaniam esse delendam.

693 Ostatnio edytowany przez mono (2023-08-19 21:35:32)

To jeszcze jedna uwaga. Kiedy robimy coś takiego:

  lda #%10000011
  sta GRACTL
  lda GRACTL
  and #%01111110
  sta GRACTL

to czasami sprajty są włączone, a czasami (losowo) wyłączone. Tak jakby ostatni zapis trafiał czasem też do rejestru GTIA a nie tylko do rejestru Sophii. Dopiero kiedy po tym zrobimy:

  lda #%00000011
  sta GRACTL

to sprajty zachowują się stabilnie. Optymalizacje z braku miejsca? Czy to tak działać nie powinno?

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

694

Nie powinno. Wygląda, jakby albo układ generujący strob zapisu (który powinien być pojedynczy) wytwarzał jakiś dodatkowy glitch, co jest raczej mało prawdopodobne, bo działa synchronicznie i teoretycznie nic takiego nie ma prawa się zdarzyć, albo to wynik jakichś zakłóceń przenikających liniami adresowymi, r/w albo cs, w drugiej połowie cyklu zegarowego, kiedy teoretycznie powinny być stabilne. Gdyby to wyszło na początku, można by temu w prosty sposób zaradzić, opóźniając propagację SPECEN przerzutnikiem o jeden cykl maszynowy. Teraz już za późno. Nie da się przeprogramować wszystkich Sophii, a nowe oprogramowanie powinno działać na każdej bez wyjątku.

Ceterum censeo Germaniam esse delendam.

695 Ostatnio edytowany przez mono (2023-08-25 11:57:13)

Dziękuję za odpowiedzi.

Edit: Podłączę tu jeszcze aktualniejszą dokumentację do Sophii wziętą z AtariAge

Post's attachments

SOPHIA2en_1_5.pdf 599.47 kb, liczba pobrań: 16 (od 2023-08-25) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

696

z ciekawosci jakby brzmial sampel pobierany z pamieci duszkow i wystawiany nie na ekran tylko na przetwornik przez Sophie?

dla ulatwienia niech sample beda 16 bitowe (po 2 duszki na kanal)

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

697

Jako że jestem nowy na tym forum to chciałbym się przywitać i pozdrowić wszystkich fanów Atari.
Widzę że lista oczekujących na moduł Sophia2 nie była już długo aktualizowana więc nie wiem czy sprzedaż się już całkowicie zakończyła i czy jest jeszcze szansa na zakup tego modułu.

Na wszelki wypadek dopiszę się na końcu listy z nadzieją że kiedyś może uda mi zdobyć te cudo.

24. Lampionik - 2 szt (DVI)
25. thar97 - 1 szt (DVI)
27. Spider1975 - 1 szt (DVI)
28. Arko - 1 szt (DVI)
29. Grasol
31. jet - weź pan, każdy bierze (1 szt.)
32. Lexx ( 1szt. DVI )
33. W1k - 1 szt.
34. j4zon3k - 1 szt.
35. pawelkrak - 1 szt.
36. AS - 1 szt. dvi z kablem - potwierdzam 2022-12-08
37. kazdego.szkoda - poproszę 1 szt.  (DVI)
38. Inmark - płytka DVI niezlutowana, komponenty luzem - idzie na płytkę XE Remake   
39. RetroMarek -1szt.

698

Podczas wysyłania posta wysypały się jakieś błędy wiec nie wiem dlaczego wygenerowało 3 posty.
Przepraszam za to ale nie wiem dlaczego tak się stało.
Jeśli moderator może to poprawić to proszę .

pozdrawiam

699 Ostatnio edytowany przez TMK (2024-02-01 10:31:44)

Czasem jak wyślesz posta to trzeba cierpliwie poczekać aż przejdzie, czasem po prostu forum przytyka...
Co do Zośki... z tego co wiem, obecnie nie ma części i póki co, nie jest dostępna ale jak się dopisałeś do listy to tylko czekać aż Simius wznowi produkcję...

--edit--
No i ja się złapałem... dałem wyślij i tak długo mieliło, że wyskoczyło "nie można wyświetlić strony" a teraz po odświeżeniu strony widać, że poszły dwa posty mimo iż kliknąłem tylko raz...

Atari 65XE, U1MB, Sophia2, AVG Cart, SIO2SD

700

Czasem jak wyślesz posta to trzeba cierpliwie poczekać aż przejdzie, czasem po prostu forum przytyka...
Co do Zośki... z tego co wiem, obecnie nie ma części i póki co, nie jest dostępna ale jak się dopisałeś do listy to tylko czekać aż Simius wznowi produkcję...

Atari 65XE, U1MB, Sophia2, AVG Cart, SIO2SD