26

Wracajac do tematu: Pigula ostatnio robi nowe plytki na akord :) Moze da sie namowic na zaprojektowanie RAM-CARTA...
Maly request:

Zenon: gdybys mial mozliwosc wykonania profesjonalnej plytki, to moglbys zaprojektowac taki schemacik, zeby RAM-CART byl 128kB / 256kB / 1MB zaleznie od tego jakie / ile pamieci ktos wlozy?

Moze da sie tak zaprojektowac (nie wkladam kilku scalakow, pare jumperkow i mam 128k zamiast 1M)...
Chodzi o to zeby byla 1 uniwersalna plytka do ram-cartow. Bo kazdy projekt to koszty. A znow 1M nie kazdemu potrzebne i nie kazdego stac na kosci...

Pigula: skusisz sie? Moze po tym projekcie o ktorym ostatnio mowiles? ;)

27

drac030 napisał/a:

Jeśli prawdą jest to, co napisano w Atariki (http://atariki.krap.pl/index.php/MARIA), że ten układ ma rejestry sprzętowe pod $0020-$003F i $0100-$013F - i nie da się go jakoś stamtąd zwekslować - to dokładnie w tej chwili możemy taki temat zamknąć, a o układzie MARIA zapomnieć, że kiedykolwiek w ogóle istniał.

nie wierze, ze maria na sztywno ma swoje rejestry w tych obszarach pamieci...
jak kazdy tego typu scalak ma wejscie /cs, dzieki ktoremu mozna ulokowac go w zasadzie w dowolnym miejscu pamieci. w atari mozna by go 'wsadzic' w obszar $d500.

ma ktos moze rozpiske nozek tego scalaka??

pozdr
/jad

drac030: znam dwa dema na komodora. jedno jest fajne a drugie ma fajna muzyke.

28

jad: czyli dokladnie to o czym pisalem - popieam w 100%

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

29 Ostatnio edytowany przez drac030 (2005-12-07 13:53:16)

jad napisał/a:

nie wierze, ze maria na sztywno ma swoje rejestry w tych obszarach pamieci...
jak kazdy tego typu scalak ma wejscie /cs, dzieki ktoremu mozna ulokowac go w zasadzie w dowolnym miejscu pamieci.

Może tak być, ale niekoniecznie. Np. ANTIC z tego co mi wiadomo dekoduje się sam i bez użycia krajzegi go od strony $d400 nie oderwiesz.

Jakby się jednak dało, to o tym, gdzie ulokować rejestry można podywagować. W każdym razie $d500-$d5ff raczej niechętnie (tam są kartridże).

Jellonek: rejestry rejestrami - a o DMA pomyślałeś?

KMK

KMK
? HEX$(6670358)

30

ja? a w zyciu ;)
takimi szczegulikami mialbym sie przejmowac :D

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

31 Ostatnio edytowany przez macgyver (2005-12-07 16:47:58)

Dokładnie, ANTIC jako jedyny układ w Atari ma szynę adresową dwukierunkową i sam ma coś w rodzaju wewnętrznego MMU, które uaktywnia jego rejestry, gdy pada adres $d400-$d4ff. Jeżeli Maria jest procesorem graficznym, to musi się w określonym czasie tak jak Antic dobierać do pamięci... czyli mamy dość dużą ingerencję w obwody Atarki, musimy mieć możliwość odłączenia Antica (logicznego) a to za sobą pociąga problem odświeżania pamięci...  a logiczne odłączenie Antica to też nie taka prosta sprawa z racji braku słynnego sygnału /CS (Chip Select). Trzeba przeanalizować czy skórka jest warta wyprawki...

32 Ostatnio edytowany przez tebe (2005-12-07 18:41:29)

Co niektórzy wpadli na dziwnie wąski tor myślenia i nie mogą, albo nie chcą się z niego wydostać.

Dlaczego MARIA, ANTIC są dobre dla CPU 6502 (65816) ? Bo były projektowane z myślą o współpracy z tym układem CPU, nie tylko pod względem elektronicznym ale przedewszystkim wydajnościowym.

Dlaczego podłączenie karty VGA jest mało sensowne? Bo VGA nie była projektowana do pracy z tak "wolnymi" układami jak 6502, 65816. Karta VGA nie ma wsparcia dla sprzetowego scrolla, duchow itp. tutaj wszystko realizowane jest programowo dzięki mocy głównego CPU. Ciągłe operacje na 64KB bloku pamięci nawet dla Pasiowej 14MHz dopałki bedą katorgą. CPU będzie cały swój czas poświęcał przetwarzaniu programowych scrolli, duchów, animacji itd. Nawet kolorowego poziomego BAR'a w trybie znakowym trzeba realizować programowo i odpowiednio się synchronizować, ANTIC i jego przerwanie DLI potrafi to szybciej i łatwiej zrobić niż VGA.


W sformułowaniu "podłączyć MARIE do Atari" musiałem być mało precyzyjny, ale nigdy w historii Atari żaden elektronik nie wyciął układu z płyty i zastąpił go innym o innych możliwościach, nie sądziłem, że ktokolwiek może pomyśleć że ja będę pierwszym który tego dokona. Nigdy nie miałem zamiaru czegokolwiek usuwać, tylko dodawać w formie rozszerzeń wewnętrznych lub zewnętrznych np. cart. Więc jeszcze raz powtarzam dołożenie MARII nie ma wiązać się z fizycznym usunięciem ANTIC'a czy innego elementu z płyty ATARI, co najwyżej z elektronicznym odłączeniem (czyli ANTIC przestaje działać i oddaje sterowanie obrazem MARII, potem MARIA może z powrotem oddać sterowanie ANTIC'owi) w co wątpie aby było możliwe, więc pozostają inne drogi rozwiązania, ale ja ich dokładnie razem ze schematem nie wskażę bo nie jestem elektronikiem.

Dokładniejsze sformułowania co do takiego projektu są z mojej strony mało precyzyjne, ze względu na brak znajomości elektroniki, więc pozostawiam je w gestii elektronika, co nie znaczy że nie jest to niemożliwe, wszystko jest możliwe w tej czy innej formie. Liczę na pomysłowość osób z doświadczeniem, które podchwycą pomysł, a nie tylko na opinie czy jeden ze sposobów rozwiązania jest czy nie jest możliwy, ja niczego nie narzucam i nie wymyślę idealnego sposobu bo nie jestem elektronikiem.

Wracając do tematu MARII, kto podejmie się podłączenia MARII do ATARI XE/XL w JAKIKOLWIEK sposób zewnętrzny lub wewnętrzny ? Zewnętrzny np. w postaci carta z pamięcią podręczną, którą można sobie zmapować jak ma to miejsce w cartach w obszar $8000..$BFFF (16KB) albo w INNY sposób.

I nie jest to żadna hybryda, prędzej hybrydą należałoby nazwać podłączenie drugiego układu GTIA, który wprowadziłby nowe nieznane dotąd tryby graficzne (mix obrazów z dwóch układów).

Nawet gdyby MARIA zabrała obszary $20..$3f, $100..$13f, to nic to nie zmienia, musi być możliwość jej włączenie/wyłączenia. Chcesz operacje I/O wyłączasz MARIE, realizujesz operacje I/O, włączasz MARIE z powrotem. Podobnie jak teraz gdy wyłączyłeś ROM i korzystasz z pamięci pod ROM'em, chcesz operacji I/O włączasz z powrotem ROM, realizujesz operacje I/O, wyłączasz ROM.

I tak Drac030 gry, dema, edytory txt-u z kolorowym HiRes jak na C64, wszystko to możliwe jest na MARII, w tym wątku są linki do ROM'ów A7800 stworzonych przez Heavena i źródła w DASM (można przyjrzeć się jak wyglada programowanie MARII), które prezentują niewielką część możliwości tego układu http://atariarea.krap.pl/forum/viewtopic.php?id=3704

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

33

tebe: jesli piales do mojego postu w zwiazku z vga, to proponuje raz jeszcze przeczytac tyle ze z proba zrozumienia ;) chozilo mi o podpiecie tego ustrojstwa tylko poprzez zewnetrzy mikroprocek, jako new device - cos jak interface 80 znakowy, tyle ze obslugiwany rownolegle i z wiekszymi mozliwosciami...
w takowym wypadku NIE MA problemow z niewyrabianiem sie na 6502 celem robienia czegokolwiek innego...

jesli nie piales do mojego posta - szkoda :D darmo wyjasnialem ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

34

piałem do Macgyvera

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

35

schemat konsoli 7800 http://www.atari7800.org/
rozpiska pinów MARII http://cat.asw.cz/~kubecj/7800cmar.htm

nosty: Uniwersalny kart? I owszem wiem jak zrobić. Obowiązuje zasada klijent nasz pan więc:
1. rejestr sprzętowy ma być tylko do zapisu czy do odczytu też
2. LEDy mają być. Jak rozwiązać ich świecenie by nie wprowadzało w błąd. Bo są dwa rozwiązanie tego
    a) LED sygnalizuje stan bitu rejestru
    b) LED sygnalizuje faktyczny stan linii RD4 RD5 niezależnie od położenia przełącznika i stanu rejestru sprzętowego
3. moduł ma być że tak powiem pełny czy w wersji uproszczonej (opis w SERIOUS)
4. rejestr sprzętowy ma tylko jeden adres czy dowolny ze strony $D5
5. CENA (nie CYNA bo tą mam) chodzi o pamięci by były tanie.

Tebe: Uf.... ale zadałeś pytanie. Pogrzebałem w schematach i jest nad czym myśleć.
Jest to etap przemyśleń i każdy pisze co wie i czego nie wie. Więc i ja piszę. A jak wygląda sprawa działania systemowego oprogramowania ATARI. ANTIC odłączony.... Hm... muszę poczytać jak to działa gdy ANTIC jest.

36

tutaj po polsku opis układu MARIA, przedruk z Seriousa by Voy/Dial http://atariarea.krap.pl/artykuly.php?a … &id=51

POKE 559,0 (POKE $D400,0) i ANTIC'a nie ma :) jest tylko GTIA

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

37 Ostatnio edytowany przez jellonek (2005-12-07 20:45:40)

moglby ktos ten artykul skopiowac do atariki?
dzielac na dwie czesci - opis MARIA-i w istniejacym juz artykule
oraz opis jej DL w nowo utworzonym arcie? (np. MARIA Display List)

jak nie bedzie chetnych to sam (jak wytrzezwieje) to zrobie...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

38

Dwie sprawy:

1. Głęboki ukłon przed Zenonem, bo wielki on jest!

2. Jak rozmawia sie o Ram Carcie to od b. dawna chodzi mi po glowie taki pomysl (ktorego nie zrealizuję z powodu braku mocy przerobowych)-:
Wezmy MyIDE podłączane przez slot carta i CompactFlasha. Poprawmy koszmarne MyIde, żeby normalnie działało z systemem (tzn. trzeba by to zaprojektowac calkiem od nowa, chodzi mi tylko o taką ideę, w której fragment dysku IDE jest widoczny w pamięci kompa). Potrzebny byłby mały epromik na boot, .sys do Sparty, itp.

Zastosowania takiego czegos widze 2:

A. po prostu Ram Cart, ale znacznie większy za w sumie podobną cenę jak te oparte na staticach.

B. platforma do wydawania powalających gier w rodzaju Knight's Lair, Megarace (!!!), American Laser Games (Mad Dog McRee, itp.).
Moze na poczatek cos w rodzaju Solar Crusade (prerenderowane tlo i statki przeciwników, sterujesz kursorem (LightGun!). Trafiony statek przykrywa sie mrugającym spritem (ze niby dymi-tak to bylo zrobione na PC).

256 MB Compact Flash mozna kupic ponizej $9 w ilosciach kilkudziesieciu sztuk.
A bezposrednio w chinskiej hurtowni mozna miec jeszcze taniej (albo 512 za podobna cene).

Co prawda z moich obliczen wynika, ze nie da sie zarobic na takim interesie na pensje, ale spokojnie mozna by sprzedac tyle cartow, zeby nie dolozyc (liczylem za gre $25 - sporo, ale widzialem i wyzsze ceny na nowe releasy ) i cos by zostalo na 65816 :-)

Na potrzeby tego pomyslu wymyslilem takie przymitywne pakowanie stratne grafiki - tak, zeby zawsze ramka zajmowala 2KB. Napisalem programik w javie, ktory tak obrabial grafe, ale przepadl, postaram sie to opisac:


Ramka zawsze zajmuje 1 zestaw znaków i 960 bajtów pamieci ekranu (pozostale bajty w 2KB sa potrzebne na np. pozycje przeciwników). Jak to zrobic?

Logosujemy obrazek. Oczywiscie wychodzi, ze potrzeba znacznie wiecej, niz 128 znakow, załóżmy, że wyjdzie (w najgorszym przypadku) 960 różnych znaków (i tej wersji się trzymajmy). Znajdujemy znaki najbardziej podobne do siebie (tutaj można pewnie różne strategie wymyślać, ja zrobiłem brute force - dla każdego znaku była tablica wielkości 960 intów i w tej tablicy stopien podobienstwa danego znaku do wszystkich innych. 0 jesli identyczne. 1 jesli różni się jeden pixel o jeden odcień, itp. (dokladnie nie pamietam, ale to nie mialo wielkiego znaczenia dla wygladu).
Potem przelatuje te tablice i najpierw zastepuje jednym wszystkie miejsca, gdzie było 0
- sprawdzam, czy juz jest <129 znaków
- przelatuje te tablice i najpierw zastepuje jednym wszystkie miejsca, gdzie było 1
- sprawdzam, czy juz jest <129 znaków
itp.

To, co wychodzi ma dokładnie 1024+960 bajtów, jest pełnoekranowym obrazkiem i wygląda calkiem niezle, szczególnie, jesli to by byl film i pixele sie dosc szybko zmieniaja. Zaleta tej kompresji jest całkowicie sprzetowa dekompresja :-)
Oczywiscie warunek ladnej odgladalnosci jest taki, ze to grafika taka lekko rozmazana - jak to na filmie, czyli w gre wchodzi chyba tylko GR.9.

No i mamy 2kb na klatkę, 16 klatek na sekunde (ew. 25, ale 16 chyba wystarczy) i pięknie odtwarzający się film, który nie kosztuje prawie nic cykli, dzięki czemu można wymyślać jakieś efekty z przesuniętą o pół pixela co drugą linią, fajnym dzwiekiem, itp.

32kB na sekunde, circa 2Mb na minute, w 128Mb zmiesciloby sie az nadto materialu.

To wszystko jest wg. mnie wykonalne juz dzis a rezultat powalalby na kolana. Amerykanie by lezeli i kwiczeli z wrazenia. Zreszta Niemcy tez (uwaga! duzy rynek). Takie cos daloby sie moze portowac na C64 ($$$BIG MONEY$$$)  ;-P

Na pewno gdzies jakis skrot myslowy mi sie przyplatal...

pozdrawiam,

pirxxx

ps. Jak by sie mialo tyle pamieci to moznaby posamplowac widoki z roznych (wszystkich...) miejsc korytarzy i zrobic cos w rodzaju Wolfensteina co ramke (przeciwnicy na sprite'ach - raczej by ich duzo byc nie moglo na raz). Duzo wiecej roboty koncepcyjnej, niz w takiej prostej gierce typu Solar Crusade.

http://www.5oft.pl/

39

tebe napisał/a:

POKE 559,0 (POKE $D400,0) i ANTIC'a nie ma :) jest tylko GTIA

Oj, tebe, wieczny optymista. ANTIC-a nie ma. A co odświeża pamięć RAM? Duch Święty?

Poza tym pewnie, że można przeprowadzać operacje I/O przy odpiętym ukłądzie, a potem przypinać go z powrotem, faktycznie jak przy funkcji zapisu stanu gry ekran będzie gasł albo się będzie pojawiała kaszana, to będzie to wyglądało bardzo profesjonalnie.

No i prześliznąłeś się nad kwestią, skąd te układy brać właściwie.

Poza tym z mojego punktu widzenia jednak VGA jest lepszą opcją. Hint: mnie gry nie interesują, więc nie obchodzi mnie, czy 65C816 poradzi sobie czy nie z animacją stu sprite'ów software'owych na ramkę.

Za to obchodzi mnie, że jest kulturalny tryb znakowy (80-kolumnowy), kulturalny tryb graficzny (choćby 640x480 w 16 kolorach - 150k pamięci obrazu, owszem), dostępność takich kart w kazdym sklepie (nowe) i na każdym szrocie (stare) w takich ilościach, że dałoby się z nich wybudować hangar dla stada słoni - a poza tym niewielka cena oraz możność podpięcia do monitora VGA, który mam w domu (a to w przeciwieństwie do telewizora, do którego podpinamy układ MARIA).

KMK

KMK
? HEX$(6670358)

40

tak apropo tematu, to założę się, że Lewis jest większy. ;)))

Im dłużej czekamy, tym wzorek jest większy" (c) by Sikor

41

Zenon - ja za cienki w uszach jestem, zeby decydowac. Mysle, ze nie ma osoby bardziej odpowiedniej niz Ty zeby podjac decyzje, jaka konfiguracja bedzie bardziej potrzebna uzytkownkom. Miej tylko na uwadze czy pelna wersja wlezie do zwyklego carta czy bedzie to wersja "kingsize" ;)
Co do ceny, to jakbysmy mieli elegancka plytke, to moznaby robic na ukladach smd - sa chyba tansze a i mniejsze...

INNI: MOZE BYSCIE SOBIE ZABRALI DYSKUSJE O MARII NA INNY WATEK? Bo sie tu burdel robi, siostry...

42

nosty napisał/a:

Bo sie tu burdel robi, siostry...

Nie burdel, tylko bałagan. I prawidłowo, zgodnie z nazwą działu :P

PS. OK, OK ;)

KMK
? HEX$(6670358)

43

drac030 napisał/a:

No i prześliznąłeś się nad kwestią, skąd te układy brać właściwie.

(ciach)

Za to obchodzi mnie, że jest kulturalny tryb znakowy (80-kolumnowy), kulturalny tryb graficzny (choćby 640x480 w 16 kolorach - 150k pamięci obrazu, owszem), dostępność takich kart w kazdym sklepie (nowe) i na każdym szrocie (stare) w takich ilościach, że dałoby się z nich wybudować hangar dla stada słoni - a poza tym niewielka cena oraz możność podpięcia do monitora VGA, który mam w domu (a to w przeciwieństwie do telewizora, do którego podpinamy układ MARIA).

Pytanie: O jakie VGA chodzi? O całą karte czy chipset? Karty VGA ISA typu framebuffer to już chyba dawno wymarły, więc pozostaje PCI, AGP lub PCI Express + akcelerator (czyt. nie-framebuffer). Jeśli ktoś przygryzie na tyle te technologie, aby podpiąć je do 65816 (nie wyobrażam sobie 6502 w tej roli), to osobiście poprowadzę zbiórkę pieniędzy (piwa) od wszystkich dla niego.

Jeśli jednak miałby to być framebuffer + VGA + ISA, to pomijając dostępność, nawet na 386 nie było to wydajne rozwiązanie (każdy chyba pamięta "przelewanie się" ekranu i benchmarki na super-wydajne operacje rysowania kółka).

Dochodzi jeszcze wydajność szyny, która miałaby to przesyłać (większa rozdzielczość - więcej albo DUŻO więcej danych). Mamy taką w Atari 8bit?

A co jest nie tak z tymi 80 kolumnami (XEP80) na Atari? Ktoś miał jakieś traumatyczne przeżycia?

I'm not so bad, once you get to know me.

44

ad. 1. nie o karte a o goly uklad zgodny z VGA, a takich jest kupe (nie, nie wymarly...)
da sie to podpiac pod 6502 (choc osobiscie preferowalbym zewnetrzny procesor - jakis AVR) ktory sluzy jedynie do sterowania - wazniejszy jest dostep do pamieci (tu klania sie albo zew. procek i framebuffer, albo tryb tekstowy
i 6502)

ad. 2. p*.* hipolicie... moze najpierw doczytaj czym to bylo powodowane i zastanow sie dlaczego...

ad. 3 i 4. xep80 sterowany jest szeregowo za posrednictwem portu joysticka przez co jest strasznie wolny (chyba 9600 bit/s o ile pamietam). w wypadku zastosowania trybu tekstowego vga (80x50x4 przy wysokosci znakow - 8 linii) sterujac ukladem vga bezposrednio przez 6502 (np. poprzez mapowanie pewnego obszaru pamieci, na jakies wycinki VGA RAM, lub pary adresow 6502 jako wskaznika, oraz kolejnego adresu jako wejscia danych do wpisywania do VGA RAM) bylo by rozwiazaniem kurewsko szybszym...

oczywiscie trzeba by tez poswieci pare adresow przestrzeni adresowej 6502 na dostep do rejestrow VGA, ale to JEST wykonalne.

po dodaniu malego sterownika trybu CIO do calosci uzyskalibysmy nie tylko b. szybkie rozwiazanie ale tez:
- b. dobrej jakosci tryb tekstowy.
- b. male obciazenie systemu (ale zawsze jakies)
- moj faworyt: wyjscie VGA - stosowanie ,,normalnych'' monitorow... (choc od sterownika CIO by to nie zalezalo :D )

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

45

czyli co TV wyrzucic na smieci ? wogole VGA toleruje odświeżanie rzedu 50Hz ?

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

46

VGA przez port joysticka... To by był wyczyn :D

Ale drugi monitor, przez kontroler VGA do trybu tekstowego - może by się przydał. Tylko czy koszt wygenerowania projektu / części / produkcji nie będzie zbyt wysoki?

I'm not so bad, once you get to know me.

47

piotrv: bedzie...
ale czego sie nie robi dla hobby?

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

48

i jak Zenon sa juz jakies wnioski, po analizie dokumentacji MARII ?

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C