Panowie, może ktoś by się zajął układem z programowanym z menu przełącznikiem dla dopałek, coś w stylu Ultimate tylko z jednym ekranem i prostymi funkcjami ON/OFF

2

.... A czegoś brakuje w U1MB? :)

Kontakt: pin@usdk.pl

3

Może np. brakować tego, że ktoś może nie mieć/nie chcieć u1mb:-)
Koncepcja takich przełączników jest ciekawa, myślałem już kiedyś o tym, leży to u mnie z tyłu głowy gdzieś daleko w kolejce. Póki co wszelkie swoje rozszerzenia projektuję w taki sposób, żeby przełączanie następowało przez podanie masy. Taka jednolitość pozwoli to łatwo przełączać takim uniwersalnym przełącznikiem. Mój pomysł był taki, żeby urządzenie miało kilka takich przełączników uniwersalnych, w programie zaś żeby można je było dowolnie ponazywać i zapamiętać. W ten sposób każdy mógłby mieć swój własny konfigurowalny przełącznik do czego chce. Funkcjami przełączania zajmował by się jakiś attiny, a w jego eepromie mogły by być zapisywane nazwy przełączników i ich ustawienia, żeby pamiętały się po wyłączeniu zasilania.

4

nie wiem jakiej funkcji brakuje u1mb ale wiem o jaka funkcje ma za duzo: funkcja zwieszania atari po zapisie do rejestrow powtorzonych PIA. Przelacznik pozbawiony tej funkcji bylby na pewno ciekawy.

MM [dely]: Warning. Offtopic.

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

5

Nie każdy chce mieć Ultimate, więc idea powstania tego typu przełącznika jest właśnie dla tych osób. Nigdzie nie pisałem, że coś brakuje w Ultimate, chodzi tylko o alternatywne rozwiązania i prawo wyboru.

6

@xxl: pod jakim adresem należało by umieścić urządzenie (chodzi o przełącznik), żeby nie kolidowało to z niczym, nie przeszkadzało żadnym programom, nie kolidowało z rozszerzeniami, kartridżami itd?

7

xxl napisał/a:

nie wiem jakiej funkcji brakuje u1mb ale wiem o jaka funkcje ma za duzo: funkcja zwieszania atari po zapisie do rejestrow powtorzonych PIA. Przelacznik pozbawiony tej funkcji bylby na pewno ciekawy.

@Mq - nie pytaj gościa, który nie umie poprawnie zaadresować rejestru portB i jak mantrę będzie powtarzał błąd, którego nikt nigdy przed nim wcześniej nie wygenerował.

@xxl - POKEY też ma powtórzone rejestry. W swoich grach używasz poprawnego adresu, czy "powtórzonego"? Kierujesz się tu intuicją, czy może stoją za takim działaniem jakieś konkretnie przemyślenia i wnioski?

MM [dely]: Warning. Offtopic.

Kontakt: pin@usdk.pl

8

Zapytałem xxl-a, ponieważ jako jedyny w tym wątku napisał coś w kwestiach technicznych i jest najwyraźniej jedną z osób zainteresowanych przełącznikami programowymi jako tematem ciekawym. Jest też osobą, która zna dobrze mapę pamięci Atari, co z kolei wiem z różnych innych jego wypowiedzi i prac, które widziałem i śledziłem ich wątki. Natomiast Pin: cenię też Twój wkład w Atari, przede wszystkim Twoją muzę, to że muzę w ogóle robisz i że w tym siedzisz, bo to również temat dla mnie bliski. Nie rozumiem jednak dlaczego jak tylko pojawia się xxl, to musi być znowu gównoburza, zwłaszcza, że wiem, że jesteś gorącym zwolennikiem u1mb, więc zapewne nie zainteresują Cię przełączniki żadnych innych rozszerzeń, a zgaduję też, że na moje konkretne pytanie o adresowanie nowego urządzenia nie odpowiesz nic konkretnego... czy odpowiesz?

9

@Mq - piszę to tylko dlatego, że razi mnie promowanie głupot i to nie jest "zawsze tak", że musi się do tego akurat zgłosić XXL. Jak jest grzeczny, to nic się nie dzieje, czasem nawet rozmawiamy :) Co do Ultimate 1MB to wcale też nie jest tak, że jestem jego gorącym zwolennikiem - miałem przez to rozszerzenie mnóstwo problemów, ale - ostatecznie działa i jest to nawet wygodne rozwiązanie.

Adres dla nowego urządzenia? - mając na względzie to, co można powszechnie spotkać w hardware to obstawiam na drugą połówkę strony $D7. Zastanowiłbym się jednakże przy okazji nad jakąś "magiczną" kombinacją kilku bajtów celem uniknięcia przypadkowych konfiguracji ;)

Kontakt: pin@usdk.pl

10 Ostatnio edytowany przez mono (2019-01-25 19:40:21)

Mq napisał/a:

pod jakim adresem należało by umieścić urządzenie (chodzi o przełącznik), żeby nie kolidowało to z niczym, nie przeszkadzało żadnym programom, nie kolidowało z rozszerzeniami, kartridżami itd?

Pytanie co prawda nie zostało skierowane do mnie, ale jako że rzecz mnie też żywo interesuje to się wypowiem :) Jest z tym problem.
Polecam zacząć dochodzenie od:
- http://atariki.krap.pl/index.php/Rejestry_PBI
- http://atariage.com/forums/topic/252409 … ?p=3506607
- https://github.com/atari800/atari800/bl … C/cart.txt
a potem po kolei mapy pamięci urządzeń, które do tej pory wymyślono, np.
- http://atariki.krap.pl/index.php/VBXE
- http://atariki.krap.pl/index.php/Ultimate1MB
- http://atariki.krap.pl/index.php/Covox
- http://atariki.krap.pl/index.php/Evie
- http://atariki.krap.pl/index.php/Stereo i http://atariki.krap.pl/index.php/QUAD_POKEY ($D220..$D23F)
- http://www.atari.org.pl/forum/viewtopic.php?id=15764
- http://atariage.com/forums/topic/237060 … try3216603
ale jest tego jak się można domyślać wiele więcej. W Atariki znajdziesz dużo informacji http://atariki.krap.pl/index.php/Akceso … zszerzenia .
Można też zerknąć na specyfikacje serii XLD i prototypy nowych urządzeń, które Atari planowało. Przykładowo syntezator mowy: http://www.atari.org.pl/forum/viewtopic … 89#p178089 i http://atariki.krap.pl/index.php/SC-01A.
Dobrym miejscem też są źródła emulatorów Atari800  i Altirra.
Obawiam się że każdy kto planuje jakieś rozszerzenie ma z tym ból głowy.

Edit: Ciekawostka - zerknij na carta Type 18: Bounty Bob Strikes Back 40 KB cartridge i rozszerzenie http://atariki.krap.pl/index.php/Axlon

Edit 2: Nie wiem czy to będzie pomocne - dla swoich potrzeb zacząłem kiedyś robić taką mapę pamięci, ale raz że jest mocno niekompletna, a dwa że wymaga weryfikacji (nie dysponuję informacjami o mapie pamięci każdego urządzenia jakie powstało):

- D0xx:
    00-1F: GTIA
    80: VBXE reset (s_vbxe.sys zapisuje rejestr $D099 w celu resetu vbxe)
- D1xx:
    00-AF: PBI obszar rejestrow aktywnego urzadzenia
    B0-CF: PBI 1450XL
    D0-DF: PBI Audio?
    E0-E7: PBI ?
    E8-EF: PBI RS-232 + Centronics
    F0-F7: PBI dodatkowy CPU
    F8-FD: PBI 80-kolumn
    FE:    PBI bank RAM
    FF:    PBI aktywacja urzadzenia i status przerwania
    C0-C3: MIO
    E0-E3: MIO
- D2xx:
    00-0F: POKEY
    10-1F: POKEY2
    20-23: COVOX
    40-43: COVOX
    40-7F: SIDari
    60-63: COVOX
    80-83: COVOX
    80-9F: SimpleStereo3
    C0-DF: SoundBoard
    C0-FF: Evie
    00-00: SimpleStereo
- D3xx:
    00-03: PIA
    80-81: Ultimate1M
    E2:    Ultimate1M RTC
- D4xx:
    00-0F: ANTIC
- D5xx:
    00:    Sic! cartridge
    00:    RAM-CART
    FF:    SIDICAR
    00-1F: SlightSID mono
    00-41: SlightSID stereo
    00-3F: SIDari
    00-03: YAMari (dip-switchami mozna wybrac D520..D522, D540..D542, D5xx..)
    00-01: SONari mono
    00-03: SONari stereo (dip-switchami mozna wybrac D520..D523, D540..D543, D5xx..)
    00-1F: SoundBoard
    20-2F: ARC
    B8-BF: R-TIME8
    ..-..: Tomek8 cartridge
    C0:    Weronika cartridge
    D0-DF: Diamond GOS
    E0-EF: SDX128 cartridge
    E0-E1: Ultimate1M SDX cartridge
    FE-FF: SDX256 cartridge
- D6xx:
    00-03: COVOX
    00-1F: SoundBoard
    40-5F: VBXE FX/GTIA core
    80:    VBXE reset
    FF:    VBXE CR6
    00-1F: slot 0 PBI
    20-3F: slot 1 PBI
    40-5F: slot 2 PBI
    60-7F: slot 3 PBI
    80-9F: slot 4 PBI
    A0-BF: slot 5 PBI
    C0-DF: slot 6 PBI
    E0-FF: slot 7 PBI
    FF:    ROM Changer
- D7xx:
    00-03: COVOX
    00-1F: SoundBoard
    40-5F: VBXE FX/GTIA core
    80:    VBXE reset
    FF:    VBXE CR6

Edit 3: Rozumiesz już teraz pewnie dlaczego Pin tak się złości :)

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

11

przykro mi ale nie moge odpowiedziec bo sugestie co jest dobre co zle z mojeo puktu widzenia w kontekscie Twojeo przelacznika przez przewrazliwione jednostki brane jest za "offtopic".

:-)

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

12

Ja p*.*, faktycznie ciężko z Tobą gadać xxl: w pewnym sensie stanąłem po Twojej stronie, broniąc Twojego stanowiska przed Pinem, bo w tej konkretnej sprawie myślałem, że można liczyć na Twoją wiedzę, a wiem jaki jesteś wrażliwy na bezkolizyjność rozwiązań, o czym nieraz już wspominałeś przy okazji gadek na temat u1mb. Powiem więcej, to Twoje przewrażliwienie akurat w wypadku przełącznika, o którym mowa w wątku, było by wręcz pożadane, bo taki przełącznik właśnie tak powinien działać, żeby nie kolidował z żadnym sprzętem. W rezultacie dostałem gówno zamiast odpowiedzi... Cóż, dzięki za podbijanie chociaż wątku, może dzięki temu zajrzy tu ktoś jeszcze.

@Mono: bardzo dziękuję za szerokie opisy i odpowiedź zawierająca kompendium wiedzy w temacie. Ciężko jednak coś w tym wszystkim jednoznacznie wybrać, jakieś miejsce w pamięci gdzie by się można zahaczyć, bo zawsze z czymś to będzie kolidowało, lub może kolidować.

Ewentualnie tak sobie myślę, że można by zrobić pełen dekoder adresowy i pozwolić temu kto sobie montuje takie przełączniki po prostu wybrać adres jaki mu pasuje?

Mam też zupełnie odmienną propozycję podejścia inaczej do tematu. Słuchajcie, a gdyby tak pójść inną drogą.
Wtrąciłem się w ten wątek, bo jakiś czas temu sam myślałem poważnie o zrobieniu takiego urządzenia, więc wymyśliłem kilka metod jak to zrobić już po tym jak dostałem bólu głowy, o którym pisze Mono. Jedna z tych alternatywnych metod najbardziej mi się w głowie układała jako "bezkolizyjna".
Myślałem, żeby zamiast podpinania się pod magistrale, zrobić to prościej i podłączyć się z mikrokontrolerem pod port A. Konkretnie rzecz biorąc myślałem o wykorzystaniu którychś pinów joysticka do szeregowej komunikacji między mikrokontrolerem i Atari.
Koncepcja była by taka, że w celu nawiązania transmisji musiał by wystąpić na danym pinie określony sygnał - czyli tak jak pisze Pin program na Atari wysyła jakieś magiczne bajty.

Zasada była by taka: mikrokontroler ma w swej pamięci ustawione przełączniki - kilka, powiedzmy dla przykładu z osiem. Po włączeniu zasilania od razu wystawia na ośmiu nogach tych osiem stanów i to są stany naszych przełączników do rozszerzeń. Stany zapisane są w EEPROM-ie mikrokontrolera.

Jeden z pinów mikrokontrolera połączony jest z którymś z pinów portu A. Na tym pinie mikrokontroler nasłuchuje i czeka na wystąpienie magicznej sekwencji - dzięki temu sygnały pochodzące z joysticka nie są w stanie uruchomić tej sekwencji, a więc ona nie wystąpi. Program na Atari chcąc wysłać coś do mikrokontrolera poprzedza to zawsze magiczną sekwencją, a mikrokontroler odbiera tylko informacje występujące po magicznej sekwencji.
Transmisja może być bardzo wolna, żeby uniknąć standardowych problemów z transmisją - założymy sobie jakąś stałą częstotliwość tej transmisji po stronie mikrokontrolera, którą da się bez problemu uzyskać i wyliczać pętlami nawet w Basicu. Jak piszę może to być bardzo wolne, bo przesyłać będziemy tylko kilka bajtów, więc prędkość nie ma znaczenia.
Trzeba by ustalić kształt ramki, np. kilka bitów "magic", następnie kilka bitów oznaczających typ rozkazu (zapis, odczyt tego czy tamtego), następnie kilka bitów danych (np. stany przełączników do ustawienia, lub nazwy przełączników do zapisania). Przy rozkazie odczytu na drugiej linii wysyłane by były w odpowiedzi dane w taki sam sposób, czyli "magic", typ, dane. To tak z grubsza, oczywiście trzeba by to dopracować, chodzi o zasadę ogólną.

Cała konfiguracja była by zawsze zapisana w EEPROM-ie, więc program do obsługi był jeden i ten sam dla każdych konfiguracji komputerów. Jakoś jeszcze można by konfigurować ile jest aktywnych przełączników, żeby na ekranie mieć ich tylko tyle ile jest używanych - to można zrobić sprzętowo, lub też zapisywać w EEPROM-ie który przełącznik jest aktywny, a który nieaktywny.

13

Mq napisał/a:

Ja p*.*, faktycznie ciężko z Tobą gadać xxl: w pewnym sensie stanąłem po Twojej stronie, broniąc Twojego stanowiska przed Pinem, bo w tej konkretnej sprawie myślałem, że można liczyć na Twoją wiedzę, a wiem jaki jesteś wrażliwy na bezkolizyjność rozwiązań, o czym nieraz już wspominałeś przy okazji gadek na temat u1mb. Powiem więcej, to Twoje przewrażliwienie akurat w wypadku przełącznika, o którym mowa w wątku, było by wręcz pożadane, bo taki przełącznik właśnie tak powinien działać, żeby nie kolidował z żadnym sprzętem. W rezultacie dostałem gówno zamiast odpowiedzi...

calkowicie sie z Toba zgadzam i rozumiem ale mam zwiazane rece, wypowiedzialem sie czeo nie chcialbym spotkac w Twoim przelaczniku i dostalem od admina ostrzezenie: "[dely]: Warning. Offtopic."

mam zwiazane rece. ale trzymam kciuki ze przelacznik bedzie dobry.

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

14

Mq napisał/a:

Mam też zupełnie odmienną propozycję podejścia inaczej do tematu. Słuchajcie, a gdyby tak pójść inną drogą.
Wtrąciłem się w ten wątek, bo jakiś czas temu sam myślałem poważnie o zrobieniu takiego urządzenia, więc wymyśliłem kilka metod jak to zrobić już po tym jak dostałem bólu głowy, o którym pisze Mono. Jedna z tych alternatywnych metod najbardziej mi się w głowie układała jako "bezkolizyjna".
Myślałem, żeby zamiast podpinania się pod magistrale, zrobić to prościej i podłączyć się z mikrokontrolerem pod port A. Konkretnie rzecz biorąc myślałem o wykorzystaniu którychś pinów joysticka do szeregowej komunikacji między mikrokontrolerem i Atari.

A czemu tak? W Atari jest pewna sekwencja, która coś wywołuje (START, OPTION, START+OPTION) - jak wiemy, wciśnięcie przed uruchomieniem Atari daje odpowiednią informację przed wstaniem systemu. A gdyby tak... Urządzenie było "przezroczyste" dopóki nie wymusi się jakiejś sekwencji przed uruchomieniem kompa (nie miem, SELECT+OPTION razem), która wtedy wgra do pamięci sterownik (tylko wtedy uruchomi się program), na którym sobie poustawiamy co chemy (konfig możnaby dogrywa nawet z SIO2SD czy innego IDE), zapisze "na stałe" (do kolejnego "zimnego resetu") i znowu staje się przezroczyste z odpowiednio poustawianymi zatrzaskami? Oczywiście się nie znam, ale to chyba miałoby prawo działać (odpowiednio zaprojektowane)?

Sikor umarł...

15

Sikor napisał/a:

(nie miem, SELECT+OPTION razem), która wtedy wgra do pamięci sterownik (tylko wtedy uruchomi się program),

to złe rozwiązanie, gdyż jest używane przez min.:

1. Qmeg
2. IDE Plus - (cold reset jedna kombinacja, oraz start + reset wejście do BIOS)
3. Karin Maxi (wejście do BIOS)
4. Ultimate 1MB (BIOS)
5. magnetofon
6. stacja
7. DracOS dla BootMenu

.. przepraszam - nikt nie używa jeszcze: start+select+option jednocześnie ;)

Kontakt: pin@usdk.pl

16

Tak jak Pin pisze - nie chciałem robić kombinacji klawiszy - komunikację i tak trzeba nawiązać, a program do konfiguracji uruchomić. Całość opisanego przeze mnie pomysłu opiera się na zasadzie, że urządzenie nie ingeruje nijak w Atari i jest dla niego niewidoczne, nieprzeszkadzające, niewpływające na nic dopóki nie uruchomimy programu do konfiguracji na Atari.

17

_kriss_ napisał/a:

coś w stylu Ultimate tylko z jednym ekranem i prostymi funkcjami ON/OFF

To jeszcze inne pytanie, ale w temacie tym razem. Co konkretnie chcesz włączać / wyłączać? Ram, stereo .... co jeszcze?

Kontakt: pin@usdk.pl

18

Chodzi o to, żeby można było przełączać co się chce, uniwersalnie.
Ja sobie na szybko wyobrażam to co używam u siebie: RAM on/off, RAM CS/Rambo, Stereo, QMEG/XL OS/inne systemy, wewnętrzna Sparta on/off.
To taka podstawa dla mnie, ale  można też jakieś wewnętrzne kartridże mieć i przełączać, Basic w różnych wersjach, jakieś tam inne gadżety co kto sobie wymyśli.
Ja tam mam też nadzieję, że jeszcze w życiu skonstruuję mnóstwo różnych nowych rozszerzeń do Atari, a przełącznik uniwersalny pozwoli w przyszłości zawsze dopiąć sobie do niego co tam chcesz.

19

no, jeśli ktoś ma zamiar w tej technologii rozbudowywać sprzęt to przyznam, taki przełącznik może ocalić integralność obudowy, fakt.

Kontakt: pin@usdk.pl

20

@Pin: właśnie o takie przeznaczenie przełącznika mam na myśli jak pisze Mq

21

U siebie mam to wszystko w środku i tylko wszędzie zworki do przełączania na płytkach pcb.
Są to rzeczy, które rzadko przełączam, bo RAM mam cały czas na 1MB Rambo, a tylko czasami przełączam na CS, żeby obejrzeć VideoBlitz:-). System praktycznie cały czas na QMEG, ale czasem coś chcę sprawdzić na XL OS, stereo praktycznie cały czas, ale np. do Lasermanii trzeba przełączyć na mono.
Nie lubię dziur w obudowach, nie lubię też tych brzydkich przełączników, które są w sprzedaży.
Gdyby przełączać rozszerzenia programem, to można by w końcu skręcić komputerek:-)

22

A widział ajtimajta???

23

widać, że piątek jest. Przepraszam za Asa, ale nie zajarzył jeszcze że ajtimajt jest fopa ;)

Kontakt: pin@usdk.pl

24

Pozwolę sobie podrzucić jeszcze jeden pomysł. Możnaby zrobić taki przełącznik na bazie SIO2SD, czyli mikokontroler udawałby stację dysków i po otrzymaniu odpowiedniego polecenia (XIO?) zmieniałby stan swoich pinów. Sterowanie jeżeli dobrze rozumiem byłoby wtedy możliwe nawet z poziomu czystego BASIC'a instrukcją open?
Jeżeli w prawdziwych SIO2SD zostało jeszcze parę wolnych pinów i trochę ROM'u, to posiadacze wbudowanych urządzeń mogliby nawet je rozszerzyć o te dodatkowe polecenia i kilka kabelków.
Oprogramowanie kontrolera to może bym nawet dał radę ogarnąć, bo źródła SIO2SD są na githubie, gorzej z elektroniką, może na pająka, bo to w sumie jeden scalak będzie, a to menu na Atari to nie wiem może by się TB w końcu pouczyć?

25

Dziwnie okrężną drogę kombinujesz, bo sio2sd jest przecież zewnętrznym urządzeniem, a przełączniki mają być w środku w komputerze, sterować wewnętrznymi rozszerzeniami i być niezależne od jakichkolwiek innych urządzeń. Poza tym nie ma logicznego związku pomiędzy sterowaniem rozszerzeniami a sio2sd, to zupełnie różne bajki:-)

Niemniej jednak na podobnej zasadzie jak zaproponowałem wykorzystanie portu A, to równie dobrze można top samo zrobić przez SIO, to bez różnicy, chociaż chyba przez port A łatwiej, bo tam swoją komunikację można sobie zorganizować, a na SIO trzeba by to zrrobić jako urządzenie o konkretnym numerku przypisanym i jechać komunikację z tym urządzeniem protokołem zgodnym z transmisją danych przez SIO, co trochę mi się wydaje być przerostem formy nad treścią.

A jeszcze tak bez związku z przełącznikiem, ale w związku z SIO2SD: pamięć w tamtej Atmedze jest wypełniona chyba do ostatniego bajtu z tego co pamiętam, dlatego między innymi skończyły się kolejne wersje i mamy jedną ostatnią już od baaardzo dawna. Źródła dostępne na githubie, o których prawdopodobnie mówisz, to źródła do którejś bardzo starej wersji 2.x, natomiast z tego co wiem, to źródeł aktualnych nie udostępniono publicznie i chyba nikt ich za bardzo nie ma.