226

Kolejne pytanie czy bez tego PICa działają pady ? Podłączyłem stację dyskietek i ładnie załadowało grę na starym i nowym tosie, ale brak rekacji na pady :)

227

Kolejne pytanie czy bez tego PICa działają pady ? Podłączyłem stację dyskietek i ładnie załadowało grę na starym i nowym tosie, ale brak rekacji na pady :)

228

Pady, czy tam joysticki, nie będą działały bez PIC-a. PIC obsługuje klawiaturę i mysz na PS/2 oraz złącza joysticków.

Jeszcze dopiszę odpowiedź na wcześniejszy post, chociaż już po czasie, ale może się komuś w przyszłości przydać.
Na TOS 2.06 jak wyskakują 4 bomby przy braku zarówno stacji dyskietek, jak i braku działającego dysku/karty CF na IDE, to jest to zachowanie normalne i mówi właśnie o tym błędzie, że nie ma skąd wystartować, bo nie idzie boot ani z dyskietki, ani z dysku.

229

O sorki, przegapiłem wątek :)
Tak jak Mq pisze: PIC odpowiada za obsługę myszy, klawiatury i portów joysticków. Był problem z dostępnością tych PIC-ów ale pojawiły się już na Aliexpress w rozsądnych cenach.
Za to znikły generatory 32.084988Mhz, ale dzięki testom przeprowadzonym przez Mq wiadomo, że można odpalić na 32MHz :)

230

Mam i ja:-)

http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=10818

Post's attachments

ST_ATX_Mq.jpg 132.13 kb, liczba pobrań: 1 (od 2023-09-14) 

Tylko zalogowani mogą pobierać załączniki.

231

A oto krótka relacja z budowy mojego egzemplarza: tydzień czasu w praktycznie wszystkich wolnych chwilach lutowałem to wszystko i wylutowywałem scalaki z płyty dawcy. Spodziewałem się, że na początku nic się nie uruchomi, potem będę szukał błędów i miał z tym jeszcze kupę dobrej zabawy, ale niestety zabawa skończyła się nader szybko, bo po złożeniu całości odpaliłem kompa i od razu wstał, i wszystko w nim działa.

Drobne niuanse i podpowiedzi:

Tak jak pisał wyżej x_angel, nie miałem generatora takiego jak kwarc w ST, więc na pałę dałem zwykły 32MHz. Na takim kwarcu wszystko działa, odpalają się programy, odpalają się gry i dema. Czytałem gdzieś na forum zagranicznym, że jak się da inny kwarc niż być powinien, to się może coś tam wywalać w tzw. "docyklowanych demach", bo tam przypada inna ilość cykli w linii, czy tam inna ilość cykli w stosunku do cykli zegara od RS232, a stamtąd jest też pobierany czas do jakichś obliczeń czy coś... Nie znam się na tym:-). Ale faktycznie np. w demie Execute komputer zawiesza się w połowie dema na jakimś efekcie i widać jakieś linie obrazu wyjeżdżające na ramkę, tak jak by tam włąśnie coś się nie zmieściło czy coś... Muszę to jeszcze dokładniej przetestować z ciekawości, ale oczywiście tak czy owak generator 32MHz dałem tymczasowo, a zamierzam zbudować generator na kwarcu wziętym z płyty dawcy pozostałych części, więc będzie wszystko tak jak było w oryginale i powinno wszystko śmigać dobrze wtedy.

Pamięci dałem KM416C1200J-7. Co ciekawe te pamięci waliły błędami w Amidze, która potrzebowała EDO, a te się nie nadawały. Myślałem że są uszkodzone, ale nie wyrzuciłem i zostawiłem je. I bardzo dobrze:-) Pamięci, które działają w Amidze 500, nie chcą działać w Atari, a te które w Amidze nie działają, to z kolei w Atari działają elegancko. Moje o których mowa, chodziły w yaart sobie na testach przez kilkadziesiąt powtórzeń i nie pokazały żadnego błędu.

Mała podpowiedź dla tych, którzy tak jak ja nie mają WD1772, a nie chcą korzystać z FDD  jest on im niepotrzebny. Jeżeli będziemy korzystać tylko z IDE (w moim przypadku karta CF), to można oszukać bardzo łatwo Atari. Atari odpalone bez układu WD1772 nie pójdzie, wywali dwie bomby i koniec. Wystarczy zamiast układu w podstawce zewrzeć razem piny 27 i 28, oraz podłączyć je oba do pinu 14. Wymyśliłem to już dawno temu i korzystałem wielokrotnie z tej metody, bo WD jest deficytowy, a ja i tak zawsze używam czegoś na ACSI, albo na IDE.

I jeszcze jeden hint. Na płycie ATX jest zrobiony przełącznik TOS-ów 1.04/2.06, który wykorzystuje trzywejściowe bramki AND układu 74LS11. Nie miałem akurat takiego układu, ale wymyśliłem jak bez niego zrobić tymczasowe obejście łatwo. Użyłem układu 74LS08, który miałem pod ręką. Wystarczy odgiąć mu nogi 3,11,12 i można go wsadzić zamiast 74LS11. W takim wypadku trzeba zworki obie na płycie przestawić w pozycję TOS 2.06 i tylko z tego TOS-u można skorzystać, ale da się tak łatwo odpalić już komputer nie mając tego jednego układu. Przy okazji sobie tam podmienię jeszcze ten układ, albo może i nie:-)

Co jeszcze... Przetestowałem IDE, działa dobrze, przetestowałem pamięć, jest ok, przetestowałem interfejs eiffel z klawiaturą i myszą PS/2 oraz wejścia joysticków, wszystko działa ok. Odpaliłem kilkanaście gier różnych i wszystkie działały poprawnie. Odpaliłem dwa dema, jedno  zadziałało, drugie się zawiesiło w połowie, jak pisałem już wyżej.

W następnych krokach planuję wykonać generator z kwarcem z mojej płyty Atari-dawcy. Moja płyta była akurat w wersji PAL, jest tam kwarc 32.084988MHz. x_angel dawał generator bodajże 32.04245MHz, ale on miał układy w wersji NTSC i tam był właśnie taki kwarc dawany.
Dalej będę jeszcze przeprowadzał większą ilość testów dem i gier, muszę jeszcze też uruchomić midi.
Następnie jak stwierdzę, że wszystko działa dobrze, to zabiorę się za odpalenie STGA. Mam już sprawną kartę ET4000, któr ą przetestowałem w starym pececie, więc mam na czym działać.
Jak mi się uda to odpalić wszystko, to dalej pomyślę nad jakąś dopałką, może jakiś Alt-RAM dołożę, zobaczymy.
Aha, no i jeszcze jakaś obudowa będzie rzeźbiona itd. W każdym razie mam zabawy na kupę czasu:-)

232

Gratulacje!
Ja miałem scalaki PAL, a generator od NTSC - nie zauważyłem tego zanim nie napisałeś :)
Ale również nie zauważyłem, żeby coś złego się działo. Sprawdzę to demko wieczorem.

Patrzę, że to gniazdko zasilania, które dałem tam na górze, się przydaje :)

Z MIDI to poczytaj:
https://chillichai.com/atari-st-micro-atx/
Ja nie uruchamiałem, ale gość pisał, że nie działa na tamtym transoptorze. Powinno zadziałać albo na 4N33 albo na oryginalnym - rzucisz okiem na ścieżki na PCB to dojdziesz.

233

Tu ktoś dociekał o co chodzi z tymi różnymi kwarcami na różnych płytach ST: https://forums.atariage.com/topic/35376 … y-choices/

A tu jest wątek obszerniejszy o tych zegarkach na forum exxosa: https://exxosforum.co.uk/forum/viewtopic.php?t=1139

Z tego co tam czytałem, chodzi o to, że układ MFP (MC68901) jest odpowiedzialny za obsługę przerwań, a on ma wbudowane swoje timery, które są taktowane oddzielnym kwarcem 2.4576MHz, który jest na płycie. Te kwarce, które są oryginalnie na płytach głównych, są tak dobrane, żeby było wszystko zgodnie z projektem całego komputera i żeby obraz miał określoną szerokość i na linię przypadała określona liczba cykli procesora. Jak dajemy wolniejszy kwarc, to np. na linię obrazu mamy troszkę mniej cykli procesora, a wiemy że w demach nieraz dla osiągnięcia jakichś efektów programiści wciskają się na styk z rozkazami wykorzystując wszystkie cykle na styk. Przy wolniejszym kwarcu to się po prostu nie zmieści i niektóre dema się wysypią.
Drugi aspekt jest taki, że przy wolniejszym lub szybszym kwarcu cały obraz na ekranie przesuwa się lekko w lewo lub w prawo, a obraz robi się minimalnie węższy lub minimalnie szerszy, bo piksele w linii są wyświetlane ciut szybciej, lub ciut wolniej niż następują przerwania związane z przejściem plamki do kolejnej linii ekranu.
Tak mi się przynajmniej wydaje, można by spróbować porównać sobie obraz przy kilku różnych generatorach, ale ja akurat nie mam żadnego innego do porównania... Jak zbuduję generatorek z tym oryginalnym kwarcem, to porównam z tym 32MHz, który mam teraz.

Na 32MHz wysypuje mi się demo Execute po około 5 minutach, zawsze w tym samym miejscu, przy czym zaczyna się to tak, że latają poziome linie śmieci, co wskazuje na jakiś bałagan w przerwaniach, jak by zaczynała uciekać synchronizacja, a za chwilę następuje zwis całkowity i śmietnik na ekranie. Myślę, że to jest problem właśnie dokładnie tego co opisałem powyżej.
-------------------

Gniazdo zasilania dodatkowe faktycznie się przydaje:-) Bardzo łatwo jets to testować ze zwykłym zasilaczem. Nie mierzyłem ile pobiera prądu ST, ja uywam na razie zwykłego wtyczkowego zasilacza 5V/2A i jakoś działa. Docelowo zastosuję dedykowany zasilacz jakiś i skorzystam ze złącza zasilania ATX.
-------------------

Z tym midi sprawdzę za jakiś czas o co chodzi. Widziałem ten opis fixu, który podlinkowałeś od tamtego gościa, ale trochę nie rozumiem dlaczego oryginalny transoptor nie działa. Z tego co patrzyłem, to układ wyprowadzeń jest chyba taki sam, tylko oryginalny transoptor ma podwójny tranzystor chyba w układzie Darlingtona, a ten zamiennik, który koleś tam zaproponował ma pojedynczy tranzystor. Nie wiem, trzeba sprawdzić, może on po prostu miał oryginalny transoptor uszkodzony i dlatego poszukał zamiennika?

234 Ostatnio edytowany przez Cyprian (2023-09-14 13:02:19)

Mq napisał/a:

Tak jak pisał wyżej x_angel, nie miałem generatora takiego jak kwarc w ST, więc na pałę dałem zwykły 32MHz. Na takim kwarcu wszystko działa, odpalają się programy, odpalają się gry i dema. Czytałem gdzieś na forum zagranicznym, że jak się da inny kwarc niż być powinien, to się może coś tam wywalać w tzw. "docyklowanych demach", bo tam przypada inna ilość cykli w linii, czy tam inna ilość cykli w stosunku do cykli zegara od RS232, a stamtąd jest też pobierany czas do jakichś obliczeń czy coś... Nie znam się na tym:-).

MFP (Timery/Przerwania/Port B/RS232) ma własny kwarc, więc jeśli procesor ma niestandardowy zegar to docyklowane dema które używają zegarów/przerwań, mogą (ale nie muszą) się wyłożyć.

Z tym że jest światełko w tunelu - Atari stosowało ze trzy różne kwarce dla procesora (jeden w STE i ze dwa w ST), dema zazwyczaj sprawdzają który kwarc jest użyty, wiec może którychś z nich jest dostępny.


---dopisek---

32.0424 MHz    - wczesne STF, również NTSC
32.04245 MHz    - Mega ST
32.084988 MHz    - PAL ST, STE
32.215905 MHz    - NTSC STE

32.028400 MHz - wczesne ST: https://www.atari-forum.com/viewtopic.p … 758#p75758


Widzę że Centurion ma jeszcze 32.084988 MHz https://centuriontech.eu/product/falcon_oscillator_pal/

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

235

Dzięki Cyprian za precyzyjne info.

Dzisiaj potestowałem trochę gry. Generalnie wszystkie działają (przynajmniej te, które testowałem), ale mam pewną zagwozdkę z tym interfejsem Eiffel. Nigdy wcześniej tego nie używałem, więc może nie wiem jak to obsługiwać, może to ma jakieś funkcje zaszyte, albo jakieś tam prawidłowości, albo coś automatycznie sobie konfiguruje, albo coś? Ale w czym rzecz: mam kilka przypadłości z tym interfejsem i nie wiem czy to tak ma być, czy coś jest nie tak, czy co.

1. Od czasu do czasu (rzadko) zdarza mi się, że jak wcisnę jakieś klawisze, to tak jak by się zapamiętały w jakimś buforze i potem np. jak odpalam jakiś program, czy grę, gdzie jest "naciśnij dowolny klawisz", to jakby z automatu naciska się "dowolny klawisz". Czasem jest tak, że tylko jeden raz się to dzieje, ale czasem jest tak, jak by jakiś klawisz był cały czas wciśnięty już na stałe. Czasami dzieje się to nawet pod GEM-em, wtedy słychać dźwięk wciskanego cały czas klawisza, a jak się powciska trochę klawisze różne na klawiaturze byle jakie, to za chwilę się to naprawia.

2. Czasami po odpaleniu różnych gier, programów, pracy dłuższej, nagle zauważam, że na klawiaturze migają regularnie z prędkością 1-2 razy na sekundę diody dwie (chyba numlock i capslock). Wszystko wtedy działa nadal niby normalnie, ale migają te diody i to jest takie wolne cykliczne miganie, jak by to jakaś opcja była czy coś, dlatego pomyślałem, że może się coś jakimiś kombinacjami klawiszy konfiguruje w tym eifflu? Niestety nie wiem co wciskam, żeby się tak stało. Dwa razy mi się tak zdarzyło, ale nie wiem jak to zrobiłem...

3. Używam myszy na PS/2, w porcie joysticka 0 nie mam nic wpiętego, a w porcie 1 mam joystick. Gram w różne gry i joystick działa zarówno jeśli chodzi o kierunki, jak i jeśli chodzi o fire. Ale jest jedna jedyna gra Prehistoryk, w której nie działa mi fire w joysticku. Wciskam ten fire, a on nie robi nic (powinien walić maczugą). A kierunki działają normalnie i chodzić postacią można. Ciekawe jest dodatkowo to, że jak wcisnę prawy przycisk myszy, to działa maczuga. Bardzo dziwne... W Atari normalnie jest tak, że fire od joysticka i prawy przycisk myszy, to jest fizycznie ten sam przycisk, więc powinna działać maczuga zarówno na ten prawy przycisk myszy, jak i na fire. A tu na myszy działa, a na joyu nie. A przypominam, że fire w joyu działa poprawnie we wszystkich innych grach, które testowałem (około 20 różnych gier). Jest jeszcze taki program Putnika do testowania joya i myszy, i w tym programie Putnika mam taki sam problem, że ten fire nie działa. Z tego co pisał Putnik na jakimś forum, to ten program używa jakichś funkcji systemowych do odczytu joya i myszy, a nie komunikuje się bezpośrednio ze sprzętem. Może większość gier komunikuje się inaczej bezpośrednio ze sprzętem i wtedy to działa, a Prehistoryk może wykorzystuje funkcję systemową też? Może to kwestia TOS-u? Używam tylko 2.06. Zmierzam do tego, że może eiffel nie obsługuje jakiejś funkcji czy coś? A w ogóle @x_angel: jakiej wersji firmware do eifla używasz?

236 Ostatnio edytowany przez Mq (2023-09-14 22:45:28)

.

237

Wrzuć tego Prehistoryka do załącznika, to może jakoś sprawdzę. Wczoraj chciałem sprawdzić demo Execute na MegaST, którą świeżo nabyłem. Ale okazało się, że ma TOS 1.02 i 1MB ramu więc oczywiście ją rozkręciłem. W środku znalazłem jeszcze emulator PC :) No i tak zacząłem grzebać i wszystko rozgrzebałem, a nic nie sprawdziłem :)

Ten Eiffel tak ma na teście, jak napisałeś. Nie wiem, czy to jest poprawnie czy nie. Ogólnie w grach działa ale mogę obadać tego Prehistoryka. Mogę sprawdzić na Medze z oryginalną klawiaturą i z Eifflem.

Używam firmware eiffel_i.hex i to jest 1.10

Aha, do Eiffla jest w ogóle jakiś program konfiguracyjny, podobno można nawet ustawić trzeci przycisk myszy czy tam rolkę - nie wiem, bo nigdy nie używałem :)

238

Wrzuć tego Prehistoryka do załącznika, to może jakoś sprawdzę. Wczoraj chciałem sprawdzić demo Execute na MegaST, którą świeżo nabyłem. Ale okazało się, że ma TOS 1.02 i 1MB ramu więc oczywiście ją rozkręciłem. W środku znalazłem jeszcze emulator PC :) No i tak zacząłem grzebać i wszystko rozgrzebałem, a nic nie sprawdziłem :)

Ten Eiffel tak ma na teście, jak napisałeś. Nie wiem, czy to jest poprawnie czy nie. Ogólnie w grach działa ale mogę obadać tego Prehistoryka. Mogę sprawdzić na Medze z oryginalną klawiaturą i z Eifflem.

Używam firmware eiffel_i.hex i to jest 1.10

Aha, do Eiffla jest w ogóle jakiś program konfiguracyjny, podobno można nawet ustawić trzeci przycisk myszy czy tam rolkę - nie wiem, bo nigdy nie używałem :)

239 Ostatnio edytowany przez Mq (2023-09-15 10:49:05)

Prehistorik stąd, wersja hdd: https://atari.8bitchip.info/SCRSH/prehist.html

Demo Execution wywala mi się dokładnie w momencie kiedy zaczyna się część, która jest pokazana np. w tym filmiku dokładnie od 5:13: https://www.youtube.com/watch?v=UJH2yIJdV_s
Czyli kończy się część z białym tłem, a wskakuje napis na ekranie "SMFX Goes fullscreen" i powinien latać obracający się sześcian po ekranie, a u mnie wtedy następuje rozjazd i zwiecha.
Na tym filmiku widać wyraźnie, że ten efekt ma polegać na tym właśnie, że sześcian lata szerzej na ekranie niż normalny obraz. Czyli właśnie tutaj chyba mamy do czynienia z tzw. "docyklowanym demem", gdzie autor pokazał wyświetlanie obrazu skrajnie od końca do końca linii ekranu i tu prawdopodobnie następuje efekt, o którym pisaliśmy szerzej w poprzednich postach.

240

Aaa zapomniałem o tym miganiu diod i zawiechach klawiatury.
Myślę, że masz za słaby zasilacz albo za długi kabelek zasilający. Nie chodzi o wydajność prądową, bo bez karty graficznej płyta pobiera poniżej 1A.
Spróbuj grubszy/krótszy kabelek, a także inny zasilacz.
Co masz w ogóle za zasilacz? Jakiś laboratoryjny? Czy jakiś "zwykły" wtyczkowy?

241

Zrobiłem jeszcze trochę testów. Wygląda na to, że ten sam problem występuje w programie testującym joystick i mysz od Putnika (JOYMOUT.PRG) i w grze Prehistoric. W obu przypadkach po prostu nie działa fire w joysticku, natomiast działa prawy przycisk myszy. Wydaje się, że Eiffel w jakiś sposób przełącza sobie czy ma czytać przycisk z myszy czy z joya i niestety nie działa jeden i drugi na raz. Może to zależy od tego w jaki sposób jest zrealizowana obsługa fire w danej grze i wtedy Eiffel na tej podstawie jakoś to sobie przełącza. Szkoda że to tak jest zrobione, powinno być jak w oryginalnej klawiaturze Atari, że prawy przycisk myszy jest fizycznie tym samym co przycisk fire w porcie joya i po prostu działają zawsze równolegle oba te przyciski.
Zastanawiam się jeszcze i nadal poszukuję czy da się to jakoś rozwiązać, bo to w sumie dość poważny problem, będzie on dotyczył być może większej ilości gier.

Tutaj ktoś sprzedaje eifle: https://klydes-korner.site/en/product/a … joysticks/
I tam stoi napisane tak: "However I noticed that the joystick function is not supported by all games. Doing research it seems that there are several methods of joystick support by the Atari ST. The Eiffel adapter doesn't emulate all of these methods, so it's hit-and-miss."
Dalej jeszcze napisano tak: "The joystick ports also do not emulate the mouse function, so you cannot plug an Atari mouse into the joystick port."

Tak że trochę lipa z tym Eiflem, bo niby to fajne, ale nie do końca działa. To jest kawał urządzenia, z wieloma funkcjami, dość szeroko oprogramowane, bo zrobienie protokołów do komunikacji PS/2 z myszą i klawiaturą to spora robota, dodatkowo obsługa różnych map klawiatur, możliwość konfigurowania własnych itd, to jest wszystko super, ale co z tego jak nie działa dobrze normalny port joya i myszy, które są podstawowymi peryferiami, bez których nie da się używać komputera. Sorry, ale chyba będzie trzeba wywalić to wszystko i podłaczyć normalną klawiaturę od ST z normalnymi portami joysticka i myszy... No chyba, że ktoś umie i podejmie się kontynuacji projekty Eiffel i dokończy tą obsługę tych dwóch portów joya?

Jeśli chodzi o to, co opisałem wcześniej w punktach 1 i 2, czyli miganie diod klawiatury, zapełnianie bufora itp., to wygląda na to, że te rzeczy występują tylko w przypadku kiedy odpinam i wpinam wtyczki na włączonym komputerze. Po prostu dużo rzeczy przepinałem, odpinałem i przypinałem mysz i klawiaturę, zmieniałem porty joya itp. Wtedy Eiffel potrafi ześwirować, ale z drugiej strony nie jest to raczej problemem, bo jak wszystko mamy podpięte i nie grzebiemy w kablach, to problemy te nie występują, a przynajmniej dziś po dłuższych testach nic takiego mi się nie działo już.

Zasilacz zwykły wtyczkowy mam na razie do testów 5V/2A. Ale z tym nie ma problemu, to wszystko działa dobrze jak już wyżej napisałem.

242

Dziś testów ciąg dalszy nastąpił.

Zacząłem od zbudowania sobie generatora kwarcowego, żeby odpalić płytę na tym kwarcu oryginalnym z ST (32.084988 MHz) zamiast standardowych 32MHz, który to miałem do pierwszych testów.
Od razu napiszę, że różnica jest taka, że ów demo co mi się zawieszało, to się przestało zawieszać. Poza tym jakichś wielkich różnic nie zaobserwowałem, obraz nie przesunął się i na oko ma takie same rozmiary na obu generatorach. Gry, które testowałem działały na obu kwarcach w zasadzie tak samo. Krótko mówiąc generator 32MHz z grubsza spełnia swoją rolę i można tak Atari odpalić. Pewnie z czasem powychodziły by jeszcze jakieś niuanse i ograniczenia, ale do zastosowań ogólnych 32MHz daje z grubsza radę. Niemniej jednak skoro już mi się udało zbudować i uruchomić generator na oryginalnym kwarcu Atari, to taki zostaje w mojej płycie.

Obejrzałem 10 długich dem z czołówki najlepszych i wszystko działa chyba dobrze.

W kwestii Eiffla podszedłem do tematu dzisiaj raz jeszcze z chłodną głową i postanowiłem precyzyjnie określić co działa, a co nie.
Na spokojnie przetestowałem to i owo, i generalnie urządzenie jest fajne, ma jakieś tam drobne niedogodności, ale ogólnie jeśli chodzi o mysz i klawiaturę, to działa bardzo dobrze.
Problem jest tylko z joystickiem, ale w gruncie rzeczy kierunki też działają bardzo dobrze, więc jedynym poważnym problemem jest fire.

Dziś przetestowałem łącznie 30 gier i oprócz Prehistoryka trafiłem jeszcze na drugi hit, w którym też jest ten sam problem z przyciskiem fire. Chodzi o grę Gods.
W zasadzie to jest jedyny problem z Eifflem i jest powtarzalny w różnych grach. Nie działa w niektórych grach fire, ale jednocześnie działa on pod prawym przyciskiem myszy.
Firmware od Eiffla ma już blisko 20 lat, a na stronie jest info o planach kolejnej wersji. Co się stało, czy ktoś wie coś na temat autorów, albo dlaczego nie był ten projekt już dalej rozwijany?

W sumie kody źródłowe są upublicznione, a skoro fire działa pod przyciskiem myszy, to może dało by się jakoś łatwo zdublować fire, żeby działał razem z tym przyciskiem?
W sumie wystarczyło by po stronie odczytu joya zrobić tak, że jak się wciska przycisk fire, to on oprócz swojej obecnej akcji, powinien równolegle zapisać się tam gdzie zapisuje się prawy przycisk myszy, że niby wciśnięto przycisk w myszy. Podejrzewam, że jest to na jakiejś takiej zasadzie, że jest jakiś rejestr osobny dla myszy, gdzie zapisuje się stan przycisku, a osobny dla joya gdzie się zapisuje stan fire. Kiedy system odpytuje klawiaturę o stan myszy, to eiffel zwraca rejestr przycisku myszy, ale kiedy odpytuje o fire, to zwraca rejestr fire. Tymczasem oba te rejestry powinny przyjmować wartość zarówno prawego przycisku myszy, jak i fire z joya, bo oryginalnie w Atari te linie są fizycznie połączone ze sobą. Gdyby tak to zmienić to już było by dobrze wszystko.
Nie mam na to czasu, ale jeśli nikt nie zajmie się tym, to sam spróbuję pewnie kiedyś to zrobić, ale lata lecą coraz szybciej i istnieje ryzyko, że mogę nie dożyć tego momentu:-)

243

Dzień dobry,

czy jest ktoś, kto ma do sprzedania pustą płytkę PCB ATX?

244 Ostatnio edytowany przez x_angel (2023-09-18 09:42:44)

Hej
Płytę oczywiście mam - napisz na maila: lapserwis@gmail.com

Mq: Z tym miganiem diod jak podłączasz klawiaturę lub mysz w trakcie pracy - dalej twierdzę, że to wina chwilowego spadku napięcia. Zasilacz jest prądowo wystarczający ale może ma małe kondensatory na wyjściu czy coś. Sprawdź na innym albo dodaj jakiegoś elektrolita w okolicy portu PS/2


Testowałem wczoraj tego Prehistoryka na oryginalnej klawiaturze i na Eifflu - jest dokładnie tak jak piszesz. i dokładnie tak samo na teście joymout.prg - widać tak napisany soft. Nie udało mi się skontaktować z autorem niestety.
Za to męczyłem parę osób obeznanych w PIC-ach i twierdziły, że to co tam jest dostępne w źródłach nie wystarczy do przepisania tego na inny mikrokontroler (typu 16F15256, który jest bardzo podobny parametrami tylko nowy i dostępny).
Tamte źródła są w assemblerze więc trzeba by to przepisać od nowa.

Demka nie sprawdziłem na Medze, bo ma tylko 1MB pamięci. Sprawdzę na Atari ST ATX jak zrobię odrobinę miejsca na biurku.

245

Przepisywać na inny mikrokontroler, czy tam pisać od nowa to nieee...

Ja pomyślałem, że jak są źródła, to można by je spróbować skompilować na ten sam mikrokontroler i sprawdzić czy się uda osiągnąć taką sytuację, że się uzyska identyczny wsad jak ten gotowy.

Jak to by się udało, to wtedy dziabnąć tam tylko "oszustwo" w kodzie, żeby fire joysticka zapisywał się jako przycisk prawy myszy jednocześnie (żeby się fire joya i prawy przycisk myszy sumowały logicznie). To by wystarczyło prawdopodobnie, żeby działały wszystkie gry poprawnie.

246 Ostatnio edytowany przez x_angel (2023-09-19 08:19:20)

Tak mi przyszło do głowy, bo może ktoś zrobił tak z jakiegoś konkretnego powodu.
W "normalnej" klawiaturze masz w pierwszym porcie mysz albo joystick, a w drugim joystick.
W Eifflu masz jednocześnie podłączoną mysz i joystick (obsługiwane przez jeden port) i ewentualnie joystick w drugim.
Tam pewnie było jakieś zamieszanie i dlatego zrobił jak zrobił.
Chociaż skoro w Atari fizycznie te linie są połączone, to raczej mają jeden rejestr, bo po co robić dwa?
Tak więc nie wiem skąd się bierze różnica.

247

Chodzi o to z tego co zauważyłem, że w Atari system ma gotowe procedury odczytu joya, myszy. Programiści pewnie to wiedzą lepiej, bo ja nigdy nic jeszcze na ST nie programowałem, ale wiem że są inne procedury do odczytu myszy, a inne do odczytu joya, pomimo że fizycznie dzieje się to na jednym i tym samym porcie. W Atari fizycznie to się dzieje na tych samych portach, więc wybór procedur odczytu zależy od programisty i tych metod na odczyt danych z portów joya i myszy jest kilka. To że procedura nazywa się "odczyt przycisku myszy", to nie znaczy że nie można jej użyć do odczytu przycisku joya i w grach najwyraźniej nieraz tak jest.

W Eifflu oprogramowanie PIC emuluje tego chipa, co on siedzi w oryginalnej klawiaturze. A więc naśladuje uruchamianie procedur systemowych w ST.
Początkowo Eiffel nie miał w ogóle portów joyów, na początku była tylko obsługa myszy i klawiatury PS/2. Obsługa procedur komunikacji z myszą i klawiaturą została dość dobrze dopracowana. Dopiero w późniejszych wersjach Eiffla dołożono te dwa porty joya i zrobiono im odrębną obsługę, ale te porty są związane tylko z obsługą procedur związanych z joyem. Z tego powodu nie da się np. podłączyć normalnej myszy od Atari, bo procedury komunikacji z myszą, z automatu rozmawiają tylko z myszą PS/2. I odwrotnie, procedury joya działają tylko z portem joya. No i tak jest ok, dobrze ktoś to wymyślił, bo w większości przypadków działa to poprawnie, ale właśnie ten nieszczęsny fire/przycisk myszy nie został wzięty pod uwagę.

Z punktu widzenia projektanta podobnych urządzeń, a także programisty mikrokontrolerów i mikrokomputerów, jestem na 100% pewny, że zmiana w firmware żeby połączyć prawy przycisk myszy z fire joya, jest bardzo prosta i da się ją łatwo "na kolanie" zrobić. Dla mnie problem jest w tym, że nigdy nie programowałem na PIC-a, więc musiał bym poszukać sobie środowiska jakiegoś, softu do kompilacji, doczytać jak się to wszystko kompiluje, doczytać datasheety PIC-ów itd. Rzecz mnie na tyle intryguje, że pewnie się tym w końcu będę chciał zająć, ale przewiduję tutaj walki z moją własną niewiedzą i zużycie dużej ilości zasobu jakim jest czas, a tego obecnie nie posiadam w nadmiarze:-)

A z innej beczki: wsadziłem brakujący układ HC11 i sprawdziłem przełączanie TOS-ów - działa dobrze, startuje 1.04 i 2.06.

248

myślę że zamiast zamiany sposób działania przycisków myszy/dżoja można by dodać tryb zgodności dla niektórych gier które nie ogarniają.
swoją drogą to klawiatura MSTE/TT obsługuje myszy 3 przyciskowe

Mq napisał/a:

Poza tym jakichś wielkich różnic nie zaobserwowałem, obraz nie przesunął się i na oko ma takie same rozmiary na obu generatorach. Gry, które testowałem działały na obu kwarcach w zasadzie tak samo. Krótko mówiąc generator 32MHz z grubsza spełnia swoją rolę i można tak Atari odpalić.

obraz nie przesunął się bo jest on zależny od tego właśnie zegara, czyli niezależnie czy będzie to 32MHz czy 25MHz, obraz  zawsze ma 313 linii i 512 cykli procesora dla trybu "50Hz". Jedynie ilość ramek na sekundę będzie inna.

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

249 Ostatnio edytowany przez Mq (2023-09-19 10:49:32)

Cyprian, ale z tymi przyciskami myszy, to nie jest że gry nie ogarniają, tylko Eiffel nie ogarnia. Standardowo sprzętowo w Atari połączony jest na sztywno prawy przycisk myszy i fire w drugim porcie joya. W oryginalnym Atari bez względu na to czy wciśniesz prawy przycisk myszy czy fire w joy w drugim porcie, to dla Atari nie robi różnicy, bo to jest ten sam przycisk fizycznie. W Eifflu natomiast zostało to rozdzielone, a nie do końca obsłużone i dlatego są kłopoty.

A taki "tryb zgodności" jak piszesz, to dało by się zrobić jako jakiś program rezydentny, który by w grach ten fire dodatkowo z prawego przycisku myszy czerpał? Jeśli tak, to by też rozwiązało problem dla wszystkich gier od razu.

Z obrazem właśnie nie jest tak jak piszesz, bo przerwania generowane są odrębnym zegarem. Jak zmieniamy podstawowy zegar, to ilość linii się nie zmienia, ilość ramek na sekundę też nie, natomiast zmienia się ilość cykli procesora w linii. I z tego robią się problemy z tzw. docyklowanymi demami, gdzie programiści przewidzieli, że mają określoną ilość cykli, a jak dajemy minimalnie wolniejszy zegar, to tam się robią jakieś pojedyńcze cykle w linii mniej, zaczyna ich brakować i program się sypie.

No chyba, że coś źle zrozumiałem, ale z moich obserwacji wynika, że tak właśnie jest.
Jak budowałem teraz generator z kwarcem z płyty oryginalnym, to potwierdziło się to co mówię. Kwarc przez przypadek wzbudzał mi się na niższej częstotliwości (3x niższej, bo to kwarc tzw. overtonowy i trzeba go odfiltrować, żeby wzbudzał się na 3x wyższej częstotliwości, co już naprawiłem nawiasem mówiąc). No i jak się kwarc wzbudzał na 3x mniejszej częstotliwości, to obraz wyglądał jak na załączonym zdjęciu. Ilość linii obrazu, częstotliwości przerwań synchronizacji poziomych i pionowych się zgadzają, bo inaczej obrazu by w ogóle nie było na monitorze. Natomiast zawartość leci trzy razy wolniej, przez co jest wszystko trzy razy większe i oczywiście jest dodatkowo bajzel. Startujące na tym zdjęciu Atari nie uruchamia żadnych procedur synchronicznie do przerwań, więc nic się nie wysypuje, a komputer normalnie wstaje, tylko wyświetla to co wyświetla. Jednak jak w demach jakieś procedury mają się odpalać zgodnie z przerwaniami, to zaczyna się to sypać, bo procedura nie zdąży wykonać się w całości przed wystąpieniem następnego przerwania.

http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=10840

Post's attachments

overtone.jpg 76.37 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

250 Ostatnio edytowany przez Cyprian (2023-09-19 11:36:54)

Mq napisał/a:

Cyprian, ale z tymi przyciskami myszy, to nie jest że gry nie ogarniają, tylko Eiffel nie ogarnia. Standardowo sprzętowo w Atari połączony jest na sztywno prawy przycisk myszy i fire w drugim porcie joya. W oryginalnym Atari bez względu na to czy wciśniesz prawy przycisk myszy czy fire w joy w drugim porcie, to dla Atari nie robi różnicy, bo to jest ten sam przycisk fizycznie. W Eifflu natomiast zostało to rozdzielone, a nie do końca obsłużone i dlatego są kłopoty.

A taki "tryb zgodności" jak piszesz, to dało by się zrobić jako jakiś program rezydentny, który by w grach ten fire dodatkowo z prawego przycisku myszy czerpał? Jeśli tak, to by też rozwiązało problem dla wszystkich gier od razu.

chodziło mi o to by  bezpośrednio w Eiffel by wybór: albo zwykłe działanie ST - tak "tryb zgodności", albo "nowe" czyli to które teraz jest. A może nawet rozszerzyć to które jest do obsługi trzech przycisków.


Mq napisał/a:

Z obrazem właśnie nie jest tak jak piszesz, bo przerwania generowane są odrębnym zegarem. Jak zmieniamy podstawowy zegar, to ilość linii się nie zmienia, ilość ramek na sekundę też nie, natomiast zmienia się ilość cykli procesora w linii. I z tego robią się problemy z tzw. docyklowanymi demami, gdzie programiści przewidzieli, że mają określoną ilość cykli, a jak dajemy minimalnie wolniejszy zegar, to tam się robią jakieś pojedyńcze cykle w linii mniej, zaczyna ich brakować i program się sypie.

No chyba, że coś źle zrozumiałem, ale z moich obserwacji wynika, że tak właśnie jest.
Jak budowałem teraz generator z kwarcem z płyty oryginalnym, to potwierdziło się to co mówię. Kwarc przez przypadek wzbudzał mi się na niższej częstotliwości (3x niższej, bo to kwarc tzw. overtonowy i trzeba go odfiltrować, żeby wzbudzał się na 3x wyższej częstotliwości, co już naprawiłem nawiasem mówiąc). No i jak się kwarc wzbudzał na 3x mniejszej częstotliwości, to obraz wyglądał jak na załączonym zdjęciu. Ilość linii obrazu, częstotliwości przerwań synchronizacji poziomych i pionowych się zgadzają, bo inaczej obrazu by w ogóle nie było na monitorze. Natomiast zawartość leci trzy razy wolniej, przez co jest wszystko trzy razy większe i oczywiście jest dodatkowo bajzel. Startujące na tym zdjęciu Atari nie uruchamia żadnych procedur synchronicznie do przerwań, więc nic się nie wysypuje, a komputer normalnie wstaje, tylko wyświetla to co wyświetla. Jednak jak w demach jakieś procedury mają się odpalać zgodnie z przerwaniami, to zaczyna się to sypać, bo procedura nie zdąży wykonać się w całości przed wystąpieniem następnego przerwania.


Sygnały (i przerwania dla procesora) Vsync i Hsync generowane są przez GLUE który jest taktowany zegarem głównym. Ma on wewnętrzne zegary które na sztywno zliczają cykle i generują sygnały H/V i DE (display enable). Więc jeśli nie zaingerujemy procesorem (np. otwieranie ramek) to ilość cykli procesora per linia i linii per ramka obrazu zawsze są takie same. Dodatkowo SHIFTER też jest taktowany zegarem głównym, więc PixelClock - w tym przypadku ilość pikseli w linii jest stała w stosunku do Hsync ("50Hz":512/1024, "60Hz":508/1016, VGA: 896).

MFP ma osobny zegar, z tym że układ ten generuje przerwania wyłącznie dla procesora i nie biorą one udziału w generowaniu obrazu. Jeżeli jednak demo liczy cykle i przerwanie wypadnie w innym miejscu niż procesor się spodziewa (bo zegary są inne niż fabryczne), to otwieranie ramki, czy sync-scroll się posypią.

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org