5,676

(53 odpowiedzi, napisanych Programowanie - 8 bit)

zamienic kolejnosc tych dwoch przewodow w kablu?

5,677

(53 odpowiedzi, napisanych Programowanie - 8 bit)

wydaje mi sie ze nie masz racji. kolejny przyklad:

> Celowo w protokole SIO wyłącznie jednostka centralna ma prawo zewrzeć linię COMMAND.

w takim razie podlaczamy dwa komputery zwyklym kablem SIO, jeden dziala jako host standardowo, w drugim ustawiamy linie COMMAND jako wejscie i uruchamiamy program "emulator stacji dyskow". mozna?

5,678

(53 odpowiedzi, napisanych Programowanie - 8 bit)

> Podczas współpracy komputera z 4 stacjami dysków wszystko się dzieje zgodnie z protokołem SIO, więc stwierdzenie "taka sytuacja występuje cały czas" wygląda na oderwane zarówno od rzeczywistości jak i od tej dyskusji.

jesli komputer wysyla komende do stacji numer x to COMMAND jest zwarty a 3 pozostale stacje nie szaleja. to normalna sytuacja.

> A w jaki sposób ...

no to podlaczmy kilka komputerow i kilka stacji dyskow w siec. jak moglaby wygladac siec zbudowana w oparciu o SIO? sprobujmy. mamy do dyspozycji 3 bity statusu linii przerwan. mozemy je dowolnie programowac jako wejscie i wyjscie wiec z dowolnego kompa w sieci mozemy ustawiac bity w PIA na kazdym innym komputerze w sieci. dowolny komputer aby przeprowadzic jakas operacje sprawdza status jednego z tych bitow (odpowiedzialnego za zajeta siec) jesli siec jest wolna ustawiamy bit i przeprowadza komunikacje, skonczyl, uwalnia siec. pomysl na szybko. moze to tak dzialac?

5,679

(53 odpowiedzi, napisanych Programowanie - 8 bit)

@Adam, to zalezy od Electrona :D http://atariarea.krap.pl/forum/viewtopic.php?id=8378

@Krótki: nie wydaje mi sie, jesli masz 4 stacje podlaczone jednoczesnie to taka sytuacja wystepuje caly czas i nic zlego sie nie dzieje. zeby uruchomic jakas akcje musi byc wspolpraca PIA i POKEYA po stronie atari.
ale pobujajmy troszke: zalozmy, ze napiszemy sobie bios dla stacji np.2001 w ktorym damy mozliwosc stacji dyskow samodzielnego nawiazywania kontaktu z inna stacja w systemie? dzieki bitowi PBCTL moglibysmy wykryc takie urzadzenie w lancuszku SIO ;-)

5,680

(130 odpowiedzi, napisanych Scena - 8bit)

gwiazdy leca nie w tym kierunku co trzeba?

zeby to sie przerodzilo w gre :-)

5,681

(53 odpowiedzi, napisanych Programowanie - 8 bit)

najwazniejsza i wlasciwie nowa informacja jest ta, ze linia COMMAND moze byc zaprogramowana jako wejsciem przerwan i po przyslowiowym jednym POKE na standardowym atari bez jakichkolwiek rozszerzen systemowa procedura rozpoznania przerwania IRQ nie moze go zidentyfikowac. reszta to tylko dodatkowe informacje z debugownia ;-)

no ale racja, skoro mozna zastapic systemowa procedure rozpoznania przerwania wlasna to w tym sensie OS atari nie ma bledow i jest przemyslany (raczej system w sensie sprzetu) - bo jesli OS Atari na jakims polu niedomaga zawsze mozna go wylaczyc i zastapic swoja procka. po to wlasnie jest ;-)

jest jeszcze jedna niescislosc w obsludze PIA, moze po weekendzie cos sie urodzi.

5,682

(53 odpowiedzi, napisanych Programowanie - 8 bit)

@Fox: przystawka dla cheaterow w grach ;-)

debugowalem i oto wyniki:

oprocz bledu z nieprzechwyceniem przerwan z BPI jest kolejny. mozna generowac niezidentyfikowane (przez OS atari) przerwania poprzez PIA, blad w systemowej procedurze rozpoznania znajduje sie tu:

$C0AD  bit $D303
$C0B0  bpl $C0B8
$C0B5  jmp ($0204)
$C0B8

brakuje sprawdzenia bitu 6 $D303 chociazby rozkazem bvc/bvs

cytat z atariki: Rejestr kontroli portu B. Znaczenie bitów:
bit 7: status przerwania IRQ portu B (1 - wystąpiło)
bit 6: nieużywany (zawsze 0)
bit 5: nieużywany (zawsze 1)
bit 4: nieużywany (zawsze 1)
bit 3: sterowanie linią COMMAND gniazda SIO (0 - aktywna)
bit 2: bit wyboru funkcji rejestru PORTB: 0 - rejestr kierunku przepływu danych, 1 - rejestr przesyłania danych.
bit 1: nieużywany (zawsze 0)
bit 0: zezwolenie na przerwanie IRQ portu B (1 - dozwolone)

nieprawda, nieuzywany chyba przez system operacyjny bo normalnie mozna programowac PIA. powinno byc:

bit 7: status przerwania IRQB1 portu B (1 - wystąpiło)
bit 6: status przerwania IRQB2 portu B (1 - wystąpiło)
bit 5: funkcje1
bit 4: funkcje1
bit 3: funkcje1
bit 2: bit wyboru funkcji rejestru PORTB: 0 - rejestr kierunku przepływu danych, 1 - rejestr przesyłania danych.
bit 1: funkcje2
bit 0: funkcje2

w zaleznosci od funkcji1
bit 3: moze byc linią COMMAND gniazda SIO lub wejsciem przerwan

funkcje2: wybieraja zachowanie linii INTERRUPT

nie ma informacji ze linia "COMMAND" MOZE BYC WEJSCIEM PRZERWAN i zglasza to bitem 6 w rejestrze PBCTL PIA?

to samo dotyczy PACTL. mozna zaprogramowac linie MOTOR CTL tak, ze bedzie WEJSCIEM przerwan - tylko tu jest problem taki, ze atari ma sprzetowa blokade w postaci tranzysotra, wiec jesli chcemy odbierac ta linia przerwania nalezy wpiac sie przed tranzystor ;-) tu sobie mozna wymyslec rozszerzenie ktore z tego korzysta bo z gniezda SIO nie mozna wywolac tego przerwania.

czy ktos ze sprzetowcow moze to potwierdzic lub zaprzeczyc?

5,683

(130 odpowiedzi, napisanych Scena - 8bit)

rewelka

5,684

(74 odpowiedzi, napisanych Fabryka - 8bit)

ok. czyli dla pelnej jasnosci mozesz ustawic kolor tla na niebieski a kolor czcionki na czerwony z luminancja rozniaca sie o 2? a co sie stanie jesli postawisz obiekt PM "za" znakiem - znak przejmie kolor obiektu PM czy nie.

---
mozesz zrobic dobrej jakosci zdjecie ?

5,685

(53 odpowiedzi, napisanych Programowanie - 8 bit)

jeszcze to:

$C0A2  bit $D302
$C0A5  bpl $C0AD
$C0A7  lda $D300
$C0AA  jmp ($0202)
$C0AD

i niby wszystko jasne i wlasciwie zgodne z tym co jest w literaturze i atariki, ale pierwszy port PIA ma dwie linie do portu SIO, ta procka wyzej bada przerwanie na jednej z nich. w dokumentacji PIA jest, ze druga linia tez moze byc zaprogramowana jako wejscie przerwania i zglasza to bitem 6 czyli w powyzszej procedurze brakuje rozkazu:

BVC

no i wlasnie to jest niezgodne z literatura bo np na atariki mozna przeczytac ze sa to kombinacje nieuzywana (w takim razie po co jest inicjowana tak, ze zostaje programowo wylaczona).
czy po wlaczeniu atari zacznie przyjmowac przerwania dwoma niezaleznymi liniami na porcie A? caly czas mowie o porcie A a nie porcie B!!!

jesli to prawda, to procka rozpoznania przerwania IRQ w atari ma co najmniej dwa bledy.

a moze sie myle i faktycznie na atari to jest jakos sprzetowo zablokowane. moze to ktos zweryfikowac przynajmniej teoretycznie?

5,686

(53 odpowiedzi, napisanych Programowanie - 8 bit)

i nie mozemy tego wykryc ani obsluzyc bez wylaczania OS, a wplyw to ma dzialanie komputera.

5,687

(74 odpowiedzi, napisanych Fabryka - 8bit)

slabo widac.. to wychodzi tylko z kolorem czarnym czy moga byc inne?

5,688

(53 odpowiedzi, napisanych Programowanie - 8 bit)

@mono, to ze mozna obslugiwac standardowa sytuacje przerwania przez wektor VIMIRQ to jest jasne, mowimy o niestandardowej sytuacji gdy atari skacze do $C0C9

drac030 napisał/a:

W ogóle to nie wiem, dlaczego jest tam to PHA/PLA/RTI, chyba wystarczyłoby RTI zamiast tego. Ale może chodzi o pozostawienie 3 bajtów miejsca na JMP () przez wektor użytkownika (który jak sobie doda urządzenie generujące "niezidentyfikowane" przerwanie, to może sobie i OS spaczuje). Albo po prostu o pozostawienie miejsca na przyszłe rozszerzenie o taki wektor.

samo rti nie wystarczy bo OS podczas sprawdzania czy nie ma ustawionego bitu $10 stanu procesora wczesniej zrzuca ze stosu rejestr A wlasnie do $028C. czyli musi byc:

lda $028C
PHA

czyli 4 bajty a nie 3
bo zaraz po nich jest procka wyjscie z przerwania dla calej reszty

PLA
RTI

z tym patchowaniem osa to tez srednio, to tak jakby sie przyznac ze programisci OSa nie wiedzieli co pisza :/

moze jest inne potencjalne zrodlo takiego przerwania? ktore z premedytacja musi byc ignorowane?

5,689

(53 odpowiedzi, napisanych Programowanie - 8 bit)

zalozmy ze tak bylo. czy nie rozsadniej by bylo zastosowac dokladnie ten sam schemat jak w calej procedurze obslugi przerwania niemaskowalnego i skoczyc przez wektor (powiedzmy wektor przerwania niezidentyfikowanego) do procki opuszczajacej przerwanie? to by mialo sens, bo z OSa mozligysmy takie 'dziwne' urzadzenie obslugiwac. nie jest to zadne zabezpieczenie bo uzywajac OS nic z tym nie mozemy zrobic, ani oprogramowac ani nawet wykryc takiej sytuacji (bez odlaczania OS).

czy oprocz zle zdefiniowanego urzadzenia PBI cos moze wygenerowac takie niezidentyfikowane przerwanie?

5,690

(53 odpowiedzi, napisanych Programowanie - 8 bit)

przerwanie pbi obslugiwane jest tu:

$C047  lda $D1FF
$C04A  and $0249
$C04D  beq $$C052
$C04F  jmp ($020A)
$C052  ...

ale sluszna uwaga, czyli jesli urzadzenie pbi moze zglosic przerwanie irq ale sterownik tego urzadzenia podczas inicjalizacji nie zglosi do systemu ze urzadzenie ma taka mozliwosc to os atari zawsze wyladuje tu: $C0C9 ? jakis czas sie to wykonuje, czyli przyspawamy 2 kabelki z pokretlem zmianiajaca czestotliwosc generowania takich niezidentyfikowanych przerwan i mamy mozliwosc recznego sterowania szybkosci dzialania programow ???

no powiedzmy ze tak... ale podobna procke nierozpoznanego przerwania maja wszystkie atari, nie wiem, czy atari np. 400 lub atari5200 tez ma pbi?

5,691

(53 odpowiedzi, napisanych Programowanie - 8 bit)

ale to znaczy ze atari moze wygenerowac niezidentyfikowane przez os przerwanie irq ?


---
wyglada na to ze tak. co mogloby byc zrodlem takiego przerwania?

5,692

(53 odpowiedzi, napisanych Programowanie - 8 bit)

Witam,

co to znaczy ze procedura rozpoznania przerwania IRQ w OS moze nie rozpoznac zrodla przerwania zgloszonego przez atari?

dokladnie chodzi o to w jakich przypadkach OS skoczy pod adres:

$C0C9  lda $28C
$C0CC  pha
$C0CD  pla
$C0CE  rti

5,693

(92 odpowiedzi, napisanych Fabryka - 8bit)

@dely: co nie podoba sie efekt "ambilight".... sie dopracuje :D

5,694

(10 odpowiedzi, napisanych Fabryka - 8bit)

"Drugą zaletą systemu operacyjnego Atari w przeciwieństwie do innych
producentów jest to, Ŝe panuje tam porządek.
To oznacza, Ŝe cały system jest podzielony na małe procedury, w
których bardzo łatwo moŜna określić, co się otrzyma po określonym
pobudzeniu.
Z małymi wyjątkami moŜna powiedzieć, Ŝe ten system operacyjny był
pisany przez inŜynierów, którzy doskonale rozumieją swoją pracę."

ciekawe, ze z kazdej strony barykady w tamtych czasach rzucano identycznymi fanbojowymi tekstami :-)

dobra publikacja. sciagnalem.

5,695

(92 odpowiedzi, napisanych Fabryka - 8bit)

przejscie z trybu 8 (basica) na 15 (basica) daloby 7 niezaleznych kolorow dla tla, drzew i przeszkadzajek ale trzeba przedefiniowac grafike...

5,696

(92 odpowiedzi, napisanych Fabryka - 8bit)

http://atari.pl/dc6502colour.png

jeszcze nie jest ostateczna wersja. a gdzie te wiecej kolorow potrzeba?

5,697

(92 odpowiedzi, napisanych Fabryka - 8bit)

filmik w kolorze:

http://www.youtube.com/watch?v=Le3MA2Lc7g0

w programie poprawilem blad przez ktory helikopter i czolg nigdy nie mogly pojawic sie w skrajnych pozycjach. w oryginale procedurki do obslugi ruchu maja odpowiedni kod ale nie jest on wykonywany, co ciekawe na cpc jest dokladnie ten sam blad ;-)

5,698

(6 odpowiedzi, napisanych Software, Gry - 8bit)

tez gdzie swidzialem takie atr.

tu masz jeden

5,699

(25 odpowiedzi, napisanych Scena - 8bit)

piekna sprawa Xlent chociaz przydlugi wstep ;-) pociagniesz to dalej?

> A ja spróbowałem. Podszedłem optymistycznie (bo spróbowałem). Niestety, efekt mnie nie zadowala i nie bardzo wiem, jak zrobić, by mnie zadowolił.

w moich uszach to zdanie brzmi: walcze z obsluga programu muzycznego

@Sim_Piko: bedzie wersja na atari?

5,700

(18 odpowiedzi, napisanych Sprzęt - 8bit)

Dzieki wszystkim, ktorzy pomogli mi przetestowac 800XE.

mam jeszcze pytanie. czy byly sprzedawane atari 800XE z plyta glowna atari 65XE?