[podbijam]

     Wrzuciłem na www pliki projektu i schematy wszystkiego co do tej pory udało się ogarnąć :) Układ działa, ale mam wielki problem z umiejscowieniem go w Atari. Naprawdę trudno wymyślić gdzie by to rozszerzenie zainstalować. Trzeba dołączyć sporo linii sygnałowych co na przykład sugerowałoby, m.in. wrzucenie go na CPU albo gdziekolwiek...
     Niemniej jeśli ktoś wymyśli dobre miejsce - może się uda kiedyś z sukcesem zakończyć "misję". A tak niech "wisi" w sieci jako przykład innego rozwiązania rozszerzenia RAM w Atari 8bit zwłaszcza, że pokazałem jak rozwiązać w miarę sensownie bankowanie pamięci przy użyciu CPLD Xilinx.

Pozdrawiam

1,652

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Hej,

@Cyprian

RAMcart uruchamia się standardowo zawsze w trybie odczytu. Aby przełączyć sprzęt na zapis należy odczytać KOLEJNO(!) jakieś nieważne dane spod adresów:

     u=PEEK(&HFA7400) - mała litera t
     u=PEEK(&HFA4F00) - duża litera O
     u=PEEK(&HFA7200) - mała litera r
     u=PEEK(&HFA6900) - mała litera i

Nieważne co robi Atari  - na pewno nie koliduje - sprawdzone :) Z tego co wiem, nie wykonuje takich odczytów jak wyżej. Specjalnie wbudowałem takie sprzętowe zabezpieczenie żeby uniknąć ręcznego przełącznika zapis/odczyt. Gdy piszesz o zmianie banków rozumiem, że masz na myśli odpowiednie do potrzeb zmiany bitów sterujących. Gdy zaś uruchamiasz jakiś program obsługi RAMcarta - jedną z pierwszych operacji do wykonania powinien być RESET sprzętu, czyli odczyt spod adresu $FA0008 (bit 3 ustawiony). Gdyby zaś kiedykolwiek się okazało, że OS Atari jednak odczytuje spod takiego ciągu adresów - zawsze można dołączyć do sprzętu ręczny przełącznik zapis/odczyt i wtedy będzie 100% pewności o braku problemów.
Jak dotychczas nie zauważyłem jednak aby cokolwiek złego się działo z projektem.

Pozdrawiam

P.S. Mam jeszcze kilka wolnych kilka linii I/O i można by sterować np. bankami w dwóch pamięciach 512KB (MSB i LSB), wtedy RAMcart miałby 1 MB, ale żeby to było używalne - należałoby oprogramować sprzęt w sensowny sposób, albo spatchować GEMDOS do pracy z takim wynalazkiem, ewentualnie napisać loader w stylu SIC! albo podpiąć jakiś sterownik do systemu... Są fajne kostki pamięci M5M5408 512KB mające prąd standby na poziomie 0,4uA co oznacza, że długo mogą "wisieć" na pastylce litowej 3V.

1,653

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

Dzięki Cyprian za info :) Nie używam Facebook więc się nie orientuję czy to dobrze czy źle, ale skoro komuś się podoba moja hobbystyczna robota to jest jednak bardzo dobrze.

     Dodałem nową funkcjonalność do RAMCARTa, która pozwala na dowolny, choć okupiony czasem zliczania impulsów, dostęp do dowolnego bajtu w pamięci rozszerzenia. I to jest świetne w układach programowalnych, że można bez zmian w sprzęcie nanosić poprawki bądź istotne ulepszenia. Opis z firmware i software zostały zamieszczone na stronach www.

Pozdrawiam

1,654

(10,041 odpowiedzi, napisanych Bałagan)

@Simius Who cares? Tak sobie myślę, że w końcu może tego i owego zacznie to i owo obchodzić. Kwestia czasu gdy bieda i głód zajrzą za próg.

1,655

(10,041 odpowiedzi, napisanych Bałagan)

@BartoszP akurat jadłem gdy to zobaczyłem i się mało nie udławiłem :/ po przeczytaniu ręce mi opadły.

@Simius prawa obywateli są bezustannie łamane przez WSZYSTKIE kolejne "wadze". Darcie ryja to też kwestia dyskusyjna, ponieważ praktycznie cały parlament ten śmieć "epidemiczny" przegłosował.

Poczekajmy na napisy końcowe, ale przedtem wypadałoby się uzbroić choćby w proce... W dużych miastach będzie raczej trudniej w przyszłości niż łatwiej - duża konkurencja...

1,656

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

Cześć,

Moim zdaniem lepiej odłączyć RD5 niż zasilanie, ponieważ układy scalone pozbawione zasilania z właściwego źródła (VCC) mogą pobierać prąd wprost z linii adresowych/danych/sterujących. Oczywiście - w konkretnej konfiguracji może to działać, a w innej nie - taka trochę loteria.

Ja w swoich projektach mam zwykle dołączone VCC a steruję odcinaniem S4, S5, RD4, RD5, /CCTL (jeśli występuje).

Podsumowując: spróbuj z odcinaniem RD4, RD5 podwójnym przełącznikiem dwupozycyjnym.

Pozdrawiam

1,657

(10,041 odpowiedzi, napisanych Bałagan)

@Simius podlinkuję tylko jedne z wielu zastrzeżeń - z biura RPO - https://www.rpo.gov.pl/pl/content/koron … e-z-ustawa

To tylko kwestia rozporządzeń nie samej ustawy. Jednak jest taki chaos w samej Konstytucji, że tzw. specustawa łamie istotę wolności wskazaną w Art.31. Co gorsza - z Konstytucji wynika także, że "można być trochę w ciąży i trochę nie". Konstytucja jest po prostu wadliwa i niejednoznaczna w zbyt wielu miejscach. Jeżeli uczciwie się poszuka - jest w sieci wiele artykułów na ten temat. Choćby ta prezentacja: https://prawo.uni.wroc.pl/sites/default … nostki.pdf

Albo pismo: https://www.rpo.gov.pl/sites/default/fi … 3.2020.pdf

Nie jestem jednak prawnikiem ale rozumiem, że wszystko byłoby w porządku gdyby rząd PIS wprowadził stan klęski żywiołowej albo stan wyjątkowy. Należy zauważyć, że ograniczenia w tzw. specustawie daleko wykraczają poza zakres delegacji konstytucyjnej.

Podsumowując: można zwykłą ustawą ale nie w takim zakresie jak to uczyniono. W ten sposób odebrano bezprawnie prawa obywatelom.

Tyle na ten temat

1,658

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Dziwne. Przysiągłbym, że tego nie było... Ze dwadzieścia razy byłem na tej stronie. Odpalałem Firefoxa i Chrome. Szukałem na potęgę...

Zaiste - niezbadane są zachowania ludzkie i programowe :-]

dzięki jeszcze raz

pozdrawiam

1,659

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

@_tzok_ uwierz, że tego <more> tam wcześniej nie było. Być może Chińczycy poprawili stronę po moim mailu? Wchodziłem na stronę płatności wielokrotnie i sprawdzałem bardzo uważnie wszystkie dane.

Super, że dałeś znać tak wcześnie. Właśnie zamówiłem pcb. Trochę czasu upłynie zanim dotrą do Polski :)

Pozdrawiam

1,660

(10,041 odpowiedzi, napisanych Bałagan)

Z Polski.

A jak widać i słychać - niestety następuje eskalacja. Co gorsza - milicja broni PiS, nie obywateli i państwa. Patrząc na to co się dzieje - całe "prawo" uchwalone od początku tzw. "pandemii" łamie WPROST postanowienia Konstytucji zawarte choćby w Art.8. Bez ogłoszenia stanu nadzwyczajnego jakiekolwiek ograniczenia wolności: osobistej, prowadzenia działalności gospodarczej, i tak dalej - są z gruntu bezprawne, ponieważ nie mogą być ograniczane zwykłą ustawą. To także jest wpisane w Konstytucji.

Ciekawostką, która doprowadzi prawdopodobnie do wielu tragedii jest to, że milicja strzeże bezprawia. Zamiast wyłapać tych bandytów w białych kołnierzykach i ich powsadzać "do wytrzeźwienia" pozwalają na rozwalenie domu 35 milionom ludzi. Smutne...

Normalnie PRL... Zbrojne ramie partii. Jest to co najmniej żenujący i wstrętny powrót do czasów ciemnej komuny.

1,661

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

@_tzok_ Niestety jest głupia sytuacja, bo na stronie głównej Order jest przesyłka za 5,90$, a gdy przechodzę do opłacenia są dostępne tylko droższe opcje - Europacket i DHL. Wysłałem zapytanie do JLCPCB. Może to jakiś błąd u nich czy co?

1,662

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

OK. Dobrze. Jest 3 chętnych. Patrząc na koszty ogólne (niestety także ta nieszczęsna przesyłka z Chin) za sztukę powinno być max. 110zł + wysyłka (najlepiej paczkomatem). Jeżeli to wam odpowiada - proszę o potwierdzenie na PM, że chcecie na 100%. Wtedy dopiero zamówię płytki w JLCPCB - nigdzie taniej i tak nie ma :(

Pozdrawiam

1,663

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

Właśnie wrzuciłem opis i pliki projektu na moje strony: http://raven1.magix.net/ i mirror.
Są tam schematy, firmware oraz gerbery. Proszę korzystać kto ma ochotę.

Odnośnie chętnych :) Sam zamówię pięć płytek w JLCPCB. Mogę polutować i uruchomić ze 3-4 z nich. Tak więc chwilę to potrwa...Dłuższą chwilę. pancio.net i Cyprian poczekacie?

Cyprian dzięki za wrzucenie info na AA. Może się ludzie zainteresują.

Co do programowej możliwości wybierania banku - dałoby się, ale jak podtrzymywać rejestr banku po wyłączeniu zasilania? Z baterii nie da się tego zrobić zbyt długo. Chyba że założyć, iż zawsze startujemy od banku 0 - to dałoby się dołożyć dodatkowy rejestr, a także zbudować RAMcart nawet i 32MB o ile byłoby miejsce na tyle kości i solidny akumulator do podtrzymania ;-).

Ręczne przełączanie banku w tym rozwiązaniu jest raczej wygodniejsze.

Ale da się tyle, że trzeba by trochę także schemat przerobić.

xangel oprogramowanie na kartridżach startuje dosyć wcześnie. Myślę, że spokojnie da się z tego ładować sterowniki do wynalazku Putnika.

Pozdrawiam

P.S. Chciałem zamówić pcb ale na stronie JLCPCB jakieś jaja robią z kosztami wysyłki :( wysłałem zapytanie o co chodzi i mam nadzieję, że coś z tym zrobią bo płacenie 80zł za przesłanie 5 płytek to porażka.

1,664

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Zgadzam się :). Działa i jest prostackie do oprogramowania.

Jacyś chętni na taką zabawkę?

Pozdrawiam

1,665

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

[podbijam]

Znalazłem trochę więcej czasu, i tak jak podejrzewałem - coś się stało wewnątrz układu CPLD. Nie mam pojęcia co, ale RAMCART działał tak dziwacznie, że złożyłem drugi egzemplarz, który zadziałał bez problemu. Zrobiłem kilka testów. Dane są zachowywane i odczytywane bez uszkodzeń. Wrzuciłem obraz kartridża ST TEST 4.4 - poszedł bezproblemowo. Zapewne inne także będą działać. No i oczywiście można spróbować samemu stworzyć wsad z jakąś kompilacją softu na dysk c (małe c). Jeszcze raz dzięki Cyprian za gotowość pomocy w GFA Basic:) Problem jednak leżał w sprzęcie.

     W kolejnym wolnym okienku siądę do zrobienia materiału na www.

Załączam zdjęcie RAMCARTa w moim STe w trakcie ładowania obrazu ROM.

Pozdrawiam

P.S. Możliwe jest stworzenie czegoś na kształt SIC! jednakże soft musiałby napisać ktoś dobrze zorientowany w możliwościach Atari ST - GEMDOSa.

1,666

(5 odpowiedzi, napisanych Bałagan)

Zdecydowanie ta na 100MHz. Jeżeli masz trymer regulacyjny w sondzie - spróbuj tak ustawić, aby zbocze było jak najbardziej strome i tyle - to udało Ci się zrobić i tak zostaw. Nic więcej nie zdziałasz. Generalnie powinieneś mieć albo generator wzorcowy albo wzorcowany oscyloskop o jak najszerszym paśmie. Obecnie nie wiesz jaki masz w rzeczywistości kształt sygnału na PHI2.

Pozdrawiam

1,667

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Coś mi się chyba uszkodziło w układzie =] i jakieś cudactwa się dzieją. Posprawdzam i się odezwę.

1,668

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

@Cyprian Dzięki za chęć pomocy. DEVPACa ogarnę bo i soft nie jest jakiś skomplikowany. Muszę się przekonać, czy w czystym assemblerze będę miał jakąś skuchę... Przygotuję ze dwa, trzy sensowne przykłady w GFA i wrzucę do wątku, abyś rzucił na to okiem. Być może jest jakieś proste rozwiązanie tego problemu, albo jest to po prostu  bug w interpreterze. Próbowałem już wszystkiego włącznie ze zmianami w CPLD i jest niedobrze, dlatego prawdopodobnie pójdę z tym w maszynówkę.

Pozdrawiam

P.S. btw. Kompilacja nic nie poprawiła.

1,669

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

@Adam Klobukowski - znam ten artykuł nt. portu I/O 8bit na porcie kartridża - to stara sprawa. Wiele rozwiązań używa podobnego w stylu układu do komunikacji. Zwłaszcza tych starszych. Nawet Netusbee korzysta z podobnego rozwiązania (z tych najnowszych). Dokładanie linii R/W do portu kartridża to też niezły pomysł, choć już wymaga ingerencji w sprzęt. Ja wpadłem na pomysł przechwytywania sygnału /BERR i w ten sposób użytkowanie czego dusza zapragnie poprzez obejście GLUE (w pewnym sensie). To także wymaga ingerencji w sprzęt.

@seban to co wrzuciłem w wątek ma wartość poglądową. Ostateczne materiały - te właściwe po poprawkach i uzupełnieniach zostaną wrzucone na www gdy uporam się z softem. Niestety, ale GFA Basic to w tym zastosowaniu lipa. Zderzyłem się z takim oto zachowaniem: gdy używam formy u=PEEK(&HFBAA00) jest super i wszystko gra oraz buczy. Pamięć jest zapisywana poprawnie od pierwszego zbocza opadającego taktującego licznik adresów. Gdy użyję formy: u=PEEK(zmienna) gdzie zmienna jest wyliczana z adresu &HFB0000 oraz wartości kolejnego bajtu zapisywanego do RAMCARTa pliku - z jakiegoś durnego powodu Interpreter GFA wysyła jeden impuls na linię /ROM3 przed wykonaniem właściwej sekwencji w pętli i w rezultacie wszystko jest w pamięci RAMCART przesunięte o jeden bajt w przód, a adres &HFA0000 <word>0. Wygląda na to, że muszę wrócić do ogarnięcia DEVPACa po latach i napisać soft w assemblerze. Przynajmniej uniknę głupich niespodzianek. Sprawdzę jeszcze jak mi zadziała obecny soft po kompilacji. Nie wróżę jednak pozytywnego rezultatu :/

Tak czy siak - sprzęt jest i działa. Pozostał soft i tego na razie się trzymam, hehe.

Pozdrawiam

@Sikor Sygnały się mi nie zgadzają na prawy - zresztą na pcb jest w rogu literka L. Ten moduł jest najwyraźniej do lewego slotu, czyli ewentualnie do zrzucania prawego carta.

pancio.net dobrze pisze - wygląda na mrygacz. Sygnały wykorzystywane ze złącza CART: S4, S5, RD4, RD5, R/W, CCTL, +5V, GND. Być może w oparciu o jakiś trick coś to robi z kartridżami ale większego sensu w tym nie widać :)

1,672

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

cześć,

Cyprian napisał/a:

R-Flex wygląda ciekawie, to jest dobry kierunek.
W ST, po wejściu w tryb Supervisora zapis można robić bezpośrednio w obszar ROMu, wystarczył by więc przełącznik blokady zapisu.

Jeśli chodzi o RAMCART to jeden chętnie nabędę.

Pomyślę nad kilkoma rozwiązaniami. Generalnie potrzeba 256kB s-RAM podtrzymywanej bateryjnie, ew. pamięć FLASH, do której trzeba podejść programowo w odpowiedni sposób.

Zobaczę czy w ogóle zajmę się 'produkcją' RAMCARTów czy może ktoś inny to zrobi. Czy czas na to pozwoli? Projekt zostanie udostępniony w całości - z wszystkimi schematami, źródłami, plikami projektu dla Xilinx ISE 14.7 i tak dalej. Jeżeli jednak coś będę robił szerzej - z pewnością powiadomię. Teraz idę robić popraweczki i trochę nowszych testów. Oprogramowanie piszę na razie w GFA Basicu. Nie jest najszybsze ale działa ;)

Pozdrawiam

1,673

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

Po kolei aby rozjaśnić, a ewentualnie ściemnić :)

@sqward Po Twoim wpisie i obejrzeniu netus-bee podejrzewam, że dałoby się więcej urządzeń na port carta wrzucić. Nie będę się jednak za to zabierał - to sporo roboty, ale pomyśleć" na przyszłość" można. Dałeś mi do myślenia bo zacząłem zastanawiać się nad różnymi sprawami związanymi ze sprzętem Atari...

@Cyprian Cenowo wygląda to mniej więcej na ok. 80zł co zależy od ilości zamówionych pcb (najmniejsza ilość w JLCPCB to 5 sztuk) oraz ceny XC95144XL (ok.35zł w Polsce) i pamięci CS18LV10245CCR70 (3,75zł) - inne elementy to raczej grosze. Co do TOS programowalnego - popatrz na moją stronę - link: http://atari.000space.com/rflex/rflex.html. Nie widzę większego problemu (poza dostępnością czasu) aby dla Atari ST zrobić coś podobnego. Idea jest taka, że chcąc wgrać TOS do pamięci podstawiasz ją w jakiś obszar RAM roboczej komputera, zapisujesz dwie pamięci tym samym, przełączasz "wajchę", restartujesz system i masz już nowy TOS :) Stosując podtrzymanie bateryjne zawartości s-RAM masz zmienialny TOS. O to Ci chodzi, prawda?

@_tzok_ rozumiem, że jest to egzotyka i takie tam tyle, że wcześniej nie zostało coś takiego zbudowane oprócz EPROM banków i Flash banków. Pamiętaj, że RAMCART jest programowany z poziomu Atari ST w przeciwieństwie do tego co podałeś jako przykład. Po Twojej sugestii nt. SIC!a pomyślałem chwilę i widzę, że dałoby się zrobić wielomegabajtowy RAMCART dla Atari ST. Widzę także, że udałoby się zrobić taki ewenement dla Atari 8-bit. Pomysł mi się uniwersalizuje :-) Pozostałaby kwestia oprogramowania tego sprzętu.

@seban zgadza się - w obszar Cartridge nie da się nic zapisać. MMU albo raczej GLUE nie pozwala - Atari wali bomby, hehe. Specjalnie dla Ciebie i innych elektroników załączam schemat logiki wrzuconej w xilinxa i schemat otoczenia. Napiszę tak: podobne rozwiązanie z auto-postinkrementacją pomocniczego licznika adresów zastosowałem w moim projekcie digitalizera dla AtariST. Okazał się bardzo pomocny i tutaj. Jeżeli uważnie rzucisz okiem (zresztą jest to opisane na schemacie) aby przełączyć sprzęt w zapis trzeba wysłać na starszym bajcie adresu ciąg 'tOri' - to tak dla jaj (między innymi bo pełni to ekstremalnie ważną rolę). Trochę to tak jak w programowaniu pamięci Flash - pseudokomendami. Prawdopodobnie w miarę 'rozwoju' trzeba będzie przejść na wersję CPLD TQ144 albo 2 sztuki TQ100 bo w obsłudze dużych pamięci szybko zaczyna brakować nóżek I/O...

Nie chowam w szufladę. Opis pojawi się na www po poprawkach (już jest)

@Adam Klobukowski coś w tym sensie opisał Cyprian i tak da się zrobić na wzór mojego rozwiązania R-Flex (ROMFlex). Programowany z poziomu AtariST, żadnych zewnętrznych sprzętów. Wczytujesz binarnie plik pod konkretny adres w pamięci i tyle.

Nie wiem czy koncert życzeń w ogóle się uda obsłużyć. Generalnie uniwersalny 8-bit interfejs I/O dla Atari ST jest znany od dosyć dawna i wiele urządzeń to właśnie wykorzystuje. W moim rozwiązaniu 8bit jest przy zapisie (choć mogłoby być i 16bit) a przy odczycie widoczny jest zwykły kartridż a nie I/O.

@pancio.net nie przewiduję (to jest 2x128kB czyli dwa carty przełączane ręcznie). Jak wyżej piszę - po przemyśleniu tego i owego uważam, że dałoby się po przeprojektowaniu sprzętu i napisaniu(!) oprogramowania stworzyć naprawdę pojemny "multicart" - coś na podobieństwo SIC! Teraz tego nie ogarniam (bo nie próbowałem) ale podejrzewam, że dałoby się ogarnąć także pamięci FLASH co dobrze rokuje na przyszłość :D Nie wiem tylko czy się za to zabiorę bo mam kolejne projekty, za które muszę się wziąć (Atari CART+ECI ekspander).

To chyba na tyle.

Pozdrawiam

PLIKI projektu są już na moich stronach

1,674

(53 odpowiedzi, napisanych Sprzęt - 16/32bit)

Cześć,

Zaprojektowałem (bo od bardzo dawna chciałem to zrobić) i zbudowałem RAMCART dla Atari ST. Ma pojemność dwóch standardowych kartridży 128kB przełączanych przełącznikiem. Do pamięci można wrzucić cokolwiek. Programowanie z poziomu Atari. Obecnie mam jeszcze do poprawienia i sprawdzenia trochę drobnicy sprzętowej oraz napisanie większego programu do obsługi niż kasowanie i zapisywanie AA55, czyli ładowania obrazów kartridży do RAM.

Jeżeli pojawi się potrzeba przeprojektowania PCB to też się w miarę wolnego czasu zrobi.

Logika została zamknięta w CPLD Xilinx 95144XL-TQ100. Na pokładzie jest pamięć s-RAM podtrzymywana z baterii 3V.

Informuję i jednocześnie chciałbym zapytać - czy ktokolwiek byłby zainteresowany takim sprzętem, ponieważ wtedy musiałbym włożyć w to jeszcze więcej czasu i wysiłku :)

Gdy wszystko ogarnę - wrzucę materiały na moja stronę.

Pozdrawiam

1,675

(10,041 odpowiedzi, napisanych Bałagan)

No i właśnie ludzie masowo tracą pracę.
Kto będzie płacił podatki? Skąd rząd weźmie pieniądze? Jak macie oszczędności to na nie dobrze uważajcie.

Wąż pożera swój własny ogon...

@Sikor - to też nie do końca tak z tymi komputerami. Skąd i po co ludzie mają mieć w domach po 3 albo i 4 komputery? To nie tylko sprawa dotycząca PLUSÓW. Ogólnie państwo z tektury, śliny i kupy NIE DZIAŁA tylko straszyć (jeszcze) potrafi.