tapy pisze:Wyjdę na "pana Marudę", ale uważam że lepiej poruszyć pewne tematy na etapie koncepcji niż potem obudzić się z ręką w nocniku. Traktuj to jako rady, a nie krytykę.
Ja tego nie traktuję ani jako rad ani jako krytyki, gdyż podchodzę do tego w sposób WOLNY i ABIWALENTNY, co i w jaki sposób z tego pomysłu się rozwinie i czy w ogóle się rozwinie.
Jeżeli chodzi o pozatechniczne idee jakie mi przyświecały to były to głównie cele edukacyjne (chęć przekazania wiedzy w przystępny sposób, przez platformę na której oprócz zabawy, WYMIANY komponentów hardware i software, dziecko czy nawet dorosły wyniesie z tego pożytek poza zabawą, a także i to, że jeśli będzie chciał bardzo to ZROBI tą "zabawkę" WŁASNYMI RĘKAMI z tego co ma, byleby zwrócił uwagę -dla dobra swojego projektu jeśli zechce- na pewne przyjęte standardy gwarantujące zadziałanie "zabawki" "od pierwszego kopa"). W żadnym wypadku nie zamierzam tutaj wspierać zaowulowanej W JAKIKOLWIEK SPOSÓB komercji, więc jedynie osoby mające jakieś -nie wiem- złe, obłudne zamiary mogą spodziewać się z niechęcią z mojej strony co poskuktuje co najwyżej tym, że wyłączę się z dyskusji, żeby mieć "świety spokój"

Naprawdę, bardzo bym prosił, że to co tutaj piszę i przedstawiam (a raczej przypominam) pewne pomysły NIE MOJE już wcześniej ktoś wdrożył (i to dużo wcześniej od pana Igora z w/w strony hackaday.io), a ja nie zamierzam konkurować ani o palmę pierwszeństwa w jakichś wizjonerskich pomysłach (bo wg mnie takich nie ma w tym projekcie), ani o żadne kwestie finansowe. Jest mi obojętne czy ktoś na tym "zrobi kasę" czy może zrobi coś nowego niż już było. Zwyczajnie w przyjaznym -jak mam nadzieję- środowisku Kolegów i Koleżanek elektroników, informatyków i hobbystów podzieliłem się wizją mojego projektu, ALE czy to dalej z tego rozwinie się taki czy inny projekt to MAM DO TEGO otwarte podejście (dokładnie OTWARTO ŹRÓDŁOWE podejście Z ZAZNACZENIEM, że źródła nie muszą być moje, a więc prośba żeby ustosunkować się raczej do tych, którzy NAPRAWDĘ je wymyślili).
tapy pisze:Święta prawda, to jest fundamentalny powód dla którego trzymam się kurczowo systemów rodziny CP/M. Pomysł z XINU jest ciekawy, ale jak sam zauważyłeś, system musi mieć dostępne aplikacje, których chyba tu niestety nie uświadczysz.
Uświadczysz, uświadczysz...

...z tym że na zasadzie, że kod programu/aplikacji trzeba by dostosować do platformy jak to często ma miejsce (i dlaczego np.Raspberry ma łatwiej, bo tam tak właśnie zrobili). Krótko mówiąc prof.Comer tworząc XINU i nazywając je tak, żeby było zawsze (pętla) wiadomo, że XINU=Xinu Is Not Unix, TO JEDNAK ten system oparł paradoksalnie na niektórych ideach z Unixa (choćby forma komunikacji z użytkownikiem przez powłokę jaką zastosował).
W Xinu -moim skromnym zdaniem- problem polega na tym, że jakkolwiek sam system może i zmieści się i odpali się BEZPOŚREDNIO z MCU ATMega328 to będzie to tyle. Jakiś tam system, parę poleceń systemowych, możliwość użycia podstawowych rozkazów z języka Basic i to wszystko (albo aż wszystko) i DLATEGO ja na tym schemacie wyżej przyjąłem podejście, że JEŚLI OS'em miałby być Xinu to tylko jeśli będzie on odpalany POŚREDNIO tzn.tak jak w PC, czyli z jakiejś PAMIĘCI STAŁEJ gdzie system Xinu plus reszta potrzebnego systemu WŁĄCZNIE z jakimś mini kompilatorem do języka C (SBCC? ) byłaby już skonfigurowana przy użyciu w sumie TRZECH komponentów z JEDNOSTKI KOMPUTEROWEJ, które robiłyby TO SAMO co w komputerze PC, tyle że w mniejszej skali. Te trzy komponenty to:
1. BIOS (odpalany jako pierwszy, i tam wcale nie musi, ani nawet nie powinno być jakiegoś dużego systemu, tylko jak nazwa wskazuje podstawowy system we/wy przydzielający numery przerwań sprzętowych dla modułów/kart w jednostce komputerowej oraz pamięć dla nich i robiący POST na samym początku, po to żeby sam wiedział czy CPU/MCU działa i czy działa reszta komponentów). Podałem co prawda PROPOZYCJĘ że MOŻE to być arduino, czu klon, ALE NAPISAŁEM TEŻ że może to być płytka z BIOSEM zaprojektowana od podstaw. A idea odseparowania jej od CPU/MCU jest taka, żeby gniazdo/socket pod CPU NIE BYŁ sztywno ustawiony pod tylko taki typ CPU (np.32 nóżki i koniec).
2. CPU/MCU - rola jak w PC, żadnej nowej filozofii, oczywiście POZA FAKTEM (ale to też nic nowego), że taktowanie (możliwości taktowania) magistrali systemowej, z którą CPU/MCU będzie pracował powinny być określone na samym początku (i tu też uważam, że powinno się zostawić MARGINES na gorsze CPU/MCU i te lepsze).
3. Karta rozszerzeń jako PCB (tak jak na obrazku powyżej) z pamięcią stałą (pamięć stała jako np.flash, czy karta typu micro SD, cokolwiek kto uzna za godne i właściwe) GDZIE BĘDZIE uruchamiany system, gdzie będą mogły być jakieś kompilatory, jakieś pliki i programy użytkownika.
tapy pisze:@Zegar podniósł ważny temat szyny wymiany danych i jej unifikacji.
Może Kolega Zegar podniósł, a może ja też pisałem wcześniej o BEZBOLESNEJ UNIFIKACJI DLA MAGISTRALI czyli SZYNY WYMIANY danych, ale mniejsza o to, ważne, że jest to ważne

i jest tutaj zgoda co do trzymania się tej UNIFIKACJI.

tapy pisze:(...)użycie SPI jest problematyczne (...) I2C dzięki PCF8584 można zastosować ale jest to rozwiązanie stosunkowo wolne i wyklucza go do zastosowań graficznych (...)ESP32 z FabGL jako karty graficznej, działa to bardzo dobrze.
(...) będę przypominał o dostępnej powierzchni PCB jaką nam daje standard Arduino (...)
Pozwolę sobie jeszcze raz przypomnieć, że napisałem o arduino, ew.klonie arduino TYLKO jako ZALECENIE, ale NAPISAŁEM TEŻ że można by zastosować autorską płytkę (jest to napisane zaraz w pierwszym moim wpisie tutaj). Oczywiście, że zdaję sobie sprawę z ograniczeń ilości i rozstawienia pinów jakie daje arduino - PRZEDE WSZYSTKIM jak dla mnie za mało pinów. Ja tylko dlatego podałem to jako propozycję z uwagi na fakt np.dostępności gotowych płytek pcb jako płytek uniwersalnych (czyli lutujesz złącze, a dalej projektujesz jak chcesz), ALE to była TYLKO LUŹNA propozycja.
W jednym z rozważanej przeze mnie idei było zastosowanie magistrali gdzie byłoby:
- 8 pinów na przerwania
- 8 pinów na adresy
- 8 pinów na dane
łącznie jest to 24 piny, a to już wykracza nieco poza standard arduino, ale weź teraz nakłoń tych wszystkich używających pinologi Arduino (gdzie jest mniej pinów) żeby zmienili swoją koncepcję... Nie da się, ale z drugiej strony gdyby zaistniała silna potrzeba takiej zmiany oddolnie wśród użytkowników to pewnie byłoby to możliwe - i DLATEGO chciałem żeby projekt był tak naszkicowany, żeby KAŻDY użytkownik mógłby SAM skonstruować minikomputer z tego co ma w warsztacie UWAŻAJĄC na kluczowe sprawy jak: szerokość i taktowanie magistrali i przyjęte koncepcje odnośnie BIOS'u i możliwości WYKONALNOŚCI modułów/kart rozszerzeń.
Odnośnie tych 24 pinów to też nie mam 100% pewności czy nie jest to za mało gdyby trzeba było w niektórych przypadkach stosować wymianę danych typu DMA... Zdecydowanie szerokość magistrali i jej taktowanie, a przede wszystkim sposób komunikacji pomiędzy modułami to rzecz warta przemyślenia.
tapy pisze:PS. Może warto też przyjrzeć się elementom rozwiązania z tego
projeku? Trochę klocków tej układanki już tam się znajdzie.
[/quote]Obiecuję, że przejrzę nieco bardziej dokładnie za jakiś czas (bardziej dokładnie gdybym miał czytać instrukcję cyrylicą, ale chyba dam radę

).
Tak na szybko co tam widzę to, że projekt jest wykonany ładnie i schludnie. To jest plus.
A minus taki, że jest to po prostu kolejny minikomputer gdzie nawalone jest wszystkiego co potrzeba na płytce BEZ WIĘKSZEJ MOŻLIWOŚCI modyfikacji podzespołów (nie ma dowolności stosowania mini-kart rozszerzeń do np.różnej karty grafiki, czy innej mini-karty dźwiękowej jaką można by zastosować A PÓŹNIEJ WYKORZYSTAĆ do zrobienia na tym GRY typu Pacman, Arkanoid etc - bo o to głównie mi chodzi: O NAUKĘ POPRZEZ ZABAWĘ - to dzięki temu C64, Atari, Amiga odniosło sukcesy).
Pan Igor bez wątpienia sporo się napracował przy tym zacnym projekcie i chwała mu za to, ale nie jest to to, o co mi chodzi... Daleko tutaj do uniwersalności tego projektu, ale rozwiązania które pan Igor przyjął widzę jako gruntownie przemyślane i zapewne po wielokroć w praktyce sprawdzone.
Tyle się napisałem... Mam nadzieję, że nikomu humoru nie popsułem, ani nie obraziłem. Jeśli jednak tak to przepraszam, ale było to zupełnie niecelowe. Mam jak najbardziej otwarte, pozytywne i konstruktywne podejście do tego projektu - jakkolwiek powstanie on w taki czy inny sposób. Jeśli okaże się, że np.Kolega Tapy, czy Kolega Zegar opracuje kolejny typ C64 (do zbudowania samemu) który nie będzie wymagał dużego nakładu finansowego (zbudowany z części jakie posiada się na warsztacie, albo ogólno dostępnych, POPULARNYCH i TANICH) a sprawa z konstrukcją będzie sprowadzała się do samodzielnego wytrawienia pcb itd. etc. to z przyjemnością sam to wg tego projektu wykonam. A po cichu mam nadzieję, że WSPÓLNIE TUTAJ na forum Microgeek wypracujemy przynajmniej jakieś minimum programowe do dalszej metodologii postępowania, albo kto wie... może i dociągniemy ten projekt do końca i powstanie jakieś cudo z szyldem typu Microgeek Computer Machine?...

Dzięki za przeczytanie całości od początku do końca

Polecane linki:
1. Odnośnie mini karty graficznej VGA 320x200:
http://martin.hinner.info/vga/timing.htmlhttp://tinyvga.com/avr-sdram-vgahttp://www.microvga.com/arduinohttps://atmega32-avr.com/arduino-vga-via-interrupts-using-avr-microcontroller/amp/https://blog.thomaspoulet.fr/bit-banged-vga/https://eater.net/vga - strona Ben'a Eater'a, świetny opis!
https://www.serasidis.gr/circuits/AVR_VGA/avr_vga.htm2. Odnośnie mini-karty a raczej mini-motherboard dla BIOS:
https://en.m.wikipedia.org/wiki/SeaBIOShttps://github.com/openbios/openbios3. System operacyjny:
[url]xinu.cs.mu.edu/[/url]
http://se.fi.uncoma.edu.ar/xinu-avr/https://github.com/9MMMinor/avrXinu-V74. Interfejsy, magistrale danych:
http://www.interfacebus.com/index.html5. Wymagania minimalne dla kompilatora GNU C (mini-karta rozszerzeń/moduł dla pamięci stałej - patrz pkt.2.5 z opisu i schematu powyżej), w sensie kompilator dostosowany do pracy z wbudowanym system operacyjnym przewidzianym dla projektu (NIEKONIECZNIE MUSI to być GNU C, ale chodzi mi o ideę NIEKORZYSTANIA z zewnętrznego IDE do C/Cpp )
https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html