1

Chip jest już w produkcji i kosztuje $15.

Zwracam na niego uwagę na tym forum, bo rzecz jest u nas na ogół mało znana, a jest to coś, co w zastosowaniach retrocomputingu i retroemulacji może się bardzo przydać.

P2 zawiera: 8 rdzeni @300 MHz, 2 takty na instrukcję, 4 kB RAM dla każdego rdzenia, 512 kB wspólnego RAMu
64 piny I/O - tzw. smart pins: liczniki, komparatory, DAC: 8bit/3ns - do 32 sztuk, ze sprzętowym rozszerzeniem rozdzielczości do 16 bitów (!) , ADC delta-sigma - do 32 (! - nie kanałów na 1 ADC, tylko niezależnych ADC delta-sigma o częstotliwości pracy 300 MHz - osiągalna jest rozdzieczośc 18 bitów przy częstotliwości próbkowania ok. 1 MHz), wbudowany tryb 4-kanałowego oscyloskopu, USB, HDMI (!)

Na tym można zrobić całe małe Atari albo C64 (SID został już napisany) o jakości emulacji nie gorszej niż FPGA, bo elementy sprzętu dadzą się zaemulować niezależnie na poszczególnych rdzeniach i współpracować ze sobą w czasie rzeczywistym.

Z komputerami 16-bit takimi jak ST,  Amiga czy dosowy PC jest o tyle trudniej że P2 ma na pokładzie tylko 512 kB RAMu i trzeba dokładać RAM zewnętrzny. Istnieje driver do HyperRamu.

Czekam na dostawę sprzętu - płytki uruchomieniowej i paru chipów. Będzie zabawa :)

2 Ostatnio edytowany przez Cyprian (2020-12-30 11:51:24)

ciekawe rozwiązanie, dobra cena.
Z tym że 300 MHz to trochę mało jak na emulację no i 512 kB RAM to też nie za wiele

Dawaj znać jak postępy.

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

3

Przy liście instrukcji P2 300 MHz powinno spokojnie wystarczyć na emulację 6502 i to stanowczo szybszego niż 1.77 MHz. Pokey, Antic i GTIA porozrzucać po trzech kolejnych rdzeniach, pozostaną 4 rdzenie na obsługę samego emulatora: klawiatura, joysticki, karta SD, ewentualnie SIO.

Można coś więcej, jakieś linki lub coś? Nazwa jest zbyt generyczna do googlowania.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

5 Ostatnio edytowany przez Cyprian (2020-12-30 13:42:09)

pik33 napisał/a:

Przy liście instrukcji P2 300 MHz powinno spokojnie wystarczyć na emulację 6502 i to stanowczo szybszego niż 1.77 MHz. Pokey, Antic i GTIA porozrzucać po trzech kolejnych rdzeniach, pozostaną 4 rdzenie na obsługę samego emulatora: klawiatura, joysticki, karta SD, ewentualnie SIO.

no tak, ale emulując sprzęt trzeba wszystkie te elementy synchronizować ze sobą co cykl procesora albo co linię ekranową co może znacznie wpłynąć na wydajność.

no ale próbuj i daj znać jak to działa

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

6

To kwestia sprzętowego wsparcia dla synchronizacji. Jeśli coś takiego jest, to narzut na synchronizację wysoki nie będzie. Potencjalne ~100 i strukcji natywnych na jeden takt emulowanego procesora daje spore pole manewru.

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

7

Link: https://www.parallax.com/propeller-2/
Lista instrukcji: https://docs.google.com/spreadsheets/d/ … edit#gid=0

Możemy synchronizować na bieżąco, niewiele to kosztuje. Ten chip ma sprzętowe wsparcie synchronizacji rdzeni.

Muszą mi w końcu dostarczyć ten sprzęt, już prawie miesiąc czekam na przesyłkę, więc może już niedługo. Po drodze były niestety święta.

8

brzmi ciekawie

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

9

Propsy za newsa, Propeller(y) to bardzo ciekawe chipy właśnie ze względu na unikalną wielowątkową architekturę.
Demo na poprzednią wersję chipu która wyszła w 2006:
https://www.youtube.com/watch?v=6gEMKYnUADE

10

Tak na marginesie - transputerem mi tu trochę pachnie.

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

11

Wreszcie - mam evaluation board z Propellerem 2 na biurku. Pierwszy rzut okiem: potęga. Czas na naukę.

Zdążyli już przeportować na niego SIDa i player amigowych modułów... ale Pokey pewnie zrobię ja :)

12

Kombinuj :)

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

13

pik33 rzuć no jakie wrażenia, na codzień zajmuję się uC i jestem szalenie ciekawy info z pierwszej ręki

Atari 7800 / 65XE / 65XE ECI / Revised XE / 800XL / 1040 STE / 1010 / XC12 / CA-2001 / 1050 / XM301
C16 / C64(C/G) / A500 / A500+ / A600 / A1200 / 1541 / 1541-II / 1571
U1MB / Sophia2 / PokeyMax3 / Furia / Warp1260

14

Usiłuję ogarnąć programowanie tego chipa, bo choć ideowo podobny do jedynki, różnic jest cała masa.

Jakośc DACów jest bardzo wysoka, P2 podpięty do wzmacniacza odkręconego pod korek praktycznie nie szumi. Dali dobre stabilizatory LDO na płytce co też robi robotę. Poza tym co ma tam szumieć, jak jest 16 bitów rozdzielczości przy 1.25 MHz częstotliwości próbkowania? Wygląda na marzenie audiofila :) Jeśli ADC jest tak samo dobre, a jeszcze nie testowałem, można mieć coś do audio co ma 32 wejścia, 32 wyjścia i po drodze robi co się da z tym dźwiękiem bo przecież mając 8*150 MIPS można juz coś zrobić.

Do ADC nie znalazłem gotowców, które pewnie są rozproszone na forum, a żeby napisać samemu, trzeba mieć chwilę czasu i świeżą głowę.  Nie miałem czasu w tygodniu na zabawę, choć poczytałem sobie wciąż niepełną doumentację.  No ale spróbuję najprostszą rzecz: ustawić 2 nogi na ADC, dwie na DAC, czytać z ADC, pisać do DAC: kilkanaście linijek kodu.  Jest gotowiec od którego można zacząć - generator sinusa na DAC. Generator używa CORDICa, który też jest genialnym wynalazkiem, bo o ile operacja trwa 56 taktów, o tyle można wywołać go co 8 taktów i również co 8 zbierac wyniki.

Obiecują dla ADC, w trybie który nazwali sinc3, ENOB 18 bitów @ 1.25 MHz, czyli znowu: szumu na audio nie powinno być słychać: eksperyment pokaże. Jutro albo w niedzielę.

Nietypowa konstrukcja generuje nietypowe rozwiązania. Chip ma IO 3V3 natomiast np. pamięci HyperRam są szybsze w wersji 1V8. Jak dopasować logikę 3V3 do 1V8? Proste: użyc DACów. Przy 8 bitach wystarcza im 3 ns, co z zapasem pozwala zorganizować transmisję @ 200 MHz. W drugą stronę natomiast, na wejściu, też użyć DAC i komparator na nóżce. Ta metoda pozwala na zorganizowanie interfejsu na dowolnym napięciu <3v3. Temat do ogarnięcia, na forum parę osób kombinuję. Sam nie pokombinuję z braku płytki z HyperRamem, ale może pokombinuję z maliną zerówką: spróbuję zrobić z niej RAM do Propellera.

Eksperymentowałem z HDMI. Tu ograniczeniem jest częstotliwość procesora bo strumień HDMI wychodzi dokładnie z tą częstotliwością, 1:1. Maksymalnie da się ten układ taktować gdzieś tak do 370 MHz i to ogranicza rozdzielczość HDMI. Wypuściłem 1024x576@50 Hz przy 330 MHz. Do celów atarowo-amigowych spokojnie wystarczy. Jak nie, zawsze jest VGA. Mam parę pomysłów na driver video, w sumie poczytałem sobie instrukcje, więc czas na zabawę w programowanie.

Chip potrafi się podnieść z podpiętego flasha SPI, co trwa niezauważalny ułamek sekundy, albo z karty SD. Karta może być sformatowana na fat32, wtedy Propeller wstaje z pliku o odpowiedniej nazwie, albo moze być niesformatowana, wtedy binarkę wrzucamy w żywe sektory na początek karty. Ze sformatowanej wstaje zauważalnie dłużej niż z flasha, nieformatowanej, z braku narzędzi, nie testowałem.

15

P2 potęgą jest i basta. Kombinuję z driverem video HDMI, żeby był podobny do czegoś starego... więc jest 1024x576, 49.86 Hz, P2 taktowany z częstotliwością Atari x 180, font z ST - zabawa w toku, wszystko to jeden rdzeń łyka bez zająknięcia i zdaje się ma jeszcze całe mnóstwo luzu, bo wyświetlając bordery nic nie robi.

Szumu na wyjściu audio nie ma. Chyba najcichsze ustrojstwo jakie kiedykolwiek wpiąłem do wzmacniacza. Co świadczy dobrze  o projektantach nie tylko procesora, ale i płytki drukowanej. Teoretycznie, 16 bitów @ 1.25 MHz to jakieś 110 dB odstępu od szumu w paśmie akustycznym, no i tyle jest. Wypuszczałem sygnał o amplitudzie 1 bit przy podkręconym do maximum wzmacniaczu: wyraźnie wystawał ponad tło szumów analogowej elektroniki.

Nie wiem jak wstawić tu obrazek, więc daję link do topicu na forum P2: https://forums.parallax.com/discussion/ … lay-driver

16

"The first demoscene intro for P2"

https://www.youtube.com/watch?v=XJn9RufWdI4&feature=emb_logo

17

Ktoś właśnie wrzucił na forum P2 emulator 6502. Trzeba go będzie zoptymalizować i dodać brakujące "nielegalne" instrukcje bez których masa rzeczy nie zadziała, ale jest.

A ja w międzyczasie ogarnąłem programowanie tego sprzętu robiąc driver HDMI z displaylistą. W jednym z trybów mam CPU clock ustawiony na 200x Atari i generuję 312 linii po 1140 pikseli uzyskując timingi "jak w A8" (312 linii, 114 taktów w każdej) - mam też odpowiednik timingów NTSC.

18 Ostatnio edytowany przez pik33 (2022-01-25 16:20:10)

Cóż, zamiast retroemulacji robiłem na P2 sterowanie robotami: trzeba zarabiać... :( - dobrze że można :)

Ale w międzyczasie dziewczyna z Niemiec zrobiła emulację konsoli Sega Megadrive. Czyli też dużej motoroli i Z80

https://forums.parallax.com/discussion/ … lation/p10 - tam jest filmik  - gameplay Sonic3. I soft do pobrania. Jestem pod wrażeniem.

Nigdy nie bawiłem się tą konsolką, ale chyba trzeba będzie potestować osobiście na P2, uprzednio znajdując jakiś kiosk z grami do tego.