1

Zacznę trochę dziwnie bo od opisu rozbudowy swojego c64 - choć moim pierwszym komputerem było właśnie Atari.
A co to ma wspólnego z ATARI o tym później, mam nadzieje że doczytacie do końca ;)
Ale od początku.
Zaczęło się od chęci rozszerzenia pamięci RAM, ale z czasem rodziły się kolejne pomysły i tak powstały pewne założenia:
- pełna zgodność z programami
- możliwość pracy równoległej
- Możliwość pracy CPU i kontrolera grafiki w różnych bankach (podgląd ekranu z innego programu)
- 1 bank na system i jego rozszerzenia
- każdy program ma mieć swój stos i stronę zerową oraz niejako cały komputer do dyspozycji.
A tu można zobaczyć na ile udało się zrealizować te postulaty
https://www.youtube.com/watch?v=5WjE42Y … e=youtu.be
i tu
https://www.youtube.com/watch?v=NKrjpoJ … e=youtu.be

Więc wersja na C64 już działa, a teraz chciałbym zbudować podobną na ATARI. W sumie to schemat już opracowałem. Niestety w systemie operacyjnym Atari jestem mniej zorientowany, więc jeśli ktoś chciałby pomóc przy oprogramowaniu to byłoby fajnie.
Myślę że jak znajdę jakieś działające Atari to szybko część hardwarowa będzie gotowa . ;)

2

Myślę, że byłoby o wiele jaśniej, gdybyś napisał coś o ogólnych założeniach. Domyślam się, że chodzi o przełączanie całych (lub prawie całych) obszarów podstawowej pamięci 64k, dzięki czemu można mieć jakby kilka komputerów w jednym i przełączać się pomiędzy nimi po prostu przez przełączenie banków. A poza tym z poziomu programu działającego w aktywnym banku można podglądać, co mamy w innych - taki frezer/monitor/debugger. Tak?

Nie widzę chwilowo przeciwwskazań, żeby coś takiego można było zbudować i dla Atari, z jednym tylko zastrzeżeniem: na Atari rozszerzenia pamięci są używane od dawna i dość powszechne, a minimum to jakieś 320k. Wobec tego, wydaje mi się, żeby takie urządzenie jak Twoje było czymś więcej niż ciekawostką, jeden "bank" powinien obejmować oprócz podstawowych 64k jeszcze jakieś 256k rozszerzenia.

KMK
? HEX$(6670358)

3

drac030 napisał/a:

jeszcze jakieś 256k rozszerzenia.

... najlepiej portB celem zachowania jakiejkolwiek zgodności. ;)

Kontakt: pin@usdk.pl

4

W zasadzie przy twardym dysku, to można coś takiego zrobić i bez specjalnej pamięci. Troszeczkę dłużej switchowanie między zadaniami by trwało ;)

The problem is not the problem; the problem is your attitude about the problem

5

Jesli to jest to co drac030 pisze to juz cos podobnego bylo. Nazwyalo sie to Banklan Freezer i CobraFreezer, ale moge sie mylic.

6 Ostatnio edytowany przez 8bit (2014-07-04 10:32:30)

drac030 jesteś blisko ;)
Działa to tak 1 MB RAM jest podzielony na 16 banków po 64 kB. Przełączane jest całe 64 kB pamięci podstawowej jedynie wspólne są obszary to I/O i ROM (w atari będą to też RAM dodatkowa bo rozszerzają inny bank czyli mogłoby być 16 wirtualnych komputerów z których każdy korzystałby np. z 320 kB wspólnego ram-dysku). Swobodnie można przenosić dane między bankami z jednego banku wywołać podprogram w innym , przechowywać kod programu i pamięć ekranu w różnych bankach , przerwania wykonać w innym banku i powrócić do poprzedniego. Możliwości jest bardzo wiele. Można działać jak Frezer, ale na razie korzystam z RESET i powrotu do banku 0 gdzie jest miejsce na "program zarządzający".
W sumie łatwo można dostosować programy do pracy w tym systemie poprzez "patche" .Ja np. przerobiłem tak TurboAssembler i mogę go mieć w jednym banku , gotowy program kompilować do drugiego jeszcze w innym mieć monitor i testować go na "czystym systemie" w razie zawieszenia wracam RESET do assemblera ;)
[EDIT]
W kolejnym banku możę być program graficzny a dane podbieram z jego pamięci bezpośrednio do kodu w assmie ;)

7

sledze Twoj projekt od poczatku roku, calkiem fajne.

chcialbym tylko zwrocic uwage na jedna sprawe - na atari juz istnieje mechanizm rozdzielnego dostepu dla procesora graficznego i cpu. przeprogramowujac mmu w atari mozna tez miec "kilka stron zero i stosow"... moze pracy nie byloby tak duzo jak sie wydaje?

jaki ja widze problem? target. wydaje mi sie jest to rozszerzenie dla ludzi, ktorzy "pracuja" na atari a nie ma juz takich osob. narzedzia na pc sa po prostu wygodniejsze.

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

8

8bit napisał/a:

(w atari będą to też RAM dodatkowa bo rozszerzają inny bank czyli mogłoby być 16 wirtualnych komputerów z których każdy korzystałby np. z 320 kB wspólnego ram-dysku

To jest problem, o którym pisałem wyżej: pamięć dodatkowa w Atari nie jest wykorzystywana tylko na ramdysk, są też programy, które ładują do niej kod. Mamy nawet taki DOS (SpartaDOS X), który nakładkami potrafi wypełnić kilkadziesiąt KB pamięci ext (w teorii całą, ale nie ma tylu tych nakładek). Poza tym gry, dema itd. Przełączenie spowoduje w takim układzie łatwe do przewidzenia kłopoty.

Poza tym zgadzam się z xxlem, że to jest wynalazek dla miłośników Atari (których jest niewielu), a nie dla pececiarzy.

KMK
? HEX$(6670358)

9 Ostatnio edytowany przez 8bit (2014-07-04 12:15:14)

drac030 napisał/a:


Poza tym zgadzam się z xxlem, że to jest wynalazek dla miłośników Atari (których jest niewielu), a nie dla pececiarzy.

Ja tam nie wiem  bo nadal 9 na 10 projektów robię na 8 bitowym 8051 ze 128 bajtami RAM (ostatnio już w standardzie jest 256 B) z 1980' roku a po tym że ciągle jest to masowo produkowany procesor , wciąż powstają nowe wersje i oferowany jest przez wszystkich producentów to chyba więcej osób na świecie tak myśli.
Więcej optymizmu ;)
oczywiście zawsze można włączyć "grzyba" i go wąchać , ale po co ?
Za kilka lat jeśli nie dziś da się taki system jak atari czy c64 z 1MB da się  upchnąć w układ za 1 $ (lub tańszy)
[EDIT]  i napędzać 1 GHz
to dopiero będzie czad, a kto ma wiedzę ten ma władzę ;)
Ale to raczej temat na inny wątek ;)
A co do problemów z dodatkowym (standardy rozszerzeń atari) to mogą być tylko jak ktoś zechce w multitaskingu uruchomić co najmniej 2 nieprzystosowane programy, a to albo nie korzysta się jednocześnie z takich programów lub trzeba je poprawić . Przy atarowskich sterownikach urządzeń w wielu przypadkach nie powinno być problemem

10 Ostatnio edytowany przez 8bit (2014-07-04 13:40:10)

xxl napisał/a:

sledze Twoj projekt od poczatku roku, calkiem fajne.

chcialbym tylko zwrocic uwage na jedna sprawe - na atari juz istnieje mechanizm rozdzielnego dostepu dla procesora graficznego i cpu. przeprogramowujac mmu w atari mozna tez miec "kilka stron zero i stosow"... moze pracy nie byloby tak duzo jak sie wydaje?
.

Cieszę się.
A jak z kompatybilnością tego rozwiązania ? Bo moje zapewnia całkowitą w dół.
Zresztą z moim wcale niema dużo pracy przy instalacji , a 99 proc. to i tak trzeba zrobić programowo i tu i tu.
Więc różnica żadna. ;)
Jedną z fajniejszych możliwości jest to że można obsługiwać nawet programy w BASIC-u a to daje wiele możliwości np. na szybko można napisać sterownik nawet w BASIC do zrobionego urządzenia i korzystać z niego z "poważnymi" programami.

11

W zasadzie przełączanie banków 64kB w nieco prostszej postaci "ala freezer" jest już znane od kilkunastu lat (dokładnie od 1996), kiedy to powstał Cobra Hacker - ale zastosowanie tego jest dość ograniczone, w zasadzie głównie na potrzeby rippowania muzyczek z pamięci ;)

12 Ostatnio edytowany przez Monsoft (2014-07-04 23:39:23)

Wlasnie o tym juz wspominalem.

http://madteam.atari8.info/index.php?syzygy=rozszerz:

"Banklan Freezer/Cobra Hacker

Zarówno BF jak i CH to to samo. Wymyślił to właściwie Banaś/Banklan. Pomysł podchwycił MacGyver, wtedy jeszcze of Cobra, nazwał to po swojemu i zaczął montować. Zasada działania tego freezera jest zbliżona do zasady działania normalnego freezera, taki freezer jest trochę mniej wygodny, ale za to około 15 razy tańszy. Działa to na takiej zasadzie: ustawiamy jako pamięć podstawową dowolne cztery banki, wczytujemy cokolwiek, naciskamy reset, podczas trzymania resetu przełączamy (magiczny) przełącznik, który ustawia nam inne cztery banki jako pamięć podstawową; wczytujemy następnie z dysku program obsługi. W tym momencie ta "pierwsza" podstawowa pamięć jest tak jakby w pamięci rozszerzonej, którą oglądamy i robimy z nią co nam się podoba za pomocą programu obsługującego."

13 Ostatnio edytowany przez macgyver (2014-07-05 10:40:01)

I to właśnie nie jest prawda - nie wykorzystałem niczyjego pomysłu, wygląda na to, że podobne pomysły: CH i BF powstały niezależnie - a przynajmniej ja w momencie tworzenia koncepcji CH nie miałem pojęcia o BF. O BF dowiedziałem się dopiero czytając Arenę Bzdur, gdy już sam posiadałem CF i chyba posiadało go kilka osób z grupy Cobra którym go zamontowałem.

"Tantiemów" za to i tak nie dostanę, ale piszę o tym, żeby nie było niedomówień.

Swoją drogą z tym resetem to nie do końca prawda - w modelach XL klawisz RESET "haltował" Atari do momentu "puszczenia", natomiast w XE wciśnięcie realizowało impuls na linii RESET wyzwało "impuls", który był odpowiednikiem "naciśnięcia i puszczenia", więc czy się puściło, czy nie efekt był ten sam - dlatego montując CH "wywalałem" 555, które generowało impuls i wstawiałem podwójny inverter, aby RESET działał tak, jak w modelach XL. RESET bez przełączenia powodował uruchomienie procedur z ROM i m.in. czyszczenie pamięci: BC40-BFFF co nie było wskazane do "freezowania".

14

@macgyver, a swoją drogą może byś parę sztuk zmontował? Ile i dlaczego tak drogo??

Sikor umarł...

15

@Sikor: pewnie tanio, bo skoro macgyver to robił, to pewnie wystarczy pudełko zapałek, sznurek i butelka ketchupu ;)

The problem is not the problem; the problem is your attitude about the problem

16

Sikor: szczerze mówiąc nie mam warunków technicznych aby montować rozszerzenia w atarkach oraz czasu na taką działalność - niech skalę "braku czasu" odda fakt, że gdy od momentu, gdy mi przesłałeś atarkę przez 2 pierwsze dni kompletowałem wtyczki i zasilacze, żeby ją odpalić. Gdy już to nastąpiło atarka leżała sobie i czekała, aż w końcu w tym tygodniu ją odpaliłem parę razy - średnio sobie wyobrażam realizację usługi montażu i cierpliwość ludzi przy takim "lagu" w realizowaniu usługi.

Ponadto jest jeszcze jeden aspekt - to rozszerzenie było "proste i tanie", gdy królowały rozszerzenia bankowane na scalakach typu 41256 czy 4464 - tam sprawę załatwiał jeden scalak 74157 oraz ew. inverter 7404 (do zmiany działania klawisza RESET) oba łącznie kosztują ok. 3zł w detalu . W dobie SIMMów i ich sterowników czy rozszerzeń typu Ultima 1MB rozwiązanie przestaje być opłacalne, gdy więcej elektroniki potrzeba zaimplementować do "dopasowania się do rozszerzenia". Bardziej sensownym pomysłem wydaje mi się implementacja CF do logiki Ultima 1MB.

17 Ostatnio edytowany przez Monsoft (2014-07-05 11:13:41)

Mi tez sie wydaje iz te obydwa rozwiazania powstaly niezaleznie no ale taki opis znalazlem na necie.
Tak wiec moj cytat nie byl wymierzony w Macgyver'a.

To jak juz implementowac jakiegos freezera to lepiej zrobic Code3 Freezera.

18

Tak czy siak jakiś "fryzjer" by się przydał.
@Mac, sprzedaj licencję lotharkowi, on dopasuje :)

Sikor umarł...

19

Tu nie ma żadnej licencji, zwykła podmianka obszarów pamięci.

20

straszny offtop się tu zrobił

21

ojtam ;)

Kontakt: pin@usdk.pl

22

Eeee tam wszystko sie kreci wokol zapodanego watku ;)

23

Podlinkuję, a co tam ;)
http://www.gsmhome.elektroda.eu/
Nie aby wszczynać jakąś nową wojnę, tylko może kogoś "natchnie" i zdecyduje się pociągnąć projekt na atari, ja ze swojej strony w miarę możliwości chętnie pomogę w oprogramowaniu, ale sam nie dam rady jednocześnie ciągnąć go na dwie platformy.
Pozdrawiam wszystkich.

24

Co prawda dziś 1 kwietnia, ale informacja nie jest primaaprilisowa .
W międzyczasie udało się wymienić pamięć simm 8 bit na Simm PS/2 i teraz jest dostępne w sumie 16 MB.
Na potrzeby systemu powstał układ UART dający obsługę RS232 z prędkością maks 230400 bit/s.
No i udało się "ożywić" nieruchome dotychczas obrazki :)
http://youtu.be/yxZ7Idi2Bi4
Tylko jedna uwaga, po włączeniu nagrywania z ekranu prędkość po RS spada, normalnie przy tych ustawieniach jest ok 10 kB/s.
https://youtu.be/7byqsQYUV1g