Temat: Czy to wykonalne?

Przyszło mi do głowy - już dość dawno temu zresztą - że można byłoby spróbować w atarynce, oprócz szybkiej pamięci powyżej pierwszych 64k, dać też 64k RAM-u taktowanego 7 albo 14 MHz i mirrorującego pierwsze 64k na następującej zasadzie:

1) z obszaru $0000-$C000, wszystkie zapisy do normalnego RAM-u z prędkością 1,79 MHz, oraz do mirrora.
2) z tegoż obszaru wszystkie odczyty tylko z mirrora z prędkością 7 albo 14 MHz;
3) a obszar $C000-$FFFF tradycyjnie, bez mirroringu, albo w zależności od stanu PORTB (w przypadku BASIC-a to niezbędne), albo coś... tu jest największa zagwozdka.

Innymi słowy, chodzi o 48k szybkiego cache'u wstawionego pomiędzy CPU a pamięć. Zapisy generowane przez CPU byłyby wolne i szłyby "na wskroś" (write-through) przez cache do głównej pamięci, odczyty natomiast byłyby szybkie i szłyby tylko z cache'u.

Ponieważ procesor więcej czyta niż zapisuje, więc nawet stare programy dostałyby wymiernego kopa. Przy czym cache "na wskroś" jest odporny na numery typu samomodyfikującego się kodu, kompatybilność byłaby więc wysoka. Oczywiście, jak zwykle potrzebny byłby pstryczek wyłączający to ustrojstwo do puszczania programów wycyklowanych (dem, gier).

Pytanie, czy to jest w ogóle wykonalne?

KMK
? HEX$(6670358)

2

Odp: Czy to wykonalne?

no ale po co takie cos? wydaje mi sie ze tylko r/w w obszarze rejestrow sprzetowych musi odbywac sie na 1.79 a reszta niech hula na maxa lub w zaleznosci od stanu jakiegos rejestru np. pierwsze 64k slow lub fast

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

3

Odp: Czy to wykonalne?

Po to że taki cache - mym zdaniem - uwalnia od problemów z chipsetem wymagającym 1,79 MHz. Stare układy pracują dalej jak pracowały, a CPU działa szybciej.

KMK
? HEX$(6670358)

4

Odp: Czy to wykonalne?

wydaje mi sie ze tylko r/w w obszarze rejestrow sprzetowych musi odbywac sie na 1.79 a reszta niech hula na maxa

Antic musi mieć dostęp do pamięci z zegarem 1,79 MHz, czyli dorzuć do tego jeszcze pamięć obrazu i DL w dowolnym miejscu przestrzeni 64 kB.

[ Dodano: 04.12.2004 01:18:23 ]
A tak się ma +1 do statsów na AA i Mistrza offtopicu. :mrgreen:

Zawsze mam rację, tylko nikt mnie nie słucha.

5

Odp: Czy to wykonalne?

racja...

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

6

Odp: Czy to wykonalne?

Draco, czyżbyś czytał dokumentacje HyperSpeeda? W nim właśnie tak jest i jest to jak najbardziej możliwe. Prawdę mówiąc to właśnie będę ten tryb teraz implementował i uruchamiał w projektowanej karcie...

7

Odp: Czy to wykonalne?

E... nie, nie czytałem dokumentacji do HyperSpeeda, cokolwiek to jest.  8O Po prostu wymyśliłem, że tak może być dobrze.  8)

KMK
? HEX$(6670358)

8

Odp: Czy to wykonalne?

Więc polecam: http://www.digital-force.net/projects/hyperspeed/

9

Odp: Czy to wykonalne?

Hmm, no ładnie.

Tylko mnie jedno ciekawi: wywnioskowałem z tego doca, że gość przygotował jakiś specjalny ROM, ale żadnego opisu nie ma. Czy do tej karty jest OS i czy coś wiadomo na jego temat (wektory, featury itd.)?

KMK
? HEX$(6670358)

10

Odp: Czy to wykonalne?

Tzn. rom takowy miał powstać, ale prace nad nim (oraz nad rozwojem karty) zostały zarzucone chyba z powodu małego zainteresowania. Szkoda, bo byśmy dzisiaj cieszyli się niezłym dopałem przewyższającym możliwościami commodorowski supercpu... A tak trzeba jeszcze czekac :).

11

Odp: Czy to wykonalne?

No tak. A czy ty wiesz, co taki ROM specjalnego powinien umieć? Coś tam było o przechwytywaniu odwołań do hardware Atari, czyli pewnie trzeba napisać handler przerwania abort... no i inne takie rzeczy, jeśli mają być, też chciałbym wiedzieć. Czy na przykład wszystkie znajdujące się w ROM-ie odwołania do rejestrów sprzętowych mają być robione przez 24-bitowe adresy, czy lepiej zostawić 16-bitowe ...

KMK
? HEX$(6670358)

12

Odp: Czy to wykonalne?

No tak, jakis handler od ABORT by sie przydal. Jeszcze nie wiem czy HPU będzie w takiej wersji jak w HyperSpeed czy nieco bardziej rozbudowany... Co do reszty trudno mi jest cokolwiek powiedzieć oprócz jednego: karta będzie mieę możliwość sterowania pracą 6502C na płycie atarki (poprzez sygnały RDY i Halt) więc jakieę procedury do obsługi tego też by były potrzebne.

Na razie potrzebuje jednego małego programiku, umożliwiającego wpisanie czegoś do dowolnej komórki z zakresu 16MB...

13

Odp: Czy to wykonalne?

LPOKE? Napisałbym, ale ja nie mam łączności z netem. Może Lizard?

Co do sterowania drugim procesorem, to jak sobie tę obsługę wyobrażasz? Czy procesor ma być automatycznie haltowany przez OS w jakichś warunkach? W jakich?

KMK
? HEX$(6670358)

14

Odp: Czy to wykonalne?

LPOKE - taka nazwa mi się podoba :)

Może to będzie w taki sposób odpalane: po włączeniu zasilania zatrzymywany jest 6502 (od razu - zatem stoi na wektorach od resetu), 816 odpala się z romu na karcie przy okazji ładując jakiś pseudo oes do pamięci pod oryginalnym romem, po chwili 816 uruchamia 6502.
6502 będzie głównie służył do odpalania starych progów (gier itp.) pod kontrolą 816...

Naprawdę trudno mi jest cokolwiek więcej napisać o softwerowym sterowaniu czegoś, czego jeszcze chyba w ośmiobitowcach nie zrobiono...

15

Odp: Czy to wykonalne?

LPOKE? Napisałbym, ale ja nie mam łączności z netem. Może Lizard?

Siem pisze. :) Jeszcze dziś w nocy wrzucę na forum.

[ Dodano: 06.12.2004 23:31:34 ]
A tak się ma +1 do statsów na AA i Mistrza offtopicu. :mrgreen:

Zawsze mam rację, tylko nikt mnie nie słucha.

16

Odp: Czy to wykonalne?

I jak idą pracę?  :D  Prog by mi się naprawdę przydał...

W międzyczasie próbowałem odpalić podobny tryb pracy jaki opisał Draco w pierszym poście. I co mi wyszło - może pokolei.

Procesor 65c816 taktowany trochę ponad 14MHz.

Pierwszy zrzut z sysinfo (si3.png) pokazuje prace karty w trybie normalnym, z włączonym DMA; operacje na podstawowym ramie. Niewielkie przyspieszenie w stosunku do 6502 (normalnie overall=336) spowodowane jest tym, że wewnętrzne operacje procesor wykonuje z pełną szybkością. Na inne (czytaj/zapisz) musi czekać (dopasować się do magistrali 6502).

Drugi zrzut (si1.png) to tryb ze zmapowaną pamięcią podstawową z włączonym DMA Antica. Zapis odbywa się do szybkiej pamięci ram oraz poprzez tzw. databridge do pamięci podstawowej Atari. Odczyt następuje tylko z szybkiego ramu. W mapowaniu nie uczestniczy rom systemu oraz rejestry sprzętowe, tylko ram (pod romem też) zatem operacje na systemie dalej są wolne. Pomimo tego wyniki każdy widzi jakie są.

Trzeci zrzut (si2.png) tryb taki sam jak poprzednio tylko z wyłączonym DMA.  :D

Przy okazji posprawdzałem niektóre demka 16k (w kompie testowym nie mam rozszerzonej pamięci) i no cóż... przez dwa dni je ciągle oglądałem, bo nie mogłem wyjść z podziwu jaka moc drzemie w 65c816@14.

17

Odp: Czy to wykonalne?

Ja chce taki akcelerator w mojej 800XL !!!

What can be asserted without proof can be dismissed without proof.

18

Odp: Czy to wykonalne?

O w mordę ... zabrakło skali. Będę musiał przeskalować słupki w SysInfo.  8O

Ja to chcę mieć w moim kompie!!!  8)

Poza tym 3,1 MIPS-a to prawie moc Falcona 030. Portujemy MiNT-a?  8)

KMK
? HEX$(6670358)

19

Odp: Czy to wykonalne?

Robiłem też próby z zegarem 16MHz. Zamiast 3.1 wskaznik pokazał 3.8 MIPSa, ale komp pracował trochę niestabilnie. Ciekawe co pokaże gdy uda się podkręcić procka do 20MHz (tyle nieoficjalnie wyciąga 816).

20

Odp: Czy to wykonalne?

chyba trzeba będzie zamówic troche 816-tek bo chętnych bedzie sporo.Ja tez pragne sie dołaczyc do grona posiadaczy takiej karty w przyszłosci.

gep/lamers^dial

21

Odp: Czy to wykonalne?

Pasiu, potrzebujesz jeszcze to LPOKE? Bo mam LPOKE/LPEEK. Ale na forum będę mógł wrzucić w piątek najwcześniej. No i bazuje to na Lizarda biblioteczce GETPAR, więc będzie działać tylko ze Spartą albo DOS DwaPluzDe (chodzi o linie komend).

Wytłumacz mi jeszcze, jak to w dopałce mają działać dwa procesory? Bo przecież jak będzie działał jeden, to drugi będzie musiał być zahaltowany, a więc sterowanie jednym przez drugi odpada: jak się procesorowi 6502 pozwoli ruszyć z pozycji początkowej, to jak go potem zahaltować z powrotem?

No i jak będą szły przerwania? Wszystkie do tego CPU, który akurat działa?

KMK
? HEX$(6670358)

22

Odp: Czy to wykonalne?

Oczywiście że potrzebuję. Nie jest to pilne, ale gdy będę uruchamiał następną część karty taki prog będzie bardzo przydatny. Jeżeli chodzi o dosa to korzystam właśnie z 'DwaPluzDe', więc nie będzie problemu.

Odpowiedzi (lub próby odpowiedzi) na pozostałe pytania masz na skrzynce imejlowej...

23

Odp: Czy to wykonalne?

mozna na forum? to ciekawy temat.

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

24

Odp: Czy to wykonalne?

8O  8O  8O  8O  8O  8O  8O  8O  8O  8O  8O  8O  8O

napisałbym coś,  lecz ze względu, iż muszę zejść piętro niżej po swoją szczęke, bede już kończył.

Pasiu: Masz możliwość zgrania np. do AVI'ka (np. przez kartę TV w grzybie , etc.) jakiegoś fajowego Demka w trybie nativ '816@14 i zapodanie tego na serwer Azbesta. Żeby forumowicze - tj. na chwilę obecną hieny, żądne tekiej karty... obaczyły i mogły się więcej ślinić???

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

25

Odp: Czy to wykonalne?

spac nie bede mogl :) zajefajna dopała :)

ciekawe czy bedzie mozna dokonywac wiekszej liczby zmian w rastrze z takim CPU ?

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