A tak przy okazji, bo miałem zapytać. W xbios w pliku cfg jaką wartość należy podać by skorzystać z dobrodziejstwa odczytu poprzez OS? Domyślnie jest słowo 0000, ale to wskazuje na wewnętrzną obsługę sio. Dla OS jest to jaka wartość?
Czytałem cały wątek, nawet jeszcze poprzedni. Wybacz, nie jestem mózgiem Twojego pokroju, nie znam się na tym tak dobrze (prawie wcale się nie znam) ale próbuję po ludzku zrozumieć. Ale możliwe, że po prostu to próg wejścia jest za wysoki i nie dane mi będzie po prostu w tym w ogóle uczestniczyć.
Dobra, ja dalej nie rozumiem. Skoro wszelkie źródła pisane podają $d301 jako właściwy adres PORTB to po co korzystać z powtórzonych? Bo "da się" i nic więcej? Przecież na pierwszy rzut oka wydaje się, że te adresy działają tylko dzięki oszczędności na układach.
@solo - "patocoding", podoba mi się. Może jeszcze pato-koder? xD
Nie jest istotne z jakich powodów adresy były powtórzone. Oczywiście bardzo prawdopodobne, że z powodu uproszczeń układów czyli jednoczesnej oszczędności. Natomiast istotnym jest fakt, że adresy powtórzone nie są dlatego, że są błędem, tylko dlatego, że są tam "by design". W związku z powyższym nie jest też istotne z jakich powodów programista chce użyć powtórzonego adresu - może to zrobić, bo tak jest w Atari i tyle.
xbios to oddzielny temat. Sprawa "portB" dotyczy jednej gry z game-jamu, chyba Grawitacja 2018. Ciekawe, że w swoim sztandarowym produkcie autor jakoś nie korzysta z powtórzonych adresów...
Uwaga szpilka: Kiedyś było przyjęte, że należy w playerach (jeśli muzyka nie jest w stereo) zapisywać $D20x i $D21x ... czyli walić po rejestrach "kopiach". :)
@maly_swd to wlasnie bylo po to, bo pod tymi adresami byl juz plugawy pato drugi pokey. dobre spostrzezenie, bo laczy obie "pato" ;)
@xxl nie zrozumialem
skoro my to pato scena, to uzywanie portB z innego adresu niz D301 to patocdig; co mnie Bounty Bob (wyjatek potwierdzajacy regule) interesuje? widzisz jak to fajnie?;) kazdy porzadny koder PORTB uzywa pod $D301 . bo w cieniach moze byc cos innego (i teraz mozemy na 300 postow dywagowac.
cala ta "pato" cokolwiek to dziecinada totalna stad nowe definicje. jak sie bawic to sie bawic.
mozna z tego cale drzewo zbudowac. gdyby nie pato Gumi/TIGHT nie zamotowal nam w 1997 320kb,qmega i stereo to kto wie gdzie scenowo by nasza ekipa wyladowala. Skutek - nie byloby niepato TimePilota. I czy stworzony przez pato produkt niepato - to polpato?
@mav: trochę dla sportu:-), a trochę, żeby po prostu pokazać że powstaje pewna niekompatybilność w sprzęcie, która powoduje, że w łatwy sposób można nawet choćby przypadkowo sprawić, że gra działająca poprawnie na każdym Atari może przypadkiem nie zadziałać na jakimś tam rozszerzeniu - tu akurat U1MB. Chodzi o zasady. Dodatkowo teraz się dowiadujemy, że poprawka w tej materii w U1MB "NIGDY" nie zostanie wprowadzona bo chodzi o złośliwość w stosunku do XXL-a, który podobno był złośliwy w stosunku do U1MB:-) Czyli mamy sytuację, że błąd w rozszerzeniu jest znany i nazwany błędem, ale nie będzie poprawiony - dlaczego? Bo tak:-)
@maly_swd: przykład, który podałeś z adresami Pokeya, to akurat nie jest problem, bo faktycznie chodzi tylko o to, co powiedział pin, żeby muzyczki w mono grały na obu kanałach jeśli jest zainstalowane stereo. Ale problem się zaczyna, jeśli dawniej ktoś używał sobie (celowo, lub przypadkowo) adresów powtórzonych na pojedynczym Pokeyu i to działało bez problemu, a teraz jak mamy stereo, to się sypie. Odpal sobie np. Lasermanię na kompie z zainstalowanym i uruchomionym stereo i porównaj muzyczkę z rzeczywistą. Będziesz miał zanikające kanały, instrumenty basowe popsute i tym podobne chocki-klocki.
Tyle tylko, że w stereo zwykle jest możliwość wyłączenia go, więc załatwiono sprzętowo problem ewentualnej niekompatybilności, bo nie jest potrzebne dla muzyczki, która i tak w stereo nie gra - wyłączamy i już. Ale już pamięci rozszerzonej nie chcemy raczej wyłączyć dlatego, że nie działa. Dlatego należy zachowywać kompatybilność na poziomie sprzętowym, a nie narzucać programistom, że mają dbać o każde możliwe rozszerzenie jakie sobie ktoś tam zaprojektuje i pilnować żeby nie używać niektórych rzeczy, które na każdym innym Atari normalnie mogli by użyć bez problemu.
@Mg - nie przypadkowo, tylko celowo w imię nieznanej nikomu ideologii.
@Mg - Gdyby nie retoryka XXL'a i różne złośliwości poprawki zostałyby wprowadzone. Podziękujcie koledze ;)
@Mq - CMC i problemy ze stereo wynikają z błędu w kodzie playera - wałkowane milion razy
Teraz pytanie - co się stanie, jeśli w przypadku Atari 130XE włączycie nieistniejący BANK pamięci dodatkowej i przyjmiecie taki sposób działania jako pewnik? Na 130XE zadziała powtarzalnie, a na więcej niż 128k jak?
@solo: ok. czyli Wasza grupa zostala zaliczona do patosceny. Moszesz powiedziec kto i kiedy was tak sklasyfikowal lub jesli nie mozesz to na jakiej podstawie zaliczyles was do patosceny?
maly_swd, ja też wiem, że Ty wiesz po co się robiło stereo dla muzyczek mono - chciałem zaznaczyć inny aspekt, czyli problem adresów powtórzonych, które są poprawnymi, żeby pokazać analogię do rozszerzeń pamięci. Natomiast błąd playera, o którym mowa wcale nie jest błędem, bo na normalnym Atari działa wszystko dobrze:-) Bo mówimy cały czas o powtórzonych rejestrach i o tym, że na takich powtórzonych chyba się tam Pokey inicjalizuje w Lasermanii (choć tu szczegółów nie pamiętam), a faktyczny błąd playera CMC, to jeszcze tam jakaś inna sprawa była (ale też już nie pamiętam jaka - coś z brakiem inicjalizacji w zależności z jakiego urządzenia się wczytywało grę czy coś w ten deseń?).
Mamy moment wypuszczenia 1200XL z klawiszami funkcyjnymi. W dokumentacji jest napisane które bity PORTB za co odpowiadają. Powstają wtedy programy zakładające (wg specyfikacji), że w PORTB są umieszczone LED-y a Atari dysponuje wyłącznie 62KB RAM.
Programiści ruszają do dzieła i mrugają sobie LED-ami i przełączają pamięć wpisując co popadnie do PORTB. No bo przecież da się i można.
Pojawia się 800XL. LED-y i klawisze funkcyjne znikają. Programy co prawda działają, ale już nie ma dyskoteki i niektórych funkcji nie da się uruchomić. Na forach burza dlaczego nie ma LED-ów i F1..F4. Patoscena #1.
Pojawia się 130XE ze 126 KB RAM. Kolejne bity PORTB zyskują na znaczeniu. Kolejne radosne programy przestają działać, bo adresowanie PORTB powoduje przełączanie banków XRAM a ROM pojawia się i znika. Na forum kolejna burza. Patoscena #2
XEGS. Tym razem pojawia się jeszcze ROM z grą, więc radosne programy przestają działać, ale może w zamian uda się odpalić z przypadku przynajmniej Missile Command. Patoscena #3.
Atari dawno nie istnieje, rozszerzenia powstają, radosne programy z niczym nie działają, a na forach dyskutuje się czy rozszerzenia są koszerne, bo przecież PORTB można adresować przez dummy-registers. Kolejna odsłona Patosceny :D
Edit: Zapomniałem o skokach do ROM-u w kolejnych aktach dramatu, ale łatwo sobie samemu dopisać co się dzieje na forach i z radosnymi programami :) A o LED-ach i klawiszach funkcyjnych świat już dawno zapomniał.
Kiedy można się spodziewać czegoś od nie patokoderow . .hobgoblin2 i reszty purystycznych produkcji..dema też były pato i sv też ..zróbcie expansion ram przelotowe i będzie po kłopocie bez lutopato. .jak to XXL nazywa..
Panowie, luz :) Solo/ng wprowadził tu słowo "patoscena" w poście 44 i zaczął wszystkie rozszerzenia tak nazywać, ale jak widzę w celu, aby nazwać programistów te rozszerzenia niewspierających "patokoderami". Po co te nerwy? Nikt rozsądny nie uważa modyfikacji retro za patologię. Podobnie jak ludzie ich używający chcieliby, aby programiści co najwięcej na nie tworzyli, tak programiści chętnie by widzieli kompatybilność takich rozszerzeń ze stock Atari. Ale nikt nikogo nie powinien zmuszać ani przekonywać, że jest głupi/niekompetentny/patologiczny mając inne zdanie. Świat jest serio lepszy, kiedy jedni ludzie przestają mówić drugim, co mają robić, jak żyć i myśleć... Ja bym chętnie zobaczył Rapidusa, ale wspierającego nieudokumentowane opcode'y, aby można było napisać jeden kod, a nie różne warianty, ale nie będę Pasiowi mówił, że "ale to kijowe". Zrobił kawał dobrej roboty. Podobnie bym chciał, aby wszystkie nieudokumentowane tryby graficzne i sztuczki Antic+GTIA działały na VBXE. Ja jeszcze raz poproszę o tutoriala w jednym miejscu, jak pisać, aby różne rozszerzenia i modyfikacje działały, bez konieczności uczenia się dokumentacji każdego z dostępnych rozszerzeń. Niestety De Re Atari czy Altirra Hardware Reference Manual takich informacji nie mają.
Stockowe urządzenie + wszystkie rozszerzenia na których można odpalić gry ich nie wykorzystujące + produkcje przeznaczone specjalnie na nie. Jeżeli jakieś rozszerzenie nie jest kompatybilne ze wszystkimi możliwymi grami, to wypad. Rozszerzenia mają być dodatkiem do komputera a nie odwrotnie.
@ilmenit: jesli chcemy tak pisac zeby uruchamialo sie na pelnym wachlarzu urzadzen to skonczymy z komendami typu plot, dzialajacymi w NTSC i napisanymi tak zeby dalo sie je wczytac z manetofonu. ale pewnie tez nie wkorzystalibysmy os na max - przykladem moze byc chociazby oprogramowanie firmowane przez atari dla serii xl z premedytacja duplikujace funkcje ktore i tak znajduja sie w tabeli skokow.
@xxl - szczerze ja też nie, ale aktualnie nawet nie mam pojęcia co jest lub nie wspierane w którym rozszerzeniu i modyfikacji :) Mając to gdzieś na jednym miejscu będzie prościej stwierdzić "idę na kompromis i nie będę wspierał Rapidusa, bo moja gra 3D będzie miała precalc na określoną liczbę kątów, więc szybszy procesor nie zwiększy płynności i będzie skakać przy obrocie tak samo".
Dziwna ta dyskusja i jakaś nagonka na rozszerzenia. Aktualnie mamy trzy typy konfiguracji: - stock: 64/128kB RAM + SIO - dla purystów i innych odpornych - classic: ext RAM (w tym U1MB) + stereo Pokey + obsługa odczytu z karta/HDD - chyba najbardziej sensowny/kompromisowy konfig - aktualnie pisane programy powinny ten konfig uwzględniać, choć niekoniecznie go wykorzystywać - wola autora - extended: VBXE, Rapidus, Covox.. tym konfigiem autorzy nie powinni sobie zawracać głowy, ale fajnie jak go wykorzystają (Rapidusa da się tak wyłączyć, jakby go w ogóle nie było, VBXE gorzej, ale można przełączyć się pod standardowe wyjście, Covox teoretycznie przeźroczysty, faktycznie nie do końca - czasem dobrze jest go wyłączyć).