řídící počítač z roku 1976

Uživatelský avatar
cube
Příspěvky: 25
Registrován: 20 úno 2023, 15:30
Kontaktovat uživatele:

Re: řídící počítač z roku 1976

Příspěvek od cube »

Obrázek

Běží to na tomhle.

ESP32, 240MHZ, stál 4 USD z Alíka, teď jsou levnější.
320x240 8-bit grayscale, max 256 iterací
473 ms, 62289 px/s

Žádnej displej na tom nemám, tak jsem to jen fláknul do PGM a vypsal na UART. Víc než tohle rozlišení se mi tam nevejde, musel bych vypínat bluetooth aby se uvolnila nějaká paměť (a ani to by nepomohlo o moc).

Je to ta nejnaivnější implementace co mi vyplivnul Claude, všechno se počítá v f32. Běží jen na jednom jádře. Šlo by to samozřejmě dost zrychlit, ale do téhle rabbit hole se už znovu pouštět nehodlám.
Nenakreslil jsem při tom ani jeden vývoják (pardon?).

Zdroják tady, jestli to někoho zajímá.
E-Ryc
Příspěvky: 193
Registrován: 07 bře 2013, 15:51

Re: řídící počítač z roku 1976

Příspěvek od E-Ryc »

OT: JPLABS, strojari jsou tu naho*no, programatori jsou tu naho*no, se divim, ze se vubec obtezujes tu plytvat vlastni genialitou a hazet perly svinim... (Dexi, promin, kdyztak to smazni)
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1682
Registrován: 16 úno 2013, 13:26

Re: řídící počítač z roku 1976

Příspěvek od Dex »

E-Ryc píše: 10 čer 2026, 10:27 OT: JPLABS, strojari jsou tu naho*no, programatori jsou tu naho*no, se divim, ze se vubec obtezujes tu plytvat vlastni genialitou a hazet perly svinim... (Dexi, promin, kdyztak to smazni)
Mazat to nebudu a podepisuji v plném rozsahu ;)
"all your robots are belong to us"
robodoupe.cz
Uživatelský avatar
JPLABS
Příspěvky: 183
Registrován: 13 čer 2023, 22:45
Kontaktovat uživatele:

Re: řídící počítač z roku 1976

Příspěvek od JPLABS »

cube píše: 09 čer 2026, 23:14

Běží to na tomhle.

ESP32, 240MHZ, stál 4 USD z Alíka, teď jsou levnější.
320x240 8-bit grayscale, max 256 iterací
473 ms, 62289 px/s

Žádnej displej na tom nemám, tak jsem to jen fláknul do PGM a vypsal na UART. Víc než tohle rozlišení se mi tam nevejde, musel bych vypínat bluetooth aby se uvolnila nějaká paměť (a ani to by nepomohlo o moc).

Je to ta nejnaivnější implementace co mi vyplivnul Claude, všechno se počítá v f32. Běží jen na jednom jádře. Šlo by to samozřejmě dost zrychlit, ale do téhle rabbit hole se už znovu pouštět nehodlám.
Nenakreslil jsem při tom ani jeden vývoják (pardon?).

Zdroják tady, jestli to někoho zajímá.
Hmm , jsem si dal víc práce vytvořil jsem následující obrázek. Akorát nevím, proč mi to vpravo kreslí svislou bílou linku. Můžu také udělat zoom myší po obrazovce a přepočítat vybranou oblast do nového fraktálu.
Zdrojáky ti můžu dát, budou ti k ničemu protože jsou v assembleru transputeru. Na transputeru visí 1 Mbyte SRAM. Transputery stojí mnohem víc než 4 USD a dneska se blbě shání. Vývojáky mám kreslený tužkou na sedmi stranách A4 papírech. Takže asi tak...
fraktál 4.2
fraktál 4.2
Teď koukám, po náhledu, že tady po uploadu obrázku není vidět bílá svislá linka vpravo. Ale na mým monitoru je vidět.
Uživatelský avatar
JPLABS
Příspěvky: 183
Registrován: 13 čer 2023, 22:45
Kontaktovat uživatele:

Re: řídící počítač z roku 1976

Příspěvek od JPLABS »

E-Ryc píše: 10 čer 2026, 10:27 OT: JPLABS, strojari jsou tu naho*no, programatori jsou tu naho*no, se divim, ze se vubec obtezujes tu plytvat vlastni genialitou a hazet perly svinim... (Dexi, promin, kdyztak to smazni)
Zrovna dnes ráno jsem byl ve firmě (v Praze), která se zabývá prodejem simulátorů a robotů ve virtuální realitě. Byl jsem tam coby divák spolu s dalšími lidmi. Dělali předváděčku toho co nabízejí k prodeji. Nejsou to jejich výtvory. Dovážejí to z USA a z jižní Koreje. Byla tam debata o software, o tom na čem to běží a tak. Nejlevnější a nejmenší simulátor vyjde na čtvrt milionu Kč i s DPH. Prý se prodává. Netuším komu. Ty velký za třeba 5 milionů mají jen jeden asi na ukázku.
Shánějí vývojáře software, který bude vymýšlet další software pro tyto simulátory roboty. Podle požadavků klientů. Vývojáři software bohužel nejsou. Mne ani tak nezajímala ta virtuální realita, jako způsob jak na čem ten software vlastně dělají.
Firmware: například k leteckýmu simulátoru jsou manuály, celkem přes 20 tisíc stran A4. Jsou rozdělený na sekce k jednotlivým částem hardware. Mají to v papírové podobě v 10 cm tlustých šanonech. Je jich plná almara. V každý části jsou rozkreslený vývojáky jak co funguje, jaká data odkud kam se přenášejí. Vstoupit do tohoto vývoje jako softwarář není vůbec jednoduchý. Nedivím se, že žádnýho softwaráře nemůžou sehnat.
Uživatelský avatar
petr-kubac
Příspěvky: 205
Registrován: 24 úno 2013, 14:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Re: řídící počítač z roku 1976

Příspěvek od petr-kubac »

Kreslení kružnice Arduinem - neboli AVR Riscovým procesorem který má 32 registrů ?!?
To je elementární úloha, kdy člověk má jednu ruku v uchu a druhou v zadku.

Na klasickém 16 bitovém X86, kde byl ukrutný nedostatek registrů pro
Brensenhamův algoritmus - tam to bylo drama, kde se muselo do zásobníku uložit všechno, (kromě PC - programového čítače a SP - stack pointeru) aby bylo dost registrů a nemuselo se počítat v RAM - vím o čem mluvím, protože přesně tohle jsem "brigádnicky" programoval v 90. letech, abych měl za co dostudovat.

Naopak - U Arduina / AVR - už návrháři architektury udělali všechno, aby kreslení (a další algoritmy) šly snadno jak z učebnice

Přiklad v AVR assembleru - sčítání s přenosem.

ADD R1, R5 - nižší byte bez přenosu
ADC R2, R7
ADC R3, R8 - další bajty už s přenosem
ADC R4, R9

32 bitové sčítání na 4 takty - 8 Bit pracuje stejně rychle jako 386, kde sčítání 32 bitů byla jedna instrukce leč taky na 4 takty.

Naopak si myslím, že ten váš počítač se při 2 MHz a podivné procesorové architektuře musel při kreslení Smithova diagramu zapotit.
A pokud není architektura detailně známa - v čem jste to programoval ??
A jak dlouho to vykreslování trvalo ??
Abychom nakonec nesrovnávali milisekundy v komplilovaném C++ s minutami v Basicu ?!
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
petr-kubac
Příspěvky: 205
Registrován: 24 úno 2013, 14:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Re: řídící počítač z roku 1976

Příspěvek od petr-kubac »

Dovolil jsem si kouknout na nějaké specifikace
https://hparchive.com/Journals/HPJ-1972-12.pdf#page=19
Neboli HP9825 je 16 bitový SÉRIOVÝ procesor s mikrokódem v ROM - to se docela podobná těm procesorům co pro zábavu a poučení staví někteří YouTubeři.
A zároveň to docela objasňuje nejasnost s taktem - 8 MHz sériového 1 bitového Computingu - přiblině odpovídá 1 MHz 8 bitového paralelního computingu.
Krásný kousek počítačové historie.
Ale s moderními architekturami bych se to neodvážil srovnávat, včetně modulů pro amatéry jako je Arduino.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
gilhad
Příspěvky: 317
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: řídící počítač z roku 1976

Příspěvek od gilhad »

Když jsme u toho, co se dá takhle řídit a dělat - co takhle něco praktického?

Navrhuju si naprosto úžasný počítač (už asi dva roky) a teď jsem se dostal k tomu, že na základní desce jako GLUE logiku budu mít dvě ATF1504 (protože jedno nemá dost nožiček) a to první (ATF1) bude bude více méně adresový dekódér. Napsal jsem si na to ATF1.pld a cvičmo ho nahrál do breakboardu k otestování. Ale nožiček moc, chce to nějakou automatizaci, že si zadám adresu a budu cvičit s řídícími signály a koukat, jak se to dekóduje.

Takže jsem vytáhnul Božské Arduino (tm), nahrál do něj univerzální FORTH, napsal a odladil prográmek pro sériovou komunikaci, kde zadám adresu a písmenko x (vyvolani prislusne funkce) a on vypíše adresu hexa, binárně a pošle ji na příslušné piny. Pak jsem zapojil drátky na vstup toho ATF1, a otestoval to. Celé mi to zabralo necelou hodinu práce od rozhodnutí se do toho pustit, přez psaní a vylepšování výstupu a hledání chyb, přez zapojení drátků (a odhalení, že potřebuju společnou zem opravdu propojit) až do finální funkčnosti, kdy jsem rutinně testoval tu logiku (nikoli ladil přípravek k testování).

Jak dlouho by zabrala podobná práce na tomhle řídícím počítači? Jak by se to dělalo?

Zadaní:
napsat a odladit potřebné programy, zapojit potřebné drátky a moci zadávat po libosti 16 bit hexa čísla tak, aby se někde zobrazila hexa (pro kontrolu adres) a binárně (pro kontrolu pinů a rovnic) a na breadboardu se objevila na 16 vstupech (oproti společné zemi)

Ukazka kusu skutečné komunikace (tlustě uživatelský vstup - číslo a funkce)
Addr: a103; bin: 1010 0001 0000 0011 ; -»a104 [A104]-»x
Addr: a104; bin: 1010 0001 0000 0100 ; -»A103 [A103]-»x
Addr: a103; bin: 1010 0001 0000 0011 ; -»8000 [8000]-»x
Addr: 8000; bin: 1000 0000 0000 0000 ; -»7fff [7FFF]-»x
Addr: 7fff; bin: 0111 1111 1111 1111 ; -»8000 [8000]-»x
Addr: 8000; bin: 1000 0000 0000 0000 ; -»7fff [7FFF]-»x
Addr: 7fff; bin: 0111 1111 1111 1111 ; -»9000 [9000]-»x
Addr: 9000; bin: 1001 0000 0000 0000 ; -»a000 [A000]-»x
Addr: a000; bin: 1010 0000 0000 0000 ; -»a001 [A001]-»x
Addr: a001; bin: 1010 0000 0000 0001 ; -»
Výsledný prográmek "z jedné vody na plot"

Kód: Vybrat vše

hex
: CRLF A EMIT D EMIT ;
: binnum ( x -- ) ( print as 0000 )
	DUP 8 AND IF 1 ELSE 0 THEN . 
	DUP 4 AND IF 1 ELSE 0 THEN . 
	DUP 2 AND IF 1 ELSE 0 THEN . 
	DUP 1 AND IF 1 ELSE 0 THEN . 
	DROP
	;
: SP 20 EMIT ;
: 2bin ( x -- ) ( print as 0000.0000.0000.0000 )
	DUP 1000 / binnum SP
	DUP 100 / binnum SP
	DUP 10 / binnum SP
	DUP 1 / binnum SP
	DROP
	;
: x ( addr -- ) ( send addr to ports F K (A0..15) and print it)
	BASE C@ SWAP
	CRLF ." Addr: " DUP hex . ." ; bin: " DUP 2bin ." ; "
	ff DDRF C! ff DDRK C!
	DUP  100 / PORTK C! ff AND PORTF C!
	BASE C!
	;




EDIT:

Výhoda interaktivního programovatelného shellu je zejména v tom, že když za chvíli zjistíte, že testujete několik málo kombinací, tak prostě bez restartů, překladů a vypalování jen připíšete další funkci/slovo a pak už jen mačkáte klávesu :)

Kód: Vybrat vše

: y 
	7000 x KEY DROP 
	8000 x KEY DROP
	9000 x KEY DROP
	A000 BEGIN
		DUP x KEY DROP 1+ 
		DUP A022 = UNTIL
	DROP 
	A040 x KEY DROP
	A060 x KEY DROP
	A100 x KEY DROP
	;
(Ano, umělák, co mi radil se syntaxí PLD a rovnicema to samozřejmě zvoral a měl tam několik chyb. To jsem čekal, proto taky to důkladné testování :) )
Odpovědět