Autor Wątek: Zabawy z PSoC  (Przeczytany 19112 razy)

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #15 dnia: 2016.03.10, 16:47:55 »
Krótki update.
Wczytuje snapy z80 v1/v2/v3
Ma wbudowany miły selektor snapshotów.
Po zaimplementowaniu debouncera klawiatura zaczęła wreszcie poprawnie działać.
Dzięki uprzejmości virtualboxa, jedyną istniejącą obecnie kopią systemu/emulatora  jest binarka wewnątrz mikrokontrolera.
<dużo długich i skomplikowanych wyrazów w języku Cycerona>
I to w zasadzie zamyka temat (chyba że post mortem dysku da jakieś wyniki - co w przypadku linuksa jest zwykle mało prawdopodobne)
Machines should work. People should think.

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Zabawy z PSoC
« Odpowiedź #16 dnia: 2016.03.10, 17:02:06 »
A tak dobrze żarło :(
Trzymam kciuki, żeby się jednak odzyskało  ???
ZX/Enterprise/CPC/Robotron/C128D

nietoperz

  • ****
  • Wiadomości: 400
Odp: Zabawy z PSoC
« Odpowiedź #17 dnia: 2016.03.10, 21:24:50 »
Ups wielka szkoda. Padło zasilanie podczas pracy wirtualnej maszyny?

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #18 dnia: 2016.03.11, 02:13:42 »
Nie.
VBox zachował się po prostu w miarę logicznie - po przy tworzeniu snapshota stworzył go również dla wszystkich podmontowanych dysków. Również dla osobnego dysku, na którym trzymałem wszystkie dane...
Lecz niestety albo nie spytał, albo spytał zbyt cicho - i przy cofaniu systemu do stanu sprzed snapshota poleciał po całości.
I cofnęło mi do stanu początkowego nie tylko system, ale też dysk z danymi.
'Cała wina moja i tylko mnie można za nią obić po gębie' że sparafrazuję :/

Przy odrobinie szczęścia uda mi się odzyskać większość źródeł (schemat do przerysowania, ale to przeżyję), przy większym szczęściu odzyskam któreś archiwum.
Que sera sera. Qui vivra verra.
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #19 dnia: 2016.03.12, 23:40:00 »
Jest tak.
Hail Eris! :)
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #20 dnia: 2016.03.16, 21:49:15 »
Co by tu jeszcze?
Pół PLA zabrała grafika zx, dodatkowe ćwierć poszło na tryb 512x192 do wyświetlania tekstu (z poziomu PSoC, nie ZX'a :) )
pozostaje jeszcze ćwiartka (minus drobiazgi na I/O, gamepada i floating bus)
Za mało żeby zaszaleć, za dużo żeby zostawić.
Ktoś ma pomysł na coś niewielkiego, co by tam można było wcisnąć? :)
(nie, AY się nie zmieści)
Machines should work. People should think.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Zabawy z PSoC
« Odpowiedź #21 dnia: 2016.03.20, 19:01:19 »
Może jakiś backup na przyszłość? W razie czego - mogę zaoferować prywatne repo SVN ;-)

Dodatkowe ficzery - może wsparcie dla plików .pok ?

nietoperz

  • ****
  • Wiadomości: 400
Odp: Zabawy z PSoC
« Odpowiedź #22 dnia: 2016.03.22, 08:34:42 »
Dodaj debugger z disassemblerem po konsoli szeregowej (jak w simh).

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #23 dnia: 2016.03.29, 09:33:05 »
Backup się robi, ale najlepszy backup nie pomoże na błędy klasy PEBKAC :)
.POK jest do zrobienia (nie zeżre PLD tylko flasha, a tego zostało od metra) tylko że z obecnym CPU to grać się daje średnio, bo lekko się ślimaczy. Ogólnie, wszystkie pomysły typu breakpointy, pułapki, śledzenia, mapowania itp, itd muszą zaczekać na CPU napisany w asmie (konkretnie, na jego dostosowanie do zestawu poleceń thumb2)
Debugger / disassembler to pomysł ciekawy (choć raczej via USB niż UART) ale zakłada że projekt stanie się czymś więcej niż ciekawostką (w co wątpię)
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #24 dnia: 2016.04.05, 18:56:05 »
Kodowanie selektora plików - najnudniejsza rzecz ever.
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #25 dnia: 2016.04.29, 10:54:30 »
Myślę, że można uznać ZX PSOCtrum mk I za 'ukończony', działający projekt.
Ewentualne dalsze zmiany programowe  muszą się rozpocząć od nowego 'procesora'.
Ewentualne zmiany sprzętowe - zewnętrzny DAC i zejście do 50Hz (o ile monitor zaakceptuje...)
Wybaczcie jakość filmu, w wolnej chwili wrzucę coś w lepszej jakości (oczywiście. tak. bez żadnych wątpliwości. zapewne :) )
Machines should work. People should think.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Zabawy z PSoC
« Odpowiedź #26 dnia: 2016.05.09, 20:24:37 »
steev, możesz mi powiedzieć - a nie ukrywam że w PSoC nie wiem nic - jakim wyzwaniem musiałeś stawić czoła? PSoC to procesor czy też coś dla CPLD?

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Zabawy z PSoC
« Odpowiedź #27 dnia: 2016.05.09, 20:29:11 »
PSoC to takie "wszystko w jednym". Zależnie od producenta i modelu w jednym układzie można znaleźć procesor, pamięć, CPLD, a nawet wzmacniacze analogowe i przetworniki DAC/ADC.
To wszystko razem programowalne z połączeniami pomiędzy blokami włącznie. Zero lutowania :-X
ZX/Enterprise/CPC/Robotron/C128D

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #28 dnia: 2016.05.10, 01:10:57 »
Dokładnie.
PSoC5 to dość mocne CPU (tutaj cortex-m3 mogący wyciągnąć nieco powyżej 80MHz) plus ciut 'stałych' bloków cyfrowych plus PLD na którym możesz zrobić cokolwiek (tworzysz w verilogu, albo rysując schemat ideowy albo projektując w kreatorze maszynę stanów... albo mieszając verilog i maszynę stanów... albo... ;) Dodatkowo istnieje całkiem bogata galeria gotowych bloków. ) plus sporo bloków analogowych (których jeszcze nie dotykałem)
W bonusie - większość nóżek jest routowalna 'programowo' (ie. na etapie konfiguracji scalaka wskazujesz gdzie jaki sygnał leci, a jak się pomylisz albo zmieni Ci się wizja układu, to dwa kliki i leci na inną nogę) Kolejny bonus - piny są podzielone na cztery banki, każdy z nich może mieć inny poziom zasilania (więc można łatwo równocześnie podłączyć  zewnętrzne moduły pracujące przy 5v i 3v3)

Samo IDE (PSOC Creator) jest - jak dla mnie - przezajebiste i wygodne (podstawia full dokumentację pod nos, generuje API, podpowiada itp itd)

Największy problem / wada - bloki konfigurowalne (czyli PLD plus dodatki) nie mają bezpośredniego dostępu do pamięci.
Co boli. Owszem, jest nieźle pomyślane DMA (dzięki czemu udało się cały obraz wyświetlać faktycznie sprzętowo, bez tablic offsetów) nie mniej jest to chwilami kłopotliwe... [uwagi redakcji: z tablicą offsetów też by było w zasadzie sprzętowo (DMA), ale teraz jest sprzętowo bardziej, bo adresy nie są sczytywane z flasha, ale generowane przez PLD]

Mniejszy problem - czasówka, pod co łapie się zarówno napisanie procedur generowania obrazu tak by było stabilne 640x480@60 równocześnie zajmując jak najmniej PLD (skorzystałem z pomysłu z http://www.fpga4fun.com/PongGame.html ) jak i nieszczęsna emulacja Z80 (która jest zaaaaaaa woooolna...) jak i wyścigi DMA (na wczesnym, inaczej działającym etapie projektu) jak i szybkość procedur obsługi karty SD/MMC, jak i... tp, itd :)

Enym łejem - zabawa była świetna, absolutnie warta tych kilkudziesięciu zł. wydanych na kit i dodatki.
Machines should work. People should think.